elaboration lecture oo18 gymnastics system example cont’d
TRANSCRIPT
Elaboration
Lecture Oo18
Gymnastics System Example Cont’d
References
The Booch Method Guide, for Rose 2.0
Teaching Points
Validation Architectural Design
Review
What are the products of architectural design?
How would you validate you domain analysis?
Validation
Are we building the right product? Use the requirement
Gymnastics System Example
The “scoring” use case
: Competition
: Event
: Trial
: EventJudge
Compute a gymnast's score in a competition:
1. For each event in the competion get the gymnast's score
2. Get the gymnast's score for the trial that the gymnast performed in that event.
3. For each judge in the judging panel, get the score the judge gave the trial
1: score(Gymnast)
2: overallScore( )3: score( )
When to Stop Domain Analysis
You have identified all domain entities that play a role and defined their classes
You have specified the relationships between each of these classes
When to Stop Domain Analysis
You have associated with each class all operations performed on it (from uses cases)
You have analyzed each operation to the point where you understand what it needs to do and what other classes are involved
Layered Architecture Packages are organized in a hierarchy of layers
where each layer has a well-defined interface e.g. The OSI model for network services is a
layered architecture Classic three-tier architecture
– Presentation (windows, reports, etc.)– Application Logic (tasks and rules that govern the
process)– Storage (persistent storage mechanism)
Three-tier Architecture
Presentation
Application Logic
Storage
Three-tier Architecture (cont’d)
Identified by the separation of the application logic into a distinct middle layer
Presentation layer is free of application logic and just forwards requests to middle tier
Middle tier communicates with a back end storage layer
Three-tier Architecture (cont’d)
Advantages– the opportunity for reuse– the possibility of distributing application
logic on a network– allocation of developers to construct
specific tier (based on interface specs, that is good OO decomposition)
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 Gymnastics System
Contests People
Data Structures
global
Persistant Data
Gymnastics GUI
User Interface
OWLMFCetc.
OracleDB2etc.
Teaching Points
Validation Architectural Design