Chapter 9 filing frame

 
As we have repeatedly seen, the system's software architecture plays in system development framework and development of the organization - a central role. For the project system and the development system, the role played by architecture blueprint. It defines a set juice and must achieve complete tasks group, Li is the main carrier of the quality system, such as performance, security, and modifiability. If there is no uniform framework of ideas, any quality attribute can not be achieved. Framework is an early analysis. The method to ensure that the design will produce a product acceptable system. Also in the understanding of the system after system deployment, maintenance, architecture also plays a crucial role. Briefly, the adhesive on the foot frame concept, which combines a phase for each of all the stakeholders will project.
 
Architecture filing is to create a framework of the most valuable step. Even if the framework is perfect, but if no one understands it, or (Worse) main stakeholders misunderstood it, it is no use. • If you create a very powerful catch the framework, then, must be in sufficient detail to clearly describe it, and in a way other people can quickly find the information needed to organize them. Otherwise, the framework will not be of any use, your efforts will pay nothing. This chapter will help you capture what information architecture to determine playing, and will discuss the framework to capture information policy. This chapter also discusses some notations, including UML.
 
9.1 Use of framework filing
 
Framework of the system depends on the demand for architecture, so the framework document also depends on the need for a document • ~ • That we would like to use the document. The document is certainly not the kind • "Universal (one sizes fits all)" "abstract case it should be enough to enable new employees to quickly understand: but also detailed enough to be able to say, as a blueprint for security analysis. architecture document analysis and Implementation of personnel documents to be used are very different. these two documents are different from the document and we make new employees familiar with the framework provided.
 
Architecture Document is not only illustrative. But descriptive. That is, for a Ci audience, it makes limited by the decisions to be developed, to illustrate what is true. For other viewers, it is through narrative decisions about system design has been made to describe what is real.
 
The above description, the document different stakeholders have different needs - different kinds of information, different levels of detail of information, use of information in different ways. We should not expect to produce a framework document, and each user can use it the same way. Instead, we should be able to help prepare a stakeholder quickly find the information of their interest, and does not interfere with the least information about the document to find information.
 
This may mean that those who want to prepare for the different stakeholders different documents. More likely, this means that the preparation of playing - Group document, which has • a help different stakeholders in the roadmap to navigate the document (roadmap).
 
Usually. Preparation of technical documentation (in particular, the Software Architecture Document), one of the most basic rules • is written from the perspective of the reader. We do not use easy to write but difficult to read the document, in this case, "easy to read" refers stakeholders can easily read the document.
 
Know who the stakeholders are and how they can use the document to help us organize the document to make the document available to stakeholders for understanding and Xing can be used. In Chapter 2, we have said the main purpose of the framework is between 3 feet allow stakeholders to communicate tools, documentation is to promote such exchanges. Table 9.1 shows the architecture of stakeholders and their hope that the information provided in the document.
 
In addition, stakeholders can be divided into two categories: the experienced and inexperienced. Information inexperienced stakeholders want information and experience Fengning stakeholders require similar, but less information some introductory content of more. For a general understanding of the framework for people who read the framework document is a good choice: the lack of experienced developers, funders, project visitors, etc.,
 
Describes the software architecture documentation
I just finished expression of attribute-driven design (ADD) method (a business unit of the group see chapter 7 L of a large manufacturing company already know most of what we have expressed: ATAM (Chapter II), remodeling (first Shu Chapter 0) and software product line (Chapter 14). I was very comfortable, contentedly sitting there.
 
However, the client there is a problem to be solved "They want to be based architecture development, but their development team is very small, according to the expressed do we need to spend a few years time." However, they need to contract completed within a period of product development. they do not have enough resources to do according to the method we are talking about the fans. now, we need to do is to let them adopt development approach based on the architecture, but do not need to understand everything involved,
 
Discussion turned to books on software architecture documentation and filing of our being prepared for the documents as a means to maintain the company's product knowledge, the customers are interested in. We practice framework for reconstruction, and in accordance described in this chapter the principle of the results compiled the document, in order to end the meeting.
 
I always thought that was the end of the document the design and development process. From any perspective, the framework is necessary (communication, analysis and training), but it is derived, not drivers.
 
Customer response has hold different opinions. They block for encoding and software architecture as an ideal means to train its developers ,, in any case they must write a document, therefore, in the corporate culture, to provide them with a template of what the compiled text block is a logical thing to fill in the template process, the different views that must be compiled into a document (we need to define useful views), they need to prove they design how different products to meet the quality objectives, and, in the process of writing the document they are usually able to understand the concept of architecture.
 
To me, document or as a training tool for new things, but its role is very powerful. Has to dwell on the details of people who consider the architecture and framework issues is a big leap forward. It seems for consumers does not require a lot of overhead can be understood by the idea of ​​software architecture documentation contained in, this is a very cake training tool.
--LJB
 
The most eager to use the framework document is probably the designer, and, he could be the design of the architecture of people, maybe not. But no matter what kind of case F, he needs to check Yi architecture document. The new designers to its former designer how to solve the difficult problem of the system and why a decision to develop the interest.
 
Even if future designers is the same person, he will put the document as a repository of knowledge. Architecture Document cricket big ocean of fine design decisions, memory alone can not put the original design idea, all decisions recall.
                        Table 9.1 Stakeholder communication needs and framework satisfied
 
 
9.2 view
 
The most important concepts related to software architecture documentation probably reclined "view" of the. In Chapter 2, we define the software architecture of the system as "one or more structures of the system. It consists yuan cable, external visible of these elements of the relationship between Li and their composition." We have said, the view is gathered together within the framework element of said written and read by the system stakeholders. Structural elements that set itself, because the elements exist in the software or hardware.
 
In Chapter 2 we discuss software architecture as a complex entity. The entity can not be described by a simple way of thinking. We can use the structure of the building is very close to life • do next analogy to explain this. In the construction of the building structure, need to consider many aspects of playing: bedroom layouts, elevational, electrical diagrams, FIG vertical, FIG ventilation, communication mode, lighting, and security systems plan view. In these views, which view is the framework? Which not. Which, as the Court conveyed the framework? All views are conveyed.
 
The concept of view (it can be seen as a trapping structure) provides the basic rules of filing software architecture for us:
 
Architecture filing is to view related documents compiled, and then add the files for multiple views to it.
 
The principle problem into the framework of the filing more easy to handle sections, therefore universal. The remainder of this chapter will address the following three questions:
 
• Select the relevant view
 
• filing of view
 
• The information for multiple views into the document
 
9.3 Select the relevant view
 
In Chapter 2 we scabbard introduced a set of structures and views. What is relevant view? Learn stakeholders and they plan to make
They will help you build the document package to be playing with the way the document. Architecture may have many uses - as a mission statement implementers as a starting point to understand the system and asset recovery as well as project planning of the Blue House, etc. - each one uses • are required by a number of stakeholders. Similarly, you and other stakeholders in the system development are most concerned about the quality of the properties which will affect the view encoding and crotch choice. For example, can be seen by a hierarchical view of portability of the system. Can be inferred that the performance and reliability of a system by the deployment view. And so on and so forth. Needs analysis framework to ensure the quality of the analysts attribute (perhaps the designer) will be asked to provide these quality Min Li of the document.
 
In short, different views support different objectives and purposes. This is the reason we are basically not a particular view or, as the Court set to promote the adoption. Which, as the Court of filing documents depending on the desired use of the way. Different depending on the circumference emphasize different elements of the system and / or relationships.
 
Table 9.2 shows the stakeholder representative and they are likely to find useful, as the Court species. You should make use of this table consider who the stakeholders are and what view best for them. You can choose from which views? Chapter 2 gives a set of views, some of which, as the Court • reflected in Table 9.2. Connector (C & C), and allocation - three groups :: module assembly into the view Chapter 2 below. This classification indicates that at least three ways the designers need to consider software:
 
(1) How to be structured to achieve a set of units
 
(2) how it structured set of elements with run-time behavior and interactions
 
(3) how it structures its non-software related to the environment
 
                    Table 9.2 Stakeholder and they may think that the most useful framework documents
 
 
You can get other views. View only on behalf of a group of system elements and relationships between them, so you think of a - part of the stakeholder groups useful elements and relationships constitute an effective visual Court. • The following is a selection of simple 3-step process, as the Court of project:
 
(1) generating a candidate list .. view to establish a project stakeholders • / table view, as shown in Table 9.2. Your list of stakeholders is likely to table 9.2 different. But as long as the specific circumstances of the project to try to match. Column is filled in suitable depending Court system. • These Depending Court (e.g., decomposition or use) is applied to each system, depending on other Court (e.g., hierarchical view, most of the connector assembly view Ge (e.g., a client - server), or shared data) that applies only to press fashion design system. After determining row and column, to fill every units described stakeholder needs the view how much information: to not lag, Yu merely to provide an overview, a detailed medium, very fine sheep i.
 
(2) Combination View. View a list of candidates generated in step 1 is likely to be a lot of views. In order to reduce the number of views to the list manageable. Start with an overview of the table need only identify a small number of children, or only for a stakeholder views. Look more to meet stakeholder needs another view of whether the same can meet the needs of these stakeholders. Next, identify those can be combined to - view from - that is, provide two or more views, as the Court has a message for small and medium-sized projects will be realized, as the Court usually. there are many modules exploded view Court also an exploded view of the module may be used with a hierarchical view or view Court good combination. Finally, no matter what kind of components - Connector view (such as process, as the Court), as long as shows the components assigned to the hardware elements, usually can be used in conjunction with deployment view.
 
(3) prioritization after Step 2, you should provide an appropriate set of views for the stakeholder groups. Then you need to determine what to do first. Decide what to do first depends on the specific circumstances of the project, but please note that do not need to start another one, as the Court • completion of a view before. From - starts its playing level information thus takes a breadth-first method is generally preferred... Also, some of the stakeholders of the benefits may be higher than other stakeholder interests. Your cooperation with the company's management or project manager requires management earlier and frequent attention and information.
 
9.4 View filing
No view on the industrial standard template filings, but in practice, as part of the standard 7 organizations can play a good role. First of all, no matter what part you choose to include must play to ensure that "there is" a standard and knitting. Section to assign specific information to a specific document writers to help write the task is completed, and recognizing that has been completed, and it helps to read the documentation of people quickly find what they are interested in.
 
(1) between elements and display elements, as the Court Che relations mainly indicate. Playing the main representation should contain information about the system you first want to convey (the terms used in view of) information. It certainly should contain the main view of the relationship between the elements and playing elements, but in some cases it may not contain all the elements and relationships between elements. For example, you might want to show the relationship between play a role in normal operation elements and elements, but wanted to mishandling or exception handling in supporting documentation.
 
The main is usually expressed graphically. In fact, most House-shaped representation are based mainly in the form of representation come into play, only a few graphical representation is the use of other forms. If the main graphical representation foot, then, we must be given representation or interpretation of the symbols used.
 
Sometimes, playing the main representation in tabular form. Form is usually an excellent way to succinctly convey large amounts of information. One example is the A-7E Module Chapter 3 gives an exploded view of the main text representation. Text representation also provides a view of the most important summary information. 9.6 will use UML representation for the main discussion.
 
(2) Contents of elements at least a detailed relation between the elements in the main representation thereof and described, but also a big expense Yu other content. Produced mainly shows usually focus on where the designer, but if there is no supporting information to explain the diagram mainly shows no purpose. For example, if there are elements in Figure A, B and C, it is best to have a document with enough detail to explain what A. B and C are, their purpose and the role they played, with a vocabulary of view its description. For example, there is an exploded view of the module as an element of the module, "is part of ......" relationship, as well as the definition of the responsibility of each module attributes; there are processes in the process view process-related elements of other relationships interaction or synchronization definition. and time parameters comprising properties.
 
In addition, if there are missing or relationship represents an element associated with the view from the main playing, so its catalog is to introduce and explain their place.
 
Behavior and interface elements are two other elements of the catalog, we will briefly be discussed.
 
(3) shows how the system described in view of FIG context associated with its environment. For example, in the assembly - the connector Court in view, which shows the components and connectors and protocols which interfaces with external components and connectors interact.
 
(4) variability Guide shows how to use any part of the change point of view shown in the architecture. In some framework, the late concurrency and decision-making process was, and still must be compiled framework document. Can be seen in a software product line variability on examples, wherein the plurality of line frame suitable for a particular system (14 discussed Emperor). Variability guidelines should be included in the framework document on each change point, as follows:
 
• where you want to make the selected option. In the module view, various wooden version or parameter options that module. In the assembly - the connector view, which may include replication, restriction or scheduling protocol selection. In view of dispensing Court, they may include software elements of the processor assigned to a particular condition.
 
• make a time selection. Some choices are made in the design, some of which are made in the building, some of which are made at run time.
 
(5) explains the rational design architecture background view reflected in the purpose of this section is to explain why this design and provide a reasonable and convincing arguments. Architecture background includes:
 
• The basic principle, why make the decisions reflected in the view. And why not use other programs.
• Analyze the results. Description design is reasonable, or explain when you need to make changes, you must change anything.
 
• Assume reflected in the design.
 
Glossary (6) used in the view. For each term are briefly described.
 
(7) other channels Cong. • the specific content of this part depends on the standard practice of the organization. They may include management information, such as the creator, configuration control data and change history. Designers may be logged refer to specific portions of a requirements document to establish traceability. In a strict sense, this information does not belong to the architecturally. However, it will be recorded in the next frame is very convenient, this section that is provided for this purpose. In any case, it must be described in detail management information.
 
                            Figure 9.1 summarizes the parts of the document described above.
9.4.1 behavior of filing
Depending Court provides structural information systems. However. Only use configuration information does not infer certain system of Li. For example. Inference deadlock depends on the interaction between the elements of the order of understanding, only the configuration information and sequence information do not provide this interaction. Interactive behavior described may be provided sequentially, opportunities for concurrency and time-dependent (or at a particular time - after time period) the interaction between the elements of information.
 
The behavior of an element or all elements of the work can be compiled into a document "to be what type of modeling depends on the design of the system. For example, if it is a real-time embedded systems, you need to describe a lot of time on the properties and events the time information in the banking system, the actual time of the event under consideration sequence of events (e.g., atomic transactions and rollback process) is more important than may use different notation and modeling techniques, depending on the analysis to be carried out type. in UML sequence diagram and state diagram is an example of behavior described. now, these representations have been widely used.
 
FIG 20 is a developed state in the 1980s to describe the reaction systems. Developer was added to a conventional large state diagram useful extension, as well as the nested state "and" state, and which gives an abstract model provides a concurrent expression of force. FIG whole system can be estimated via a state. It assumes that all state representation and analysis of the systems to be general. In other words, you can answer questions such as: the stimulus response time is always less than 0.5 seconds it?
 
Around a series of sequential stimuli exchange filing. It provides a collaborative interaction in terms of its component instance, and shows the arrangement order of time interaction. It represents time and the longitudinal, lateral represent different components. FIG noted in order to allow a particular usage scenario reasoning. They show how to make the system reflect a particular stimulus, on behalf of the path selected by the system. They make answering such questions as possible: When the system responds to specific stimuli under these specific conditions, what will happen parallel activities?
 
9.4.2 The interfaces are filing
 
Interfaces are two separate entities meet and interact or communicate boundary. We castor seed in the second definition of software architecture of Qing Chu show interface elements - the carrier of property other external elements visible - is part of the architecturally. Because there is no interface can not be analyzed or system construction. Thus to filing interfaces is an important part of the framework compiled palpable.
 
Filing of the interface comprises determining the interface name and then filing its semantic and grammatical information. The first two parts of the "signature" of the interface. When a resource program interface is callable, the signature on the program to name and define its parameters. Parameter defined according to the order, they have a certain data type, sometimes need to define whether the program can change the values ​​of the parameters. Signature is the information you will find on the program, such as information in c or C ++ header file elements or Java interface.
 
The signature is useful (for example, they can automatically build support checks), but only part of the content. Signature matching to ensure the success of the build system and / or links. However, with regard to whether the system enough to be able to run successfully, it does not provide any guarantee, but this is the ultimate goal. This information is semantically bound to an interface together.
 
Interface document has an interface specification, which is a statement of quality designer Li selected. Designers should expose only the information needed to interact with the interface. In other words it is visiting, the designer should choose what information is allowed and for people to make assumptions about the elements, as well as what information is unlikely to occur change. The interfaces are filing is to achieve a balance between too little information and too much exposure to the groom interest. If exposed to too little information, it will hinder the developer to successfully interact with the elements. If too much information is exposed, will make late changes to the operating system becomes more difficult, involving broader and make the interface too complex and thus difficult to understand. Experience is to focus on how the elements interact on its operating environment, rather than on its implementation. Ji only externally visible should be the filing information.
 
As generally occurring element assembly module - direct correspondence to the plurality of cable connector element in view explain. Modules and components - connector elements are likely to have similar (if not identical) interface, which is knitted in two places do not have the document will have repeated playing. To avoid this situation, the assembly - Ze depends Court connector pointing module interface specification in view of the Ge interface specification, and includes only certain information regarding its apparent Ji Court. Similarly, a module may appear in multiple modules depending on the Ge - as modules exploded view or Court .. Also, select - comprising a view interface specification, and refer to it in the other view Court.
 
The interfaces are filing a template, here it is the standard interface for filing organization's recommended. It can be modified to delete the specific circumstances of the organization unrelated items. Or add items to suit your particular situation cyanosis organization. Use standard organization which is not important, important is that we must use - standard organization. You need to use the organization to provide an accurate overview of the visible external element of interaction for the project interface.
 
(1 interfaces identity. When an element has multiple interfaces, each interface to identify distinguish between them. This often means playing on the interface name. You may also need to provide a version number.
 
(2) the resources provided. The core interface documentation on the full resources of the elements provided. (What will happen when using these resources) by giving its syntax, semantics, and restrictions on its use to define resources. There are several syntax notation interface to be compiled crotch. One is the OMG Interface Definition Language (IDL) used in the CORBA community. It provides a means for describing language type noted in the number, operations, attributes, and exceptions. The only language of semantic information that supports annotation mechanism. Most programming languages ​​have built-in methods for specifying the element signature. C header (.h) files and Ada package specifications are two examples. Finally, the use of << imerface >> stereotype in UML (as shown in FIG. 9.4) provides a method of communicating information about a syntax of the interface. At least for the interface to be named: Designers can also specify signature information.           
                    
        • Resource syntax. This is the signature of resources. The signature includes another program written to use this resource is all the information required syntactically correct program. Signatures include resource name, parameter (if any) and the name of logic
        Series data types.
        
        • Resource semantics. Resources semantic description of the results of the call for the resource. It may including Juniperus chinensis:
        
                    • Data call participants can access the resource assignment. It might be like to set the value of the return parameter as simple as it may be like to update the central database - like complex.
                    
                    • will send a signal event notification, or message will be sent as a result of the use of the resource.
                    
                    • After using the resource, how the behavior of other resources in the future?
                    For example, if a resource destruction of an object, then,
                    After trying to access other resources when the object by,
                    It will produce very different results (errors).
                    
                    • The results can be artificially observed. In embedded systems that Che is Ci of times;
                    For example, the program calls the open display of aircraft cockpit,
                    You will see an obvious result - the display open.
                    
                    In addition, the semantic representations should also elaborated Qing Chu resources to implement atomic,
                    Or may be suspended or interrupted.
                    Convey the broadest representation of natural language semantic information.
                    Boolean algebra is commonly used to write pre-conditions and post-conditions. This
                    It provides a relatively simple and effective method is a semantic.
                    It can also be described by a sequence or element write activity
                    Interactive response of a particular use made of the use of the trail to convey semantic information.
        
        • Resource usage limits. Under what circumstances can use this resource? Before data can be read, probably you must initialize it, or must, after calling a method to invoke a particular method. There may be restrictions on the number of participants at any time by the resource interact.
        It may be - participants have ownership of the resource,
        He can modify the element, while the other participants only access.
        Perhaps only certain participants to access certain resources or interface,
        To support multi-level security scheme. If the resource requested additional resources,
        Or its environment has made other assumptions, then the content should be recorded in the document.            
 
Definition (3) data type. If any type of data interface resource uses non-underlying programming languages, design needs to be communicated to the data type definition. If it is defined by the other elements • So, the elements in the document |.-Defined reference is sufficient. In any case, the use of such resources to prepare elements programmers need to know: how to declare variables and constants data type (b) how to write literal (literal value) data types: (c) may be the type of data members what to do and compare: (d) how to convert values ​​where appropriate data types to other data types.
 
(4) defined exception. Abnormal definition describes an exception may be caused by a resource on the interface. Since one exception may be caused by multiple resources the same, so the exceptions are listed for each resource, but - a collection of separate dictionary to define it is usually more convenient. This is part of the dictionary. You can also define a common exception-handling behavior in the dictionary. 
 (5) This interface provides variability. This interface allows you to configure whether the elements in some way? These must be "Configuration parameters" and how they affect the semantics of a document compiled interface. Examples include variability of capacity and performance characteristics based algorithm visible data structure. Name and provide a range of values, and specify the actual time value is determined for each configuration parameter.
 
Mass property features (6) interface. The user interface enables the designer needs to know the mass of Li element characteristics (such as performance or reliability) compiled document. This information may be limitations on the elements of the implementation of the interface implementation. You choose what to focus on quality attributes and commitment to quality attributes which depends on the context.
 
(7) elements demand. Elements may require specific, provided by other elements of the named resource. For the resources provided for the contents of the document is the same: the syntax, semantics and usage restrictions, the sort of information filing system is a set of assumptions about people based sauce is usually made very convenient. With this form, before progress can design a lot, by the newspaper must be able to approve these assumptions or expert to review them.
 
(8) the basic principles and design issues. For the basic principle of the whole framework (or architectural view), the designer should design the interface element reasons juice record. The basic principle should be interpreted motive design, constraints and trade-offs, which considered and rejected the design (and why), and a number of visionary designers on how to change the interface in the future.
 
(9) Guide. Item 2 Item 7 and semantic information element is a filing on the basis of each resource. Sometimes this lack of information needed. In some cases, it is necessary to infer the semantic depending on how large a single cross correlation. Basically, this involves - of protocol encoding and crotch by considering an interactive sequence. Agreement may represent a complete interactive behavior, or who are expected to use the elements of design mode recurring. If the element through its interface with the interaction is complex, then, in the interface document comprises - a static model of behavior, such as Ge or execution state in the form of examples of specific interaction sequence of FIG. This behavior is similar to the view class provided on a portion, but the focus is a single element.
 
Club 9.2 summarizes the template. It is part of the extension section 2.C Figure 9.1.
 

Guess you like

Origin www.cnblogs.com/mongotea/p/11985989.html