Discuss a waterfall model. Waterfall model is the software life cycle activities are defined as a fixed order and connected to several stages of work, like a waterfall, the final software products. In 1970, Winston Royce proposed the famous "waterfall model", which was the only widely adopted software development model until the early 1980s. The core idea of waterfall model is to simplify the problem according to the working procedure, to separate the realization of functions from the design, so as to facilitate the division of labor and cooperation, that is, to use structured analysis and design methods to separate the logical implementation from the physical implementation. The software life cycle is divided into six basic activities, including planning, requirements analysis, software design, program writing, software testing and operation and maintenance, and a fixed order is set for them to connect with each other from top to bottom, like a waterfall, falling step by step. Waterfall model is the earliest software development model, which plays an important role in software engineering. It provides the basic framework of software development. The process is to receive the work object of the activity from the previous activity as input, use this input to implement the content that should be completed by the activity to give the work result of the activity, and pass it as output to the next activity. At the same time, review the implementation of this activity. If confirmed, proceed to the next activity; Otherwise return to the previous, or even more previous, activity. The waterfall model is worthless for projects that change frequently. Discuss incremental development. Incremental development is a common software development process in software engineering. In the process of software development, the increment refers to the development of the main functional modules, and then the development of the secondary functional modules, gradually improve, and finally develop the software products in line with the requirements. For example, if you need to develop a software similar to WORD, you should first develop file management (save and read files), basic editing functions, printing, etc., while other less commonly used functions can be developed finally. Incremental development is to decompose a large program into several small modules, then develop each module according to a process model, and finally integrate these modules into a complete software product. Incremental development tends to create smaller methods and more cohesive classes. You do not just wait to blindly write a lot of code at once. Instead, you will constantly evaluate the quality of your code and make many small adjustments from time to time. Instead of changing many things at once. What is commercial-off-the-shelf (COT) software? Discuss why a company would choose a commercial off the shelf software vs custom software? Commercial off the Shelf (COTS) software is a product that is sold or traded through the usual Commercial practices and at a set market price. A company should choose the general Commercial off the Shelf(COTS) or customized Commercial off the Shelf(COTS). It depends on the size of the enterprise and the level of security requirements. Some small enterprises will also customize Commercial off the Shelf (COTS) due to safety requirements. a. What is prototyping? b. Discuss some of the benefits of prototyping. c. List some of the prototyping software out there. Prototyping method refers to the rapid establishment of the initial version of a target system, and the delivery of it to users for trial, supplement and modification after obtaining a set of basic requirements definition and visualizing the development environment with advanced software tools. This process is repeated until the "exact solution" of the system is obtained, that is, the user is satisfied. Prototyping is in a lot of manpower, material resources, in a limited amount of time, in the most economical way to develop a can system model of actual operation, the user on the basis of the operation using the prototype, through the evaluation, put forward the improvement opinion, to modify the prototype, unified use, repeated evaluation process, make the prototype gradually improve, until fully meet the needs of users. 1. InVision 2. Adobe Experience Design 3. Origami Studio 4. Sketch 5. Axure 6. Webflow 7. Framer 8. Atomic 9. Principle 10. Just in mind 11. Balsamiq Mockups