CS383 HW#3

Due: Friday 2/19/16 10:00pm

You are to work in the following teams:
1 Knight Writers3 4
song6803
purk2552
helb4651
sass8427
alsh5301
fran6139
harr5275
camp7325
slip5295
gwade
guan
ocke8865
juts3869
denn2725
benz5834
ferg2065
jank6275
mora5651
boss2849
bolt1003
gall7417
brec9824
snev7821
mars2681
cart1189
wel2150
carl7595
dani2918
wern0096
ratc8795
doum6708
gent7104
As a team, choose a name and let the instructor know.

Requirements Doc

Starting from Dr. J's Requirements Doc, and any useful work from prior teams' assignments the past weeks, BY TUESDAY 2/9 10PM, build a document that lists your proposed requirements: Turnin via Blackboard. Plan to discuss in class Wednesday 2/10.

Backlog Starting Point

Starting from Monday's Backlog, develop your team's backlog for this sprint, prioritize which are the items that need attention first, and break those into pieces that can be assigned to individuals or small groups.

Github Group

Now, finally, each team needs a Github group. You should add Dr. J as a team member, although I will basically not commit anything since I will not want to mess you up. If you have an existing one that you can use for the new team, fine; otherwise, elect a Github boss, who should create one and work with team members to get them all into it.

Coalescing our Use Cases

The newly formed teams need to agree on a common set of use cases. You can start from the use cases from the former teams' past assignments, select whichever you think is the best starting point, and then add revise whatever best ideas from the other two teams. Review your functional and non-functional requirements to see if any of them suggest additional use cases that are needed.

Class Diagrams

For this sprint, as one of your team's sprint commitments, the team should develop a set of class diagrams for your project. Focus on the application domain, not auxiliary classes that are likely to be used in the implementation (e.g. GUI class libraries). Teams should divide the labor up so that each person on the team is given one or more UML class diagrams that describe details about a portion of the project.

A "detail" subteam (1-3 persons) should be assigned to each major subsystem. The number of subteams is up to your team, but remember to include:

The "detail" subteams should show as much detail about their assigned classes' associations, attributes, and methods as is known at this time. Edits of all kinds can be made later on.

Every UML diagram should have 1+ author name(s) in a small font, and be accompanied by a supporting "diagram dictionary": a section of prose text that defines the classes and user-defined associations, and clarifies any ambiguities or tricky sections of the diagram. All UML diagrams should be reviewed for completeness and accuracy by at least one other team member; add "reviewed by XXX" in a small font after the author name(s) in the diagram. Be "egoless" and take criticism seriously, fixing or adding things can help your grade. Within your team, check to make the diagrams mutually consistent and stylistically consonant. Adopt standards for fonts and such within your team.

Each team should assign one additional "overview" subteam to draw one or more higher-level overview class diagrams showing the aggregated big picture, with more classes and associations showing but class class detail. This could be one giant diagram, or separate diagrams for inheritance, aggregation, and user-defined associations, or provide an overview along some other structured lines.

Use PlantUML as your diagram "editor". Use "hide circle" to avoid its irritating circles, e.g.

@startuml
hide circle
class foo
@enduml

Diagram Assembly Document

Add your plantUML files and generated .png's to a doc/ directory in your team's repository, then put them all together in an assembly document (in LaTeX) for group turnin. Note that for this homework we are talking about turning in class diagrams assembled together, but do not lose or otherwise misplace your use cases and use case diagrams, we will be turning in a big combined document in future.

The finished turnin, via Blackboard, should consist of an assembly document (PDF), and a .zip containing LaTeX, image files, and plantUML files for each diagram.

Backlog Items

Everyone should:

Sprint Report

Per class lecture notes, each team should plan to spend 5 minutes reporting orally in class each Sprint on their team's progress as part of the turnin in two weeks.