Software DevelopmentThe content is:Requirement, Design, programming, and testing!
Requirement: not only the user requirement, but also all the requirements encountered during development. For example, you first need to know what the project is to solve and what data should be input in the test case.......To clearly understand these requirements, you often need to communicate with customers, project managers, and so on.
DESIGN: Before coding, you must have a plan to tell you what to do and what the structure is. You must follow this process, otherwise it may be a mess.
Programming: If yourProgramYou cannot get the money if you cannot run it or meet the customer's requirements.
Test: The purpose is to let you know when it is finished. If you are smart, you should first write the test so that you can know if you have completed it in time. Otherwise, you often don't know which functions are actually completed, and how far is it from the expected goal.
SoftwareDuring development, customers and developers have their own basic rights and obligations.
Customer:
Define the business priority of each user's needs;
Formulate an overall plan, including the amount of investment used, how long it took, and what the goal was;
Every working week in the project development process can maximize the benefits of investment;
By repeatedly running the specifiedFunction TestingAccurately grasp the progress of the project;
Ability to change requirements, functions, or priorities at any time, while avoiding expensive re-investment; ability to adjust project plans in a timely manner based on various changes;
The project can be canceled at any time. When the project is canceled, the previous development work is not a pile of garbage, and the functions that have been enabled are required. Ongoing or unfinished work should not be difficult to take over.
Developers:
Know what to do and what to do first;
Work efficiency;
Customers, colleagues, and superiors can answer or help in case of problems or difficulties;
Evaluates the work and reevaluates the work in a timely manner based on changes in the surrounding conditions;
Actively undertake the work, rather than passively accepting the distribution;
One week40Working hours, no overtime.
The software development process can include the following:6Stages:
Plan
Overall definition of the problem to be solved, including understanding the user's requirements and the real environment, from technical, economic and social factors, etc.3Research and proof of the feasibility of the software project, prepare a feasibility study report, discuss the solution to the problem, and the available resources (suchComputer hardware, System software, manpower, etc.) cost, the benefits and development progress can be estimated. Develop implementation plans for completion of development tasks.
Analysis
Software requirementsAnalysis is to answer questions about what to do. It is a process that extracts, stores, and correctly understands user needs, and then usesSoftware EngineeringThe development language (formal functional specification, that is, the Requirement Specification. The basic task of this phase is to work with the user to determine the problem to be solved, establish the logic model of the software, compile the requirement specification documents, and finally get the user's approval.Requirement AnalysisThe main methods are as follows:Structured Analysis MethodData Flow chart and data dictionary. The work in this phase is designed and established according to the requirements of the requirement specification.Software SystemOfArchitectureAnd the entire system is divided into severalSubsystemOr a module, defining the interface relationships between subsystems or modules, designing and defining each subsystem, and compiling the software outline design and detailed design manuals,DatabaseOr Data Structure Design Specification,Assembly TestPlan.
Design
Software design can be divided into two phases: Outline Design and detailed design. In fact, the main task of software design is to break down the software into modules, which refers to the data and program description that can implement a function and the program unit of executable programs. It can be a function, process, subprogram, an independent program and data with program instructions, or a functional unit that can be combined, decomposed, and replaceable. Module, and then design the module. The outline design is the structure design. Its main goal is to give the module structure of the software.Software StructureFigure. The first task of detailed design is to design the program process of the module,AlgorithmAnd data structure, secondary tasks are to design the database, the common method is structuredProgram DesignMethod.
Encoding
Software coding refers to converting software designComputerAn acceptable program is writtenProgramming LanguageRepresents"Source program list". A full understanding of the features and programming style of software development languages and tools helps you select development tools and ensure the development quality of software products.
In the current software development, except for special occasions, it has been rarely used for the 20th century.80The advanced language of the age is replacedObject-orientedDevelopment language. AndObjectThe development language and development environment are mostly integrated, greatly improving the development speed.
Test
Software TestingThe purpose is to find as many errors as possible at a small cost. The key to achieving this goal is to design a set of excellentTest Cases(The test data and the expected output result form a test.Use Cases). The key to how to design a set of excellent test cases is to understand the test method. Different test methods have different test case design methods. Two common testing methods are the white box method. The testing object is the source program, and the logic structure inside the program is used to find the programming errors, structure errors, and data errors of the software. Structure errors include logic, data stream, and initialization errors. The key to case design is to cover as many internal program logic results as possible with fewer cases. The white box method and the black box method are based on the software's function or software behavior description and discover software interfaces, functions, and structure errors. Interface errors include internal/External interfaces, resource management, integration, and system errors. The key to the Black Box case design is also to overwrite the module output and input interfaces with fewer use cases. Black box method.
Maintenance
Maintenance refers to some software engineering activities carried out on software products after the development (analysis, design, coding and testing) of software is completed and delivered for use. That is, the software should be modified according to the software running situation to adapt to new requirements and correct errors found during operation. Compile software issue report and software modification report.
If the development phase of a medium-scale software takes one to two years, it may take five to ten years to run or work after it is put into use. So its maintenance phase is also the five to ten years of operation. During this period, people almost need to solve various problems encountered during the development phase, and also solve some maintenance work's own special problems. Doing a good job in software maintenance can not only eliminate obstacles, but also enable the software to work normally, but also enable it to expand functions, improve performance, and bring obvious economic benefits to users. However, it is a pity that the emphasis on software maintenance is far less than that on software development. In fact, compared with software development, the workload and cost of software maintenance are much larger.
In the actual development process, software development is not from the first step to the last step, but at any stage, there is generally a step or step back before entering the next stage. Problems During the test may require modifications to the design, and users may propose some requirements to modify the requirement specification.