Introduction and summary of Software Development Models

Source: Internet
Author: User
Waterfall Model Description: each software process is connected in sequence and passes through at one time. It is most commonly used. Advantage: driven by documents and risks, this helps improve the quality and efficiency of large-scale project development. Disadvantages: long construction period, high risks, and difficulty in meeting user needs. Applicable scenarios: projects with clear requirements and few changes, such as secondary development or upgrade projects. Spiral Model Description: based on the prototype, it is rotated along the screw line, and each revolution is carried out by planning, risk analysis, implementation, and evaluation. The new version is obtained, and the final version is obtained after several spiral increases. Advantage: driven by documents and risks, this helps improve the quality and efficiency of large-scale project development. Disadvantages: long construction period, high risks, and difficulty in meeting user needs. Applicable scenarios: large and complex systems with changing requirements. Incremental Model: Description: linear sequences that are staggered over time are used. Each sequence generates a release increment, each increment generates an operable product, and the first increment is the core product. Advantage: you do not need to invest a lot of human resources at the beginning. You can first launch core products to stabilize users and manage technical risks in a planned manner. Disadvantages: an open architecture is required, which may result in poor design effects and low development efficiency. Applicable scenarios: software development processes with frequent changes in requirements. Quick prototyping Description: quickly build a runable software model to understand and clarify issues, further refine requirements, and perform system development based on new requirements. Advantage: avoid development risks caused by unknown user needs. Disadvantage: rapid model creation and continuous modification may cause low product quality. Applicable scenarios: Where user requirements are vague. Iteration Model Description: An Iteration includes all the software development processes, each iteration generates a release product, and this product is a subset of the final product. It is applicable to projects with multiple phases of development that cannot fully define all product requirements in advance. Fountain Model Description: an object-driven model driven by user requirements. It supports software reuse and integration of multiple development activities and mainly supports object-oriented development methods. V model Description: Test-centered. The test level is specified for each stage of the software life cycle: coding stage <-> unit test; Detailed design stage <-> integration test; overview design phase <-> system test; Requirement analysis phase <-> acceptance test. Agile method (the most famous is eXtreme Programming: XP) It is a lightweight, efficient, low-risk development method that emphasizes teamwork and communication. It is suitable for small and medium development teams with vague or variable customer requirements. Unified Process That is, up/RUP, based on components, has the advantages of case-driven, basic architecture-centric, iterative, and incremental. It is divided into four consecutive stages in time, it is the initial stage, refinement stage, build Stage and delivery stage. Summary of common development models: Waterfall Model (The life cycle method is the most common development model in the life cycle method). It divides the development process Software planning, demand analysis, software design,ProgramCoding and Software Testing And six stages of operation and maintenance, which stipulate that they are top-down and suitable for large-scale software development processes. Transform model (Evolutionary Model) Based on the rapid development of a prototype, the prototype is improved based on user feedback and suggestions until it is evolved into a final software product. Spiral Model: combines Waterfall Model with transform model, And added risk analysis; Fountain model: it provides support for software reuse and integration of multiple development activities in the life cycle. It is an object-oriented development method. Intelligent Model: A knowledge-based software development model, combined with expert systems, it is a rule-based system; V model: Test-centered development model; Incremental Model: integrates the basic components of the waterfall model (repeated application) and the iterative features implemented by the prototype. It uses linear sequences that are staggered over time. Its biggest advantage is flexible personnel allocation; rad (Rapid Application Development) model is an incremental software development process model that emphasizes extremely short development cycles. It adopts component-based development methods. CBSD (Component-Based Development) model is a modular method to modularize the entire system. The entire process is divided into five stages: analysis and definition, architecture design, Component Library Establishment, application software construction, testing and release. Common component tools include Microsoft's DCOM, sun's EJB, And OMG's CORBA. Prototype Method model, which is suitable for use when the demand in the early stages of product development is uncertain. It is usually divided into a horizontal prototype (functional navigation) and a vertical prototype (implementation of some functions, focusing on the complex Algorithm Two XP method models are lightweight (agile), efficient, low-risk, flexible, predictable, scientific, and fun software development methods. It consists of four parts: values (communication, simplicity, feedback, courage), Principles (small steps), practices, and behaviors: the rational process (rationalunified process) method model, it is a unified software development process and a general process framework that can be used in multi-field project development. It is also based on components and uses the Modeling Language UML. It has three features: case-driven, centered on the basic architecture, iteration, and increment. The software process is divided into four stages in time: Initial Stage-refinement stage-Build stage-delivery stage.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.