ICS 121: Mini-Project
Overview
This course is mainly about learning software engineering tools and
methods and using them individually.
However, software development is a team activity, so early practice
at teamwork is helpful. The mini-project allows students to
work in groups to specify a software product of their own choice. The
effort needed to do the mini-project is roughly equivalent to doing
one or two extra question on each weekly homework assignment.
- You must submit a short project proposal
- Project documents include: identification of user needs, market
opportunity, glossary, 5-8 use cases, 5-8 feature specs, 2-4 UML
design diagrams, and 10-20 system test cases.
- You must use CVS for version control of your documents. You will
use an issue tracker to track requested changes.
- Each team must complete a draft of all documents by week 7.
After the project is completed in week 8, you must make requested
corrections and changes by week 10.
Choosing a Project
Meet with your group to survey some of the projects on this list. Choose a project by
sending one email to jrobbins@ics.uci.edu listing your 1st, 2nd,
and 3rd choice of projects. Not every team will get it's first
choice.
You do not need to actually implement anything for this project.
You will just write the proposal, requirements, UML design, and test
plan.
Deliverables
- Due Monday of 4th week: Project Proposal
- Hand in print outs of the following at lecture:
- Proposal. Fill in sections:
- Project information
- Add the names and UCI email addresses of all students working on this project
- Background and motivation
- Goal, except links to other documents
- Scope, use the In/Out table
- Risks and Rewards
- Target audience and benefits. Fill in sections:
- Target audience, especially the links to competing products
- Benefits
- Potential downside
- Glossary.
- Define any technical terms that would otherwise be unclear
- You do not need to fill in any of the other templates linked from these.
- Due before midnight Friday of 7th week: Draft Project Documents and Status Report
- Use CVS to check in your updates to these files:
- Due before midnight Friday of 8th week: Project Requirements, Design, and Testing
-
- Final Use cases.
- Final Feature specifications.
- Final UML diagrams of your choice.
- Final Test cases.
- Status report. Fill in sections:
- Project information: Just Project Name, Resources Used, and Status Summary
- Detailed Status
- Fill in all sections of each use case, feature specification, and test case.
- You do not need to fill in any of the other templates linked from these.
- Due Friday of 10th week: Project Corrections
- Check for issues in your project issue tracker from the
instructor and TA. You must make requested changes to your
documents. You must briefly describe how you fixed the problem and
mark the issue RESOLVED in the issue tracker.
Mini-Project Tools
After proposal proposals are reviewed. I will create project
workspaces for each project on the server that I use for ics125. That
server provides CVS and issue tracking.
You may use ArgoUML or Rational Rose or another UML tool for UML
diagrams. You may not use a drawing tool such as MS Word, Powerpoint,
or Visio.
Mini-Project FAQ
- Teams of three will be assigned based on lab section.
- Each student must work closely with his/her teammates and each
team member must understand the entire project.
- All team members will get the same amount of credit.