Comp 650
2024-05-04 00:07:57 UTC
Home
Lectures
Assignments
Tactics
UML
Queuing
Books
Web sites
 
Turnitin.com
Textbooks
Guidelines
Writing help
Plagiarism
 
Bulletin board
Contact
  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