Heroes are created in the historical era, and softwares are no exception. Software Engineering was born to solve the contemporary software crisis. after learning the video of software engineering, I finally unveiled the secret, let me have a preliminary understanding of the soft engineering design. The soft engineering design mainly includes two parts, the outline design and the detailed design. Next I will briefly introduce the software design.
1. software composition and definition:
Software is another part of computer systems that are mutually dependent on hardware. It is a complete set of programs, data, and related documents. Among them, the program is a sequence of commands executed according to pre-designed functions and performance requirements. The data is a formal representation of the information used for communication, interpretation, and processing. Documents are graphic materials related to program development, maintenance, and use.
2. Summary design and detailed design:
Design knowledge is used to determine the levels of modules and modules, and describe algorithms, data structures, and interfaces in detail. The overall design is to first change a house, and the detailed design is to renovate the house.
3. Images
4. Illustration
(1). design task: divide elements, design structure, and write documents. Document Writing and periodic review are constantly improved throughout the process, which facilitates software development and maintenance.
Overall Design Steps: Develop and select excellent solutions, and then conduct phased testing and review based on the solution design structure and database, and finally form relevant documents. In the design stage, we mainly talk about the structure design. The structure design methods include transformation analysis and thing analysis.
(2). Transformation Analysis PK practice analysis
The transformation analysis design is an ordered structure composed of three parts: input, transformation, and output. The process involves three steps: data acquisition, data conversion, and data delivery. Transaction analysis is designed to separate its input stream into many divergent data streams to form many processing paths and select one of them for execution based on the input values.
Common feature: converts a data flow diagram Into a software structure.
Difference: the data flow diagram maps to the software structure in different ways. The Design of transform analysis is suitable for data flow diagrams with obvious transformation features, and the design of transaction analysis is suitable for data flow diagrams with obvious transaction features.
(3) module independence
In the design process, we constantly improve the independence of modules. The independence of modules is modular, abstract, and composed of independent information. Its evaluation criteria are high cohesion and low coupling, high fan in and low fan out. In this regard, we still need to grasp the "degree". We cannot blindly follow these principles to ignore the optimization of its overall structure.
In the software design process, why do we improve the independence of modules? Because independent modules are easier to develop, test, and maintain. During the entire software life cycle, the investment in software testing and maintenance work is large.
5 Summary
With an excellent software design process, engineers can continuously meet the customer's needs when developing software, in order to continuously reduce the investment in software development and maintenance. Follow the software development process to extend the software life cycle.
Software Design in software engineering