| |
Architecture documentation
ATTENTION! Weird thing about this
project!
This project involves BOTH individual and
group work. You will work on part 1 individually, and on
parts two and three in a team of 1-3 people. Teams will form
in or after the first class in week 1, and team membership can change through
week 5.
Also, the subject matter of part 1 has nothing
to do with the subject matter of parts 2 and 3. It is a warm-up to get
you thinking about what works and what doesn't in architecture documentation.
END OF WEIRD THING
Points and due dates
1-1-1 avionics is worth 50 points and is
due in week 2 (individual)
1-1-2 outline is worth 50 points and is
due in week 3 (group)
1-1-3 documentation is worth 200 points and is
due in week 7 (group)
Purpose
Practice the following important
architecture skills:
-
Analyze forces in Architectural
Business Cycle
-
Identify the styles and patterns of
software architecture
-
Analyze the qualities of effective
software architecture
-
Document an existing architecture
effectively
Overview
The project has three parts:
-
Brief assessment of the avionics system
architecture description in the text book, due in week 2 and worth 50 points.
This part aims to stimulate your thinking about what information
is needed in an architecture description, using an example in the textbook.
It is NOT directly related to any of the system choices. It is an INDIVIDUAL assignment.
-
Your choice of system and an outline
for your description of its architecture, due in week 3 and worth 50 points.
You may choose any of the systems listed below. This is a group assignment.
-
A description of the architecture of
your chosen system, due in week 7 and worth 100 points.
Systems you can choose to document
Details
-
The brief assessment, assignment 1-1-1,
is described in the 650
online materials. You must answer the questions on the Week 1 assignment page. The "readings on Avionics
systems" are Chapter 3, "A-7E Avionics System," in the
textbook. Turn in an electronic copy to Turnitin,
as described in the procedures for written
assignments.
-
The outline is intended to help you
structure your paper. Your outline does not need to be incredibly detailed -
you will probably not need more than one page. Things to keep in mind
about the outline:
-
There is lots of architectural information on the web
and in other sources such as the ACM Digital Library about your system. You will have
to decide what to cover and what to skip.
-
Your outline should reflect the
required elements of the finished paper (see #3 below)
-
Your outline is NOT binding on your
finished paper. You may change your mind freely about how to organize
your paper as you work on it. You can even change your mind about what
system to document.
-
There's very little risk of
plagiarism in these outlines, but I want you to submit them the same way
as every other written assignment
because I find the procedural consistency helpful.
-
The paper should boil the architecture
of your chosen system down to 5 - 10 pages,
half pictures, and present it in the Bass/Clements/Kazman
style we are studying in class. Required elements:
-
Your paper must include at least
one view of each type as described by Bass, Clements, and Kazman. That
is, you must include
-
At least one module view, which could be a
- Decomposition structure
- Uses structure
- Layered structure
- Class structure, often documented by UML class diagrams
-
At least one component and connector view, which could be a
- Process structure, often documented by UML sequence diagrams or
UML collaboration diagrams
- Concurrency structure, often documented by UML activity diagrams
- Shared-data structure, which could be documented by
old-fashioned data flow diagrams
- Client-server structure
-
At least one allocation view, which could be a
- Deployment structure, often documented by UML deployment
diagrams
- Implementation structure, often documented by UML package
diagrams
- Work assignment structure
- Resource budget
-
Your paper must present at least two quality attribute
scenarios that capture qualities that are important to the system you have
chosen.
-
For each of those scenarios, you must identify the tactics
used in the architecture to achieve those qualities.
-
Make sure you are familiar with the general
information about written assignments.
-
Rule of thumb for an ideal architecture
document: it should be half pictures.
-
The first team assignment (1-1-2) is
due in week 3, so there isn't a lot of time to form teams. Sometimes people
aren't able to find a team in time to do this assignment. If this happens to
you, don't panic. Do an outline individually, and keep on looking for a
team. You have until week 5 to join a team.
Turnitin.com
assignment numbers and names
Number |
Name |
1 |
1-1-1 avionics |
1a |
Revision 1 |
2 |
1-1-2 outline |
2a |
Revision 1 |
4 |
1-1-3 documentation |
4a |
Revision 1 |
Notice the number gap between the outline and the paper.
That
is because assignments are numbered by due date, and there is another assignment
(10-1) due between 1-1-2 and 1-1-3.
|