CpSc 461, Software Engineering Techniques

Project Meeting 3

Project Design Documentation

At this point, you should be able to build your project in a repeatable manner. Now it is time to familiarize yourself with the code. This week's milestone will give you a chance to practice two skills which don't receive much focus elsewhere in the Computer Science curriculum, but are essential on-the-job: To do this, you will need to read any available documentation provided by the project. In addition, since open-source projects tend to be under-documented, you will likely need to engage in some reverse engineering. In reverse engineering, you attempt to follow the software lifecycle in the opposite direction: begin with the code, and attempt to derive the design, analysis, and reasoning behind it.

Deliverables

By next week (4/11), submit the following for your project:
  1. A list of each source file in the project along with a short textual description of the code it contains.
  2. A UML Component Diagram showing the relationship among the files or major components of the project.
  3. Depending on the nature of the project, either:
    1. A UML Class Diagram and Statechart or Activity Diagram
    2. A Structure Chart and Data Flow Diagrams

Tools

You may find the following tools helpful: