Description
The team of students ("The 300") for this quarter of INF-43 has been tasked with eliciting and documenting requirements for a new software system ("ZotFinder"). ZotFinder allows its users to find their way around campus, for examples students trying to find a building or classroom, get to class on time, understand their schedule constraints, etc., etc.
The purpose of this assignment is to learn how to write a fairly complete and precise requirements specification, which is a critical step in developing a large software system. Completing this assignment will give you experience in one of the most interesting and difficult software engineering tasks.
Your assignment is to write Part One of a software requirements document for ZotFinder. The details of the requirements should be elicited by client interviews with your TAs during Lecture (see Course Schedule). They are representing or role-playing your customers.
This assignment should include exactly, and only, the following chapters. Please check these are the same chapter titles as found in the template below:
- Introduction
- Overview / Executive Summary
- Application Context / Environmental Constraints
- Functional Requirements -- but only the use-case diagram portion, not the details nor the textual descriptions of the use cases.
Your document should be based on the information discussed in Client interviews. Do not add any requirements other than what was discussed in these interviews. You can interact with each other and with the TAs during Discussion, but Do Not simply copy your answers from each other.
The deliverable is an electronic PDF copy due via Canvas by the due date. The following late policy applies: Assignments turned in within 24 hours after the deadline will receive a 50% penalty. No assignments will be accepted after that.
We provide a template Word documentPreview the document with which you should start (see Files section of Canvas). Your requirements specification should contain only the subset of chapters (first few chapters) mentioned above. There are some student samples in the Files section of Canvas but, remember, for Homework 1 you are only submitting a subset. The complete Requirements document will be due as Homework 2.
Scoring
The scoring criteria are outlined in the rubric below. Throughout the document we will be looking for:
Adherence to the stated structure. Carefully follow the structure defined above.
Clarity of writing. You should write your document in clear, precise, business-like English prose, avoiding jargon, humor, and wordiness. Correct spelling and correct grammar are essential. Avoid acronyms; common ones should be defined when first used. Bulleted and numbered lists can be used, with restraint, and not as a substitute for complete sentences and readable prose.
Fidelity to customer's desires. It is important that your document be true to the requirements stated by the customer. Don't add or remove requirements without approval. When in doubt, ask the professor or TA – but only for clarification purposes (no new requirements).
Your document should address all aspect of system functionality and constraints which are important to the user.
Your document will contain many detailed requirements. Careful thought is necessary to ensure that no subtle contradictions are introduced.
State detailed requirements in a manner that facilitates determining whether they are met in the final implementation.
Avoiding implementation bias. Focus on "what" not "how".
Modularity and separation of concerns. Try to divide each section into subsections or paragraphs which are largely independent of each other. Ideally, each requirement or feature is discussed in its entirety in one place.