150 likes | 270 Views
Seventh Hour Lecture 6:30 – 7:20 pm, Thursday, September 13, 2001. Model-based Software Architectures (from Chapter 7 of Royce’ book). Review - Overview of the Artifact Sets. Review - Life-cycle Evolution of the Sets. Review - Artifact Sequences. Topics for Today. Software Architectures
E N D
Seventh Hour Lecture6:30 – 7:20 pm, Thursday, September 13, 2001 Model-based Software Architectures (from Chapter 7 of Royce’ book)
Topics for Today • Software Architectures • Management perspective. • Technical perspective. • Software Architecture Descriptions • Five views. • Software Architecture Baselines
Software Architecture • “An architecture is the software system design”. • But, unlike the architecture of a building, there are… • No irrefutable first principles for developing the architecture. • No stable laws of physics to rely on. • There are only heuristic and fuzzy guidelines. • However, like a building, your project will rise or fall on the quality of the architecture. • So….emphasize and promote architecture evolution through prototyping and demonstrations.
Architecture: A Management Perspective (Royce) • Architecture • Intangible design concept, system design as opposed to component design. • Architecture Baseline • Tangible artifacts across all engineering artifact sets that capture vision and basic design. • Architecture Description • Basic information extracted from the design models. • Communicates how the intangible concept is realized in the tangible artifacts.
Architecture: A Management Perspective (cont’d) • A stable architecture represents a major milestone – the transition from engineering to production. • A mature and demonstrable architecture forms the basis for predictable planning for project completion.
Architecture: A Technical Perspective • Software architecture encompasses: • The elements and components of a system. • Their collection into subsystems. • Their functions. • Their behavior. • Their interactions. • The overall control of the system.
Engineering Models • Requirements Model • Addresses behavior of the system as seen by end users, analysts, and tester. • Design Model • Addresses architecture of the system and design of the components within the architecture • Includes functional structure, concurrency structure, implementation structure, and execution structure. • Design model shows the system as seen by the developers.
Five Views of the System • Use Case view • Shows how the system’s critical use cases are realized by elements of the design model. • Design view • Addresses basic structure and functionality. • Process view • Shows run-time interactions among elements, control, inter-process communication, and state management. • Component view • Describes the elements of the software system. • Uses the perspective of the integrators and release management personnel. • Deployment view • Addresses the executable realization of the system. • Shows the physical resources and physical topology.
Conventional process Architectural baseline is same as architecture description. Realized as document, without rigorous design notation.no representation in other engineering design sets to validate the integrity of the description. Modern process Architecture evolves in iterative fashion. Baseline contains executable prototypes to demonstrate evolving capabilities. Stable, demonstrable architecture is transition point to production stage. Architectural Baseline
Requirements Critical use cases, system-level quality objectives, priority relationships among features and qualities. Design Names, attributes, structures, behaviors, groupings, and relationships of classes and components. Implementation Source component inventory and bill of materials of all primary components. Deployment Executable components sufficient to demonstrate the critical use cases and the risks in the project. Architectural Baseline Contents
Assignment for Next Class Meeting • Read Chapters 7 of Royce’ book, on model-based architectures. • Study the differences between an architecture, an architectural baseline, and an architecture description. • Learn the five views of an architecture description document. • Learn the contents of each of the four sets which comprise an architectural baseline. • Read Chapter 14 of Brooks’ book, “Hatching a Catastrophe”. • If assigned to you, prepare the “Brooks’ Chapter 14” 20 minute report (for presentation to the class.)