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.
  • del.icio.us
  • StumbleUpon
  • Digg
  • TwitThis
  • Mixx
  • Technorati
  • Facebook
  • NewsVine
  • Reddit
  • Google
  • LinkedIn
  • YahooMyWeb

Related Posts of What is the structure

  • On the DRY principle of how to improve software quality

    On the DRY principle of how to improve software quality Abstract: August 2008 to December 2008, the authors take part in a certain provincial-level wireless operators online business hall three development projects and served as project manager jobs. ...

  • Building and Scaling a Startup on Rails: 12 Things

    Garry Tan, cofounder of Posterous, lists 12 lessons for scaling that apply to more than just Rails. Use cloud storage for static files. Use HTTP Cache Control to tell the browser what it can cache. Use Sphinx for text search. Use InnoDB for more cras ...

  • Understand the REST software architecture

    Author Luo Road Published in at 20:18 on May 27, 2007 Original Address: http://www.infoq.com/cn/articles/rest-architecure A way of thinking affected the development of the software industry. REST software architecture is the world's most successful on

  • Designed with the real coding

    Software development process at the design and coding, both organizations (as well as other details of the project controllability requirements) engineering method is XP ah, UPS ah what the design phase is to cover the entire software development pro ...

  • 12 The most important J2EE best practices

    MVC Framework (as well as the J2EE implementation of the MVC) is one of the advantages of the component elements can (in fact, very easy) on your application for unit testing. Therefore, you can easily entity bean, session bean and the JSP an independent

  • The real design and coding

    Software development process at the design and coding, both organizations (as well as other details of the project controllability requirements) engineering method is XP ah, UPS ah what the design phase is to cover the entire software development pro ...

  • hibernate Technical Study Notes (first)

    Introduction: Model does not match (impedance mismatch) java object-oriented language, object model, its key concepts are: inheritance, association, polymorphism, etc.; database is the relational model, its key concepts are: tables, primary keys, for ...

  • Strength of live practice teaching materials, suitable for each person team look - UFIDA Hua Table CTO talk about "out of the software factory"

    A few months ago, on reading "Going the software factory," one book, not yet published at that time, it can be considered the reference of the watch. Although the language rather uneventful, but the contents of people really can not but carry on

  • Object-oriented design principles 11

    What is object-oriented design? Contains what? The benefits of it are what? Required to pay what you do? In today's age, ask these questions seem to be foolish, because this year almost every software developer knows how to use some sort of objec ...

blog comments powered by Disqus
Recent
Recent Entries
Tag Cloud
Random Entries