for Architectural Description Recommended Practice · The IEEE Computer Society has developed IEEE...
Transcript of for Architectural Description Recommended Practice · The IEEE Computer Society has developed IEEE...
IEEE’s Recommended Practicefor Architectural Description
IEEE Architecture Working Group
http://www.pithecanthropus.com/~awg
30 March 1999
Outline
◆ What is it?◆ History◆ Goals and Objectives◆ Concepts◆ Requirements◆ Current Status
What Is It?
◆ The IEEE Computer Society has developed IEEE P1471Recommended Practice for Architectural Description
◆ IEEE P1471 is a recommended practice– A “recommended practice” is one kind of IEEE
standard– A using organization must decide whether to, and
how to, employ P1471◆ P1471 applies to Architectural Descriptions
– Architectural Descriptions can be compliant(systems, projects, processes or organizations cannot)
◆ Currently in ballot resolution after first IEEE ballot
Motivation:Why Architecture?
◆ Why do some systems “succeed”?◆ Explicitly “architected” systems seem to turn out “faster,
better and cheaper”◆ Architecture is recognized as a critical element in the
successful development and evolution of software-intensive systems
Scope of P1471
◆ Software-intensive systems are those complex systemswhere software contributes essential influences to thedesign, construction, deployment and evolution of thesystem as a whole
◆ There is a growing body of knowledge in the applicationof architectural concepts to these systems to attain thebenefits of reduced costs and increased quality, such asusability, flexibility, reliability, interoperability andother system qualities
History
◆ IEEE Architecture Planning Group:– First met August 1995, in Montreal– Final report to IEEE Software Engineering Standards
Committee, April 1996– 6 Participants, 80 reviewers
◆ IEEE Architecture Working Group: May 1996 to present– Bi-monthly meetings– 29 participants, 137 reviewers
History:IEEE Architecture Planning Group
Chartered by IEEE Software Engineering StandardsCommittee to:
◆ Define direction for incorporating architectural thinkinginto IEEE standards
◆ Develop framework (terms, concepts and principles) forsoftware systems architectures
◆ Examine IEEE standards for architectural relevance◆ Produce an Action Plan for future IEEE activities in this
area
IEEE Architecture Working Group:Goals and Objectives
◆ Take a “wide scope” interpretation of architecture asapplicable to software-intensive systems
◆ Establish a conceptual framework and vocabulary fortalking about architectural issues of systems
◆ Identify and promulgate sound architectural practices◆ Allow for the evolution of those practices as relevant
technologies mature
IEEE Architecture Working Group:Work Activities
◆ Initiated Recommended Practice for ArchitecturalDescription, and companion Guide to the RecommendedPractice to address:– Architectural representation– Role of architecture in life cycle– Identification of key stakeholders– Candidate architectural methods and processes– Techniques for architectural review and analysis
Using P1471
◆ P1471 is intended for use in a variety of life cyclecontexts, e.g.:
◆ Architecture of Single Systems◆ Iterative Architecture for Evolutionary Systems◆ Discovering the Architecture of Existing Systems
◆ life cycle model: A framework containing the processes,activities, and tasks involved in the development,operation, and maintenance of a software product,spanning the life of the system from the definition of itsrequirements to the termination of its use. (IEEE/EIA12207.0)
Organization of P1471
1 Overview2 References3 Definitions4 Conceptual Framework5 Architectural Description PracticesA BibliographyB On The Definition Of ArchitectureC Views And ViewpointsD Examples Of ViewpointsE Relationship To Other Standards
Defining “Architecture”Current IEEE Definition (vintage 1990)
◆ What is an “architecture”?Architecture. The organizational structure of a system orcomponent– IEEE Glossary of Software Engineering
Terminology, 610.12–1990
Defining “Architecture”The P1471 Definition (proposed)
◆ An architecture is the highest-level concept of a systemin its environmentwhere:– highest level = essential, unifying concepts and
principles– system = application, system, platform, system-of-
systems, enterprise, product line, ...– environment = developmental, operational,
programmatic, … context◆ Every System has an Architecture
Role of the Conceptual Framework
◆ To establish terms and concepts for architecturalthinking
◆ To serve as a basis for evolution of the field where littlecommon terminology exists
◆ To provide a means to talk about ArchitecturalDescriptions in the Context of– System Stakeholders– Life Cycle– Uses of Architectural Description
The P1471 Conceptual Framework
fulfills 1..*
Mission
influencesinhabits
Environment has an
has 1..*
System
1..*
has1..*
is important to1..*
has source 0..1
Library Viewpoint
used to cover1..*
is addressed to1..*
conforms to
1 1
described by 1
Architecture
provides Rationale
identifies1..*Concern
selects1..*
identifies1..*
Stakeholder1..*
1..*
1..*
organized by1..*
participates in1..*
View
consists of1..*
establishes methods for1..*
Viewpoint
0..1
1..*
1..*
1 1
participates in
Architectural Description
1
1..*1..*
1..*
1..*
aggregates
1..*Model
1..*
1..*
1..* 1..*
The P1471 Conceptual Framework:Architectural Description
◆ Architectural Description (AD): a collection of productsto document an architecture
◆ An AD is addressed to one or more Stakeholders toanswer their Concerns about the System
◆ An AD is organized into one or more Views of theSystem
◆ Each View addresses one or more Concerns of theStakeholders; a View is a way of looking at anarchitecture
The P1471 Conceptual Framework:Stakeholder, Concern
◆ Stakeholder: an individual, team, or organization (orclasses thereof) with interests in, or concerns relative to,a system
◆ Concerns: those stakeholders’ interests which pertain tothe development, operation, or other key characteristicsof the system (e.g., performance, reliability, security,evolvability, distribution, …)
The P1471 Conceptual Framework:Some Typical System Stakeholders
◆ Client◆ Acquirer◆ Owner◆ User◆ Operator◆ Architect◆ System Engineer
◆ Developer◆ Designer◆ Builder◆ Maintainer◆ Service Provider◆ Vendor◆ Subcontractor◆ Planner
The P1471 Conceptual Framework:Views
◆ View: a representation of a whole system from theperspective of a related set of concerns– The architectural views are the actual description of
the system◆ Support multiple audiences each with their own
concerns◆ Reduce perceived complexity through separation of
concerns
◆ views : architectural description :: chapters : book◆ Views are not “orthogonal,” but each view generally
contains new information
The P1471 Conceptual Framework:Viewpoints
◆ A View conforms to a Viewpoint◆ Viewpoint: a pattern or template from which to construct
individual views◆ A viewpoint establishes the purposes and audience for a
view and the techniques or methods employed inconstructing a view
◆ Some common viewpoints:– Behavioral: What the system does– Physical or Structural: How the system is organized– Management: Plans for construction– Data or Logical: Relationships among retained data
Reusable Viewpoints◆ Viewpoints are not system specific, unlike the
stakeholders and views◆ Hence, an active architect may be able to reuse
viewpoint descriptions◆ Equivalently, the viewpoints can be included by
reference
P1471 Requirements
◆ P1471 is written in terms of “shall”, “should” and “may”– To facilitate conformance checking
◆ An Architectural Description (AD) must contain at leastthe following:– Identification of stakeholders and concerns– Selection/declaration of viewpoints– Architectural views (representation of the system
architecture in)– Known inconsistencies– Rationale
P1471 Requirements:What isn’t Required
◆ No particular architecture description languages◆ No required views or models◆ No required formal consistency or completeness criteria
IEEE Architecture Working Group:Current Status and Plans
◆ First ballot was December 1998◆ Good ballot response, currently in ballot resolution.◆ Next major effort Guide to the Recommended Practice◆ Interested reviewers/participants contact:
– Basil Sherlund (chair) [email protected], or– [email protected]
◆ AWG web page: http://www.pithecanthropus.com/~awg