AD

Requirement Analysis and Design: the division of the module

Guidelines to be followed by the module:
High cohesion and low coupling module sizes the dependence of the appropriate modules and other appropriate

The development of large software projects, the division of the module is very important! In general, the modules function as a single and clear of, the best to do one to one correspondence with the target module. Links between modules should be as little as possible, for the links should be clear that, the module should be small enough to facilitate a single module debugging.

Optimization from the perspective of the module structure by:
**blog.csdn**/zengjibing/archive/2009/02/13/3888747.aspx
Quote

Preliminary outline for the structure of the second aspect of the review is to consider a modular design. Is composed of units from the architecture, the clearly defined subsystems, the next step is to define the module.
1, the modular design of the module concept of how to design it reasonable? The key here is to ensure the independence of the module.
Module: A module is the data shows that the executable program object such as a collection of statements, a separate name and can be accessed by name, such as procedures, functions, subroutines, macros, and so on.
Modular: software can be divided into separate name and can be accessed independent components called modules, each module to complete a sub-function, the problem they are integrated together to meet demand.
Using a modular solution Note:
In general, the preferred description of each user to define a module. We should strive to make differences in the size of each module within an order of magnitude. If you find that too large a module, you need to implement the module cut, and then the results for this cut, in turn, modify the description of requirements analysis, when the user (or use cases) of expression.
This is caused by the design requirements change.
Generally the size of the module in the first iteration of a development team time to complete as well. Module cutting methods and development cost. We can come to think modular software workload and costs. See the figure below the actual situation, with the number of modules increases, reducing development costs, but increase the cost of system integration, so the minimum cost of a suitable interval in the region. In other words, the module is not possible, only the number of modules at an appropriate time, the overall cost was likely to fall.
2, the means of modular abstraction: the essential characteristics of things out not to consider them in detail.
Information hiding: the module should be so designed and determined to make the information contained within a module (process and data)
Modules that do not require this information, it is not accessible.
Module independence:
Module is developed independently and have independent functions and other modules without too much interaction between the modules.
The significance of independent modules:
1) Functional segmentation, simplified interface, easy-to-people develop the same software;
2) separate modules easy to test and maintain.
Modules measure the degree of independence:
1) Coupling: the structure of a software interconnection between different modules within the measure of the degree.
2) Cohesion: The symbol of each processing element within a module close to each other with the degree of cohesion of the module only good thing.
3, the modular design of the general guidelines to improve software structure and improve the module independence.
Module size should moderate. Great module decomposition is not sufficient; small module cost large complex interface.
Minimize the number of high fan-out structure, as the depth increases for more fan. Fan-out is too large means that the module too complex and require too much control and coordination of the lower module. In general, the top fan-out high fan-out among small, low-rise high fan.
The role of the module stays in the area within the control of the module. The role of the scope of the module is a module to determine the effects of all the other modules; control module means the module itself and all directly or indirectly subordinate to its modules.
Strive to reduce the complexity of the interface module module interface complexity is a major cause of software errors.
Interface design should make the information transmission function of simple and consistent with the module.
Design of single entry single exit the module, in order to avoid the content of coupling, easy to understand and maintain.
Should be able to predict the function of the module. The same input should have the same output, otherwise it is difficult to understand, test and maintain.

Extended the blog:
Quality attributes and their coping strategies from the perspective of optimization of structure:
**blog.csdn**/zengjibing/archive/2009/02/13/3888736.aspx
From the perspective of optimizing shared hierarchy structure:
**blog.csdn**/zengjibing/archive/2009/02/13/3888755.aspx
Software reuse and component from the perspective of optimization of structure:
**blog.csdn**/zengjibing/archive/2009/02/13/3888759.aspx

Software architecture design process:
**blog.csdn**/zengjibing/archive/2009/02/13/3888760.aspx
标签: executable program, target, optimization, coupling, software projects, subsystems, iteration, subroutines, dependence, correspondence, cohesion, macros, solution note, order of magnitude, module structure, requirement analysis, independent components, large software, modular software, preliminary outline
分类: Development
时间: 2011-01-05

相关文章

  1. Requirements analysis and design: the division of the module

    Module division should follow the guidelines: High cohesion low coupling module sizes suitable module dependen ...
  2. Object-oriented analysis and design of the various stages of steps and the main products

    A project recently started to do the design using UML in the project process, feel about some of the experienc ...
  3. Efficient testing requirements analysis and design of test cases

    Efficient testing requirements analysis and design of test cases 2010.11.21 in Tsinghua Science Park Hotel hos ...
  4. Analysis and Design team (TeamAnalysisDesignPattern)

    Analysis and Design team (TeamAnalysisDesignPattern)
  5. Analysis and Design of e-commerce sites

    Analysis and Design of e-commerce sites Objectives identified in section I Site objectives: the development of ...
  6. Solutions were based on the UML Object-Oriented Analysis and Design

    Abstract In this paper, examples of the way, showing how to use UML for Object-Oriented Analysis and Design. T ...
  7. System Analysis and Design

    1, the system development life cycle 1, the planning phase 1) Project Start Deliverables: a feasibility study ...
  8. System Analysis and Design reserved

    1, the system development life cycle 1, the planning phase 1) Project Start Deliverables: a feasibility study ...
  9. What is the analysis and design

    A matter of emphasis on research issues and needs, not the solution. For example, if you need a new computeriz ...
  10. Needs analysis. Outline design. Detailed design distinction

    Software engineering requirements analysis, design, and detailed design of the difference - is reproduced Acco ...
  11. SOA analysis and design of error-handling points

    SOA analysis and design phase in a comprehensive needs analysis for the proper error handling to complete the ...
  12. Object-Oriented Analysis and Design - a simple analog implementation of throwing the dice game (a)

    Object-Oriented Analysis and Design Today, the school has come since the real software engineers core curricul ...
  13. Object-Oriented Analysis and Design - a simple analog implementation of throwing the dice game (b)

    Throw the dice on the article on the game simulation of the object-oriented analysis and design, and now I mad ...
  14. Spring Framework Analysis of design concepts and design patterns

    Spring Framework Analysis of design concepts and design patterns http://www.ibm.com/developerworks/cn/java/j-l ...
  15. Whim, object-oriented analysis and design

    At the outset, I do not for a very deep understanding of OO. Are doing the project before the project is not l ...
  16. UML-Based System Analysis and Design

    Blog UML-based analysis and design of five ------ boundary class, control class, entity class design boundary ...
  17. Systems Analysis and Design

    First, the systems development life cycle 1, the planning stage 1) Project start Deliverables: a feasibility s ...
  18. Systems analysis and design reproduced

    First, the systems development life cycle 1, the planning stage 1) Project start Deliverables: a feasibility s ...
  19. Object-Oriented Analysis and Design - A simple dice game simulation to achieve (a)

    Object-Oriented Analysis and Design Since school is finally ushered in the real software engineers core course ...