CS 383 HW#2: Requirements Analysis
Due Thursday February 4, 2016 10pm, via blackboard.
Include the full names and canonical e-mail addresses of
coauthors on a title page at the front of the group
document you turn in.
You are to work in the following (randomly assigned) teams:
- Learn plantUML, UMLGraph,
MetaUML or some other textual drawing notation. I am almost mandating
plantUML, but check out
of other candidates. You can look at others via Google etc. If you find
one better than PlantUML, e-mail Dr. J a pointer to it and use it.
PlantUML was used in Fall 2013/Spring 2014:
- Very concise, git-commit-friendly human-readable file format
- Actively developed, gaining in capability
- Web-based interpreter available, no tool install necessary
- A bit of a learning curve to get diagrams to look decent
- a lack of layout capability
- is somewhat fragile
- some past students had complained about it.
- Install a Java development kit and one or more IDEs on any machines
you wish to use. Recommend current toolset from
Oracle, home of fine Java products. Historically there were reasons
to prefer Netbeans, but I am not going to mandate an IDE. Once
we have permanent teams, your team may want to agree on one.
- Refine/merge use cases from last week's teams' output to
construct a new use-case set. Expand use case descriptions to full CS 383
expected format. Each student should do three or more use-case
descriptions, with your name on them, in the graded team document.
If you haven't identified enough use cases for this,
think of some more or ask the instructor for help.
- Individually: everyone develop one or more use case diagrams (e.g.
that summarizes those use cases. Discuss them, make fixes, and turn
in copies with your names on them.
Avoid the usual student mistake of trying to use this diagram
to design the user interface or control flow of the program!
- Jointly: vote and merge on a team's combined best-effort use case
diagram(s) and use case descriptions. Show team members how to
improve diagrams and descriptions to achieve an overall consistent look
and feel. Generate .png images
from your UML diagrams. Write a makefile rule for
building your latex document with UML diagrams
up front as a table of contents, followed by your use case descriptions.
- Coordinate your team's efforts on Github (if there were a reason that
you cannot use Github, discuss alternatives with the instructor).
- Given the decision to do networked multi-player, write
a description of how that should look and feel.
- Each person turnin your own "best effort" use case
diagrams and descriptions.
- Turnin a LaTeX document (PDF, one for the group)
containing your team's "voted best" use case
diagram(s) and the set of "refined, polished, merged" use case
- Submit via Blackboard an attached .zip archive of files. (Note for
future weeks: absolutely no .exe files please.)