1 / 26

المحاضرة الثانية

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

ginny
Download Presentation

المحاضرة الثانية

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. المحاضرة الثانية

  2. Software life cycle and process model

  3. 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

  4. Generic software process models • The waterfall model • Evolutionary development • Component-based software engineering

  5. 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 :-

  6. 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

  7. 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

  8. 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.

  9. 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

  10. 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

  11. The advantages of the waterfall model • are that documentation is produced at each phase and that it fits with other engineering process models

  12. 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

  13. Waterfall model phases

  14. 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.

  15. Evolutionary Model

  16. 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.

  17. 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

  18. Incremental development

  19. Incremental development The specifications:- 1- Define requirements 2- Design system increment 3- Assign requirements to increment 4- Develop system increment 5- Test increment

  20. Incremental development 6- Integrate system increment 7- Validate system 8- Final system

  21. Incremental development

  22. 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

  23. Spiral development

  24. 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.

  25. Spiral model of the software process

  26. 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.

More Related