Detailed Design, Systems Development:  

Systems Home | Introduction | Needs Assessment | Requirements Specification | Requirements Analysis | Preliminary Design | Detailed Design | Implementation | Testing

Systems Development: Requirements, Design, Implementation, Testing

Detailed Design

We continue with the second sub-phase of the design phase, namely detailed design. We are still answering the "how" question, namely "How will the system meet its specified requirements?" This time, however, we are more concerned with the mechanics on the interior of classes and other elements, not the interaction of classes within the subsystem.

Most of the further work follows from mathematical principles. For example, code and table design use techniques grounded in algorithm development and relational algebra. The work for these portions of the system has an engineering flair to it.

But some of the work requires an understanding of human psychology. At this time, we specify what forms and reports look like. How a person will enter and retrieve data to and from the system. So we need to understand human factors when developing these items.

Process Activities

In our preliminary design sub-phase, identified all of the classes within the system and the interaction among these classes in performing transactions. Now we must consider the interior of these items:

  • Table Design: We must store permanent object data in a relational database. Thus we use tables which must follow relational algebraic principles. We also learn these tables should mathematically be in third normal form.

  • Interface Prototype: We need a paper mock-up of all reports and screens used in the system. Mock-ups allow us to discuss our ideas with the group and make changes with pencil before committing to code.

  • Critical Code Analysis: Some of our algorithms are going to be straight forward. But others will be more complicated. Again, we must use mock-ups on paper to determine if our most critical code is correct in form and function. Or not.

Exercise

It is now time to develop the interior of our design elements. That is the focus for this unit's assignment:

For demonstration purposes, here is the same sample design document. Note we use text descriptions of screens and tables:

Lab Assignment

New for this unit is our first laboratory assignment. We need to connect Access and Oracle some how. There is no need to turn in any work for the lab. But if we don't do the work, we can't go on to the next unit:

Study Guides

Use the following study guides to focus concepts from the readings:

Lecture Slides

Here are copies of the lecture slides presented during class:

Readings

As before, each of the listed links will open in a new browser window:

Concept Notes Links
Definitions Here are some basic articles about detailed design topics which are fundamental to this unit.

Relational databases: A Wikipedia article.

Database normalization: A Wikipedia article.

Psuedocode: A Wikipedia article.

Collaboration Diagrams We touched on these during preliminary design. One of our assignments is to document a critical code section using a collaboration diagram.

Interaction Diagrams: Braun, Sivils, Shapiro, Versteegh, Kennesaw State University. Collaboration diagrams are at the bottom of the page.

UML Tutorial: Collaboration Diagrams: Robert C. Martin. A UML Tutorial from Object Mentor.

Introduction to UML, Part II: Michael Gold. Shows the transition from a sequence diagram to a collaboration diagram.

Table Design It is critical to design tables complying with third normal form. Here are the 1NF through 3NF definitions and some tutorials on how to move through each stage.

First normal form: A Wikipedia article.

Second normal form: A Wikipedia article.

Third normal form: A Wikipedia article.

Rules of Data Normalization: Datamodel.Org. This tutorial walks a sample database design from chaos to 3NF.

Normalization: Steve Litt. Another step by step tutorial.

A Simple Guide to Five Normal Forms in Relational Database Theory: William Kent. Not a tutorial, but good explanations with examples.

Human Factors This is a branch of systems development that follows more from applied psychology then math or science.

Human Factors Recommendations For TMC Design: Nazemeh Sobhi and Michael Kelly. Here is an interesting interface. Read enough of the article to understand how much data the operators deal with and then scroll down to the conclusions.

Characteristics of Great Software: Apple Computer. According to the OS X designers, there are seven principles.

Usability Principles:Gnome Project. Here are eight different human factors guidelines.

Systems Home | Introduction | Needs Assessment | Requirements Specification | Requirements Analysis | Preliminary Design | Detailed Design | Implementation | Testing


Copyright ©2006-2009, Jason Paul Kazarian. All Rights Reserved. License for reproduction, derivative works, internal commercial, and external non-commercial use granted to GITC faculty, staff, and students.