1 / 16

Architectural Design

Architectural Design. Architectural design. Process of establishing sub-systems and frameworks in which these sub-systems will interact (control and communications Advantages: Stakeholders communication: focus for discussion by different stakeholders

waggoner
Download Presentation

Architectural Design

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

  2. Architectural design • Process of establishing sub-systems and frameworks in which these sub-systems will interact (control and communications • Advantages: • Stakeholders communication: focus for discussion by different stakeholders • System Analysis: early application of the analysis stage • Large-scale reuse

  3. Architecture selection • Performance: small number of subsystems with little communication • Security: many layers of protection • Safety: small number of subsystems (easy to validate) • Availability: redundant subsystems and components • Maintainability: fine-grain self-contained components

  4. Architectural models • Static structural: shows sub-systems or components • Dynamic process: system’s organization as runtime processes • Interface: services offered by each sub-system • Relationship: data flow between sub-systems • Distribution: physical distribution of sub-systems (computers)

  5. System organization • Repository model • Client-server model • Layered model

  6. Repository model • All data is shared in a central database • Advantages and disadvantages: • Data is shared efficiently • sub-systems must agree in a unique data model • Data is cohesive/coherent to all subsystems • Evolution is harder • Backup, security, access control and recovery from error are centralized • All policies (for the above mentioned activities) must be uniform • Easy to add new procedures • Hard to make a distributed system

  7. Client-server model • A set of servers • A set of clients (subsystems) • Underlying network system • Advantages: • Distributed architecture => effective use of resources • Easy to add new services and servers • Disadvantages: • Hard to make changes to clients • Different data formats (hard to have shared data)

  8. Layered model • Abstract machine model • Advantages: • Supports incremental development • Changeable and portable • Disadvantages: • Difficult to structure • Low performance

  9. Modular decomposition styles • Sub-system: system whose operation does not depend on other subsystems. Contains modules and interfaces • Module: system component that provides services to one or more modules

  10. Decomposing a sub-system into modules • Object-oriented decomposition: modules as objects • Function-oriented pipelining: modules as functional transformations

  11. Object-oriented decomposition • Describes object classes, attributes and methods • Loosely coupled objects with well defined interfaces • Advantages: • Easy to understand, maintain, reuse • Can be implemented straightforwardly from architectural components • Disadvantages: • Changes affect interfaces and other objects

  12. Function-oriented pipelining • Based on functional transformations that process I/O operations (data flow diagrams) • Also know as pipe (conduits) and filter (transformation) operations • Advantages: • Supports reuse of transformations • Diagrams are intuitive • Evolution is straightforward • Simple to implement • Disadvantages: • Impose a common format for all transformations • Hard to implement for interactive systems

  13. Control Styles • Model how the control flows between sub-systems • Centralized control • Event-based control

  14. Centralized control • One sub-system manages the execution of all other sub-systems • Two classes: • Call-return model: sequential • Manager model: parallel. One process manages execution. Processes can run in parallel

  15. Event-driven systems • Control decisions depend on externally generated events • Event-driven control models: • Broadcast: each events is broadcasted to all sub-systems • Interrupt-driven: events are handled by their corresponding sub-system (mostly on real-time systems)

  16. Additional Reading • 11.5 Reference architectures

More Related