2. Topics Software processes Software process models Waterfall - Model Evolutionary - Model Component-Based Software Process iterations Incremental development Spiral development Process activities Software specification Software-design and –implementation Software-validation and –verification Software maintenance Software models Conclusion 2 / 23
3. Software Processes A software process is… the amount of operations that lead to the production of a software product complex (intellectual and creative) CASE utilities… try to completely automate software processes do not completely support automating 3 / 23
4.
5. Software processes improving software processes making standards reducing variety improves communication reducestime for education CASE utility makes sense 5 / 23
6. Software process models A software process model is… an abstraction of a software process a specific view on a part of the software process Three specific software process models waterfall model evolutionary model component based software engineering (CBSE) 6 / 23
7. Software process models Waterfall model separates basic activities into phases (specification, development, validation, evolution) each phase leads to the next one finishcurrenttoenter the next phase 7 / 23
8. Software process models Evolutionary model combinesspecification, development and validation to one phase at first develop an implementation to makecustomerscriticize next step is to swap between customize implementation evaluate with customer till the final product but process is invisible often systems are bad structured 8 / 23
9. Software process models Component based software engineering based on existence of reusable software components reduces amount of software to develop costs risks possible to have to compromise specifications requirement specification analysis of components adaption of specifications system design with reusability system validation development and integration 9 / 23
10. Process iterations Repeating processes and activities Why do we need process iterations? Condition changes Requirement changes Adopt changes Specification and Implementation are developed simultaneously Disagreements with nowadays business models 10 / 23
11. Process iterationsIncremental development Waterfall-model issue Evolutionary development issue Combines pros Most exact documentation Open-door design Define abstract requirements Dedicate requirements to subsystems Design system architecture Develop a subsystem Repeat development process for each subsystem 11 / 23
14. Process iterations Spiral Model Combines Incremental development Prototyping Basic segments: Determine objectives Identify and resolve risks Development and test Plan the next iteration Exact consideration of risks 14 / 23
16. Process activities Four basicactivities Specification Design and implementation Validation and verification Maintenance 16 / 23
17. Process activitiesSpecification Requirements analysis Try to understand Constraints Functions Requirements Steps Operability research Definition and analysis of requirements Specification of requirements Validation of requirements 17 / 23
18. Process activitiesDesign and implementation Design Architecture design Abstract specification for each subsystem Interface design … Implementation Software models (UML 2.0) CASE-tools Troubleshooting Find error Plan how to resolve error Resolve error Check again for error 18 / 23
19. Process activitiesVerification and validation Are all specifications implemented? Are they implemented proper? Testing process Subsystem Integrated subsystem Complete system Acceptance Usually separate test phase Extreme programming = Test-Driven V-Model 19 / 23
21. Process activitiesMaintenance Expensive hardware changes Flexible software systems Dis-/junction between development and maintenance No complete new systems anymore Evolutionary process 21 / 23
22. Conclusion developing software is complex standardizing the process reduces complexity saves time and money improves communication a software process model standardizes the developing process which specific model you choose depends on the software to be created 22 / 23