conceptual architecture john reekie university of technology, sydney terms of use: creative commons...
TRANSCRIPT
![Page 1: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/1.jpg)
Conceptual ArchitectureJohn ReekieUniversity of Technology, Sydney
Terms of Use: Creative Commons Attribution-ShareAlike 2.5
http://creativecommons.org/licenses/by-sa/2.5/
Foundations of Software Architecture : Module 3
Lian Loke, University of Technology Sydney
Contributors
![Page 2: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/2.jpg)
Conceptual architecture
Execution architecture
Implementation architecture
Recall architectural viewsA view expresses a particular cross-section of architectural concerns
In this lecture, we focus on the conceptual architecture
Domain-level responsibilities
Run-time structureBuild-time structure
![Page 3: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/3.jpg)
Elements of conceptual architecture
A conceptual component is a set of responsibilities
The conceptual architecture structures the system in terms of its domain-level
responsibilities
Sample responsibilities:•PlayBackClipSequence•SynchronizeWithVideo•PrefetchClips
A conceptual connector indicates
communication between components
![Page 4: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/4.jpg)
External interfaces
Interfaces to external
(including legacy) systems
Known physical boundaries within the
systemEssential hardware interfaces
Note: A stakeholder is not an external system!
![Page 5: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/5.jpg)
Solving a complex problem
You have to start
somewhere…
![Page 6: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/6.jpg)
1. Obtain a system narrativeCustom Shooz plan to advertise using conventional means, but want the website to be a location where customers can find out about theircustom range, get the measurement kit, and customize and ordershoes. They also want the site to interface to their accounting system.
The President of Custom Shooz, Funk O. Sole, explains:“So, what we did was develop a little measurement kit that we sendout to folks and they have to send it back. We've improved it over thelast couple of years so that it's almost foolproof. Once we have thecustomer's measurement kit in, we can produce almost any shoe from our range - all the custom stuff, like stitched-on patterns, dye coloursand finishes, laces and buckles, can be done without them ever beingwithin a thousand miles of our store!”
(Extract from system narrative in Workbook)
![Page 7: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/7.jpg)
2. Identify key conceptsCustom Shooz plan to advertise using conventional means, but want the website to be a location where customers can find out about their custom range, get the measurement kit, and customize and order shoes. They also want the site to interface to their accounting system.
The President of Custom Shooz, Funk O. Sole, explains:“So, what we did was develop a little measurement kit that we send out to folks and they have to send it back. We've improved it over the last couple of years so that it's almost foolproof. Once we have the customer's measurement kit in, we can produce almost any shoe from our range - all the custom stuff, like stitched-on patterns, dye colours and finishes, laces and buckles, can be done without them ever being within a thousand miles of our store!”
![Page 8: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/8.jpg)
3. Refine to components
Advertise - abstract concept X
Website - implementation ?
Customers - stakeholder Customer account +
Personalised page
Custom range Product range
Measurement kit Customer measurements
Customise shoe Order shoe Accounting I/F - external system Acct I/F
Produce shoe - function/external system Shoe production
Patterns and finishes - part of Customise shoe
![Page 9: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/9.jpg)
4. Draw and connectHTTP
Acct I/F
Order shoe
Public pagePersonal pageCustomer acct
Product range
Customise shoe
Templates
Shoe production
Customermeasurements
![Page 10: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/10.jpg)
This is just a starting point
A series of further iterations elaborates the architecture to improve functionality and quality
attributes
Restructurefor qualities
Extractdomain
elements
Elaboratefunctionality
Phase 1 Phase “N”
![Page 11: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/11.jpg)
Refine the architecture
Add or split componentsClarify responsibilitiesIdentify stereotypesCreate data modelsExplore behavior
HeavilyLoaded
A component is a set of related
responsibilities. So, split a
component if responsibilities
are not related …
Replication can be considered at this
stage, to account for performance and availability needs
![Page 12: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/12.jpg)
A stereotype indicates that a component (or in UML, a class) has certain properties
or attributes.
Conceptual stereotypes
Does a component have special types of responsibilities? User
presentation Persistent
storage Realtime
response
![Page 13: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/13.jpg)
A stereotype example
Audio In
Recording andClip Processing
TrackPlayback
Audio Out
Video Sync
Clip and TrackLibraries
Track and SceneConstruction
DiskRecorders
UserConsoles
This is actually an architectural summary diagram. It is useful for
providing an at-a-glance overview of a complex system.
![Page 14: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/14.jpg)
Custom Shooz architecture with stereotypes
PublicPage
Personal Page
Customer accounts
Customer meas.
Product range
Order shoes
Customise shoes
Shoe productio
n
Browse products
TemplatesAcct I/F
HTTP
![Page 15: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/15.jpg)
Data models
A data model captures the essential structure of data Data along
connectors Persistent
data
Student
ID : integer
Subject
ID : integerpoints : integer
Major
name : String
enrolled-in
currently-taking
0..*
0..*
0..*
![Page 16: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/16.jpg)
What is behaviour
A system has
function, structure
and behaviour
Behaviour is the set of actions that the system performsBehaviour can be explored through:
Role-play Use Case maps Sequence diagrams
![Page 17: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/17.jpg)
How can we explore deeper?
Agent
Analyzer DatabaseVisualization
toolkit
Web UI
Visualizer
Viz UI
Update manager
What to search forDiscovered data
Analyzed data
Data queryRequested data
Viz configuration
Visualization dataWebviz data
Viz structuring
Viz rendering
Update throttle
He took his vorpal sword in hand:Long time the manxome foe he sought So rested he by the Tumtum tree,And stood awhile in thought.
And as in uffish thought he stood, The Jabberwock, with eyes of flame,
Came whiffling through the tulgey wood,
And burbled as it came
One, two! One, two! And through and throughThe vorpal blade went snicker-snack!He left it dead, and with its headHe went galumphing back..
The system must have some behavior in
response to activity in the usage narratives
![Page 18: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/18.jpg)
Extract events from narratives
Julie is interested in correlating sightings of Perameles Nasuta in the Northern beaches area of Sydney with bushfire patterns. She brings up tracking data for the last five years and proceeds to sort the data, and then export it into a form that it can be used by a statistical analysis package
RequestHistoricalTrackingData
SortHistoricalTrackingData
ExportHistoricalTrackingData
![Page 19: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/19.jpg)
Events trigger use-case maps
Use-case maps allow us to visualise a path of action through a system
A trace shows the sequence of activities
Activity is triggered by an event
Each time the trace crosses a component, it exercises a responsibility
CompB
Data
CompC
CompARespA1
EventName
RespB3
RespC2
Use-case maps facilitate understanding of macroscopic behaviour
![Page 20: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/20.jpg)
Conceptual arch. example
![Page 21: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/21.jpg)
SummaryThe conceptual architecture focuses on conceptual components Domain-level responsibilities Links/refines requirements Overall/initial system structure
Includes data models Sometimes a separate information view is used
It is essential to explore behavior Identifies missing responsibilities Ties the architecture back to
narratives/requirements
![Page 22: Conceptual Architecture John Reekie University of Technology, Sydney Terms of Use: Creative Commons Attribution-ShareAlike 2.5](https://reader033.vdocuments.net/reader033/viewer/2022051515/5518043f5503466e558b47a8/html5/thumbnails/22.jpg)
Questions or comments?
That’s all, folks!