General Description

Design (Phase 1) and implement (Phase 2) a database system, SuperDB, to maintain information about beings (may or may not be extraterrestrials) with super-human powers. The information stored will be used to, among other things, aid in the creative process of creating story lines that would place multiple superbeings as central characters. For example, a screenwriter may use the information to find collaborations between superbeings who can most effectively address a situation (e.g. extraterrestrial beings -- also in the database -- have landed on Earth and are using their powers to destroy Hawaii).

As mentioned there are two phases in this project; the goals of the design phase are to research the problem and to model as much of this enterprise as possible. Your job in this phase is to focus on modeling the database needs as completely and correctly as possible. You must create a UML class diagram of the model while applying all of the design patterns we have learned about and building a model that can adapt to future changes. Do not worry about the size of the model as you will not implement all of it, so in this phase be certain to build a complete model.

The goals of the implementation phase are to demonstrate your relational database skills in creating tables in the relational model, maintaining integrity constraints, inserting/updating/deleting information, and creating queries on the data that you have supplied. NOTE: you will not implement the complete model from the first phase since there will not be time. Instead, Dr. Monge will meet with each group after the design phase and determine what parts of the model each group will implement. So do not start on the implementation phase until after you have been assigned the part of the enterprise you will implement. Different groups might end up implementing comparable but different parts of the enterprise. There is also the possibility that a different database model will be implemented rather than the one that each group designs; in this case, the database model will be provided as a UML class diagram and each team will then do the implementation.

Background

The vision for this project originated from the 1997 movie Men in Black where a "top-secret agency polices, monitors, and directs alien activity on Earth" [See WikiPedia's entry on MiB]. As research, you may even want to watch the movie, although it's not really required to complete the project! The important scene in the movie for this project is MiB's headquarters where they show a computer tracking system for the extraterrestrial beings who are in disguise while living on Earth. The agency knows of the exact whereabouts of every extraterrestrial alien that's on the registry and of course the agency also knows their origin, disguise, and characteristics particular to each of them. That tracking system is essentially a database system with software that makes use of the information in the database to present it in real-time for the purpose of tracking.

The central figures in most successful comic books are a superhero and the archenemies (E.g.: SpiderMan's archenemy is The Green Goblin). The database that you build will need to be able to hold any being who has superpowers -- whether or not they are extraterrestrials.

The powers of the beings must be recorded, categorized, and ranked to allow other software to use this information to call on specific superbeings who can be written into the story lines due to their particular powers and personality.

Required Functionality

Here is a sample of the functionality that should be possible with the data in the SuperDB database system.

  1. Who are the superbeings whose powers came to them later in life?
  2. What are the strengths and weaknesses of superbeings?
  3. What movies have been released where the central character is a superbeing? This needs to provide the movie title, studio releasing it, date released, the plot of the movie, and the superbeing(s) that are central to the plot of the movie.
  4. Given a set of desirable characteristics, list the superbeing(s) that fit all of these.
  5. Provide all vital statistics about a given superbeing.
  6. Which superbeing(s) have collaborated together in a comic book?
  7. Which superbeing(s) have never collaborated together?
  8. For every "good" superbeing, list all of the archenemies he/she has.
  9. For every superbeing, find the number of movies he/she has appeared in.
  10. For every superbeing who has a secret identity, list the superbeing, the secret identity, and the position that their secret identity holds in society.
  11. For every superbeing, list the superbeing(s) that they have a relationship with and the relationship that they have.
  12. Additional functionality to be added later. To incorporate this functionality, you need to design the database with flexibility in mind. Is your database prepared to handle a new superbeing? A new power/weakness not already possessed by a superbeing in the database?

Getting started

Any database project starts with examining the actual data involved (assuming that there is some sample data).  Often times, prior to the time you build the relational structures for the database, the raw data for your database exists.  It may be filed on paper forms in filing cabinets, or it may be on web sites, or sales forms, or weekly/monthly reports, etc.  Before you do any actual modeling, it helps to know that data will eventually be stored in the database, so the first step is to research the problem and to analyze the data available to determine some constraints of your model.

On this project, there are lots of resources where you can gather information about the enterprise. Some of you may have already been exposed to some comic books or have seen movies where the central character is a superhero or group of superheroes (e.g.: recent movies on the subject are Superman, Batman Returns, Spiderman, X-Men, etc.). Comic books reveal different aspects of their characters over time and a movie will not provide all the information about the characters, so it's wise to get the information from as many sources as possible. So, start gathering information about superbeings that you may have read about or may have seen movies about.

Project administration

This is a group project and as such each student will work on this project with at least one other student from the class. Each member of the group has an equal share on the responsibilities in completing the project. Every group must follow these guidelines as you work on the project:

  1. Every group must keep track of the contributions made by each of the members. Every week each group must send a report via e-mail stating the contributions made by each person during that week. All weekly reports are due by the end of lab time every Thursday (except on Thanksgiving week).
  2. All of these reports must be included with your final project at the end of the semester. In each report, clearly state the contributions and work accomplished by each individual.
  3. Every group member (including sender) must be a recipient of all group-wide e-mail messages -- including the weekly reports; do this in the CC line of the E-mail. As a recipient, each member of the group agrees and accepts the contents of the E-mail message.
  4. The grade in the project will have two components: a group grade that is based on the completeness and quality of the project submitted and an individual grade that is based on the contributions the person has made for the success of the team.
  5. When a team presents their project (more details to follow later), I will ask questions to each person to evaluate their understanding of the work accomplished during the project. This may affect a person's individual grade as well as the group grade.

You are the database experts...

To simulate a certain amount of reality in this project, Dr. Monge will play the role of client and each group independently forms the database design and development teams being assigned the project. In the setting of this project, the client has requested your services as you are the ones with the database skills necessary. There will be two official times for interaction with the client, each is referred to as a round. In each round, the database teams will send the questions to the client via E-mail. These questions must be about the enterprise and not about how to model or implement some aspect of the enterprise. The client will answer each team's questions only and these will be sent via a reply E-mail message. After the first round, the client will hold a private meeting with each database team to clarify answers to any questions from the first round. In all of the rounds, each team will get only answers to the questions submitted by the team. Team members may communicate only with other member of the same group. Inter-team communication is prohibited.

Deadlines of project activities
Activity How/Where? When?
Round #1: List of first round questions for the client Send the list via E-mail with subject: CECS-323: SuperDB 1st Round, group # Wednesday Nov. 1st 11:59AM
Client answers the first round of questions and meets DB teams Answers will be sent via E-mail Thursday Nov. 2nd
Client will meet each group
Round #2: List of second round questions for the client Send the list via E-mail with subject: CECS-323: SuperDB 2nd Round, group # Wednesday Nov. 8th 11:59AM
Client answers the second round of questions Answers will be sent via E-mail reply to each team Thursday Nov. 9th
Final database model and documentation. Follow instructions here. Printed (hard copy) to be turned in by end of lab. Copy must also be sent via E-mail message with subject:
CECS-323: SuperDB DB Model, group #
Thursday Nov. 16 by end of lab
Implementation Phase: implement a relational database Print the relational database scheme, SQL DDL script, SQL DML, and a final report. Thursday Dec. 14

NOTE: All of the above deadlines are hard. They will not be adjusted and any team missing a deadline will be penalized in their grade as specified in the syllabus.

E-mail communication

All E-mail messages must meet the following format requirements:

  1. For group initiated messages, each member of the group must be copied in the CC line
  2. The E-mail subject line must be as specified in the project handout.  All other E-mail messages whose subject line is not specified must have an appropriate subject line that starts with CECS-323: SuperDB
  3. The E-mail body must be in HTML or in plain text.
  4. Each of the First & Second round questions must be a numbered list of questions and must be organized based on topics as best as possible.
  5. The E-mail must be received no later than the set deadline.

References

  1. Marvel Comics
  2. DC Comics
  3. WikiPedia's entries on superheroes, comics, etc.

Database Resources