ICS 121: Optional Mini-Project
Overview
This course is mainly about learning software engineering tools and
methods and using them individually. If you do that well, you can get
a good grade in the course without the mini-project.
However, software development is a team activity, so early practice
at teamwork is helpful. The optional mini-project allows students to
work in pairs 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 for approval
- Project documents include: indentification 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.
- You must give a short presentation about your project near the
end of the course.
- After the project is handed in, you must make requested
corrections and changes.
Choosing a Project
You may choose your own project idea. It should be a large enough
project that you can specify enough use cases, feature specs, and test
cases. The product that you specify should be analogous to an
existing commercial product.
You do not need to actually implement anything for this project.
You will just write the requirements, UML design, and test plan.
If your project is interesting and the right size for an ics125
project, I'll consider acting as customer for the project in future
offerings of ics125.
If your proposal is rejected, you will have a chance to change it
and resubmit it by Friday of 4th week.
Deliverables
- Due Monday of 4th week: Project Proposal
- Hand in print outs of the following to the distribution center:
- Proposal. Fill in sections:
- Project information
- Add the names and UCI email addresses of both 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 Monday of 8th week: Draft Project Documents and Status Report
- Use CVS to check in your updates to these files:
- Due in 8th or 9th week: Project status presentation
- A short verbal presentation. Details TBA.
- Due before midnight Monday of 9th 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
- Only pairs can do mini-projects. No single-person mini-projects
will be approved. If you need a partner, attend discussion section
and find someone else who also needs a partner.
- Each student must work closely with his/her partner and both
students must understand the entire project. Students who choose to
work on the mini-project will have one or two additional final exam
questions that verify their knowledge of the project.
- Both students will get the same amount of extra credit.
- Details of the presentation part of this assignment will be
announced later in the quarter.
- Note that the following has been changed since the mini-project
was first mentioned in this course:
- More use cases and feature specs are now required
- Design diagrams are now required, this replaces the domain
model, use case diagram, and implementation notes
- The UI mockup has been removed. However, you may still create
a mockup if you wish. Mockup
example.
- System test cases are now required
- CVS must be used
to store project documents
- Glossary entires should be added for any terms that would
otherwise be unclear
- A presentation is now required
- Drafts of your documents must be checked in at the time of your status report.
- An issue tracker will be used to report problems for you to fix