What is the software life cycle?
A: Software lifecycle consists of 1 software-defined cycles: problem definition, feasibility study, demand analysis
2 software development period: System design (overall design, detailed design)
System implementation (coding and Unit testing, comprehensive testing)
3 Software Maintenance period
Compare waterfall model, fast restore model, increment model and helix model, explain the applicability of each model?
A: 1 Waterfall model Advantages: Specification, document-driven, can force developers to adopt a normative approach, strict requirements of each phase must be submitted documents, each stage of the product must be validated
Disadvantage: The system may not meet the customer's real needs, lack of flexibility, high change costs
Scope of application: specific requirements
2 Quick Restore Model Advantages: the development of software products is basically linear sequential
Scope of application: the demand is not very clear
3 Incremental Model Benefits: ① in a relatively short period of time to submit to the user can complete part of the work of the product
② users have more time to learn and adapt to new products, reduce the impact of a new product may bring the user
Cons: ①: When you integrate each incremental build into an existing software architecture, you must not destroy the product that was originally developed
4 Helix Model Advantages: Risk-driven, help to develop good quality software reduces the risk of excessive testing and testing, there is no essential difference before maintenance and development
Cons: Risk-driven has become a disadvantage to risk assessment not in place
Scope of application: large-scale software for in-house development
Software Engineering 1 Chapter 7 questions