![Page 1: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/1.jpg)
Elaboration
Lecture Oo18
Gymnastics System Example Cont’d
![Page 2: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/2.jpg)
References
The Booch Method Guide, for Rose 2.0
![Page 3: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/3.jpg)
Teaching Points
Validation Architectural Design
![Page 4: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/4.jpg)
Review
What are the products of architectural design?
How would you validate you domain analysis?
![Page 5: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/5.jpg)
Validation
Are we building the right product? Use the requirement
![Page 6: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/6.jpg)
Gymnastics System Example
The “scoring” use case
![Page 7: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/7.jpg)
: 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( )
![Page 8: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/8.jpg)
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
![Page 9: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/9.jpg)
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
![Page 10: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/10.jpg)
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)
![Page 11: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/11.jpg)
Three-tier Architecture
Presentation
Application Logic
Storage
![Page 12: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/12.jpg)
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
![Page 13: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/13.jpg)
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)
![Page 14: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/14.jpg)
Multi-tiered Architectures
The logical extension of three-tier architecture
You can decompose a three-tier into multiple services
![Page 15: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/15.jpg)
Multi-tiered ArchitecturesInterfaces Gui Controls
University Artifacts
People
Database
Error Handling
global
Foundations
global
![Page 16: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/16.jpg)
The Gymnastics System
Contests People
Data Structures
global
Persistant Data
Gymnastics GUI
User Interface
OWLMFCetc.
OracleDB2etc.
![Page 17: Elaboration Lecture Oo18 Gymnastics System Example Cont’d](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f165503460f94c2c57f/html5/thumbnails/17.jpg)
Teaching Points
Validation Architectural Design