Iteration
1 Details for MPCS 51205
Each
iteration
will deliver an incremental accretion of work toward the
final project deliverable. Generally (see specifics within
each
Iteration), each student will be responsible for delivering some
piece
of the work (documentation, code, etc.). You
will be evaluated on the clarity
and depth
of your analysis of these and other deliverables. "Deep
Thinking"
as well as "Shallow Thinking" are generally obvious. Deep
Thinking requires time and....thought.
Unless
specifically
specified, you may take pictures of whiteboards, papers,
napkins, etc. as submission artifacts. However, some
artifact
deliveries will need to be in the form of formal models (such as
the
Use Case Model submission in Visual Paradigm below). When
a formal artifact is required, it will be so specified.
See
the
syllabus for information on grading. Turning in Iteration
assignments is required. Submit your
assignments as a tarball to the subversion repository according
to the
directions on the syllabus page.
Iteration
1
Due: 5:00 pm, Tuesday, October 23, 2018
Initial
Requirements Modeling:
Considering the functional and technical requirements of the
system (to be named by each Team as a whole) described here, envision the high
level
requirements and determine the preliminary landscape of use cases
and
produce a use case model depicting that landscape using the use
case
modeling notation in UML. Based on the functional
requirements of
the system, and at a high level, what is your system going to need
to
do? What activities are your users going to want to
accomplish as
they use your system? Your model is to be prepared by the team
interactively ("whiteboarding") and formally documented and
delivered
as a zipped Visual Paradigm use case model (Visual Paradigm
Community
Version can be downloaded here).
This model should show all the use cases your team has identified
as well as all the actors.
Additionally, you are to produce a user story delivery map (aka
"story map") that
shows the same functionality outlined by the use cases from the
model
but breaks them out into user
stories organized by planned iterations (there will be four more
iterations (2 through 5)). You should lay out your user
stories
for delivery according to the iterations of the project
(iterations 2,
3, 4, and 5). Examples of User Story Maps are covered during
the
lectures.
Additionally, produce a first draft of a list of Risks to the
project. Think about what risks there are in this
effort.
Remember, you will be evaluated on the clarity and depth of your
analysis of this and other deliverables.
Additionally, each member of the team is responsible for (in this
first
iteration) individually
delivering one Essential Use Case fleshed out
from the model, along with dependent user stories. Each team
member must choose a different Essential Use Case to deliver.
These use cases
will detail user intentions
as well as system responsibilities. The verbiage should be a
simple, general, abstract, technology-free and
implementation-independent description of one task or interaction
of
the system you envision. Try your best to avoid any inherent
assumptions about the underlying technology implementation and the
user
interface yet to be designed. This will come in later
iterations.
Your use cases should be based on the intentions of a user in a
particular context, rather than on the concrete implementation by
which
the purpose or intention might be carried out. Your use case
description should be both meaningful and descriptive from the
point-of-view of users in some role or set of roles as they derive
value from a system that will embody the purpose or
intentions
underlying the user interaction.
You can find a quick index to UML diagrams here.
Further Reading:
http://www.mountaingoatsoftware.com/agile/user-stories
http://www.agilemodeling.com/artifacts/userStory.htm
http://www.alexandercowan.com/best-agile-user-story/
http://www.ibm.com/developerworks/library/ws-tip-essentialuse/
Cockburn:
Writing Effective Use Cases