Introduction to Architecture, Architectural Views

advertisement
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
Download