Preview

Architectural Bleuprints - the 4+1 View Model of Software Architecture

Powerful Essays
Open Document
Open Document
6006 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
Architectural Bleuprints - the 4+1 View Model of Software Architecture
Paper published in IEEE Software 12 (6) November 1995, pp. 42-50

Architectural Blueprints—The “4+1” View Model of Software Architecture
Philippe Kruchten Rational Software Corp.

Abstract This article presents a model for describing the architecture of software-intensive systems, based on the use of multiple, concurrent views. This use of multiple views allows to address separately the concerns of the various ‘stakeholders’ of the architecture: end-user, developers, systems engineers, project managers, etc., and to handle separately the functional and non functional requirements. Each of the five views is described, together with a notation to capture it. The views are designed using an architecture-centered, scenariodriven, iterative development process. Keywords: software architecture, view, object-oriented design, software development process

Introduction
We all have seen many books and articles where one diagram attempts to capture the gist of the architecture of a system. But looking carefully at the set of boxes and arrows shown on these diagrams, it becomes clear that their authors have struggled hard to represent more on one blueprint than it can actually express. Are the boxes representing running programs? Or chunks of source code? Or physical computers? Or merely logical groupings of functionality? Are the arrows representing compilation dependencies? Or control flows? Or data flows? Usually it is a bit of everything. Does an architecture need a single architectural style? Sometimes the architecture of the software suffers scars from a system design that went too far into prematurely partitioning the software, or from an over-emphasis on one aspect of software development: data engineering, or run-time efficiency, or development strategy and team organization. Often also the architecture does not address the concerns of all its “customers” (or “stakeholders” as they are called at USC). This problem has been noted by several authors: Garlan &



References: 1. 2. 3. 4. 5. 6. 7. 8. D. Garlan & M. Shaw, “An Introduction to Software Architecture,” Advances in Software Engineering and Knowledge Engineering, Vol. 1, World Scientific Publishing Co. (1993). D. E. Perry & A. L. Wolf, “Foundations for the Study of Software Architecture,” ACM Software Engineering Notes, 17, 4, October 1992, 40-52. Ph. Kruchten & Ch. Thompson, “An Object-Oriented, Distributed Architecture for Large Scale Ada Systems,” Proceedings of the TRI-Ada ’94 Conference, Baltimore, November 6-11, 1994, ACM, p.262-271. G. Booch: Object-Oriented Analysis and Design with Applications, 2nd. edition, Benjamin-Cummings Pub. Co., Redwood City, California, 1993, 589p. K. P. Birman, and R. Van Renesse, Reliable Distributed Computing with the Isis Toolkit, IEEE Computer Society Press, Los Alamitos CA, 1994. K. Rubin & A. Goldberg, “Object Behavior Analysis,” CACM, 35, 9 (Sept. 1992) 48-62 B. I. Witt, F. T. Baker and E. W. Merritt, Software Architecture and Design—Principles, Models, and Methods, Van Nostrand Reinhold, New-York (1994) 324p. D. Garlan (ed.), Proceedings of the First Internal Workshop on Architectures for Software Systems, CMU-CS-TR-95-151, CMU, Pittsburgh, 1995. 15

You May Also Find These Documents Helpful

  • Better Essays

    Bsa/375 Ind Wk3

    • 1284 Words
    • 6 Pages

    Application architecture is the structure of automatic services that bring and perform such functional needs that have the interfaces through which structure apply the functional needs of the organization. For efficient operating, there should be only one structure of application architecture and development design, but in different organizations, different application architectures are employed. There are mostly three views which are used in application architecture, these are as follow:…

    • 1284 Words
    • 6 Pages
    Better Essays
  • Better Essays

    Sr-Rm-022 Section 2

    • 930 Words
    • 4 Pages

    Now that the system requirements are in place, the scope has been set, and the feasibility has been assessed, the application architecture and process design can begin. “Application architecture is the organizational design…

    • 930 Words
    • 4 Pages
    Better Essays
  • Good Essays

    Rozanski, N., & Woods, E. (2011). Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives. Addison-Wesley, 2011, from www.books.googlr.com…

    • 574 Words
    • 4 Pages
    Good Essays
  • Better Essays

    After describing the information system architecture which includes data, processes, interfaces and network, in addition to the application architecture and process design, we can now move forward to the implementation and operation phase. There are seven major activities that take place in the implementation and operation phase. These phases must be managed effectively in order for the project to be successful. The seven phases consist of:…

    • 1332 Words
    • 6 Pages
    Better Essays
  • Powerful Essays

    ch02 c

    • 2468 Words
    • 11 Pages

    7. The “blueprints” that guide and govern software add-ons, upgrades, hardware, systems, networks, cloud services and other IT are known as IT architectures.…

    • 2468 Words
    • 11 Pages
    Powerful Essays
  • Satisfactory Essays

    Braude, E. J., & Bernstein, M. E. (2011). Software Engineering, Modern Approaches (2nd ed.). :…

    • 516 Words
    • 3 Pages
    Satisfactory Essays
  • Powerful Essays

    Interpersoanl Skills

    • 1598 Words
    • 7 Pages

    The more complex a system is, the more important its architecture is to the interrelationships among the system components.…

    • 1598 Words
    • 7 Pages
    Powerful Essays
  • Good Essays

    Application architecture is the organizational design of an entire software application, including all sub-components and external applications interchanges. There are several design patterns that are used to define an application architecture. These patterns help to communicate how an application will complete the necessary business processes as defined in the system requirements.…

    • 856 Words
    • 4 Pages
    Good Essays
  • Better Essays

    2. Orfali, Robert(1996) The Essential Distributed Objects Survival Guide , 2nd edition John Wiley & Sons…

    • 1167 Words
    • 5 Pages
    Better Essays
  • Good Essays

    In designing and building a payroll program for a large organization with offices spread across the country, which possesses quite a few changelings to overcome and must be done in a particular manner. Thus having the right application architecture is important where the design is concerned. Because the company has one large data center that each office connects to via a wide area network (WAN), hence the appropriate architecture for this solution would have to consist of a WAN diagram to be used in management of this project, along with system documentation, and information technology architecture documents to provide a visual representation of the network. A wide area networks (WANs) usually covers a large, physical area. And many WANs cover entire buildings, cities, states, or regions, thus the primary purpose of the WAN is to link together all the local area networks, of these other offices spread across the country.…

    • 727 Words
    • 3 Pages
    Good Essays
  • Better Essays

    Application Architecture

    • 1006 Words
    • 5 Pages

    “Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”…

    • 1006 Words
    • 5 Pages
    Better Essays
  • Good Essays

    System development is a process in which programmers with organization contribution write codes to solve a problem that face the organization system or automate a procedure. There are three major systems development techniques that been used to solve systems’ problems. The system development techniques are SDLC (Systems Development Life Cycle), JAD (Joint Application Development), and RAD (Rapid Application Development). SDLC provides tools for controlling details within large development projects that solve structured problems. JAD enables the identification, definition, and implementation of information infrastructures. RAD supports the iteration and flexibility necessary for building robust business process support(Osborn, 1995).…

    • 650 Words
    • 3 Pages
    Good Essays
  • Better Essays

    Computer Architecture

    • 1307 Words
    • 6 Pages

    Linda Null; Julia Lobur (2010). The essentials of computer organization and architecture (3rd ed.). Jones & Bartlett Learning. pp. 36,199–203. ISBN 978-1-4496-0006-8.…

    • 1307 Words
    • 6 Pages
    Better Essays
  • Powerful Essays

    Many software projects are faced with a common situation: They fail in developing the required…

    • 4341 Words
    • 19 Pages
    Powerful Essays
  • Better Essays

    Unified Modeling Language

    • 1022 Words
    • 5 Pages

    The Unified Modeling language (UML) was released by the Object Management Group (OMG) in the effort to provide a standardized design language to build and develop computer applications. The purpose of the design language is to allow IT professionals to distribute system structure and design plans in a comprehensible graphical manner, similar to blueprints of a building. Modeling is an important part of software projects, large and small. With modeling, the software development team are better able to work with the end-user in providing a visual program design. Surveys reveal that the development of large software applications have many impediments and have a large probability of failure. Modeling provides a greater opportunity for success in the development of software applications. (Introduction to OMG's Unified Modeling Language)…

    • 1022 Words
    • 5 Pages
    Better Essays