Plagarism Groups •5555167 •3897575 •4792017 •5813506 •5871468 •5637872 •5737052 •4808312 •6198856 Architecture High risk first • Lack of understanding • Third party components • Things of unknown duration (related to lack of understanding/experience) • … Architecture – Analysis & Design • Use “architectural” as a qualifier. • Architecture as an activity: – Architectural analysis. – Architectural design. • Architecture is design. – First, or top-level design. • Interleaving with Requirements activities. © Dr. Patrice Chalin Requirements & Architecture • Being the first/top-most design, there is a strong mutual influence. Ex. Requirements Architectural Design © Dr. Patrice Chalin Architectural Views • http://mercury.it.swin.edu.au/ctg/AWSA05/ Presentations/may.ppt • I had issues with the above, but it may be your paper#4 if I can’t get what I want (it’s more interesting to me than what I’d proposed for #4, if only because I disagree with the treatment of the S4V) Scratch That! • http://portal.acm.org/citation.cfm?id=22503 3&coll=portal&dl=ACM • This will be paper#4 Last lecture we reviewed the Siemens Four View Model Conceptual View Module View Execution View H/W Arch. Code View Source Code © Dr. Patrice Chalin We won’t cover the S4V right now, as I’m still thinking of getting you a paper about it. RUP 5+1 © Dr. Patrice Chalin SOEN344 Notes on RUP 4+1 • http://users.encs.concordia.ca/~chalin/cour ses/winter/SOEN344/lectures/lect10b_pub .ppt Use Case View • Main goal: present architecturally significant use cases either: – Duplicated from req. doc. – Named and reference given to req. doc. • These use cases are to help highlight main – Architectural decisions / choices © Dr. Patrice Chalin Logical View: Main Goals • Convey … – Overall structure and – Interfaces to the environment, in a manner that is – conceptually as simple as possible • Provide a specification of the required behavior. • Challenge: find right level of detail. © Dr. Patrice Chalin Logical View & Requirements • Main focus: functional. • It should be possible to assess (up to a certain level of detail) whether requirements will be satisfied by the proposed architectural design. © Dr. Patrice Chalin Logical View: How Presented? • Structure: UML “class” diagrams, including – Package and class diagrams. – Component structure (UML2) • Behavior: – State diagrams – Interaction diagrams –… • Explanatory text, including design rational. © Dr. Patrice Chalin Logical View, Example • You have seen many examples of class and package diagrams, such as ... © Dr. Patrice Chalin UI Swing Logical View: Package/Class diagram ProcessSale Frame Domain Sales Register Pricing Sale ServiceAccess Payments Services Factory CreditPayment POSRuleEngine Inventory «interface» IInventoryAdapter «interface» ICreditAuthorization ServiceAdapter Taxes «interface» ITaxCalculatorAdapter POSRuleEngineFacade Technical Services Persistence (Larman, Ch.39) DBFacade Log4J Jess SOAP © Dr. Patrice Chalin Logical View:: Algorithms? • Sometimes algorithms are described here. Process View • Allocation of Logical view components to processes/tasks. • Synchronization mechanisms © Dr. Patrice Chalin (edited) Process View – © Dr. Patrice Chalin Logical View ex. Components Implementation (Development)View • Actual S/W organization. • Allocate logical components to impl. comp. • Reuse: – Off-the-shelf. – “To-the-shelf”: sharing with other projects. © Dr. Patrice Chalin (edited) Implementation View • Strong tie to the project’s – Configuration management. © Dr. Patrice Chalin (edited) Implementation View: directory structure © Dr. Patrice Chalin Implementation View – illustration of layering (code directory structure) © Dr. Patrice Chalin Implementation View • Can also be effectively described using natural language. • Things to mention: – Various kinds of bundles of the application • Production bundle • System Test bundle – Includes testing infrastructure – Object files – Libraries, archive files, etc. © Dr. Patrice Chalin Implementation View (cont’d) • Important: e.g. – How is test code organized. (Should be easy to include / exclude from a given bundle.) © Dr. Patrice Chalin Deployment (Physical) View • Network topology. – Usually several topo’s are supported. – S/W should be relatively independent of topo. • Allocation of process view elements to H/W (processing nodes). • Examples: – Network element: Process mapping into application cards. – Network Mgmt: one or more NOCs. © Dr. Patrice Chalin (edited) Deployment diagram: more detailed example «client workstation» : GenericPC «artifact» MyRichGUIClient.exe / AP SO «server» : Dell PowerEdge 3600 { OS=Red Hat Enterprise Linux 4 } TP HT «client workstation» : GenericPC «browser» : WebBrowser HTTP «web server cluster» : Apache 2.1 { clusterCount = 4 } Ajpv13 «servlet container» : Tomcat 6 { JVM = Sun Hotspot 2.0 } «artifact» webstore.war «server» : Dell PowerEdge 3400 SQL «OS» : Red Hat Enterprise Linux 4 «database» : PostgreSQL 10 (Larman, Ch.39) © Dr. Patrice Chalin Deployment diagram (2) «server» : Dell PowerEdge 3600 { OS=Red Hat Enterprise Linux 4 } «server» : GenericServer «database» : PostgreSQL 10 «system» CreditPayment Authorizer «artifact» Product Tables SQL over TCP «terminal» : POSTerminal { JVM = Sun Hotspot Client 2.0 } ol oc rot P p A TC VIS ver o custom protocols on top of TCP «artifact» NextGenClient.jar «server» : Dell PowerEdge 3600 { OS=Red Hat Enterprise Linux 4 } «artifact» GoodAsGoldTaxCalculator.exe SOAP over HTTP «server» : GenericServer «ERP» : SAP (Larman, Ch.39) inventory and accounting © Dr. Patrice Chalin Deployment View - illustration © Dr. Patrice Chalin Documentation • • • • • • • • Some form of Vision Some form of SRS Some form of Domain Model Some form of UCM Some form of Storyboard Some form of SAD Some form of Class Diagram Some form of Test Plan