SEng 5861 - Mike Whalen 1
SEng 5861: Software Architecture
Lecture 7Dr. Michael WhalenFall 2010
10/14/2010
SEng 5861 - Mike Whalen 2
Topics for TodayQuestions / Comments from Last
WeekMidterm review & expectationsComplete functional view
exerciseInformation viewMidterm
10/14/2010
SEng 5861 - Mike Whalen 3
UpdatesGrades posted for Project Phase II
◦ Nice job, folks! You obviously worked hard at them.
For Phase III, I have a document template from R&W (in Word and .pdf) to use◦ It will be posted to the class web page today◦ Nothing radical; just outlines the sections of the
document described in R&W Ch. 13.
10/14/2010
SEng 5861 - Mike Whalen 4
Midterm ReviewYour questions go here
10/14/2010
SEng 5861 - Mike Whalen 5
EXERCISE: FUNCTIONAL VIEW OF AIRPORT PARKING SYSTEM
10/14/2010
6
Airport Parking Controller You are asked to build
the automated parking system at MSP airport
Support ePark:
Also support ticketed parking: user receives a ticket and pays either by credit card or cash
9/11/2010 SEng 5861 - Mike Whalen
Simply insert your credit or debit card into the card reader at the ramp entrance. This will record the time you entered airport parking. Use the same credit or debit card to pay at an ePark® exit lane. The system is fully automated; there is no waiting in line for a cashier.
SEng 5861 - Mike Whalen 7
Airport Parking ControllerBasic functionality: users should be able
to:◦ Enter the parking lot if space is available
Either via ticket or credit card
◦ Exit the parking lot at any time Pay either via cash or credit card
But there is much more to it!◦ What if user uses different credit card to
enter/exit?◦ What if there are insufficient funds?◦ What if I am unable to reach VISA server?◦ Etc. etc. etc.
9/11/2010
SEng 5861 - Mike Whalen 8
Some Use Cases
10/14/2010
SEng 5861 - Mike Whalen 9
Airport ControllerCreate the top-level component
model◦Use a UML diagram model◦First describe components◦Then describe interfaces
Does this app need to be distributed?◦If so, would you use MOM, RPC, or
both?
10/14/2010
SEng 5861 - Mike Whalen 10
Examples here
10/14/2010
SEng 5861 - Mike Whalen 11
INFORMATION VIEWPOINT
10/14/2010
SEng 5861 - Mike Whalen 12
Information ViewpointHow do we organize (and
manage) large volumes of data◦Static views: Entity Relationship
Diagram You know these from SEng5702!
◦Lifecycle◦Quality
Accuracy Timeliness
◦Ownership
10/14/2010
SEng 5861 - Mike Whalen 13
Information Flow Modeling
Where is data created and destroyed?How do data items change as they flow
through the system?Concern can also be addressed (somewhat)
using scenarios, but that is not their primary focus 10/14/2010
SEng 5861 - Mike Whalen 14
Data OwnershipIs data item owned by exactly
one process?If multiple copies exist,
◦Is one the master?◦Is data synchronized?◦How often?◦What are consequences of “stale”
data?
10/14/2010
SEng 5861 - Mike Whalen 15
Data Ownership Grids
10/14/2010
Mapping data ownership to systemsRelationships: Owner, Creator, Updater,
Deleter, Reader, Copy, ValidatorShows possible conflicts in data ownership
System Customer Product Order Fulfillment
Catalog None Owner None None
Purchasing
Reader Updater Owner Creator
Delivery Copy Reader Reader Updater
Customer Owner Reader Reader ReaderCatalog and Purchasing both
may modify product
SEng 5861 - Mike Whalen 16
Data Lifecycle and RetentionData lifecycle: what is the process for
creating, modifying, archiving, and deleting data
For many industries, lifecycle may be regulated◦ Financial transactions must be stored for NNN
years◦ Patient-identifying data for a study must be
disposed of within XXX days.Archiving data
◦ Cannot usually store data on disk indefinitely◦ Must be archived to more permanent storange◦ This may affect availability◦ Induces requirements on disk size10/14/2010
SEng 5861 - Mike Whalen 17
Information Lifecycle ModelsPossible to represent as UML
Statecharts or Entity Life Histories
9/11/2010Slide from: Eoin Woods, Viewpoints and Perspectives, SATURN 2008 (www.eoinwoods.info)
SEng 5861 - Mike Whalen 18
Pitfalls Data incompatibilities
◦ Units, representation (e.g. endianness), text format (ASCII vs. Unicode)
Poor data quality◦ Assess risk!◦ How do we know data is bad?
Scenarios for ‘bad’ user input
◦ What are fixup procedures? Manual? Automated?
◦ Information degradation Inadequate capacity
◦ What is expected data load?◦ What are amounts of data that can be
supported by OS, Database◦ Time to load, move, batch data
10/14/2010
SEng 5861 - Mike Whalen 19
What Have We Learned?A bit about the information
viewpoint◦Data quality, lifecycle issues◦Security, regulation, and data
retention
10/14/2010
SEng 5861 - Mike Whalen 20
MIDTERM
10/14/2010
SEng 5861 - Mike Whalen 21
Clarifications Question 3:
◦ Do one or two scenarios; don’t kill yourself ◦ These are things that the site should do; they may or
may not do it already Things that the site already does are o.k. to use
Question 5: context diagram.◦ “hypothetical” means that you take the internal
subsystems from question 4 and come up with a handful of external things that would communicate with them.
◦ All of the internal subsystems go in a “rover” system in the middle of the diagram
10/14/2010