




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The objective of this chapter is to introduce you to the idea of a software process—a coherent set of activities for software production. When you have read this chapter you will: ■ understand the concepts of software processes and software process models; ■ have been introduced to three generic software process models and when they might be used; ■ know about the fundamental process activities of software requirements engineering, software development, testing, and evolution; ■ understand why processes should be organized to cope with changes in the software requirements and design; ■ understand how the Rational Unified Process integrates good software engineering practice to create adaptable software processe
Typology: Slides
1 / 108
This page cannot be seen from the preview
Don't miss anything!





























































































Chapter 2 – Software Processes
Topics covered Software process models Process activities Coping with change The Rational Unified Process ▪ An example of a modern software process. نماذج العمليات البرمجية ▪ أنشطة العملية ▪ التعامل مع التغيير ▪ العملية العقالنية الموحدة ▪ مثال على عملية برمجية حديثة ▪
Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing a user interface, etc. and the ordering of these activities. Process descriptions may also include: ▪ Products, which are the outcomes of a process activity; ▪ Roles, which reflect the responsibilities of the people involved in the process; ▪ Pre- and post-conditions, which are statements that are true before and after a process activity has been enacted or a product produced.
Plan-driven and agile processes Plan-driven processes are processes where all of the process activities are planned in advance and progress is measured against this plan. In agile processes, planning is incremental and it is easier to change the process to reflect changing customer requirements. In practice, most practical processes include elements of both plan-driven and agile approaches. There are no right or wrong software processes.
The waterfall model
Waterfall model phases There are separate identified phases in the waterfall model: ▪ Requirements analysis and definition ▪ System and software design ▪ Implementation and unit testing ▪ Integration and system testing ▪ Operation and maintenance The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. In principle, a phase has to be complete before moving onto the next phase.
Incremental development
Incremental development benefits The cost of accommodating changing customer requirements is reduced. ▪ The amount of analysis and documentation that has to be redone is much less than is required with the waterfall model. It is easier to get customer feedback on the development work that has been done. ▪ Customers can comment on demonstrations of the software and see how much has been implemented. More rapid delivery and deployment of useful software to the customer is possible. ▪ Customers are able to use and gain value from the software earlier than is possible with a waterfall process.