1 / 10

Software Architecture (Informal Definition)

Software Architecture (Informal Definition). The organization of a system into component subsystems or modules Box and Arrow diagrams Iteratively refined Driven by non-functional requirements Often makes use of stereotypical architectural styles. Architecture (USP Definition).

asuniga
Télécharger la présentation

Software Architecture (Informal Definition)

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(Informal Definition) • The organization of a system into component subsystems or modules • Box and Arrow diagrams • Iteratively refined • Driven by non-functional requirements • Often makes use of stereotypical architectural styles ã 2007, Spencer Rugaber

  2. Architecture (USP Definition) The set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization: these elements and their interfaces, their collaborations, and their composition. Software architecture is concerned not only with structure and behavior but with usage, functionality, performance, resilience, reuse, comprehensibility, economics and technology constraints and trade-offs, and aesthetic concerns. ã 2007, Spencer Rugaber

  3. Representing Architectures • Component: computational or data element plus interface (ports) to the rest of the system • Requires: what the component needs from the rest of the system • Provides: what the component supplies to the rest of the system • Connector: communication protocols among components • Configuration: components hooked up with connectors ã 2007, Spencer Rugaber

  4. Architectural Styles • High-level, generic abstractions summarizing a related set of design decisions • Example: client-server • What are the decisions? • Benefits • Encoded experience • Standards: validation; selection criteria • Reuse • Support of process ã 2007, Spencer Rugaber

  5. Catalog Of Architectural Styles • Master control: hierarchical call and return • Pipe and filter: one-way, sequential, stdin-stdout, ASCII streams • Batch sequential: validate, edit, update cycle • Implicit invocation: callbacks, registration-broadcast • Table-driven interpreter: parse and dispatch ã 2007, Spencer Rugaber

  6. More Styles • Client-server: transaction processing, multi-tiers • Process control: with feedback loop • Blackboard: repository, opportunistic control, cooperating agents • Shared memory: with locks for synchronization • Production systems: rule base, conditional firing ã 2007, Spencer Rugaber

  7. And More • Coroutines: inverted implementation • Abstract data type: ADT, hide representation • Layered architecture: abstract machines, limited visibility • State-transition systems: reactive, real-time • Object-oriented: asynchronous message passing, independent threads of control • Peer-to-peer: equal partners sharing responsibility ã 2007, Spencer Rugaber

  8. Style Issues • Some systems have more than one style • Heterogeneous • Domain-specific software architecture (DSSA) • Sometimes called reference architecture • Semantics • Architecture Description Languages (ADLS) • Acme, Wright, Rapide, ArTek, Demeter, CODE, Modechart, PSDL/CAPS, Resolve, UniCon ã 2007, Spencer Rugaber

  9. Architectural Evaluation • Systematic assessment of architecture properties • Software Architecture Assessment Method (SAAM), Architecture Tradeoff Analysis Method (ATAM) • Uses • Impact assessment • Architecture review board ã 2007, Spencer Rugaber

  10. SAAM Generate Architecture Generate Scenarios Analyze Individual Scenarios Summarize results ã 2007, Spencer Rugaber

More Related