COMP 6471 Software Design Methodologies
Fall 2011 Dr Greg Butler
http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html
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,
http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html
IEEE 1471-2000
Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams
Component Diagrams Component Diagrams
Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams
A model is a complete description of a system from a particular perspective
Models
Logical View
End-user Functionality
Implementation View
Programmers Software management
Process View
Performance Scalability Throughput System integrators
Deployment View
System topology Delivery, installation Communication System engineering
Conceptual Physical
Use Case View
Log4J Technical Services Domain UI Pricing Persistence DBFacade Taxes «interface» ITaxCalculatorAdapter Services Factory Sales Register Sale Swing ProcessSale Frame Payments CreditPayment «interface» ICreditAuthorization ServiceAdapter ServiceAccess Inventory «interface» IInventoryAdapter Jess POSRuleEngine POSRuleEngineFacade SOAP
Tax Calculator NextGen POS Sale Calc Taxes Request Payment Authorization Enter Items «datastore» Products Payment Authorization Request Authorize Payment Update ERP Reply «datastore» Inventory «datastore» Accounting Data Flow Scenario for Process Sale Use Case
: Domain:: Sales:: Register :Cashier : UI:: Swing:: Process SaleJFrame enterItem (id, qty) 1 : Tech- Services:: Persistence:: Persistence- Facade desc = getProduct Desc(id) x = isInvalid (lineItem, sale) desc = getObject(...,id) 1 : Domain:: POSRule- Engine:: POSRule- Engine Facade enterItem (id, qty) s : Domain:: Sales:: Sale : Domain:: Products:: Product Catalog makeLineItem(desc, qty) «subsystem» : Tech- Services ::Jess someJessCalls(lineItem, sale)
«terminal» : POSTerminal { JVM = Sun Hotspot Client 2.0 } custom protocols
«artifact» NextGenClient.jar «server» : Dell PowerEdge 3600 { OS=Red Hat Enterprise Linux 4 } «database» : PostgreSQL 10 «artifact» Product Tables «server» : Dell PowerEdge 3600 { OS=Red Hat Enterprise Linux 4 } «artifact» GoodAsGoldTaxCalculator.exe «server» : GenericServer «ERP» : SAP «server» : GenericServer «system» CreditPayment Authorizer SOAP over HTTP V I S A p r
e r T C P SQL over TCP inventory and accounting
IEEE 1471-2000
Architecture Qualities Process Architecture Representation
System Features Architecture S/W Requirements System Quality Attributes Satisfies Constrain Organization Architect Skills Stakeholders Defines role Produces Follows Defines Technology
Wojtek Kozaczynski
Software Architecture Software Architecture Description Architectural view is made of is represented by Architecture Design Process produces Form Component Connection Architectural Pattern is a is made of Software Architects are actors in Logical view Process view Implemen- tation view Deployment view Requirements satisfies Architectural style has has has is a System architecture is part
Architecture Style guide Constraints constrains constrains Use case view relates to Architectural Blueprint depicts
T echnology churn Our enemy is complexity, and it’s our goal to kill it.
Jan Baan
Performance Throughput Capacity Availability Fail safe Fault tolerance Functionality Cost Compatibility 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