ICS 121: Mini-Project


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.

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.


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

sample use case templateexample test plan templateProject plan template