This is the Requirements Lab for CIS 411: Systems Analysis and Design for Messiah University
This lab has three purposes:
- Within Systems Analysis and Design, you are going to need to be able to document requirements in a digestable format for review and approval. This lab is a practical writing exercise for developing that skill.
- In multi-contributor environments, you need to use some form of source control and versioning. Many developers use git and GitHub to coordinate their individual contributions into a single code base. This lab will introduce you to forking a repository, making your own changes and then contributing back to the source as a
pull request
. - Describing your work online ususally takes the form of a Markdown document (e.g.,
readme.md
). This lab will help you write and format your document up to professional standards.
- GitHub account
- Git is installed on your development machine.
- Text editor or other integrated development environment (IDE) for modifying code. If you need help or recommendations - see the Lab Instructions.
Dennis, Wixom and Roth (2014) outline a framework for classifying requirements that are roughly organized by the type of stakeholder that owns the request.
- Business - The business objective that the system needs to satisfy
- User - The actions that a user takes within the system.
- Functional - The functions should the system perform.
- Non-Functional - The characteristics that the system should have.
- System - Specifications about how the system should be built.
For this lab, you are to write a requirements document for an application based on the following business need.
“I would like to order a meal from an on-campus provider,
and have it delivered to my classroom.”
To complete the assignment successfully, you will need to interview several “real” and a few “fictional” stakeholders and/or documents (identify them as sources in your document). The requirements document needs to be detailed enough that each requirement statement has a unique identifier, and the originating source (just in case you need to ask clarifying questions or ask them to validate acceptance criteria later on). You may want to distinguish between requirements through classifications tags or through your use of verbs (Requirements use “shall,” “must,” or “will.” Feature/enhancement requests use words like “should” or “may”). Remember that the key is clear communication, so you have some flexibility within the Lab Report Template.
You are expected to create a lab report as a markdown file under the labreports directory using the LAB_[GITHUB Handle].md naming convention in your forked repository. After you have reviewed your work, then you should submit a Pull Request
to this repository with your lab report and any accompanying images/files (e.g., required diagrams). Add the Pull Request
URL into the courseroom LMS (Canvas) for grading.
Lab Specific Help (since this may be your first GitHub experience or writing requirements, we have some additional resources for you :) ).
Git & GitHub
Understanding Markdown Syntax
This content is provided under the MIT
license.
Special thanks to Joel Worrall, aka tangollama, for co-developing this course.