How to convert from requirements to design and coding


There are differences between requirements and design, but should try to make your concrete implementation of the specification without bias.Ideally:

Considered in the design system should not distort the description of the expected.Requirements development and specification of the system should be stressed that the external behavior of the expected understanding and description.Allow designers and developers involved in requirements review to determine whether demand can be used as the basis for design.

Software design methods are often different final demand will be met, and the design method with the performance, availability, robustness, and technology used varies.If you jump directly from the requirements specification stage of coding, design software you will be air attic, the possible end result can only be the most effective way to reunification.Consider the design of other developers will help to ensure compliance with the proposed design constraints or to comply with the relevant quality attributes and design specifications.

Was involved in a project, carried out a full needs analysis, establish a detailed description of the behavior of analog camera system 8 transforms the process data flow diagram.After a number of needs analysis, we did not direct the preparation of the source code.But as a representation of the data flow diagram to create a design model.We immediately realized that there are three steps in the model calculations using the same algorithm, the other three sets use a different equation, and the remaining one-third of two steps share the collection.

Model represents the user and development team in our understanding of the issues being addressed, and the design model is described how to construct the system that we should.Careful thought through the design period, we simplified the 60% of the core issues, the complexity of computing a collection of 8 reduced to three.If we demand analysis conducted immediately after the encoding, then the construction phase will occur in the code duplication.However, due to the simplified problem of early detection and save a lot of time and money.Design rework rework than the coding efficiency may be higher.

Needs-based, repeated design will produce good results.When you get more information or additional ideas, a different approach to design can be refined your initial concept.Design errors will cause the software system is difficult to maintain and expand, and ultimately result in the inability to meet customer performance and reliability goals.In the requirements into the design of the time you spend is to create high-quality, robust product key investment.

In the design of products, product demand and quality attributes determine the appropriate construction method used.Research and review the proposed architecture is another way to explain the need and demand will be more clear.Similar to the prototype method, which is a bottom-up needs analysis.Both revolve around such a thought process: "If I correctly understand the demand, then this method can meet this demand. Since I have a first hand architecture (or prototype), it helps me moregood understanding of the needs? "

You can begin to realize the needs of the various parts of the former, do not have to complete the entire product and detailed design.However, before you encode, each part must be designed well.Great design and planning would be beneficial to the difficulty of the project (there are many internal components of system interfaces and interactions and inexperienced project developers).However, the steps described below will benefit all of the projects:

◆ In the maintenance process should play a supportive role in the subsystems and software components to create a solid architecture.
◆ a clear need to create an object class or function module to define their interfaces, functions and scope of collaboration with other code units.
◆ According to strong cohesion, loose coupling and information hiding principles of good design is expected to define each code unit functions.
◆ Make sure your design meets all the functional requirements and does not include any unnecessary functions.

When developers put into the design and code requirements, they will encounter a place of uncertainty and confusion.Ideally, the developers can follow the problems occur and get back to the customer solution.If you can not immediately solve the problem, then the developers made any assumptions, conjecture or interpretation of the document should be written into the record by the customer representative for review.If you encounter many such problems, then demand that the developer before the realization of these demands are not very clear or specific.In this case, the best arrangements for one or two developers to review the needs of the remaining development work can continue after.