CS 746 Topics in Software Design, Concentrating on Software Architecture
Assignments
Ric Holt, DC 2508, x4671, holt@uwaterloo.ca, Department of Computer Science,
University of Waterloo
Winter 2004
DUE DATES
Assignment 1:
Part 1A Tues Jan 13 2004 (Teams)
Part 1B Tues Jan 13 2004 (Gnumeric References)
Part 1C Tues Jan 20 2004 (Diagram of architecture)
Part 1D Tues Jan 27 2004 (Conceptual architecture)
Assignment 2:
Part 2A Fri Jan 30 2004 (Account, Teams)
Part 2B Tues Feb 10 2004 (Gnumeric landscape)
Part 2C Fri Feb 13 2004 (Clustered landscape)
Part 2D Tues Feb 17 2004 (QL/Grok scripts)
Part 2E Tues Feb 24 2004 (Concrete architecture)
Project
Proposal Fri Jan 30 2004
Writeup Thur Mar 30 2004
Assignment 1A
Submit list of team members (size about 3 people)
for assignment 1 to
cs746@swag.uwaterloo.ca.
Assignment 1B
Submit references (articles, books and URLs) on Gnumeric to
cs746@swag.uwaterloo.ca. These will be shared with the rest of the class.
Assignment 1C
Submit a diagram of the top-level architecture of Gnumeric
and a one page description of the subsystems and interactions. Bring a hardcopy
to class and email a PDF version to cs746@swag.uwaterloo.ca
Assignment 1D
Submit a paper giving the conceptual architecture of
Gnumeric. Limit your paper to at most 15 pages. For guidance, see Description
of Conceputual Architecture.
Bring a hardcopy to class and email a PDF version to
cs746@swag.uwaterloo.ca
Assignment 2A
Get a user account for
assignment #2 by emailing cs746@swag.uwaterloo.ca with your user id.
Send a list of team members for assignment 2 to the same email
address.
Assignment 2B
Using LDX Pipeline, produce a software landscape of Gnumeric. You
do not need to group files into subsystems. Store the landscape, in TA format,
somewhere on the account you were given and send an email to
cs746@swag.uwaterloo.ca with the location. Do not send a copy of the TA file to
the course account.
Assignment 2C
Group the top level entities of your previous landscape
into subsystems (and those subsystems into subsystems if necessary). Place the
new landscape, and contain.rsf file, somewhere on the account given to you
and
send an email to cs746@swag.uwaterloo.ca with the location. Do not submit a copy
of the files to the course account.
Assignment 2D
Write QL/Grok scripts to modify your your landscapes in
various interesting ways of your own choosing.
Place a copy of the QL/Grok scripts and modified
landscape somewhere on the account given to you and send an email to
cs746@swag.uwaterloo.ca with the location. Do not submit a copy of the files to
the course account.
Assignment 2E
Submit your concrete architecture of Gnumeric. Describe the
architecture of one of the top level subsystems of Gnumeric. Please choose the
subsystem to be distinct from subsystems chosen by other groups. Ideally, the
set of groups together will cover all the main top level Gnumeric subsystems. You
may choose to concentrate on either the conceptual or the concrete architecture
of your subsystem.
In Assignment 2, please work in groups of size 3 (approximately). Please make
your report accessible (readable) by a reasonably wide audience. Limit your
report to at most 20 pages.
Your report should be organized approximately like your report for Assignment
1. Give a clear description of each subsystem or module within you top level
subsystem.
Use LSEdit to produce diagrams of the concrete architecture. Bring a
hardcopy to class and email a PDF version to cs746@swag.uwaterloo.ca
Project Proposal
Submit a 1-page proposal for a course project. You may
choose from topics
here
or come up with one of your own. Bring a hardcopy of your proposal to class and
also submit a PDF version to cs746@swag.uwaterloo.ca
Project Writeup
Limit your report to at most 20 pages. It is suggested
that your report take the form of a technical paper, with an abstract,
introduction, central sections, conclusion and references. Bring a harcopy
to class and submit a PDF version to cs746@swag.uwaterloo.ca