What is the structure

As the components in the software industry into the assembly industry (software component industry) in the process of their designers continue to find components of the desired component of the applications environment and application software division software architecture often can not be perfectly integrated together, leading to Application Software division is difficult to flexibly reuse (reuse) another design components, resulting in growth of the software component industry bottlenecks. OO software experts are also increasingly aware of their problem is that the main structure of the software from the mismatched (mismatch).

The importance of the primary structure of the software is not showing up today, 20 years ago, software master Fred. P. Brooks mentions: software design among participants, the design concept must be consistent (conceptual integrety) to create a simple and friendly software, while he also stressed that the concept of software to achieve the same primary structure in the process of living in a central role. 20 years old this issue is still OO Software division today must strive to overcome.

To keep up with it, must know what it is. I will first introduce some concepts related to knowledge:

1. Architecture (Architecture)

Architecture can also be referred to as architecture, the so-called software architecture, according to Perry and Wolfe definition: Software Architecture = (Elements, Forms, Rationale / Constraint), which is the main software component architecture = (element, element of mutual assistance and cooperation of the model, based on requirements and limitations). Philippe Kruchten using the above definition, and describes the design of the main structure is: will the component elements of the ideal model of cooperation in some organized, in order to achieve the system's basic functions and limitations. Architecture is divided into a variety of styles such as Pipes and Filters, etc..

2. Framework (Framework)

Framework can also be referred to as application architecture, framework of the general definition is: in a particular area can be re-based architecture design. Also that the framework is under architectures in specific areas of application. Framework of the well-known example is the MVC.

3. Library (Library)

Library should be reusable, a collection of resources for mutual cooperation for the development of staff to repeat calls. The main difference between it and the frame is called run-time relationship with the program. Library is invoked by program, but the framework of the caller. Good library with JDK.

4. Design Patterns (Design Pattern)

We should be very familiar with design patterns, especially the book written by the Gang of Four is known. "Gang of Four" will model described as "a certain environment to solve a problem of the program." These three things - issues, solutions and the environment - the basic elements of the pattern. To model a name, consider using the model will produce results and to provide one or more examples of models for the shows are also useful.

5. Platform (PlatForm)

Posed by a variety of systems, which can include hardware.

The concept for more than a more clear understanding of, the software can be applied development process. Theory and practice are indispensable and complementary. No theoretical guidance, based on the lack of practice; no practical Di proof theory on the lack of merit, so I always thought: For the contemporary De programmers, Zaiyouyiding practical base Must study after more deeply the theory of knowledge . Whether you are first starting to learn from that side.

In the software development process, from the practice of many processes and methods, generally can be extracted from the five major steps: requirements analysis, design, coding, testing. The architecture is the software framework, is the most important foundation. Architecture is involved in every step. Generally required to obtain the same time, you should start analyzing the software architecture. Architecture is different now generally combined into larger modules, and then describe the relationship between the parts.

I generally think that framework is the architecture of each module in smaller structures. If you need that web technology, will use MVC framework, web function is the entire software system in a functional module. Each frame can have many instances, such as the implementation of the MVC framework with java structs.

Under the framework is in the design pattern, design patterns are usually applied in the framework, and also can be said to complement the framework. Because the framework is to provide an environment, we need to fill more things inside me. Whether application of the design mode, you can achieve the functions of the software, and correct application of design patterns, is our previous method of software design or implementation of a succession, so that your software is more flexible.

Architecture can be analyzed from a different perspective, so the software architecture design can follow different perspective to the. Discourse by 4 +1 views, it is the four views: logical, development, process, physical and scenes. So architecture is gradually refined, you can not begin to come up with a perfect architecture, but only gradually under the development process, refine the structure of the system.

Analogy: If we are prepared to build a house, that house if the feature points by: walls, floors, lighting and so on, which is formed according to the kind of style, the house is so Quartet, or circular, thus formed house architecture. Under the architecture, we can apply the framework of each module, such as walls, what we are prepared to apply the framework. Wall may include: windows, doors. Windows and doors is a framework consisting of. What is the shape of the window or a large or small, is to in order to achieve the brightness of the house, so what kind of window is the selection of design patterns.

分类:Java 时间:2010-07-29 人气:180
blog comments powered by Disqus


  • The use of RUP 4 +1 views approach to software architecture design [transfer] (1) 2010-06-25

    To develop a user satisfaction of software is not easy, the software architect must fully grasp the various needs, balance between the needs of a potential contradiction, the different needs of different categories one by one Meet . This article need

  • Programmer - Career - Education - Master - Design - Architecture 2009-09-11

    Programmers - the general is a lot of people think that a group of undergraduates, as well as college students, and even many high school students, such as self-taught, even if there is also a kind of graduate students have the academic qualification

  • Methods to master design patterns (design and mode) in mind 2010-12-30

    Hello everybody: What has not written a technical article, this article has nothing today, technical documents, but when summed up in reading some of the ways, welcome Paizhuan. As a programmer, every day we put it up thought, a programming ideas. Bu

  • Software Architecture: General Designer 2011-05-11

    Software Architect is an emerging software industry, occupation, job function in a software project development process, customer requirements into specifications for development plans and text, and to develop the general framework of the project to

  • "Software Architecture Design" reading notes 2009-04-07

    Recently read "software architecture color design" of this book, harvest story, happened to see this online book notes, is reproduced below: 【Title】 : Software Architecture Design Press 【】 : Electronics Industry Press People s : Wen Yu Foreword

  • Standardization of the software industry is imperative 2009-05-31

    Standardization of the software industry is imperative Author Shen East China Sea N may be many years ago someone raised the need for standardization of the software industry, perhaps there is lot of people will be likened to building software, accou

  • System architecture and software framework is a layer of meaning it 2009-08-30

    Analysis of a deeper level, both the construction areas, or other fields of engineering (including computer science), from their evolutionary history, we seem to be able to intuitively find their common ground: that is, from a philosophical point of

  • [Transfer from DeveloperWorks] architecture blueprint - the software architecture "4 +1" view model 2010-03-19

    Original Source: http://www.ibm.com/developerworks/cn/rational/r-4p1-view/index.html Based on the use of multiple concurrent views to illustrate the description of software-intensive system architecture model. Use multiple views to allow independent

  • How to design a test preparation software 2010-11-10

    How to design a development of software test cases, test cases are the core of the second software testing, what is the three test cases, the preparation of four test cases, test cases in software testing the role of five, related issues With the gro

  • [Software design process-PowerDesigner v12 Introduction] 2010-11-25

    [Software design process-PowerDesigner v12 Introduction] PowerDesigner v12 1, features: (1) Business Process Modeling: A Graphical models for design or modeling; (2) data modeling: a reliable method-based, two-level (conceptual and physical) relation

iOS 开发

Android 开发

Python 开发



PHP 开发

Ruby 开发






Javascript 开发

.NET 开发



Copyright (C) codeweblog.com, All Rights Reserved.

CodeWeblog.com 版权所有 闽ICP备15018612号

processed in 0.045 (s). 11 q(s)