菜单
  

    The usual names given to this approach to software development are progressive development or phased implementation. The corresponding lifecycle model is referred to as a progressive development lifecycle. Within a progressive development lifecycle, each inpidual phase of development will follow its own software development lifecycle, typically using a V or waterfall model. The actual number of phases will depend upon the development.
     
    Figure 3 Progressive Development Lifecycle
    Each delivery of software will have to pass acceptance testing to verify the software fulfils the relevant parts of the overall requirements. The testing and integration of each phase will require time and effort, so there is a point at which an increase in the number of development phases will actually become counter productive, giving an increased cost and timescale, which will have to be weighed carefully against the need for an early solution.
    The software produced by an early phase of the model may never actually be used, it may just serve as a prototype. A prototype will take short cuts in order to provide a quick means of validating key requirements and verifying critical areas of design. These short cuts may be in areas such as reduced documentation and testing. When such short cuts are taken, it is essential to plan to discard the prototype and implement the next phase from scratch, because the reduced quality of the prototype will not provide a good foundation for continued development.
    4. Iterative Lifecycle Models
    An iterative lifecycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. This process is then repeated, producing a new version of the software for each cycle of the model.
    Consider an iterative lifecycle model which consists of repeating the four phases in sequence, as illustrated by figure 4.
     
    Figure 4 Iterative Lifecycle Model
    • A Requirements phase, in which the requirements for the software are gathered and analyzed. Iteration should eventually result in a requirements phase which produces a complete and final specification of requirements.
    • Design phase, in which a software solution to meet the requirements is designed.
    This may be a new design, or an extension of an earlier design.
    • An Implementation and Test phase, when the software is coded, integrated and tested.
    • A Review phase, in which the software is evaluated, the current requirements are reviewed, and changes and additions to requirements proposed.
    For each cycle of the model, a decision has to be made as to whether the software produced by the cycle will be discarded, or kept as a starting point for the next cycle (sometimes referred to as incremental prototyping). Eventually a point will be reached where the requirements are complete and the software can be delivered, or it becomes impossible to enhance the software as required, and a freash start has to be made.
    The iterative lifecycle model can be likened to producing software by successive approximation. Drawing an analogy with mathematical methods which use successive approximation to arrive at a final solution, the benefit of such methods depends on how rapidly they converge on a solution.
    Continuing the analogy, successive approximation may never find a solution. The iterations may oscillate around a feasible solution or even perge. The number of iterations required may become so large as to be unrealistic. We have all seen software developments which have made this mistake!
    The key to successful use of an iterative software development lifecycle is rigorous validation of requirements, and verification (including testing) of each version of the software against those requirements within each cycle of the model. The first three phases of the example iterative model are in fact an abbreviated form a sequential V or waterfall lifecycle model. Each cycle of the model produces software which requires testing at the unit level, for software integration, for system integration and for acceptance. As the software evolves through successive cycles, tests have to be repeated and extended to verify each version of the software.
  1. 上一篇:学生考勤管理系统英文文献和中文翻译
  2. 下一篇:Android系统英文文献和中文翻译
  1. 汽车内燃机连杆载荷和应...

  2. 机械手系统英文文献和中文翻译

  3. 固体氧化物燃料电池英文文献和中文翻译

  4. 船舶运动仿真系统英文文献和中文翻译

  5. 新能源空调系统设计英文文献和中文翻译

  6. 正交试验回归法和响应曲...

  7. 机械设计制造及其自动化英文文献和中文翻译

  8. 上市公司股权结构对经营绩效的影响研究

  9. NFC协议物理层的软件实现+文献综述

  10. 高警觉工作人群的元情绪...

  11. 现代简约美式风格在室内家装中的运用

  12. C++最短路径算法研究和程序设计

  13. 浅析中国古代宗法制度

  14. 中国传统元素在游戏角色...

  15. 江苏省某高中学生体质现状的调查研究

  16. g-C3N4光催化剂的制备和光催化性能研究

  17. 巴金《激流三部曲》高觉新的悲剧命运

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回