Software Development Process Overview (notes)

Source: Internet
Author: User

1. feature list (function list) and Use Case Diagrams (use case diagram)

The first step of requirement analysis is either to determineFunction list(Feature list), orUse case diagram(Use Case Diagrams ).

Constantly communicate with users, clearly define the main feature and main use cases, and accurately define the functions required and implemented by the system as much as possible.

You don't have to pursue a complete list or use case at a time. As the number of iterations increases, it will naturally be improved. In this way, you will know what the system needs to do and how users will use the system.

Ii. Break up the problem (disintegration problem)

Once you know what functions to do, you can classify these functions according to their interrelationships and divide the system into several modules.

Minimize interaction between modules and clear interfaces (OO design principles for applications such as encapsulation and single responsibility ).

If there is a scientific division of modules in a large-scale system, it can greatly improve the efficiency of parallel development and reduce the impact of delivery delay of a certain module on other modules.

Iii. Requirement)

Before developing a function or use case, you must have an accurate understanding of the problem, and then communicate with the user again to break down a specific use case or function. During the first iteration, the selection of function points or use cases requires the most fundamental, core, and most dependent one of the other parts to start the development iteration.

There are two development modes:Function-driven(Feature driven) orCase-driven(Use Case Driven ).

Function-driven development is smaller than case-driven development. The path to be selected determines what to get next.

To select the use case driver, you must writeUse CasesUse Case: use case diagram, natural language description, and step decomposition. In the end, the main paths and other paths must be included, that is, variousScenario(Scenario) must be included.

Use Cases are used to communicate with users and confirm that our understanding of requirements is correct and complete in a way that users are familiar.

4. Domain Analysis and Design)

Domain Analysis: ing nouns in use cases and entity classes in the final system, and ing between Verbs and methods.

Of course, this ing does not have a one-to-one ing relationship. You need to add, delete, modify, and delete ing based on the actual situation. Finally, these classes and methods are assembledClass Diagram(Class digoal ). A class chart is a key intermediate product in software development. It allows others to focus on your system.ProgramQuickly understand the system architecture.

SystemDesign:That is to say, according to the actual situation and some design principles and design patterns, the classes on the class charts are decomposed, combined, abstract, and refined. The contribution of a class chart with reasonable structure and clear functions, both maintainability and scalability, to subsequent development is self-evident.

V. Implementation (Implementation)

The implementation just looks like referring to the class diagram and other existingCodeTo perform some operations similar to stack code. First, a good coding style is required to make the code readable.

2. Adequate unit test guarantee (nowTest driver(Test driven) has been very important ).

Third, you must consider code reuse to maximize the use of existing methods orAlgorithmFunction implementation.

4. Always haveReconstruction(Refactoring) awareness to ensure that the Code is concise, efficient, readable, maintainable, scalable, and reusable in the process of continuous growth.

Fifth, the basic oo rules should be applied in a practical manner (such as OCP, SRP, and dry ).

6. iteration (iteration)

Generally, after implementing a function or use case, select another function or use case to apply the previous steps.IterationUntil all functions or use cases are implemented.

The system function list and use case diagram may be modified and updated from time to time. It is necessary to have smooth and clear communication with the customer to ensure that the system developed is what the user wants.

VII. Delivery (delivery)

With the above steps, the software can be delivered.
Learning Source:Http://www.cnblogs.com/lihongchao/archive/2008/01/12/1036586.html

 

 

From: http://www.cnblogs.com/xugang/archive/2008/04/06/1138863.html

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.