elaboration lecture oo18 gymnastics system example cont’d

17
Elaboration Lecture Oo18 Gymnastics System Example Cont’d

Upload: randolf-patrick

Post on 04-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

Elaboration

Lecture Oo18

Gymnastics System Example Cont’d

Page 2: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

References

The Booch Method Guide, for Rose 2.0

Page 3: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

Teaching Points

Validation Architectural Design

Page 4: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

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

Validation

Are we building the right product? Use the requirement

Page 6: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

Gymnastics System Example

The “scoring” use case

Page 7: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

: 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

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

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

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

Three-tier Architecture

Presentation

Application Logic

Storage

Page 12: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

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

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

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

Multi-tiered ArchitecturesInterfaces Gui Controls

University Artifacts

People

Database

Error Handling

global

Foundations

global

Page 16: Elaboration Lecture Oo18 Gymnastics System Example Cont’d

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

Teaching Points

Validation Architectural Design