How to make a clear and easy to understand software design?

        Before software development, with a clear software design documents throughout the development of the guidance it is very important. In the software team, staff turnover often occurs in the process of completing a project, a software module may be flowing through the N individual's hand. Without a clear division of design, module design ideas after people may have go the wrong, even if we can ensure that the original train of thought, in the middle it will also cause a great waste of costs.

        Software design work belongs to the architect or can be called a technical director, the architect's role is to ensure that software designed to meet the user's functional requirements and technical development of non-functional requirements, while completing various stakeholders and staff to communicate and communication systems . Upon completion of all preparations necessary to ensure that the technical concept of the architect unity within his own team, project development in accordance with the consensus reached.

        Software design is a core part of software projects, this process is the architect or technical person in charge of the technical design of the process output, while the output of the product: technical design documentation.

        The core software design is the software modeling on various abstract models you build, adding text on the formation of the software design document. Model is an abstraction of the objective of the business, and the software design is the corresponding relationship between the various abstract model to be solved, and it relates to business processes, and finally contribute on these foundations, assembly planning.

        Software design process and can be split into demand analysis, outline design, detailed design in three stages, the main tool used is the UML. If the general shape of an iterative project, I suggest that you can eventually form a detailed design, detailed design but will also be included needs analysis, outline design, detailed design process, but the final document reflects only together, any a link is certainly not small (of course, some projects require overall design, do not seriously here ha). Where each link has a specific model they can help us, the following diagram modeling software for use on several common view of the scene as well as corresponding, basically covering most of the large and small design software on the market.

    

Figure 1 - 10 kinds of instructions used in FIG.

        Figure 2 - 3 software design tools used during the

 

demand analysis:

Is not the only product manager before we do things in a design software design documentation, requirements analysis reflects a part of the overall product designers assured ideas to control. For example, we can use this stage a flowchart describing particular service flow, with each character identified embodiment with use case scenarios FIG using a timing chart of the scene representation interactions.

 

Summary of design:

In our software design document, a summary of the design part of the project is reflected in the top of the document, after a series of project requirements discussions, he clearly describes the overall structure of the project, and the hierarchical relationships between the various modules. Although his objective sense occurs late in the requirements analysis phase.

 

detailed design:

This stage focuses on the details of the technology are described, can develop software development according to the contents of this part of the.

E.g:

  • Sequence diagram between the interface used to interact

  • Code that implements the class used in FIG.

  • The expression entity-relationship-dependent ER FIG.

  • It will flow to the internal state using the state diagrams

These really do, to complete a barely qualified technical design.

 

        How can we make a clear and easy to understand, is available for development of software detailed design?

 

        First, the directory structure should be clear, there is a clear index that we use in order to facilitate the latter to facilitate the development process quickly navigate to a modular design. Similar to the directory of the dictionary, if the dictionary is not a directory, this dictionary will become useless, the same software design documents also do so.

 

        Second, the system should also have explained, whether large projects or project type each iteration, has its place in a context, the project generated some demand has gone through the process of precipitation, an instructive design described in the documentation on demand It is a must, embodied in the form of specific provisions can not.

 

        Again, the design principles and other norms need to declare in advance. Micro project realization there are many ways, you can use the traditional layered architecture model domain-driven design can also be used, but there is a concept which must be addressed is the universal language. Common language is not the only field-driven development concept will be used, will be present in many projects, many of whom have a different understanding of the situation for the same term, such as take delivery vehicle (e behalf of the drive) module implementation, the module will take delivery of the car orders module associated with the word order take delivery of the car became associated colleagues understand the car to take delivery orders, while orders module became colleagues understand the payment order, if you define a good general-purpose language, this situation would not have happened.

 

        Meanwhile, in this part of the system also need to demonstrate the design rules or techniques which used to achieve, such a symmetric encryption or asymmetric encryption unit encrypts, using synchronous or asynchronous messaging, or Go java language, assembly or use springcloud dubbo and so on. These non-operational components as a tool for project development, we can clearly tell what partners should go to learn how to use and so on.

 

        Then, after everything ready, you can get to the the. The overall design, begin the system design module, the best you can with a picture or a few pictures reflect the thinking of the whole structure, people can be designed to have a clear awareness of the overall project software. For example overall architecture diagram, flow chart, like the ER FIG. Secondly, respectively, detailed interaction design for different modules interact only requirement is that until a clear description of the details of each completed so far.

        Finally, the design may be ending, of course, before this project can also be deployed topology map, and so on. Does not matter to this stage has been developed over the performance audit to scrape together enough, not part of the scope discuss.

 

Caught more than a few core points, enough to complete a detailed design of practical software.

 

 

 

 

        

 

 

 

 

Released six original articles · won praise 5 · views 30000 +

Guess you like

Origin blog.csdn.net/weiyi_world/article/details/104637371