CSCI 470- Database Management Systems Semester Project

Phase 1 - Database Design Documents

Due Date: Tuesday, October 28, in class

The purpose of this assignment is to familiarize you with the methods and documentation of business requirements analysis using Object-Oriented Analysis and Design Techniques. This is what drives database development. This phase preceeds any implementation details. Create your Phase 1 Design Document in exactly the following format and order:

1) Problem Statement/Requirements Definition. Develop a narrative statement of the needs for this project. Begin with a overview and background description of the organization and enterprise. What is the business operation that you are automating? Next describe what is to be done and what business processes you are focusing on for the project. Your Requirements Statement needs to include the problem scope, what is needed, the application context, and assumptions and performance needs. Note: This was a part of your Proposal – if you feel that you can enhance it further beyond the Proposal Phase, do so now.

2)      2 a)The Entity-Relationship Model which will provide the mapping to the global schema for your database.

          2 b)You will also build a *simple* Object Model diagram  along UML modeling principles discussed in class and shown in online notes. Entity-Relationship Modeling is covered in Chapter 3 of your text and Enhanced Entity-Relationship Modeling is covered in Chapter 4. Object Modeling is discussed in Chapter 12 of your text.  Examples of E-R models and Object Models appear in the online student project examples as well.

3) The design of the User Views of the database:

3a) The design of each data entry and edit form you will use in your database. Since you are designing a web-based interface to your database, use a tool that allows you to display your form in a browser.  Present these in a graphical form and assign each view a unique identification number and name. Give the name, number and a brief description of each form along with its graphical design.

3b) The design of each report that extracts data from your database. Present these in a graphical form and assign each report a unique identification number (distinct from view numbers as well) and name. Give the name, number and a brief description of each report along with its graphical design.  Again, these reports will be displayed in a browser, so you should design them in an appropriate tool.

4) A Data Dictionary which lists all the data items, user views and tables(objects). For each atomic data item (i.e. single attribute) gives: the name of the data item, the description or meaning of the data item, the data type, any aliases, the range of values, whether or not the data item is a primary identifier (key) or piece if a primary identifier, and if so, in which object and finally, whether or not the data item is a foreign key, and if so, in which objects.  Since these are going to be elements of your database schema, you can do this directly in the database you will be using as a backend to the application, such as MySQL.

Note: Items 5-6 below would be part of a Dynamic Model of your database application.  The Dynamic Model shows how the application is used and how the interface responds to user interaction.

5) A Set of Use Cases: You will need to include a use case diagram and a narrative description of each use case. If use cases are complex, break them down hierarchically into sub-use cases. Use cases are described in the notes. See other links on my web page for more on Use Cases.

6) A Set of Scenarios for each Use Case and a corresponding Event Trace (OMT terminology)/Sequence Diagram (UML terminology). I.e. event trace and sequence diagram are synonyms.   Please see the paper "Developing a Dynamic Model for Electronic Filing to learn how to develop scenarios and event traces/sequence diagrams from use cases.  Also see the example student projects online.

FOR DISCUSSION OF SCENARIOS AND SEQUENCE DIAGRAMS - TAKE THIS LINK

Here is an example from an OOAD midterm

Items 1-6 are what is required for your Phase 1.   

****Not required, but a part of a complete Dynamic Model is:A Set of State Transition Diagrams that show the changes of state of your user interface to your database. These are constructed from your event traces and show how your interface elements interact.  Please see the paper "Developing a Dynamic Model for Electronic Filing to learn how to develop state transition diagrams.  Also see the example student projects online.

 Also see - How to develop a State Transition Diagram for an Object Class using Sequence Diagrams!!