1 / 14

Software Architecture in Practice Chapter 19: Open Issues and Course Summary

This lecture discusses open issues in software architecture, including life-cycle cost models, integrating legacy systems, achieving quality attributes, prescriptive design techniques, architecture description languages, and product line practices.

oliviabaird
Download Presentation

Software Architecture in Practice Chapter 19: Open Issues and Course Summary

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Architecture in PracticeChapter 19: Open Issues and Course Summary

  2. Lecture Objectives • This lecture will • enable students to identify open issues in software architecture • summarize the course

  3. Topics • Open issues • life-cycle cost models • integrating legacy systems • achieving quality attributes • prescriptive design techniques • architecture description languages • product line practices • Course summary

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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 non-technical problems • organization structure • business case

  10. Topics • Open issues • life-cycle cost models • integrating legacy systems • achieving quality attributes • prescriptive design techniques • architecture description languages • product line practices • Course summary

  11. 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

  12. 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.

  13. Course Summary -3 • Architecture is the key to achieving quality attributes. • A-7E: modifiability • air traffic control: availability • USAF flight simulators: scalability • CelsiusTech: reusability • METOC: short time to deployment • The Architecture Business Cycle shows how architectures and their environments affect each other.

  14. 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 separatearchitect. • - Fred Brooks, 1995

More Related