Software Design and Architectures
SE-2 / SE426 / CS446 / ECE426
Fall 2003

Assignment 5 : Software Units

Due in class (1pm RCH 205) on Wednesday October 22.

Here is a list of kinds of software unit, as discussed in class on Wednesday, October 15:

system subsystem program class
module subroutine library package framework
plug-in application tool procedure

1) Draw a conceptual graph with a node for each of the above kinds of unit.

2) Add edges for the following relationships:

directly contains : X directly-contains Y if in a well-designed system some instances of X might be aggregated from some instances of Y
directly uses : X directly-uses Y if in a well-designed system some instances of X might contain direct references fo some instances of Y.
is a : X is-a Y if every instance of X is an instance of Y, that is, Y is a strictly more inclusive class (of software units) than X.

Most of the answers are neither cut-and-dried, obvious, nor incontrovertible. So write about page of explanation of your conceptual model.