CPSC 333: Assignment #3

Location: [CPSC 333] [Assignments] Assignment #3

This page was most recently modified on March 25, 1997.


Problem Statement

This assignment is to be prepared and submitted by groups of at most four students - preferably, who are all in the same lab section. Each group of students should submit one copy of their solution.

The assignment is due at 4pm on Wednesday, March 19.

  1. Produce a set of data tables, and (briefly) describe a set of functions that could form the interface for a ``data management subsystem,'' for the Accounts Management System that was considered in the first question for Assignment #2.

    List the following information for each data table that you use:

    1. a name for each data table
    2. a list of the components of the entity-relationship diagram that this table corresponds to
    3. a list of headings (or ``names'') for the columns of the table
    4. If it isn't clear (because of the name you've chosen is the name of an attribute), say which attribute (of which entity) each column of the table corresponds to.

    The interface for each table is a set of functions; give a short (and simple) ``process specification'' for each of these. It should be the case that the purpose of each function is clear from its name, so the ``processing details'' you give for each won't need to be more than one or two lines long.

    The entity-relationship diagram for this system and its data dictionary will be useful as a starting point for this question.

  2. Apply the first part of ``structured design'' to produce a ``first cut structure chart'' for this system, using a set of data flow diagrams for the system that incorporates a simple menu-based interface, and that is now available.

    Give enough additional information so that the markers can verify that you applied the ``structured design'' method to produce your answer. That is, include rough sketches (including process names, and some data flows) for all the data flow diagrams, and briefly document the decisions you made in order to determine the ``information flow'' you found, and to partition the diagram. If you wish, you may use the example that is now available as a guide; however, this example gives at least a bit more detail than is necessary to answer this question.

  3. Complete ``structured design'' by identifying and correcting design problems in a part of your ``first cut'' structure chart - namely,

    Include a list of problems you identified, and the corrections you made, in your answer, and also give part of a ``final'' structure chart (that includes all your improvements) as part of your answer - it is only necessary to redraw the parts of the structure chart that you've changed, and to describe any changes to ``off page connectors'' that would appear on other pages of the structure chart.

    If you wish to, you may use the format given in the online notes when this was done for an example.

Ideally, the ``requirements specification,'' that you've been given to start with, should be complete enough so that you can complete this design exercise. However, you may send email to the course instructor, in case you need to know additional information about the system that's to be designed.

Answers for reasonable questions will be posted to the course newsgroup and will also be made available, on this page.


Department of Computer Science
University of Calgary

Office: (403) 220-5073
Fax: (403) 284-4707

eberly@cpsc.ucalgary.ca