Soft lifecycle

1,745 views

Published on

Published in: Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,745
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
74
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Soft lifecycle

  1. 1. SOFTWARE PROCESS AND PROCESS ITERATION
  2. 2. Life cycle modelTo Describes the steps followed by the project team to produce a tangible software product that fully meets the requirements of the component or the part that the project set forth to build.
  3. 3. Software ProcessA set of activities, together with ordering constraints among them, such that if the activities are performed properly and in accordance with the ordering constraints.The process that deals with the technical and management issues of software development is called SWP.Successful project talks about Cost, schedule and quality.
  4. 4. Contd..A set of activities that leads to the production of a software product.There are many software processes, some fundamental activities are common to all software processes:Software SpecificationSoftware design and ImplementationSoftware ValidationSoftware evolution.
  5. 5. Software processProduct Engineering process(produce desired product) Development process Project Management process Software Configuration ManagementProcess Management process
  6. 6. ETVX Approach for process specificationEntry CriteriaTaskVerificationExit Criteria
  7. 7. A step in Development processPredictability.Input Output Process V&V
  8. 8. SDLCA software development process, also known as a software development life cycle (SDLC), is a structure imposed on the development of a software product.
  9. 9. Waterfall ModelLinear Sequential ModelWater – tight phasesOne phase is Completed before the next phase starts
  10. 10. Life cycle model
  11. 11. Waterfall model problems Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. Few business systems have stable requirements. The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites.
  12. 12. Limitations of Waterfall modelIt assumes that the requirements of a system can be frozen before the design begins.Freezing the requirements usually requires choosing the hardware(because it forms a part of the requirements specification). A large project might take a few years to complete.“Big bang approach” – an entire software is delivered in one shot at the end.It encourages “requirements bloating”.It is a document-driven process that requires formal documents at each phase.
  13. 13. Prototyping Model• Attractive idea for complicated and large systems for which there is no manual process or existing system to help determine the requirements..• Based on Currently known requirements.• Customer can get actual feel of the system.Types:1. Throwaway Prototype2. Evolutionary Prototype
  14. 14. Contd..Horizontal PrototypeA common term for a user interface prototype is the horizontal prototypeIt provides a broad view of an entire system or subsystem, focusing on user interaction more than low-level system functionality, such as database accessVertical PrototypeA vertical prototype is a more complete elaboration of a single subsystem or function.
  15. 15. Contd..Types of prototypingMajor types: first two..Throwaway prototypingEvolutionary prototypingIncremental prototypingExtreme prototyping
  16. 16. Adv and Dis-AdvAdvantagesReduced time and costs:Improved and increased user involvementDisadvantages of prototypingInsufficient analysisUser confusion of prototype and finished systemDeveloper misunderstanding of user objectivesExpense of implementing prototyping:Excessive development time of the prototype
  17. 17. RAD ModelCombines the features of waterfall model and prototyping model.Rapid application development (RAD) is a software dev.methodology that uses minimal planning in favor of rapid prototyping.WYSIWYG mannerThe "planning" of software developed using RAD is interleaved with writing the software itself.Each units Developed in a short time.Developments, using modelling tools and CASE, translates to product.
  18. 18. Contd..Speed and Responsiveness.Loop continually, Changes and feedback reflected.Key to the success of RAD lies in application decomposition, automatic generation and effective re-use.DisAdv: Modelling tools add expenses and Place restrictions(decompose, re-use..)Not applicable in little or no customer involvement, Co- existence of new application in legacy system.
  19. 19. Iterative Development
  20. 20. Iterative DevelopmentCounters the Third and fourth limitation of waterfall model, tries to combine the benefits of prototyping and Waterfall.Based on incrementing and add some functional capability to system until it satisfies.Project control list, gives an idea of how far the projects moves.
  21. 21. Spiral ModelEach cycle in the spiral begins with the identification of objectives for that cycle.Next step is to evaluate the different alternatives based on objectives and constraints.Resolve uncertainties and risksSoftware developedFinal stage Planned.
  22. 22. Time Boxing ModelThe Timeboxing model for iterative software development in which each iteration is done in a time box of fixed duration, and the functionality to be built is adjusted to fit the time box.
  23. 23. RUPRational Unified ProcessDesigned for Object Oriented Development using UML.Divided into Cycles, each cycle delivering a fully working system.Each cycle have four phases: Inception Elaboration Construction Transition
  24. 24. RUP Phases Inception: Goals and scope of project(life cycle objectives milestone) Elaboration: Architecture of the system is designed, based on the detailed requirement analysis (lifecycle Architecture milestone). Construction: software is built and tested(Initial operational capability milestone) Transition: To move the software from development environment to client’s environment(product release milestone).
  25. 25. Agile processes Extreme Programming Extreme Programming is successful because it stresses customer satisfaction. Extreme Programming emphasizes teamwork. Extreme Programming improves a software project in five essential ways;1. Communication2. Simplicity3. Feedback4. Respect5. Courage.
  26. 26. Principles of agile processesWorking software is the key measure of progressSoftware should be developed and delivered in small increments.Late changes in requirements should be entertained.Face to face communication over documentation.Continuous feedback and involvement of customer.Simple design is better than elaborate design upfront.Delivery dates are decided by the empowered teams.
  27. 27. THANK YOU

×