## Group Project

As you can see, the group project is a very important aspect in determining your grade. Typically, teams consisting of 4 to 5 students will be formed, and suggested topics for the group project will be handed out as the semester progresses. You are free to choose your own topics, as long as the instructor approves each project topic and its scope.

I encourage you to start thinking about (as soon as possible)

- Who you would like to team up with
- Some candidate topics that you would like to work on (as a suggestion, consult professor(s) from your department majors to see if they have a need for a 6-week scope project).
- Team captain (chosen on a volunteer basis with full team consensus)
- Emails, Phone Numbers, Weekly meeting schedules for the team

.

Feel free to discuss any ideas with the instructor at any time.

### Sample cs327e Group Project Reports from Previous Semesters

Mandatory Reading

You must read the following sections from Dr. Debra Richardson’s URL:

http://www.ics.uci.edu/~djr/classes/ics125/project.html#coordination

- Team Work
- Cost and Benefits of doing a Group Project

Most of what is said in these sections is also applicable for this course.

### Project Phases

The project grade (for all teams) is broken up as follows, with percentages:

| Project Phase | % Of total class grade
1 | Proposal | 2%
2 | Logical Model | 6%
3 | Physical Model | 4%
4 | Team Grade | 2%
5 | PowerPoint Presentation | 4%
6 | Final Report | 6%
7 | Demo | 6%

Each of these phases is described below.

### Project Phase 1: Proposal

As the semester progresses, each team will need to fill up the following table:

Team # | Team Members | Captain | Group Project Description | Team Name
1 | Karessa Bowens, Trisha Hanley, George Saito, Greg Vargas, Edward Wong | Trisha Hanley | Our topic will focus on making and managing a database for KVR-TV station. | Mad Monkey Design
2 | Sharon Meraz | Sharon Meraz | A books database to support dissertation resources to aid my PhD studies. | Books Warehouse
3 | Nicholas Comito, Keith Knippa, Andre Riti, Nishay Sharma, Reginald Trotter | Keith Knippa | a database to assist in the operation of the CVS Photo Lab. | PhotoShop
4 | Doug Hanshaw, Rebecca Merrill, Mithun Pal, Alfredo Silva, Marie Cassandra | Rebecca Merrill | Build and Manage a database for Camp Bullis Outdoor Recreation Center | Bullis Bucks
5 | Sanobar Patel, Arturo Ramos Jr., Michael Gabriel, Arch Currid, Thanh (Tanya) Ong | Arturo Ramos Jr. | Production company database organizes different band schedules, equipment used, band names, venue locations, band genres, and contact lists. | Rock Star
6 | Ian Moede, Alex Bellon, Tim Gerheim, Andrew Stein | Ian Moede | Our project is a database for storing chemical and other data on streams for hydro geological research | Super Awesome Villains 4ever
7 | Kimberly Tsai, Michael Lieu, Michael Piechotta, Xiobin Wang, and Zac Loney | Michael Piechotta | A content management system for TAOS-College Houses. | "Club der toten Dichter" - Club of dead poets

The Project Proposal is a 1-page MS-Word document that highlights:

- Name of team members (along with team captain)
- Team Name
- Project Topic
- Need/Purpose for doing this project
- The audience (i.e. users) of the project who will benefit the most
- At least 5 salient features of this project/system to be built
- Optionally, requirements (as gathered from the users)
- Optionally, assumptions, constraints, and functional dependencies

The instructor will then review this project proposal. This proposal is also the starting point for the Project Report to be submitted at the end of the course.

#### Project Proposal One-on-One review with the instructor

Each team will get an opportunity to meet with the instructor for ~ 30 minutes. Along with the project proposal, all constraints, assumptions, functional dependencies will be reviewed in order to attempt defining what part of the “real world” this project is going to model. Be prepared to ask as many questions as you can. Also, write down, as many requirements from your users that you think would be pertinent for the project.

Time Slots:

Each team captain needs to send an email to the instructor, signing up for the appropriate timings (on a first come first serve basis)

Slot # | Date | Time | Team Name
1 | 2005-03-11 | 8.30am – 8.45am | Mad Monkey Design
2 | 2005-03-11 | 8.45am – 9.00am | Club of Dead Poets
3 | 2005-03-11 | 9.00am – 9.15am | PhotoShop
4 | 2005-03-11 | 9.15am – 9.30am | Bullis Bucks
5 | 2005-03-11 | 9.30am – 9.45am | Rock Star
6 | 2005-03-11 | 9.45am – 10.00am | Super Awesome Villains 4ever

NOTE: All meetings will take place in the instructor’s office.

### Project Phase 2: Logical Model

This phase of the project will account for 6% of the course. As part of the deliverables, I expect

- Project Report (in MS-Word format)
- ER diagram

The Project Report must include

a) The project proposal that you submitted earlier, with any modifications. This must include things that you are going to deliver as part of this project as well as, things that you are NOT going to deliver as part of this project, and maybe flag them as future enhancements. I.e. Phase II etc. You do want to show that you have thought through some of the issues beyond the project, but in interest of time, you may not be able to achieve those.

b) All functional dependencies. The schema must be in at least 3NF, otherwise, explicit reasons need to be stated as to why your schema is not in 3NF. Preferably, submit functional dependency diagrams similar to lab2.

c) Some description of application interfaces (UI screens etc.)-Not necessarily complete.

d) Some description of Work Flow for the intended audience. (Use cases)-not necessarily complete. Work Flow includes the UI screens, including the order in which a user will navigate through the screens to achieve a certain task. Each such “navigation path” is deemed a use case. E.g. “Search for a book by title on www.amazon.com” is a use case that probably comprises of 3 or 4 UI screens (in some particular order). “Buy a book on www.amazon.com” is another example of a use case.

The ER diagram must include

a) Entities, Relationships (along with appropriate cardinalities), Optional / Mandatory, Weak / Strong entities, Attributes, RI (Referential Integrity) definitions i.e. PK (Primary Key) and FK (Foreign Key) attributes need to be clearly labeled. Use IDEF1X notation if possible, otherwise Extended ER notation.

No programming language code is required to be submitted; neither is any SQL code required.

Next Steps:

- Start thinking of “actions” required on each entity. These actions will dictate your stored procedure and trigger definitions.
- Stored Procedures and Triggers are required to implement business rules, constraints, and assumptions.
- For the “Physical”, start thinking about data types.
- Application Logic, and programming language, along with database connectivity.
- Distributing above work/Implementation Strategy among team members.

Hence, this will require the group to be split up in essentially 3 roles:

A) Role Front-End Developers: Responsibility includes

- Programming language selection,
- Work flow implementation of UI screens, and look and feel of the application from end-user perspective
- Connectivity to database,
- Specifying the “headers” of stored procedures needed from the Role B) folks.
- Determining display of data on screen after invocation of stored procedures.

B) Role Business Logic Developers: Responsibility includes

- Providing stored procedures headers to the Role A) folks,
- Work with Role C) folks in coming up with the “body” of the stored procedures,
- Advising Role C) folks on requirements coming from Role A) folks

C) Role Database Schema Implementors: Responsibility includes

- Converting the logical ERWin diagram into physical.
- Coming up with conventions for table/view and column names,
- Referential Integrity specifications,
- All the DDL associated with CREATE and INSERT statements,
- Specification of data types, lengths, defaults for various columns.
- Communicating the physical schema to Role B) folks..

### Project Phase 3: Physical Model

This step consists of submitting all the SQL statements required to

- Create tables
- Create views
- Create referential integrity
- Create indexes (optional)
- Create users (optional)
- Create privileges (optional)
- Create stored procedures
- Create triggers (optional)

Any other settings required for transforming the logical model into the physical.

From the above, the required DDL are

- Create tables
- Create views
- Create referential integrity (PK, FK, etc.)
- Create stored procedures (only the header and not the SQL statements i.e. body contained in it).

For example, if your stored procedure looks like

`CREATE PROCEDURE titles_sum @TITLE varchar (40) = '%', @SUM money OUTPUT`

`AS`

`BEGIN`

`SELECT 'Title Name' = title`

`FROM titles`

`WHERE title LIKE @TITLE`

`SELECT @SUM = SUM (price)`

`FROM titles`

`WHERE title LIKE @TITLE`

END

Then, what you need to submit is just the “header” viz.

`CREATE PROCEDURE titles_sum @TITLE varchar (40) = '%', @SUM money OUTPUT`

``

`With some English description of what this procedure is supposed to do.`

``

The rest of the DDL is optional, but dependent on your project. For example, if your project requires creating users, and privileges, then submit the DDL for doing so. Similarly, for triggers, submit only the headers, and not the body containing SQL statements.

For the project, any INDEXES will be considered for bonus points.

### Project Phase 4: Team Grade

Each group member will be required to grade his or her respective team members (excluding themselves) on the following criteria:

- Participation
- Completion of tasks on time
- Attitude
- Any other comments/mutually agreed upon criteria

These criteria (and any more) will be discussed in the first day of class.

Each member will submit a cumulative score (out of 100) for their respective team members and mail them to me confidentially.

### Project Phase 5: PowerPoint Presentation

In the last couple of weeks of the course, there will be PowerPoint presentations by each team. Each team will prepare no more than 5 or 6 slides, and present the topic to the rest of the class in a 10-minute presentation, followed by 5 minutes of Q&A.

Email to the instructor, the electronic copy of the PowerPoint presentation with the following 5/6 slides:

- Title of Project, Team members
- Introduction/Purpose/Need/Functionality (Not all of these need to be included)
- ER Diagram (Logical)
- UI screen shots
- Conclusions/Problems encountered in implementation/Team roles/task distributions (Not all of these need to be included)
- Future Suggestions/Lessons Learned

NOTE: You are free to do more slides, as long as you can do the presentation in 15 minutes.

There will be presentations in this class (15 minutes each), with question/answers. Each team must decide who (all) is/are going to present.

The class will start at 8.30 a.m. promptly.

Attendance is required/mandatory during ALL presentations. If you miss these classes, your whole team will be penalized for some portion of the project.

Each team captain needs to email the instructor as to when his or her team would like to present.

Presentation time slots:

Slot # | Date | Time | Team Name
1 | 2005-05-06 | 8.00 am | Mad Monkey Design
2 | 2005-05-06 | 8.15 am | Books Warehouse
3 | 2005-05-06 | 8.30 am | PhotoShop
4 | 2005-05-06 | 8.45 am | Bullis Bucks
5 | 2005-05-06 | 9.00 am | Rock Star
6 | 2005-05-06 | 9.15 am | Super Awesome Villains 4ever
7 | 2005-05-06 | 9.30 am | Club of dead poets

### Project Phase 6: Final Report

Also, on the due date, each team will submit a project report (in electronic, preferably MS-Word for Windows format, and print format) outlining:

- The purpose of the project, the audience
- The team members and their roles
- Assumptions/Constraints/Requirements going into the design phase (see chapters 6, 7, & 8 for guidance)
- Different phases of the database design
- Hardware & Software used to implement the project
- PowerPoint presentation, if any
- Source+SQL+Modelling code, including all the DDL
- Table/View/Procedures/Triggers definitions
- Any other information relevant to running/executing the project on a system

Bound copy of project report must be brought and submitted in class on the due date. In addition, an electronic copy needs to be emailed to the instructor.

### Project Phase 7: Demo

In addition to the presentation, the team will provide a live demo in 10 minutes, followed by 5 minutes of Q&A. All demos will take place in the lab.

The instructor and/or the TA at the end of the course will test the project LIVE. During the team demo, all team members of the team giving the demo are required to attend. If you miss this class, your whole team will be penalized for some portion of the project. The attendance of the rest is optional. If you have your demo on laptops, make sure you get it to the lab.

Each team captain needs to email the instructor as to when his or her team would like to give the demo.

Demo time slots:

Slot # | Date | Time | Team Name
1 | 2005-05-06 | 10.00 am | Mad Monkey Design
2 | 2005-05-06 | 10.15 am | Books Warehouse
3 | 2005-05-06 | 10.30 am | PhotoShop
4 | 2005-05-06 | 10.45 am | Bullis Bucks
5 | 2005-05-06 | 11.00 am | Rock Star
6 | 2005-05-06 | 11.15 am | Super Awesome Villains 4ever
7 | 2005-05.06 | 11.30 am | Club of dead poets

### Project Grade Calculation

The grade on the project will be determined by

§ Submitted Project Report

§ Team members grading each other

§ Scope/Depth/Features of DBMS etc. of project

§ Design of the project

§ Implementation of the project

§ End of class presentation and LIVE demo

§ Electronic copy of the project

§ Comments in Source+SQL+Modelling code+GUI code

§ Submitted Project Proposal

§ Submitted Logical Model

§ Submitted DDL

Last Updated: 4/26/2005 9:41:48 PM