slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
المحاضرة الثانية PowerPoint Presentation
Download Presentation
المحاضرة الثانية

Loading in 2 Seconds...

play fullscreen
1 / 26

المحاضرة الثانية - PowerPoint PPT Presentation

  • Uploaded on

المحاضرة الثانية. Software life cycle and process model. Software processes. Although there are many software processes, some fundamental activities are common to all software processes:-

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'المحاضرة الثانية' - ginny

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software processes
Software processes
  • Although there are many software processes, some fundamental activities are common to all software processes:-

1. Software specification :- The functionality of the software and constraints on its operation must be defined.

2. Software design and implementation :-The software to meet the specification must be produced.

3. Software validation:-The software must be validated to ensure that it does what the customer wants.

4. Software evolution :-The software must evolve to meet changing customer needs

generic software process models
Generic software process models
  • The waterfall model
  • Evolutionary development
  • Component-based software engineering
waterfall model phases
Waterfall model phases

The principal stages of the model onto fundamental development activities :-

1- Requirements analysis and definition :-

2- System and software design :-

3- Implementation and unit testing:-

4- Integration and system testing:-

5-Operation and maintenance :-

1 requirements analysis and definition
1- Requirements analysis and definition
  • The system’s services, constraints and goals are established by consultation with system users. They are then defined in detail and serve as a system specification
2 system and software design
2- System and software design
  • The systems design process partitions the requirements to either hardware or software systems. It establishes an overall system architecture. Software design involves identifying and describing the fundamental software system abstractions and their relationships
implementation and unit testing
Implementation and unit testing
  • During this stage, the software design is realized as a set of programs or program units. Unit testing involves verifying that each unit meets its specification.
4 integration and system testing
4- Integration and system testing
  • The individual program units or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer
5 operation and maintenance
5-Operation and maintenance
  • this is the longest life-cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of system units and enhancing the system’s services as new requirements are discovered
the advantages of the waterfall model
The advantages of the waterfall model
  • are that documentation is produced at each

phase and that it fits with other engineering process models

the disadvantages of the waterfall model
The disadvantages of the waterfall model
  • Is the difficulty of accommodating change after the process is underway .one phase has to be complete before moving on to the next phase

Applicability :-

Only appropriate when the requirement are well understood

evolutionary development
Evolutionary development

There are two fundamental types of evolutionary development:

  • 1 - Exploratory development :-

Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer.

  • 2- Throw-away prototyping

Objective is to understand the system requirements. Should start with poorly understood requirements to clarify what is really needed.

evolutionary model1
Evolutionary Model

Advantages :-

  • this evolutionary approach to software development is often more effective than the waterfall approach in producing systems that meet the immediate needs of customers that can be developed incrementally.
evolutionary model2
Evolutionary Model

Disadvantages :-

from an engineering and management perspective, the evolutionary approach have two problems:

1- Systems are often poorly structured:- Continual change tends to corrupt the software structure

2- Systems are often poorly structured :-

Continual change tends to corrupt the software

incremental development1
Incremental development

The specifications:-

1- Define requirements

2- Design system increment

3- Assign requirements to increment

4- Develop system increment

5- Test increment

incremental development2
Incremental development

6- Integrate system increment

7- Validate system

8- Final system

incremental development advantages
Incremental development advantages

1- Customers do not have to wait until the entire system but use the software immediately

2- Customers can use the early increments as prototypes and gain experience that informs their requirements for later system increments

3-There is a lower risk of overall project failure. Although problems may be encountered in some increments, it is likely that will be successfully delivered to the customer

4- the highest priority services are delivered first, This means that customers are less likely to encounter software failures in the most important parts of the system

spiral development1
Spiral development
  • Process is represented as a spiral rather than as a sequence of activities with backtracking.
  • Each loop in the spiral represents a phase in the process.
  • No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required.
  • Risks are explicitly assessed and resolved throughout the process.
spiral model sectors
Spiral model sectors
  • Objective setting
    • Specific objectives for the phase are identified.
  • Risk assessment and reduction
    • Risks are assessed and activities put in place to reduce the key risks.
  • Development and validation
    • A development model for the system is chosen which can be any of the generic models.
  • Planning
    • The project is reviewed and the next phase of the spiral is planned.