comp 6471 software design methodologies
play

COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler - PowerPoint PPT Presentation

COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Software Architecture Document Logical View Conceptual organization of software Layers, subsystems,


  1. COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html

  2. Software Architecture Document

  3. Logical View ● Conceptual organization of software ● Layers, subsystems, packages, frameworks, classes, interfaces ● Summarize functionality of major software elements, eg each subsystem ● Show use-case realization scenarios as interaction diagrams for key aspects of system ● UML package, class, interaction diagrams

  4. Process View ● Shows processes and threads ● Responsibilities, collaborations ● Allocation of logical elements (layers, subsystems, classes, ...) to them ● ● UML class and interaction diagrams ● Use UML process and thread notation

  5. Deployment View ● Show physical deployment of processes and components to processing nodes ● Show physical network configuration of nodes ● UML deployment diagram

  6. Implementation View ● Summary description of noteworthy organization of ● Deliverables, eg source code, executables ● Things that create deliverables, eg scripts, graphics ● Use text and UML package and component diagrams

  7. Data View ● Overview of ● data flows ● persistent data schema ● schema mapping from objects to persistent data ● mechanism mapping objects to DB ● stored procedures and triggers ● UML class diagram for data models ● UML activity diagrams for data flows

  8. How many views?  Simplified models to fit the context  Not all systems require all views: - Single processor: drop deployment view - Single process: drop process view - Very Small program: drop implementation view  Adding views: - Data view, security view

  9. Many stakeholders, many views  Architecture is many things to many different interested parties - end-user - customer - project manager - system engineer - developer - architect - maintainer - other developers  Multidimensional reality  Multiple stakeholders multiple views, multiple blueprints

  10. Models  Models are the language of designer, in many disciplines  Models are representations of the system to- be-built or as-built  Models are vehicle for communications with various stakeholders  Visual models, blueprints  Scale  Models allow reasoning about some characteristic of the real system

  11. Software Architecture Documentation Conceptual Model IEEE 1471-2000

  12. Architectural view  An architectural view is a simplified description (an abstraction) of a system from a particular perspective or vantage point, covering particular concerns, and omitting entities that are not relevant to this perspective

  13. Models, Views, and Diagrams A model is a complete description of a system from a particular State perspective State Diagrams Class Diagrams Use Case Diagrams Use Case State Diagrams Use Case State Use Case Diagrams Diagrams Object Use Case Diagrams Diagrams Diagrams Sequence Diagrams Diagrams Diagrams Scenario State Scenario State Diagrams Diagrams Collaboration Component Diagrams Models Diagrams Diagrams Diagrams Scenario Component Scenario Component Diagrams Diagrams Deployment Statechart Diagrams Diagrams Diagrams Diagrams Activity Diagrams

  14. Representing System Architecture Kruchten’s 4+1 View Model Logical View Implementation View End-user Programmers Software management Functionality Use Case View Process View Deployment View System integrators System engineering Performance System topology Scalability Delivery, installation Throughput Communication Conceptual Physical

  15. Logical View: Package Diagram UI Swing ProcessSale Frame Domain Sales Pricing Register Sale ServiceAccess Payments «interface» Services CreditPayment ICreditAuthorization Factory ServiceAdapter POSRuleEngine Taxes Inventory «interface» «interface» POSRuleEngineFacade ITaxCalculatorAdapter IInventoryAdapter Technical Services Persistence Log4J Jess SOAP DBFacade

  16. Activity Diagram: Process Model Data Flow Scenario for Payment NextGen POS Tax Calculator Process Sale Use Case Authorization «datastore» Enter Items Products Sale Calc Taxes Request Payment Authorization Authorize Request Payment «datastore» Reply Inventory Update ERP «datastore» Accounting

  17. Interaction Diagram: Process Model 1 1 : Domain:: : Tech- POSRule- «subsystem» Services:: : UI:: : Domain:: s : Engine:: : Domain:: : Tech- Persistence:: Swing:: Products:: Domain:: POSRule- Sales:: Services Persistence- Process Product Sales:: Engine Register ::Jess Facade SaleJFrame Catalog Sale Facade :Cashier enterItem (id, qty) enterItem (id, qty) desc = getProduct Desc(id) desc = getObject(...,id) makeLineItem(desc, qty) x = isInvalid (lineItem, sale) onPropertyEvent(s, "sale.total", total) someJessCalls(lineItem, sale)

  18. Component Diagram  Captures the physical structure of the implementation

  19. Component Diagram  Captures the physical structure of the implementation  Built as part of architectural specification  Purpose - Organize source code - Construct an executable release - Specify a physical database  Developed by architects and programmers

  20. Deployment Diagram  Captures the topology of a system’s hardware  Built as part of architectural specification  Purpose - Specify the distribution of components - Identify performance bottlenecks  Developed by architects, networking engineers, and system engineers

  21. Deployment Diagram «server» «server» : Dell PowerEdge 3600 : GenericServer { OS=Red Hat Enterprise Linux 4 } «system» CreditPayment «database» Authorizer : PostgreSQL 10 «artifact» l o Product Tables c o t o r p P A C S T I V r e v o SQL over TCP «terminal» «server» : POSTerminal : Dell PowerEdge 3600 custom protocols { JVM = Sun Hotspot Client 2.0 } { OS=Red Hat Enterprise Linux 4 } on top of TCP «artifact» «artifact» NextGenClient.jar GoodAsGoldTaxCalculator.exe SOAP over HTTP «server» : GenericServer inventory «ERP» and : SAP accounting

  22. Software Architecture Document

  23. Documentation Conceptual Model IEEE 1471-2000

  24. Wojtek Kozaczynski The domain of architecting The “why” The “what” System Architecture Satisfies Features Qualities S/W Architecture Requirements Constrain Architecture Representation System Quality Attributes Technology Produces Defines The “how” The “who” Follows Architect Process Skills Defines role Organization Stakeholders

  25. Architecture metamodel Software Software Architecture Architects is part of are actors in System is represented by architecture Architecture Design Process produces Software Architecture Logical view Description has Process is made of view relates to Implemen- is a Architecture tation view Style guide Architectural Deployment view view has Use case is made of view Architectural style has constrains is a Form Connection depicts Architectural Pattern Component Constraints satisfies Architectural constrains Blueprint Requirements

  26. Forces in Software Functionality Cost Compatibility Capacity Fail safe Availability Fault tolerance Performance Throughput T echnology churn Resilience The challenge over the next 20 years will not be speed or cost or performance; it will be a question of complexity. Bill Raduchel, Chief Strategy Officer, Sun Microsystems Our enemy is complexity, and it’s our goal to kill it. Jan Baan

Recommend


More recommend