Posts

Showing posts with the label Software Process Models

Process Models in Software Engineering

Waterfall Prototyping Evolutionary Unified

Incremental Model : Software Engineering

 cost of implementing requirement change is reduced. amount of analysis and documentation that has to be redone is significantly less. easier to get customer feedback from software rather than judging progress from document. customers are able to gain values of software earlier than that is possible from waterfall model. incremental delivery means that software is used in real, operational process so user feedback is likely to be realistic. Phases that run in cycle: Planning [Estimation, Scheduling and Risk Analysis] Modelling [Analysis, Design] Construction [Coding, Testing] Deployment [Delivery, Feedback] Communication Limitations: if developed quickly, not cost effective to produce documents that reflect every changes. system degrade, messy codes accumulate as new increments are added.

Evolutionary Model : Software Engineering

 proposed by Barry Boehm [Spiral Model] couples the iterative nature of prototyping with controlled and systematic aspects of waterfall model software is developed in a series of evolutionary release during early iteration. The release might be a model or prototype. During later iterations, more complete versions are engineered. Anchor point milestones-combination of work products and condition that are attained along the path of spiral are noted for each evolutionary pass. realistic approach to develop large scale system and software. Limitations: demands direct consideration of tech risks at all stages of the project (considerable risk assessment expertise is relied on for success) before they become problematic.

Prototyping Model : Software Engineering

stakeholders better understand what is to be built when the requirements are fuzzy. eg. fitness app sync user interface screens, social integration, fitness goals and share progress requirements quick planning of prototyping iteration. modelling (quick design)-focus on parts visible to end users. evaluation of stake holders- to satisfy various needs and better understand what needs to be done. users get to feel actual system and developers get to build something quickly. Limitations: developers may need to discard a prototype to meet the customers' evolving needs. if not careful, less than ideal choices become the integral part of the evolving system. customers involvement may cause delays.

Waterfall Model : Software Engineering

   Waterfall Model (Linear Sequential Model)  Phases: Requirements analysis and definition. System and software design. Implementation and unit testing. Operation and maintenance. Short Description used when requirements are well defined and reasonably stable. eg. adaptation of accounting software to accommodate changes to mandated government regulations. safety critical software are usually developed using waterfall model as lots of analysis and documentation is required before implementation begins. subsystems within a large system may be developed using different approaches. Parts of system that are well understood can be specified and developed using waterfall process model. Appropriate for: Embedded Systems Critical Systems. Larger software systems that are part of broader engineering systems developed by several partner companies. Limitations: difficult for customers to state all requirements explicitly at the beginning of most projects. customers must have patience...