elaboration lecture oo19 gymnastics system example cont’d

16
Elaboration Lecture Oo19 Gymnastics System Example Cont’d

Upload: alan-osborne

Post on 27-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

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

Elaboration

Lecture Oo19

Gymnastics System Example Cont’d

Page 2: 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

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

Teaching Points

Architectural Design Planning

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

Review

What are the products of architectural design?

What is a three-tier architecture?

Page 5: Elaboration Lecture Oo19 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 6: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

Multi-tiered ArchitecturesInterfaces Gui Controls

University Artifacts

People

Database

Error Handling

global

Foundations

global

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

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

Page 8: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

Compiler Example:

Page 9: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

Façade: General Structure

Page 10: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

The Gymnastics System

Contests People

Data Structures

global

Persistant Data

Gymnastics GUI

User Interface

OWLMFCetc.

OracleDB2etc.

Page 11: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

The Gymnastics System

What if we change user interfaces? What if we change DBMS? (how can we

make the architecture less vulnerable to change)

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

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

Page 13: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

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

Page 14: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

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

Page 15: Elaboration Lecture Oo19 Gymnastics System Example Cont’d

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.

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

Teaching Points

Architectural Design Planning