| |
Design paper
This page provides details on assignment 7-2.
It is assigned in week 7 and
due in week 12.
The paper is worth 200 points, and the presentation is worth 100.
This is a team assignment.
Purpose
Practice the following important
architecture skills:
- Design an architecture
- Document an architecture
- Present an architecture to an audience
- Practice reviewing architecture
Overview
In this assignment, you will design an architecture for
SCUFS, a Software-Controlled Urban Freeway System.
You will design the SCUFS architecture to support monitoring and controlling
traffic on an urban freeway network.
The system has two main purposes:
- to prevent accidents
- to save fuel and reduce engine emissions by
regulating speed
SCUFS' functional responsibilities include
- interacting with cars, trucks and busses to
- monitor and control their speed
- maintain adequate spacing among vehicles and the
vehicles near them
- monitor and control their choice of lanes
- allow drivers to declare their direction and desired
exit when entering a freeway
- allow drivers to change their desired exit after
entering a freeway
- allow drivers full control of their vehicles in
emergency situations
- when necessary, compensate for the presence of
non-SCUFS-compatible vehicles and non-functional or dysfunctional SCUFS
equipment in vehicles
- interact with services outside of SCUFS to collect
and maintain up-to-date information about
- weather conditions
- road surface conditions
- construction
- traffic volumes
- collect and process satellite images to maintain
information about
- objects on the road
- high water
- potholes
- maintaining traffic at a safe speed and distance
around accidents
- interacting with E911 service centers to clear
corridors for police and emergency vehicles
- clearing corridors for VIPs, US presidents, for
example
- stopping vehicles on freeway shoulders at police
request
- maintaining traffic-status dashboards at
- City Hall
- the department of transportation
- freeway maintenance headquarters
- city/county/state police dispatching centers
- preparing reports on
- traffic
- accidents
- emergencies
- maintaining a data warehouse of traffic, accident and
emergency data for use in trend analysis and other research
- other requirements, if any, that we brainstorm in
class
Never mind whether this is a good idea or not,
not to mention whether it is actually possible or not
It should provide plenty of architecture practice.
System requirements of the problem
-
Use case model
-
Quality attribute
scenarios
-
These use cases and quality attribute
scenarios are nowhere near a full set of requirements for SCUFS. But this is a course in architecture, not requirements definition. So
the requirements for this project can be incomplete in important ways
without causing a problem.
Use common sense and your understanding of traffic, driving and real-time
systems to fill in
gaps where necessary. Also feel free to raise questions in class, in email,
or on the class bulletin board.
Deliverables
-
A paper that includes the following.
See below for details on the required elements.
-
Several architectural views and
supporting text
-
Analytical modeling
-
Information about the tactics
and/or patterns you used
-
Turn in an electronic copy to Turnitin in week
12. Assignment numbers are below. Make sure you are familiar with the general
information about written assignments.
-
A presentation in class in week 12.
Required elements
Your paper must include the
following:
-
Architectural overview: answer the
following questions
-
what architectural style(s) do you
use?
-
why did you choose the style(s) you
are using? (if you are using more than one style, include information
about which styles are used where)
-
what user interfaces does your
architecture support?
-
what databases does your
architecture contain?
-
how is your domain logic connected
to these databases? (hint: refer to Fowler patterns)
-
how is the domain logic organized for
these UIs?
(hint: refer to Fowler patterns)
-
A list of the assumptions you are
making about
-
controls in vehicles
-
sensors in vehicles
-
systems for monitoring road
conditions, weather, traffic, etc
-
legal restrictions on use of
SCUFS-controlled highways by non-SCUFS-compatible vehicles and vehicles
with malfunctioning SCUFS equipment
-
At least two module views. At least one
of your module views must be a UML class diagram.
-
Component and connector
views.
-
For each of the use
cases with main success scenarios (there are
five of them), include a UML sequence diagram or collaboration diagram to show
how the main success scenario will work in your architecture.
-
At least one allocation view.
-
Just enough text to allow a class
member or the instructor to understand the views.
-
A high-level performance model,
including
-
estimates of the busy-hour
frequencies of use for major system features
-
estimates of the capacity of your
architectural elements
-
enough analysis to show why you
think your architecture will handle the estimated load
- Why your architecture will work. For each quality attribute scenario (there are eight of them)
-
explain why you think your architecture will achieve
it
-
in your explanation, identify at least one tactic or pattern used in your architecture to
satisfy the scenario.
Of course, include anything else that you
think would be helpful to someone who wants to understand your architecture.
Think back on your experience with in the architecture description project. This
project provides an opportunity to apply what you learned from the first project.
About your presentation:
-
It should summarize the critical
elements from your paper:
-
the architectural overview
-
your assumptions
-
enough architectural views for the
audience to understand your architecture
-
why your architecture will work for
these quality attribute scenarios
-
Availability
-
Safety
-
Capacity
-
Testability
-
Each team can speak for about 20 minutes, which will leave
time
for a few questions, plus the reviewers' caucus and feedback from the
reviewers.
-
Important warnings:
-
Nobody wants to stay late on the
last night of class. If you go over your time, the reviewers will
retaliate
-
Prepare your talk in advance:
know what you'll say about each slide, say it, and move on.
-
You do NOT have to recite every
arrow on every diagram: emphasize the structures and interactions that
have major consequences and/or subtle aspects that may not be apparent
to a casual reader.
-
You do NOT have to cover all of the
views from your paper in your talk. The important thing is to support
your claim that the architecture achieves the quality attributes listed
above.
-
Pay special attention to tactics and
patterns used, and give good clear explanations for why you think your
architecture achieves the quality attributes.
-
When in
doubt, leave it out.
Advice
-
Be creative.
-
DO NOT GET
TOO DETAILED - you may overwhelm yourself (not to mention the paper-grader)
-
Practice ADD (Attribute-driven design,
Chapter 7 in the textbook) as much as you can when working on this project.
-
Use the ask-yourself-these-questions
page to stimulate your thinking
-
Aim to produce a paper that fits the
"architecture document ideal": 5-10 pages, half pictures.
-
Don't let your team get stuck on
things. Email questions to me as needed.
Turnitin.com
assignment numbers and names
Number |
Name |
6 |
7-1-1 design project |
6a |
Revision 1 |
|