architectural style intro early feedback
play

Architectural Style Intro & Early Feedback Mei Nagappan Pitch - PowerPoint PPT Presentation

Material and some slide content from: - Emerson Murphy-Hill, Reid Holmes - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Style Intro & Early Feedback Mei Nagappan Pitch Survey


  1. Material and some slide content from: - Emerson Murphy-Hill, Reid Holmes - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Style Intro & Early Feedback Mei Nagappan

  2. Pitch Survey ‣ Your group name ‣ Most interesting ‣ Most useful MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  3. Early Feedback ‣ What can be improved/done di ff erently? ‣ What do you dislike the most? ‣ What do you like? MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  4. Attribute Driven Design ‣ Choose module to decompose ‣ Initially whole system is one module ‣ Refine the module ‣ Choose arch drivers from NFR and FR ‣ Choose arch style that satisfies them ‣ Create modules based on style ‣ Allocate functionality to each module ‣ Define interfaces for modules ‣ Verify and evaluate against NFR and FR ‣ Repeat until you cannot decompose MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  5. [TAILOR ET AL.] Architectural styles ‣ Some design choices are better than others ‣ Experience can guide us towards beneficial sets of choices (patterns) that have positive properties ‣ An architectural style is a named collection of architectural design decisions that: ‣ Are applicable to a given context ‣ Constrain design decisions ‣ Elicit beneficial qualities in resulting systems MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  6. [TAILOR ET AL.] Architectural styles A set of architectural design decisions that are ‣ applicable to a recurring design problem, and parameterized to account for di ff erent software development contexts in which that problem appears. e.g., Three-tier architectural pattern: ‣ MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  7. [CZARNECKI] Architectural styles ‣ Defines a family of architectures that are constrained by: ‣ Component/connector vocabulary ‣ Topology ‣ Semantic constraints ‣ When describing styles diagrammatically: ‣ Nodes == components (e.g., procedures, modules, processes, databases, …) ‣ Edges == connectors (e.g., procedure calls, events, db queries, pipes, …) MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  8. [CZARNECKI] Good properties of an architecture ‣ Result in a consistent set of principled techniques ‣ Resilient in the face of (inevitable) changes ‣ Source of guidance through product lifetime ‣ Reuse of established engineering knowledge MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  9. [CZARNECKI] “Pure” architectural styles ‣ Pure architectural styles are rarely used in practice ‣ Systems in practice: ‣ Regularly deviate from pure styles. ‣ Typically feature many architectural styles. ‣ Architects must understand the “pure” styles to understand the strength and weaknesses of the style as well as the consequences of deviating from the style. MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  10. [TOPOLOGY FROM TAILOR ET AL.] Architectural Styles Language Layered Dataflow Peer-to-Peer Based Object- Client Pipe-and-Filter oriented Server Main program & Virtual Batch- Subroutines Machine sequential Shared Implicit Interpreter Memory Invocation Publish- Rule-based Interpreter subscribe Mobile Blackboard Event-based code MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  11. Arch Activity MEI NAGAPPAN - SE2: SOFTWARE DESIGN & ARCHITECTURE

  12. Presentation ‣ 20 minute maximum ‣ Two primary components: ‣ Static description of the style / pattern ‣ Dynamic description of how the style / pattern is useful over time ‣ Comprehensive example / tutorial that demonstrates the style / pattern ‣ No slides; be creative. Make it memorable. MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  13. Arch Style ‣ Have its own vocabulary for its components and connectors? (define) ‣ Impose specific topological constraints? (diagram) ‣ Most applicable to specific kinds of problems? ‣ Engender specific kinds of change resilience? ‣ Have any specific negative behaviours? ‣ Support/inhibit specific NFPs? MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  14. [TAILOR ET AL.] Style: Client-server MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  15. [TAILOR ET AL.] Style: Client-server ‣ Clients communicate with server which performs actions and returns data. Client initiates communication. ‣ Components: ‣ Clients and server. ‣ Connections: ‣ Protocols, RPC. ‣ Data elements: ‣ Parameters and return values sent / received by connectors. ‣ Topology: ‣ Two level. Typically many clients. MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

  16. [TAILOR ET AL.] Style: Client-server ‣ Additional constraints: ‣ Clients cannot communicate with each other. ‣ Qualities: ‣ Centralization of computation. Server can handle many clients. ‣ Typical uses: ‣ Applications where: client is simple; data integrity important; computation expensive. ‣ Cautions: ‣ Bandwidth and lag concerns. MEI NAGAPPAN- SE2: SOFTWARE DESIGN & ARCHITECTURE

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend