ITEC 455 Spring 2015
Prof. J.
Alberto Espinosa
Last updated 2/11/2015 minor editing
To be done
in small teams of 4 to 5 members
[Scenario] [Template] [Components]
[Delivery] [Grading] [Application]
[Timeline] [Deliverables:
1 2 3 4 5 Final]
This assignment is intended to give
you a valuable hands-on experience with a skill that you may actually use in
practice. The exercise is not perfect, but the same is true in any requirements
gathering project in real life. Your instructor will greatly appreciate any
feedback and comments you may have at any point during this project. Your team
will work on a consulting assignment to: (1) identify a business problem; (2)
gather business requirements for a system solution; (3) prepare the respective
formal system requirements specification document for this solution; (4)
develop the corresponding data model; and (5) develop a simple visual
simulation of a key aspect of the system.
Your requirements and design
specification MUST be be
prepared following a Requirements and Design
Specification Template adapted by the instructor for your projects. This adapted template contains the specific sections that your
instructor expects to find in your Final Project document, along with all the
requirements forms that you may need, along with basic instructions and
diagram examples. This template is a reduced and adapted version of the Volere Requirements Specifications Template,
which is one of several popular templates used for requirements
specifications.
IMPORTANT: You will notice in the template that
most large diagrams and artifacts (use cases, etc.) go in appendices. This
format is very useful for your clients because they can quickly detach all
diagrams for discussion in meetings. Furthermore, moving all diagrams and
figures to appendices will make your text descriptions flow better. However, every figure included anywhere in the document needs a
brief reference and explanation in the text; and every appendix include in the
document needs a reference and brief summary of the appendix contents in the
main text. Isolated diagrams and appendices without reference or explanations
in the main text are a very BAD idea and consultants will
complain about this.
The project has several components, which student teams will develop in 5 incremental deliverables throughout the semester, but the key components are (please refer to the Specific Deliverables section below for more detailed requirements for each deliverable):
1.
Business Process Analysis
(Deliverables 1 and
2)
Business process analysis is at the heart of this course. Everything we do in this class has the objective of making business process improvements. Everything else supports your recommended solution. A key aspect of this is to understand the "business work" that needs to be handled by the new system. This involves business process modeling (BPM), and there are two main sequential steps:
(1) (Deliverable 1) Understanding the "baseline" or "as is" process-- i.e., how the business processes the work presently and ideintifying what are the problems associated with this baseline process. You really can't formulate a solution or make recommendations until you have understood your client's problem, business and processes. Your job here is to prepare a "baseline BPM". This first step helps you get there; and then
(2) (Deliverable
2) Formulating a "target" or "to be"
process-- i.e., a reformulated version of the business process model based on
business process changes and solutions you are recommending. Your job here is
to prepare a "target
BPM". Please note that in some cases your client will
specify that the baseline business process should not be changed. This may be
due to legal requirements, regulations or other procedural issues. If this is
the case, you need to articulate clearly why you are not presenting a target
BPM in your solution.
2.
System Requirements Analysis: Use Cases (Deliverables 2 and 3)
A central piece of your requirements specification will be the "system use case" model you will prepare for the functionality of the business application that will support your process solution above. A use case model contains several use cases and each use case contain text in special forms that describe important aspects of the systems' functional requirements and part of the "unified modeling language" or UML which is the most widely adopted standard to describe systems. Your requirements specification should all the necessary initial use cases to fully describe the functionality of your system (Deliverable 2). However, you will only be expected to fully elaborate the 6 most important use cases (Deliverable 3). In addition, the system requirements specification contains other important sections, such as: non-functional requirements, assumptions, facts, mandated constraints, etc.
3. Data
Requirements Analysis
(Deliverable 4)
Once you have modeled the business process and system functional requirements, your next job is to model the information structure that will contain all the necessary data to support the propsed application solution in the form of a data model. Your data model should include as many entities as are necessary to support the entire functionality of your system. Your data model should contain at least 10 data entities that support the information needs of your system.
4. Visual
Interface Modeling (Deliverable 5)
You will learn how to simulate key
aspects of your proposed system so that you can give your client a visual
preview of what your solution will look like on the screen. You will be trained
on iRise Studio visual
modeling software by iRise trainers. This training is
very similar to what iRise's corporate clients
receive and will give you a most valuable marketable skill.
All project work will be carried out
in teams. Each team is responsible for working on their assigned projects and
with the assigned clients during the semester. Each team needs to complete the
project components listed above, but these components will be completed
progressively and turned in through 6 deliverables throughout the semester. The
first 5 deliverables are submissions of work in progress and have specific
assignments, which need to be turned in on a timely manner (see Class Schedule and specific deliverable requirements
listed below). The last submission after the 5th deliverable is the final
specification due the day of the final exam for this course (there is no final
exam, but you are required to submit your final project and give a class
presentation).
All deliverables (except the visual
simulation) will be submitted on a single term project specification document
using a template provided by your professor (on Blackboard and available through the link above). Only one
student in each team is required to submit this document via Blackboard (but
students can rotate who submits different deliverables). The document must be
named Project.doc (Word 2003) or Project.docx (Word 2007/2010). Your team will
start with an empty template and then update, refine and submit it according to
the deliverable schedule posted on the Class Schedule
web page. This document will contain all your requirements specifications,
diagrams, artifacts and other narratives. In addition, your team is required to
maintain all the necessary MS Visio files containing the necessary models and
diagrams. These models and diagrams will be copy/pasted onto the project.doc
file, but the team needs to be able to provide all associated MS Visio files
when requested by the instructor.All deliverables
will be made electronically, via Blackboard.
Deliverables and the final project
submission are due at midnight on the due dates listed in the Class Schedule
(we will discuss these in class). Late deliveries, and incomplete or inadequate deliverables will
carry a substantial penalty towards your team's final project grade.
Project Content
1. (10 pts) Well articulated and convincing business
case, system vision and project overview.
2. (10 pts) Content quality of the business process
description, analysis and
BPM
diagrams (target and baseline BPMs)
3. (15 pts) System requirements specifications and
use case model quality
Use
cases, use case diagram, actor specificatios cards,
BPM/UC matrix, etc.
4. (10 pts) Content quality of the information
requirements specifications
Data
entities and attributes support the functional requirements
Relational properties well implemented (normalized, primary and foreign
keys, etc.)
CRUD
matrix well developed
5. (10 pts) iRise simulation
quality (e.g., key functionality was modeled, functionaly
well illustrated,
ease of use, profeesional look and
feel, etc.)
6. (5 pts) Content quality of other specification
components.
e.g.,
Introduction, system vision, non-functional requirements, mandated constraints,
etc.
Project
Process and Presentation
7. (20 pts) Adequate and timely progress on deliverables.
Note: each deliverable will
receive a letter grade (A, A-, B+, etc.) to give the team some
feedback
on the deliverable quality and timeliness. These grades are preliminary
and
all five deliverables will be graded for quality and timeliness together at the
end,
which will receive 0
to 20 points.
8. (10 pts) Clear descriptions, good writing
style, no grammatical errors/typos, content quality,
appearance,
professional look and consistency across artifacts in the Project.doc document.
9. (10 pts) Good information exchange with your client; client feedback;
and effective final presentation
The
Business Application for the Project
Your instructor will share with you the
business application(s) concept(s) he has discussed with your client(s). You
will need to form teams early in the semester. Your instructor will assign a
project to your team trying to follow your preferences as much as possible.
IMPORTANT: This semester we will try something new. Rather than having several
different projects we will have a single project that all teams will work on.
The entire class will be given the same information about a
the basic and core aspect of the business problem and its corresponding
basic business process and system requirements. All teams in the class will
need to develop the buisness process and system
requirements specifications for this basic aspect. But in addition, each team
will need to come up with novel and creative enhancements to the business
process and functionality, which will be unique to each team. You can consider
this a competition for the best project. This will allow us to put all our
efforts into a key American University project and have a chance to really make
a difference.
As with any system development
project, there are tight deadlines and deliverables. The process you
follow to carry out this project is as important as the final delivery of the
project. In fact, research has found that bad system development processes lead
to bad project implementations, and that process performance is strongly
associated with final product performance.
Your final project will be graded upon
completion at the end of the semester. However, you will complete the
project incrementally by sumbitting deliverables
throughout the semester, which will provide an indication of your timely and
quality progress on your project. The instructor will evaluate your
progress and how well you are complying with the deliverables outlined
below. Timely
and adequate completion of deliverables not only accounts for 20% of your
team's project grade, but frequent submission delays and incomplete
deliverables are also an obvious indicator that the project is not going well,
which may affect your final project grade in other ways.
At the same time, your instructor understands that teams sometimes fall behind schedule for valid reasons. Your instructor will provide you with reasonable flexibility on deadlines, provided that you discuss your reasons and needs BEFORE the deadlines (like you would with your clients in any real project). The timeline for the following deliverables is outlined in the Class Schedule.
In each deliverable, you will start
the required artifacts (e.g., diagrams, documents), but these artifacts don't
need to be in their final form. It is common practice in iterative system
development methods to start something in one iteartion
and refine/elaborate later. It is important to start with a general high level
view of your artifacts and add the necessary detail later. This will save you a
lot of re-work time. You will refine your previously submitted work in each
deliverable. For example, your first business process improvement
recommendation may be incomplete initially and you may idintify
key improvements in subsequent deliverables. So, it is perfectly OK to go back
and refine your target BPM accordingly.
Setup Before
You Start:
Download the Project Requirements
Template from Blackboard
or the from the link above and save 2 copies. Please
ensure that you are downloading a current copy of the template, dated near the
semester start date, and not an older obsolete copy. Name the first file project.doc and the
second one ProjectInstructions.doc.
Keep the Project Instructions file as a reference for your project, with all
the necessary instructions for each section (alternatively, you can always
browse the template instructions online). Open this file and review its contents
and instructions carefully. It contains all the necessary sections and
explanations for your project work.
NOTE: It is very important
that you read the instructions in this template completely and thoroughly. It
not only contains important instructions, which I follow strictly when I grade
your projects, but it contains important learning material, which will be in
the exam.
o
Use
the project.doc
file as your project document for your deliverables. Open the project.doc file
and remove all the
instructions (embedded in brackets). Also delete all examples and sample forms. This
file should be totally cleaned up so that you can use it for your project
requirements specification. This is the file you will be submitting in your
deliverables and also sharing with your clients from time to time, so please
ensure that it is formatted properly, it is free of typos and grammatical
errors and it has a businesslike and attractive appearance. You should NEVER submit a project document to your client with
my instructions to you included.
o From this point forward, you are required to prepare and submit all your deliverables in this project.doc document. Each week, as you prepare your deliverables, you will be adding new information and updating/refining the existing information. So please prepare your deliverables material and include it in the APPROPRIATE SECTION of the project template and follow carefully the guidelines and instructions in the template for each section.
o Before you work on each section of the
template, as required by the deliverables below, please read the instructions
in the template very carefully. The instructions on what you need to do for
each delivery are contained both, below in the deliverable instructions and in
the template itself.
Required with ALL deliverables:
o Status Report: please indicate the % completed for
each section in each deliverable. I have placed this conveniently in the table
of contents. This will be very useful for your clients and professor to figure
out which parts changed from deliverable to deliverable. When you complete a
section, I suggest NOT entering 100% on anything until the very end. Anything
that is 100% complete is ready for grading and your client can critique your
work as final. It is better to state a lower percentage, like 90%, which will
indicate to your clients and professors that you are almost finished, but you
are still fine tuning things.
o
Communication
Log: you need to
keep a log documenting your communication with your clients. This is standard
practice in consulting engagements and it is used for analysis (for future
bidding on contracts) and for billing. By far, the most common problem
mentioned by clients (in both graduate and undergraduate versions of this
course) is that the
team did not communicate enough. I have never heard a complaint
saying that the team communicated too much. How can a client trust your
solution if they rarely heard from your team? Clients want to be sure your
solutions are based on their needs and requirements. Please communicate with
your clients as much as possible and document every communication. This will
not only protect you if things go wrong, but will give your client assurance
that you care about their problem and you are engaged. Please follow the
instructions in the project template and log every email, phone call, Skype
meeting, face to face meeting, etc. You don't need to document your internal team
meetings or your meetings with me. The log is only to document the
communication with your client.
Project Deliverable 1: Business Case,
System Vision and Baseline Business Process
o
Your
primary objective in this
deliverable is to identify your client's problem and develop a business case,
system vision and overview of the current business processes your application
will automate.
Section 1: Introduction
o
Complete
this section
Section 2: Business Case and Project Vision
o
Complete
parts a), b), c) (1) and c) (2) (i.e., client, business case,
and part of the business process overview).
Section 3: Stakeholders
o
Complete
this section
Section 4: Business Process Analysis
o
Complete
sub-sections a) Baseline Process
narrative and b) Scope of Work and
prepare a baseline BPM and
copy/paste it into Appendix B1.
Project Deliverable 2: Business Process
Recommendations, System Scope and Functionality
o The two main objectives for this deliverable: (1) to
describe and model your proposed business process improvements; and (2) to
develop a high level overview of the functional scope of the system and a good
understanding of the functionality needed by the system.
o Review and refine all your work
submitted in the prior deliverable. In particular, ensure that your baseline BPM has been updated based on any
new information you may have gathered since the last deliverable.
Section 2: Business Case and Project Vision
o
Complete
subsections c) (3) and c
(4) (i.e., business process analysis brief summary and target
business process brief overview).
Section 4: Business Process Analysis
o Complete sub-section c) Analysis narrative.
o
Complete
sub-section d) Target
Process narrative and prepare a target BPM
and copy/paste it into Appendix B2.
Section 5: System Actors
o Complete
sub-section a) Primary Actors and
prepare the corresponding actor cards
for these actors in Appendix C. Pay
special attention to the primary actors' goals.
o Complete
the portions of Section 6 below
first and then complete sub-section b)
Secondary Actors and prepare the corresponding actor cards for these actors in Appendix C.
Section 6: Functional Requirements
o Following
the goals of your primary actors identified above and your target BPM, prepare
a list of use cases per sub-section b).
o Complete
part c) Initial Use Cases. Use the "combined" use case form
for each use case you have identified and complete the appropriate fields per
the template instructions and place your use cases in Appendix F.
o Complete
part d) Use Case Diagram and place your diagram in Appendix D.
o
Complete part a) Functional Requirements
Narrative. Notice that we saved the
narrative for the end because you will know better what to write after you have
made some progress on your use case model, but you want to have the narrative
in the first sub-section a) of the functional requirements as an introduction.
Other Sections
o Start
Section 7. Non-Functional Requirements.
You may not know many or any non-functional requirements yet, so please do not
include non-functional requirements simply because they would be nice to have
(e.g., reliability, speed, user-friendliness). These are often very costly and
they need to be discussed and approved by your client. Only write in this
section the non-functional requirements that you have learned about from your
client.
o Prepare
an initial Project Glossary (Appendix A) and begin defining terms that
may need to be defined to reduce ambiguity (if any).
o Sections 8 and 9. Prepare
brief description of mandated constraints, relevant facts and assumptions you
may have learned about (if any)
Project Deliverable 3: Use Case Elaboration
o Your
primary objective in this deliverable is to develop a more detailed
understanding of the main functionality of the system.
o Review
and refine all your work submitted in prior deliverables. In particular,
review, refine and revise/expand as needed your BPM, list of actors, use case
list, use case diagram, use case descriptions, etc. Your Use Case descriptions
need to be more thorough, accurate and detailed at this point. I would expect
to see a good 10 to 20 lines in each use case description, (depending on its
complexity), providing sufficient information to start prototyping the system.
Section 2: Business Case and Project Vision
o
Complete sub-section d) Functional Requirements.
Section 6: Functional Requirements
o Review
the priorities you entered in your initial use case forms in the prior
deliverable and ensure that these priorities are accurate. Any use case that is
critical to delivering the main functionality needed in the system should be
rated "high priority".
o Complete
part e) BPM/Use Case Transitional Matrix and place the matrix in Appendix
E. Please review your target BPM and use case model to ensure that: every
process step and decision is either supported by your use case model or is
completely manual; and that every use case supports steps and/or decisions in
the BPM.
o Select
the 6 most central and high priority use cases in Appendix F and further elaborate them
into base use cases, as instructed
in sub-section f).
o Select
the 3 most central and high priority use cases from your 6
base use cases above Appendix F and
further elaborate them into elaborated
use cases.
o Now
that your use case model is relatively stable, enter the respective use case numbers and names in the
corresponding Actor Cards in Appendix
C, as instructed in sub-section f).
Other Sections
o
Update, add and refine any new “noteworthy”
information you may have learned on sections 7, 8 and 9.
Project Deliverable 4 (and 4a): Data
Requirements Analysis
o
Your primary objective in this
deliverable is to develop a solid understanding of the data requirements to
support the functionality described in your BPM and use case model.
o Project Deliverable 4a: You will find out that developing a data
model from your functional requirements is not easy. Prior experience with this
assignment shows that it its very helpful to do this in two and in some cases more
iterations. The first step is for your team to develop a preliminary data
model. This deliverable simply requires the team to prepare an intial data model in Visio to the best of your abilities
and then make an appointment with me to work on it together. This is a
mandatory step before completing the rest of Deliverable 4.
o
Review and refine all your work submitted in
the prior deliverables.
Section 2: Business Case and Project Vision
o Complete
part e) Data Requirements
Section 10: Data Requirements
o
Complete part a) Data Model Overview.
o
Complete part b) List of Data Entities.
o
Prepare the data model for your
application and include it in Appendix G.
o
Prepare the CRUD Matrix for your application and include it in Appendix H.
Other Sections
o Update,
add and refine any new “noteworthy” information you may have learned on
sections 7, 8 and 9.
Project
Deliverable 5: User Interface and Visual Modeling
o Your
primary objective in this deliverable is to apply sound user interface
principles and develop a visual simulation of the most relevant aspects
of your system using iRise Studio. Your
simulation needs to have User Guides with all the necessary instructions, user
ID’s and passwords necessary for your client and professor to fully evaluate
all aspects of your simulation. Your simulation needs to be delivered as an iRise iDoc file through Blackboard. This must be the same version
you use for your final presentation.
Section 11: Visual
Model
o
Complete your visual model as instructed
above and provide in this section any narrative necessary to understand your
simulation. There is no need to reproduce the simulation with screenshots, but you
need to provide an appropriate introduction to your simulation and tell your
readers anything that may be useful to understand and evaluate your simulation.
Final Project
Deliverable: Wrap-Up
o Review
and refine all your work submitted in the prior deliverables.
o Update
and revise your Project.doc as needed.
o Review all your files,
documents and artifacts for consistency. This is a major factor in grading your
project work. Lack of consistency across parts of your requirements and design
text, tables and diagrams is one of the most salient sources of confusion for
your clients (and professor).
o Review your files, documents
and artifacts for editing, grammatical errors, typos, well drawn diagrams,
formatting, etc. The easiest way to lose credibility on your work with clients
(and your professor) is to deliver materials with many errors and mistakes.
Remember that the main goal is to document and communicate requirements. You
may have done excellent work, but the readers of your materials may think
otherwise if they can't follow your descriptions and if they find typos and
errors.
[Top] [Schedule]
ENJOY!!