elaboration lecture oo19 gymnastics system example cont’d
TRANSCRIPT
Elaboration
Lecture Oo19
Gymnastics System Example Cont’d
References
The Booch Method Guide, for Rose 2.0 Fowler & Scott, UML Distilled Applying
the Standard Object Modeling Language, AWL, 1997, Chapt 2
Larman, C., Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design, PH, 1998
Teaching Points
Architectural Design Planning
Review
What are the products of architectural design?
What is a three-tier architecture?
Multi-tiered Architectures
The logical extension of three-tier architecture
You can decompose a three-tier into multiple services
Multi-tiered ArchitecturesInterfaces Gui Controls
University Artifacts
People
Database
Error Handling
global
Foundations
global
The Façade Pattern
Context/Problem– A common, unified interface to a disparate
set of interfaces - such as a package is required
Solution– Define a single class that unifies the
interface and give it responsibility for collaborating with the package
Compiler Example:
Façade: General Structure
The Gymnastics System
Contests People
Data Structures
global
Persistant Data
Gymnastics GUI
User Interface
OWLMFCetc.
OracleDB2etc.
The Gymnastics System
What if we change user interfaces? What if we change DBMS? (how can we
make the architecture less vulnerable to change)
Planning
The essence of a plan is to set up a series of iterations (executable releases) for construction and to assign use cases to iterations
A plan allocates each use case to an iteration (executable release) and identifies a start date for each iteration
Executable Release Plan Allocate Use Cases:
By level of user priority By architectural Risk
– address risk early By level of effort
– uses cases with schedule risk early
– roughly equal releases
– you may split large use cases
Other planning data
Classes to be implemented
Inputsyou may have to provide drivers
Outputyou may have to provide stubs
ASIDE: A good rule of thumb is that you will produce as much test harness as production code
Executable release: Scoring Report
Goal: Verification and successful use of navigational paths and score derivation logic for the scores of a competition.
Start Date: 26 Aug 98
Effort: 12 developer-weeks
Classes to be implemented: Competition, Event, Trial, RawScore, Team
Use Cases to be Implemented: Scoring
Inputs: Dummy database (validated in advance) with a meet, a competition, all events for that competition, all competing teams and gymnasts for the competition, and all trials and raw scores.
Outputs: The data needed to build the report on Figure 4-3, “Output of the Gymnastics System,” on page 25 of requirement spec. A DB utility dump of the raw input for comparison.
Teaching Points
Architectural Design Planning