Definition and Documentation of Software Architectures
نویسندگان
چکیده
This paper discusses the work of the software architect by describing a software architect’s concerns and the documents that a software architect should produce. It proposes a definition of software architecture and discusses archtectural design criteria based on the idea that every architecture is expected to meet a specified set of goals. We start with a discussion of the meaning of “architecture”, then discuss the goals of an architect, proceed to what’s needed to achieve those goals, describe ways of documenting architectural design decisions, and finally discuss how to determine how well the design goals have been met for any given architecture. 1 An Analogy: Traditional Architecture When buildings are designed, constructed, or renovated, key designers, designated as “architects”, have a broad range of responsibilities. An architect prepares initial sketches of the building, showing both external appearance and internal layout, and discusses these sketches with clients until all concerned have agreed that what is shown is what they want. The sketches are abstractions; they omit many details of the building. After the clients and architects agree on these abstractions, the architects prepare, or supervise the preparation of, much more detailed drawings as well as associated textual specifications. These drawings and specifications describe many “nitty gritty” details of a building, such as plumbing, siding materials, window glazing, electrical wiring, etc. On rare occasions an architect simply hands the detailed plans to a builder who completes the project in accordance with the plans. For more important projects, the architect remains involved, regularly inspects the work, and may propose changes or accept suggestions for change from builder and customer. When the architect supervises the project, it is not considered complete until the architect certifies that it is in substantial compliance with the plans and specifications. We employ architect(s) to assure that the design (1) meets the needs of the client, (2) has conceptual integrity, i.e. that the same design rules are used throughout, and (3) meets legal and safety requirements. An important part of the architect’s role is to insure that the design concepts are consistently realised during the implementation. Sometimes, the architect also acts as a mediator between builder and client. It is important to note that a building architect is concerned with far more than the facade of the building and that the architect’s decisions constrain the builders. However, it is even more important to note that the architect does not make all of the design decisions. The architect specifies certain essential properties of the design, but project supervisors, carpenters and others often have to make further decisions while completing the construction. There is often some disagreement about which decisions are in the realm of the architect and which are left to others, but it is always clear that the architect makes the major decisions, including all that can affect the usability, safety, and maintainability of the structure.
منابع مشابه
On Social Network Web Sites: Definition, Features, Architectures and Analysis Tools
Development and usage of online social networking web sites are growing rapidly. Millions members of these web sites publicly articulate mutual "friendship" relations and share user-created contents, such as photos, videos, files, and blogs. The advances in web designing technology and fast growing usage of online resources prompted web designers to improve features and architectures of social ...
متن کاملOn Social Network Web Sites: Definition, Features, Architectures and Analysis Tools
Development and usage of online social networking web sites are growing rapidly. Millions members of these web sites publicly articulate mutual "friendship" relations and share user-created contents, such as photos, videos, files, and blogs. The advances in web designing technology and fast growing usage of online resources prompted web designers to improve features and architectures of social ...
متن کاملAnalysing the Contribution of Coupling Metrics for the Development and Management of Process Architectures
Currently, the development and modeling of enterprise architectures is an intensively discussed topic in both science and practice. Process architectures represent a core element in recent enterprise architecture frameworks. With process models being a central means for communicating and documenting the process architectures, both their quality and understandability are decisive. However, the c...
متن کاملAn Approach for Capturing and Documenting Architectural Decisions of Reference Architectures
During the design of software architectures of software systems, it is widely known the relevance of capturing and documenting architectural decisions, i.e., reasons, implications, justification, and trade-offs related to choices made in these architectures. Therefore, it is possible to achieve a more complete documentation of software architectures that also contributes to the success of the s...
متن کاملمقایسه ی کیفیت مستندات پروندههای پزشکی بیماران بستری در بیمارستانهای عمومی دانشگاه علوم پزشکی ایران و تامین اجتماعی شهر تهران : 1386
Introduction: Quality of patients care is directly linked with medical documentation quality, because in all medical professions related to patient care, quality of decisions depends on information quality. Thus, in this study two main populations that offer medical care in country, Ministry of Health (MoH) and Social security Organization, were selected to measure access rate, and level of med...
متن کاملUnderstanding Software Architectures: Tracing architectural knowledge in software architecture documentation
Introduction " The reality is more excellent than the report. " – Ralph Waldo Emerson This thesis is about understanding software architecture documentation and how the integration of software architecture description and rationale can improve this understanding. Understanding software architecture (documentation) is important in the complete life cycle of a software architecture; during develo...
متن کامل