Sen2 Software Processes

964 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
964
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sen2 Software Processes

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

×