0% found this document useful (0 votes)
8 views18 pages

UNIT 1 SW Process

The document outlines various software process models including the waterfall model, evolutionary development, and component-based software engineering, highlighting their phases, advantages, and drawbacks. It emphasizes the importance of accommodating changes in requirements and introduces iterative approaches like incremental delivery and spiral development. Agile principles are also discussed, focusing on customer involvement, incremental delivery, and maintaining simplicity in the development process.

Uploaded by

cse vctw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
8 views18 pages

UNIT 1 SW Process

The document outlines various software process models including the waterfall model, evolutionary development, and component-based software engineering, highlighting their phases, advantages, and drawbacks. It emphasizes the importance of accommodating changes in requirements and introduces iterative approaches like incremental delivery and spiral development. Agile principles are also discussed, focusing on customer involvement, incremental delivery, and maintaining simplicity in the development process.

Uploaded by

cse vctw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 18
Software Processes The software process O A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. OA software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Generic software process models Gi i ih The waterfall model Separate and distinct phases of specification and development Evolutionary development ™@ Specification, development and validation are interleaved. Component-based software engineering @ The system is assembled from existing components. There are many variants of these models e.g. formal development where a waterfall-like process is used but the specification is a formal specification that is refined through several stages to an implementable design. Waterfall model ¥ Implementation and unit testing Waterfall model phases 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. One phase has to be complete before moving onto the next phase. o0H0o0000 Waterfall model problems O Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. O Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. O Few business systems have stable requirements. O The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites. Evolutionary development O Exploratory development H Objectiveis to work with customers and to evolvea final system from an initial outline specification. Should start with well- understood requirements and add new features as proposed by the customer. O Throw-away prototyping H Objectiveis to understand the system requirements. Should start with poorly understood requirements to clarify what is really needed. Evolutionary development Concurrent acti vies Initial n Inter media te versions Final version ‘Outline description Development Validation Evolutionary development O Problems Lack of process visibility: Systems are often poorly structured; Special skills(e.g. in languages for rapid prototyping) may be required. O Applicability @ For small or medium-size interactive systems: ™ For parts of large systems (e.g. the user interface): For short-lifetime systems. Component-based software engineering O Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems. O1 Process stages HB Componentanalysis: Requirements modification: ™ System design with reuse: @ Developmentand integration. O This approach is becoming increasingly used as component standards have emerged. Reuse-oriented development ‘Requirements Component ‘Requirements specication sins rrriceton Process iteration ———{&K;zi—=~«—=—=—=~=~—~—~———________—_llllmCC———“‘“_ =éOSOSCS=s=S=S=S=*=*~*~*~*~™~™*# O System requirements ALWAYS evolve in the course of a project so process iteration where earlier stages are reworked is always part of the process for large systems. O Iteration can be applied to any of the generic process models. O Two (related) approaches Incremental delivery: MH Spiral development. Incremental delivery O Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. O User requirements are prioritised and the highest priority requirements are included in early increments. O Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve. Incremental development Define outline requirements Develop system ner ement “Bssign recpicements ‘Design system to increments atchitectar Valida te meremnent Integ rate snerernenl Validate system Final system System incomplete Incremental development advantages rrr O Customer value can be delivered with each increment so system functionality is available earlier. O Early increments act as a prototype to help elicit requirements for later increments. O Lower risk of overall project failure. O The highest priority system services tend to receive the most testing. Spiral development rrr O Process is represented as a spiral rather than as a sequence of activities with backtracking. O Each loop in the spiral represents a phase in the process. O No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. O Risks are explicitly assessed and resolved throughout the process. Spiral model of the software process ike eaten th, lentil este eis Joorcept ot sae a tn / Dea eos an A fais ase ee a Rceguace, te ae em relpe oct The principles of agile methods Principle Customer involvement Incremental delivery People not process Embrace change Maintain simplicity Description Customers should be closely involved throughout the development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system. The software is developed in increments with the customer specifying the requirements to be included in each increment. The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working without prescriptive processes. Expect the system requirements to change and so design the system to accommodate these changes. Focus on simplicity in both the software being developed and in the development process. Wherever possible, actively work to eliminate complexity from the system.

You might also like