seng 5861: software architecture lecture 7 dr. michael whalen fall 2010 10/14/20101seng 5861 - mike...

21
SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/2010 1 SEng 5861 - Mike Whalen

Upload: rocio-line

Post on 31-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 1

SEng 5861: Software Architecture

Lecture 7Dr. Michael WhalenFall 2010

10/14/2010

Page 2: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 2

Topics for TodayQuestions / Comments from Last

WeekMidterm review & expectationsComplete functional view

exerciseInformation viewMidterm

10/14/2010

Page 3: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 4: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 4

Midterm ReviewYour questions go here

10/14/2010

Page 5: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 5

EXERCISE: FUNCTIONAL VIEW OF AIRPORT PARKING SYSTEM

10/14/2010

Page 6: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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.

Page 7: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 8: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 8

Some Use Cases

10/14/2010

Page 9: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 10: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 10

Examples here

10/14/2010

Page 11: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 11

INFORMATION VIEWPOINT

10/14/2010

Page 12: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 13: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 14: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 15: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 16: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 17: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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)

Page 18: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 19: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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

Page 20: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

SEng 5861 - Mike Whalen 20

MIDTERM

10/14/2010

Page 21: SEng 5861: Software Architecture Lecture 7 Dr. Michael Whalen Fall 2010 10/14/20101SEng 5861 - Mike Whalen

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