2011年10月21日星期五

UGG Austrila Preparation of software architecture documentation

Description: software architecture for complex real-time systems development has become increasingly more important. In this new series, learn why and how to write software architecture documentation. You will learn for any large software development projects in the documentation prepared by the five different views or aspects. This is the first in a series of articles, which will introduce the software architecture and the importance of documentation. You will also learn briefly described in the follow-up article the architecture view.
tag this! Date: October 16, 2008
Level: Intermediate
other language versions: English 2025 views
access
Introduction of the software architecture is a discipline, began in the 1970s. Face of increasing complexity and development of complex real-time system pressure, as a major systems engineering and software development of the basic structure, software architecture came into being.
any other tested subjects with the same software architecture in the beginning of the birth is also facing many challenges. Software architecture that the system structure and behavior. In the early preparation of documentation for the software architecture, the use of text and illustrations are often inadequate or inaccurate expression. Required is a consistent and fully understand the pseudo-(or meta) language for software architecture will be said and written documentation of the different ways to unify. Driven by academic research in software architecture for the development of effective documentation of best practices and guiding principles, engineering and computer science has made great strides.
In this series, you will learn how to write software architecture documentation. Written documentation to understand the different aspects: the system context, architecture overview, functional architecture, operational architecture and architectural decisions.
In this first article, to understand what is software architecture, as well as different aspects of the subject the importance of written documentation.
Back to top
software architecture
different researchers have explained what software architecture is, and how best to them about the architecture of software systems that have a different point of view. None of which interpretation is wrong; each explanation has its own value. Bass L, who captured the essence of software architecture:
the relationship. This definition focuses on the coarse-grained structure (software components) that constitute the architecture, they can be constructed as a building block architecture. Each software component or building block architecture has some externally visible properties, which is its building block architecture to other public properties. Software components within the system design and implementation details are not of interest to the rest of the content, just the rest of the system to a particular component as a black box. The black box with some of the properties exposed by the other software components can use these properties to achieve a common business or IT objectives. Software architecture identified at the right level of granularity the architecture building blocks. Software architecture also identifies how those building blocks related to each other, and for documentation.
and software engineering-related architecture involves a single system is decomposed into a set or iteratively, incrementally and independently constructed part. Various parts of the explicit relationship with each other. When combined together, to form various parts of the system, enterprise or application architecture.
architecture and design on the difference between some confusion. As Clements P and others have pointed out, all architecture is design, but not all design is architecture. Need to be bound to make the system meets its functional and non functional requirements and design goals is essentially architecture. Architecture, the architecture building block as a black box, is designed to handle the configuration of the architecture building blocks, custom and internal work. Architecture, software components and their external properties will bind together. Design is usually much more loose than architecture because it allows more ways to comply with the component's external properties. Design also takes into account the internal details of components used to implement a variety of ways.
software architecture can be used recursively. Consider a system's software architecture belongs to a part of the software component (C1). Software architect should open the component and its attributes, functions and non-functional properties and their relationships with other software components to the system designer. Designers in the analysis of software components C1, decided to break down the components for a more fine-grained components (C11, C12 and C13), in which each component provides reusable functions that will be used to achieve C1 requirements attributes. Detailed design of the designers C11, C12, C13 and its interface.
At this point, the designer is, C11, C12 and C13 are architectural structure (or components); where each structure has explicitly defined external interfaces. For the designer, C11, C12 and C13 is the architecture of software components C1, and these structures need further improvement and design, to handle their internal implementation. By large, complex systems into smaller components and focus on every part of the architecture can be used recursively.
architecture using a common behavior and quality objectives to meet the architecture of the system to bind together building blocks. Participants must be able to understand the architecture. Therefore, the architecture must be prepared sufficient documentation, the next part will be discussed. Back to top

write the importance of architecture documentation
participants: Architecture design and implementation of downstream users. For the definition of architecture, maintenance and enhancements to invest in people. Communicated to the participants of the system you are building a blueprint for the system architecture is the key to writing documentation. Software architecture, the view expressed by different - function, operation, decision-making and so on. No single view to represent the entire architecture. Not all views expressed specific business need or problem areas of system architecture. Architect will determine the areas of software architecture is sufficient for the desired set of views.
by writing a different view of documentation and capture each part of the development, you can to the development team and business and IT participants to convey information about the evolving systems. Software architecture with a set of expectations to meet its business and engineering objectives. Architecture documentation can be communicated to the participants how to achieve these goals.
for the preparation of all aspects of the architecture documentation to help architects make use of the whiteboard describe solutions (using the border graph method) and to the downstream design and implementation team in a meaningful way between the well-known that solutions the gap. Architecture of the border left a lot open to interpretation map of space. Need to reveal the details of the hidden and often confusing to stick behind those borders.
documentation can also create a realistic and can promote system development (for example, follows the standard template) architecture components. As a discipline, software architecture is very mature. You can use the best practices and guidelines to create a standard template for each view, to show the architecture of a part or area. Architect to provide a template for what needs to actually produce the results of training. Templates can also help architects and perform intensive training - beyond the border mapping technology. Template to more specific terms to define the architecture, it can be traced directly to the solution is expected to meet business and IT goals.
due to complexity, a typical system development activities may take 18 months or so. Attrition in the design and development team is a common occurrence, leading to crazy to find the right replacements. The new team members are usually hindered progress, because they must go through a learning process in order to become effective participants. Good documentation of the software component architecture provides:
for new team members need education about the solution the perfect platform. How about solutions to meet business objectives and project description. Specific problem areas in a variety of solutions architecture view. View of the individual will handle the focus of attention. Consider a This component to determine the problem to be solved, and evaluate alternative mechanisms to resolve the issue. Why choose a member of this alternative mechanism instead of other mechanisms to provide proof.
identified issues related to access to mainframe IBM DB2?? table mechanism. Two alternative mechanisms for the assessment: using IBM MQSeries??, Or use the NEON Shadow Direct adapter (an adapter vendors). Although MQSeries with the relevant features and less costly, but the latter is much more stable, and in the decision-making, the latter has certain advantages. Now imagine in the year after the original architect left the project, the new architect on stage. The new architect asked the team why not use the IBM MQSeries to access mainframe DB2 tables. The team will soon return to the component architecture decisions, and pointed out the reasons for making the choice. As the IBM MQSeries has in the past year has been tested with another solution comparable, and because of its low price, so the decision was to re-examine and make changes to reflect the updated solution.
This example illustrates why the system software architecture for all aspects of the preparation of documentation, is to educate new team members and in the case of a minimum of downtime required to help them start. Back to top
architecture
different view
You have learned the different views can be expressed by the architecture, view each focused on specific aspects of the architecture or category. As Bass L and others pointed out, the view is written and read by the system participants to elements of the architecture or structure and the relationship between them accumulate together.
functional view describes the architecture of each building block architecture, the relationship between building blocks and how to assign them to different layers of the architecture. Operational view (also known as the technical view) describes the various infrastructure and middleware software components, these components will be deployed for the functional architecture to provide run-time platform components. Application architect, the functional view with the first importance. For infrastructure architects, the operational view is to focus on the view.
these two views using different methods to solve the same problem, both views are necessary to promote the architecture from concept to physical realization. View of the architecture used to highlight specific areas, while deliberately suppress other areas.
since the 1990s, it has been many different set of views. Perry and Wolf made with a variety of views on building architecture (including the software architecture), there are some very interesting points. Published software architecture Kruchten 4 +1 view that there are five views, which combine to represent software architecture. The following will describe the first four views.
view describes the logical view processing

static model the dynamic process view processing design view of how to deal with the physical view
software components mapped to the hardware infrastructure
view that the software components developed static environment when developing the organization
fifth view is more of a Litmus Test view. It uses a very important structure in the system use cases (business scenarios), and explains how to view four views of each set of elements in the architecture and the architecture for those elements combine constraints and decision-making for to achieve those use cases.
Soni, who by the Applied Software Architecture published in another view of software architecture consists of four main view form the composition:
view describes the conceptual architecture view
major design elements and elements from the relationship between to describe the system
module interconnection architecture view describes the functional decomposition and how to be arranged in different layers of software modules
implementation architecture view describes the dynamic structure
code architecture view describes how the development environment tissue source code, binaries and libraries
software architecture described in many publications, other views,UGG Austrila, but the introduction of all these views beyond the scope of this article. Different views of software architecture, after a careful analysis shows that, between the results of different studies there are a lot of similarities. We have a system software architecture most often used to represent the optimal set of views.
The next section provides an overview of some elements, recommended that these components can be used in the software development life-cycle stage of the architecture generated the smallest set of architecture documents. Back to top
documentation
object
software architecture can be many different views or aspects of doing documentation. For any medium to large software development projects, we recommend that you at least write the following set of components architecture documentation:
system context
system context is expressed as the black box of how the entire system and external entities (system and end-user) interaction do documentation. It also defines the system and external entities, and control flow of information between.
system context for the system to clarify where the operating environment, identify and write documentation. External nature of the system, its interface and information architecture and control flow of the downstream components in the specification of technical help. Architecture Overview Architectural Overview
icon representation of a simple description of the architecture of the main conceptual elements and relationships. You can view and produce, including corporate IT systems view architecture overview diagram. Overview of the organization needed to help that business and IT functions.
architecture also provides a brief overview of the chart, function and operation of the architecture will be further detailed in the charts and documentation. And architecture overview also describes the enterprise in the IT system's strategic direction. Functional architecture
functional architecture components, also known as component architecture or model for how to break down the architecture to provide a logical grouping of software components of IT subsystems.
functional architecture of IT systems from the following description of the structure: IT responsibilities System software components,UGG Austrila, interfaces, static relationships and collaboration to deliver components required functionality. The components in each stage of iterative refinement to be developed. Operational architecture operational architecture
said computer system network components, these systems support solutions for some of the performance, scalability and fault tolerance requirements. This component also run middleware, system software and application software components.
This component in various stages of iterative refinement to be developed. Architecture decision making
component architecture provides the architecture for all decisions on the preparation of documentation related to a single location. Decisions usually involve, but are not limited to:
of the system. Identified middleware components to support integration needs. Assign functions to each component architecture (architecture building blocks). Architectural building blocks will be allocated to the architecture of each layer. Compliance with standards. Selection techniques to achieve a particular architecture building block or functional components. As in any architecture and engineering to meet business goals and decision-making related to the preparation of documentation. Documentation typically includes:
problem determination. Assessment of the various solutions, including the advantages and disadvantages. Selected solutions, including adequate verification and other downstream will help design and implement the relevant details. The rest of this series will discuss how the software architecture of the five components of the preparation of documentation.
Back to top
Conclusion
software architecture already exists 30 years. Over the past few decades have witnessed a large number of software engineering work. Software architect in the design to meet the company's business, engineering and IT solutions to the target plays a pillar of strength. Write documentation for the software architecture is extremely important. You can use the documentation, it is developing a system to communicate with the participants. Documentation for the new team members to work quickly is also very useful, because the new team members can use when implementing a solution architecture perspective as the context and boundaries of the premise.
about what is in the nature of the architecture, what is not in the nature of the architecture, and what should be done on the system documentation, there has been a lot of confusion. Architecture template definition and standardization of components in each type of content to support a consistent approach to the preparation of software architecture documentation.
In this article, you learned as a discipline of software architecture, and understanding of the basic elements of architecture, the importance of written documentation. You can also read the documentation recommended as the minimum set of architecture components overview. Stay tuned for other articles of this series, which will detail how to use a set of guiding principles, and how to write documentation for each component.
reference
learning
You can see the article on developerWorks, the original English text on the website.
read the published definition of software architecture framework.
D. Perry and A. Wolf wrote Read P. Kruchten
written
Applied Software Architecture provides a high-quality software design used to produce practical guidelines and techniques.
make you a better IT architect.
read the .
Architecture in the developerWorks Architecture zone, get to improve your skills in the architecture of various resources.
Browse the technology bookstore for information about these and other technical topics technical topics related books.
discussion
in the forum discussions.
visit developerWorks Blog, in order to join the developerWorks community.
About the author
Tilak Mitra is an IBM Senior Certified Executive IT Architect. He specializes in SOA, the SOA's business strategy and direction for IBM to help. He is an SOA subject matter expert, helping customers SOA-based business transformation, and focus on complex and large-scale enterprise architecture. His current focus is around Composite Business Services (Composite Business Services, CBS) to build reusable assets that can run on multiple platforms, such as IBM, SAP and other SOA stack. He lives in sunny South Florida, spare time, he likes to participate in cricket and table tennis. Tilak's Presidency College in Calcutta, India received a physics degree, and have been in Bangalore, Indian Institute of Science in Electrical Engineering degree and a master's degree. Access Tilak's blog,UGG Austrila, for more information about SOA. You can see on LinkedIn Tilak Mitra's profile.

没有评论:

发表评论