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:
1 2
slip5295 brec9824
ratc8795 ocke8865
knic1468 gent7104
benz5834 cart1189
juts3869 guan2264
carl7595 doum6708
ferg2065 song6803
mora5651 camp7325
gwade fran6139
3 4
gall7417 bolt1003
burd3195 wern0096
purk2552 alsh5301
denn2725 sass8427
welc2150 dani2918
harr5275 boss2849
mars2681 snev7821
helb4651 jank6275
- Learn plantUML, UMLGraph,
MetaUML or some other textual drawing notation. I am almost mandating
plantUML, but check out
this list
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:
- Pros
-
- 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
- Cons
-
- 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.
in plantUML)
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
descriptions.
- Submit via Blackboard an attached .zip archive of files. (Note for
future weeks: absolutely no .exe files please.)