CSCI 273M- Database Management Systems Semester Project
Phase 1 - Database Design Documents
Due Date: Thursday, April 5, in class (may be resubmitted with corrections once)
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 proceeds 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.
2) The Entity-Relationship Model which will provide the mapping to the global schema for your database. 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. Present these in a graphical form and assign each view a unique number. Give the name, number and a brief description of each form along with its graphical design. There are egs of forms in the notes and check out forms in Microsoft Access.
3b) The design of each report that extracts data from your database. Present these in a graphical form and assign each report and unique number (distinct from view numbers as well). Give the name, number and a brief description of each report along with its graphical design. There are egs of reports in the notes and check out reports in Microsoft Access.
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.
Note: Items 5-7 below constitute a Dynamic Model of your database application which 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
7) 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!!