Title: Design EEE321.24
1Design EEE321.24
Royal Military College of Canada Electrical and
Computer Engineering
- Maj JW Paul
- Jeff.Paul_at_rmc.ca
- 1-613-541-6000 x6656
2A Simpler Example
3Stopwatch
- Candidate Classes for Domain Model?
- Use Cases
- Object Interaction Model
4- Name Measure Continuous Time
- Identifier UC 1
- User Intention
- Set time to 0
-
- Wait for start of Event
-
- Start timer when Event starts
- Wait for end of event
- Stop timer at end of Event
-
- End of Use Case
- System Responsibility
- Set time and display to 0.0 sec
- Display 0.0 sec
- Start counting time
- Display elapsed tine with 0.10 sec accuracy
- Display total time of event with 0.10 sec accuracy
5Todays Class
6The Gymnastics System
We are about to model a gymnastics scoring
system. Our mission is to automate the
definition, registration, scoring, and record
keeping of a gymnastic season. Here is a quick
description of a gymnastics league and one of
their contests A league is a group of teams that
compete against each other. Each of these clubs
recruits members to participate in the
contests. A typical meet consists of several
contests held in the course of one day. For
example, there may be a women's all-around, a
women's individual, a men's all-around, and so
on. There may also be junior and senior
competitions. When a team enters a meet, it
enters all the competitions. For each contest,
each team enters the same number of members, who
must compete in all parts of the
competition. Each competition is a series of
events run on different equipment. For example,
the women's competitions involve balance beam,
vault, high bar, and floor exercise. All pieces
of equipment are in operation at the same time
each team's
competing gymnasts perform on one piece of
equipment and then rotate to the next. Each
event has a judging panel assigned to it. These
people are qualified scorers for this event. Each
judge rates each gymnast on the event and reports
the score to a scorekeeper. The scorekeeper
throws out the high and low scores and averages
the rest. This is the gymnast's score for the
event. The team score is the sum of all gymnasts'
scores. Competition scores are the sum of the
scores for each of the events. Meet scores are
the sum of the competition scores, and so on. In
addition to running the individual meets, the
league prepares the schedule of meets for the
season, ensures that qualified judges are
assigned, registers teams and gymnasts, and
publishes seasonal standings.
7What have we done so far?
Domain Model Use Cases
Class Diagrams Object Interaction Diagrams
8RUP Overview
TIME
Four Macro Process
Business Modelling
ACTIVITY
Requirements
Six Core Workflows
Analysis Design
Implementation
Test
Deployment
Three Supporting Workflows
Change Management
Project Management
Environment
9Add details using
- Micro Process
- Requirements
- Analysis
- Design
- Implementation
- Macro Process
- Inception
- Elaboration
- Construction
- Transition
- Looking for
- Attributes
- Operations
- Cardinality
- Relationships (Generalization, Associations,
Dependencies)
Inheritance kind-of
Composition part-of
uses
10Before
11After
12Gymnastics System Example
For each event in the competition, get the
gymnasts score Get the gymnasts score for the
trial that the gymnast performed in that
event For each judge on the panel, get the
score that the judge gave that trial
13(No Transcript)
14Adding Raw Scores
15When 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 - 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
16Architecture
17Layered 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)
18Three-tier Architecture
- Presentation layer is free of application logic
and just forwards requests to middle tier - Identified by the separation of the application
logic into a distinct middle layer - Middle tier communicates with a back end storage
layer
19Three-tier Architecture (contd)
- 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)
20Multi-tiered Architectures
- The logical extension of three-tier architecture
- You can decompose a three-tier into multiple
services
21The Gymnastics System
What if we change user interfaces? What if we
change DBMS?
How can we make the architecture less vulnerable
to change
22Aside - VV
23Verification
- Are we building product right?
- Use the requirements
- Different from Validation
- Are we building the right product?
- Needs to be tested in the field
24Review
25Review
- What is the advantage of multi-tiered
architecture? - Loose couple allows for changes without
significant impact - Why do we use the RUP?
- To iteratively complete
the Domain Analysis
(and other
work products)
26Next Class
- More design
- Looking for a good example