Iteration 1 Details for MPCS 51221
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 17, 2017
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. These will detail user intentions
as well as system responsibilities. The verbage 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://agileatlas.org/articles/item/user-stories
http://www.alexandercowan.com/best-agile-user-story/
http://www.ibm.com/developerworks/library/ws-tip-essentialuse/
http://www.bced.gov.bc.ca/imb/downloads/essentialusecasestandards.pdf
Cockburn: Writing Effective Use Cases