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