Carnegie Mellon University Software Engineering Institute Software Architecture
- Slides: 14
Carnegie Mellon University Software Engineering Institute Software Architecture in Practice Chapter 19: Open Issues and Course Summary Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 -3890 Sponsored by the U. S. Department of Defense © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 1
Carnegie Mellon University Software Engineering Institute Lecture Objectives This lecture will • enable students to identify open issues in software architecture • summarize the course © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 2
Carnegie Mellon University Software Engineering Institute Topics Open issues • life-cycle cost models • integrating legacy systems • achieving quality attributes • prescriptive design techniques • architecture description languages • product line practices Course summary © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 3
Carnegie Mellon University Software Engineering Institute Life-Cycle Cost Models Architecture is an up-front development effort. More work up front to design and evaluate pays off in • reduced implementation effort • reuse opportunities • lower modification costs Cost models need to be modified to reflect different life-cycle costs. • higher up-front costs • lower back-end costs © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 4
Carnegie Mellon University Software Engineering Institute Integrating Legacy Systems Need to repackage legacy systems for use in subsequent software development Need to extract architectural elements from available sources • visualization problem: need tool to visualize simple patterns within a system architecture • awareness of different architectural structures © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 5
Carnegie Mellon University Software Engineering Institute Achieving Quality Attributes Performance: analytic model exists which allows repeatable prediction techniques Modifiability: no analytic model exists, which forces reliance on case-specific scenarios Need a principled method for tradeoffs among quality attributes, including cost and schedule © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 6
Carnegie Mellon University Software Engineering Institute Prescriptive Design Techniques Need a method to produce from desired qualities a method that achieves them Attribute tradeoff • understand interaction of different attributes • example: “jitter” (variance of arrival times) can affect performance, security, and reliability © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 7
Carnegie Mellon University Software Engineering Institute Architecture Description Languages The jury is still out on architecture description languages. Architecture description languages give designers a choice of • structures to represent • notation to use • analyses and verifications that are possible Infrastructure for ADLs • must integrate with other development tools • requires community effort © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 8
Carnegie Mellon University Software Engineering Institute Product Line Practices Architectures for a product line emphasize the quality of modifiability. More work is required to • understand characteristics of product line production • devise technical solutions to technical problems - tendency for slow initial development - synchronization of product line architecture and product architectures • recommend organizational solutions for nontechnical problems - organization structure - business case © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 9
Carnegie Mellon University Software Engineering Institute Topics Open issues • life-cycle cost models • integrating legacy systems • achieving quality attributes • prescriptive design techniques • architecture description languages • product line practices Course summary © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 10
Carnegie Mellon University Software Engineering Institute Course Summary -1 Architecture is a crucial design asset. • vehicle for stakeholder communication • key to achieving system qualities • basis for development project structure Architecture is an important corporate asset. • can be reused from project to project • forms a basis for product lines • is a foundation for new market entry Architecture is an important community asset. • standard models emerge for mature domains • is a basis for component markets © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 11
Carnegie Mellon University Software Engineering Institute Course Summary -2 Architecture-based development differs from conventional development. • Central authority is a must. • Architecture representation and communication become important. • Architecture evaluation provides an early opportunity for prediction and correction. • Components map to teams. © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 12
Carnegie Mellon University Software Engineering Institute Course Summary -3 Architecture is the key to achieving quality attributes. • A-7 E: modifiability • air traffic control: availability • USAF flight simulators: scalability • Celsius. Tech: reusability • METOC: short time to deployment The Architecture Business Cycle shows how architectures and their environments affect each other. © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 13
Carnegie Mellon University Software Engineering Institute Last Words If a project has not achieved a system architecture, including its rationale, the project should not proceed to full -scale system development. Specifying the architecture as a deliverable enables its use throughout the development and maintenance process. - Barry Boehm, 1995 I am more convinced than ever. Conceptual integrity is central to product quality. Having a system architect is the most important single step toward conceptual integrity. . . After teaching a software engineering laboratory more than 20 times, I came to insist that student teams as small as four people choose a manager, and a separate architect. - Fred Brooks, 1995 © 1998 by Carnegie Mellon University Version 1. 0 Chapter 19 - page 14
- Carnegie mellon software architecture
- Carnegie mellon software architecture
- Citi training cmu
- Cmu pitt computational biology
- Carnegie mellon interdisciplinary
- Bomb threat carnegie mellon
- Mism carnegie mellon
- Randy pausch time management
- National robotics initiative
- Carnegie mellon
- 18-213 cmu
- Carnegie mellon vpn
- Carnegie mellon
- Carnegie mellon
- Carnegie mellon