cool hit counter Software Engineering for Beginners_Intefrankly

Software Engineering for Beginners

Copyright: This is an original post by the blogger and may not be reproduced without the blogger's permission.

With the progress of microelectronics technology, computer hardware, in terms of computing speed, storage capacity, external devices, etc. have developed by leaps and bounds, and at the same time, the development and application of computer software must also keep pace with the rapid development of hardware.

However, in the 1960s, a series of problems such as poor software quality, poor reliability, unpredictable development time and huge costs led to a "software crisis". This has forced people to work on a proven principle, concept, technique, and method to develop software, i.e. software engineering.

Software engineering is the study of engineering methods to build and maintain effective, practical and high-quality software. (This definition is taken from the Baidu encyclopedia " software engineering”)

After studying it in general, I drew a brief guide chart (I hope you can point out any shortcomings).

Software Planning: Software planning is the first phase in the software life cycle, this phase involves conducting a feasibility analysis of the project and writing a completed feasibility study. The purpose is mainly to determine the "what" of the software to be made, to design the software at the top level, to depict the software architecture, and to provide complete, precise, clear and specific requirements for the target software system.

Requirements Analysis: Requirements analysis is an important bridge between the software planning and software design phases. On the one hand, the requirements analysis is based on the feasibility study, which examines and adjusts them from a software perspective; on the other hand it is an important basis for software design, implementation, testing and even maintenance. The document to be completed at this stage is the software requirements specification.

Software design: Requirements analysis discusses what the system "does", software design is based on understanding what the software does and discussing "how it does it". According to the software life cycle, the design is divided into outline design and detailed design, and the outline design specification and detailed design specification are generated in the two phases. Of course, various design methods (such as structured design methods for data flow, object-oriented design methods, etc.) are used throughout these two design phases to help us complete the software design.

Program coding: After understanding the "what", "what" and "how" of the target software in the previous phases, the next step is to "do" it. So it is important to improve the correctness of the program code, and to improve the speed based on the assurance of correctness.

Software Testing: Software testing is the last and most important phase of the software development period, in which test plans, test analysis reports and other documents are prepared. During the planning, analysis, design, and coding phases, one inevitably makes a variety of mistakes, so it is important at this stage to be convinced that mistakes exist and to use reasonable testing methods (black box, white box, etc.) to gradually test and correct errors in the system.

Software maintenance: Software maintenance is the last phase of the software life cycle and is the longest and most costly phase. Although it is a task that needs to be performed after the software is put into operation, the work of software maintenance usually takes up more than 60% of the software development organization's effort.

1、Microsoft Releases First Preview Version of Windows Server 2019
2、June Event Overview
3、Notes on the use of the online trademark search system
4、100 Years of Craftsmanship Looking to the Future Panasonic Excites at CES 2018
5、Fastplay Wang Xin Lays Out Blockchain Can He Make a Comeback

    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送