Project 1 Software Requirements Specification Mission: Your company ABX has been commissioned by a customer to create a stand-alone PC based GUI...

Project 1

Software Requirements Specification

Mission:

Your company ABX has been commissioned by a customer to create a stand-alone PC based GUI software system for the card game ABX Poker.

Your manager has given you the mission to draw up the requirements document to be presented and approved by the customer. Your manager will review the document before it is presented to the customer to check for completeness, accuracy, and clarity. You have been given the specification template that your team has used successfully in the past (project1-specification-template.docx). You must use this template and fill out all appropriate sections.

The manager has given you a document describing the customer’s needs for the game (ABX-Poker-Customer-Guidelines.docx) that you will use for your requirements. This document is the result of interviews with the customer to gather his wants and needs. Your requirements document must account for all these wants and needs.

The objective of this project is to apply and practice writing up requirements based on the customer’s needs and wants. You cannot change what the customer is asking for but you can add additional details that may be needed for a complete system. In fact you may have to add some details that may be implied by existing requirements or are needed to make the system fully functional (e.g. define the non-functional requirements). The rules and the flow of the game must be as given by the customer. You need to divide the requirements into logical features and describe fully using the stimulus/response format for your requirements.

It is expected that once the specifications have been approved by the customer, another team will design and implement the system. You will not be designing or implementing this program. Your document must not change any of customer’s requirements and must be as complete as possible to design and implement the system without going back to the customer or the document describing customer’s needs. You should not be adding any new features that customer did not specify.

Resources to help with project:

  • In Project 1 folder you can find an example for Library Book search system where customer guidelines (LibraryExample-CustomerGuidelines.docx) were used to create a Software Requirements specification document (LibraryExample-SoftwareRequirementsSpecification.docx). There is also a document called LibraryExample-ProcessFlow.docx that explains the basic process of how this was done.

  • In Project 1 folder you can also find another example SRS-RPS Game-Requirements - FullExample.doc. Note that the example is a full document with additional sections you will not need to do for this project. Specifically, sections 5-8 do not apply for this project (you will use it in later projects).

  • You should also review IEEE Std 830-1998 Recommended Practice for Software Requirements Specifications (SRS)

  • Review grading criteria for the project (Proj1-SWEN645-GradingCriteria.docx) and make sure you meet all of them before submitting your project

Your specification document at minimum must include (use the provided template):

  • Introduction (purpose, intended audience, product scope, references)

  • Overall description (product functions, user characteristics, operating environment, user documentation)

  • Constraints on the software system, assumptions, and dependencies

  • User interfaces overview and the basic flow of the game from the external view

  • System requirements – complete set of functional requirements describing all the features and functionality of the system (using stimulus/response format)

  • Non-functional requirements the system should have (you will make these up based on what you learned about non-functional requirements and the needs of this type of program)

  • All information provided by the customer, presented in the appropriate sections

Deliverables:

You must use the project1-specification-template.doc template to develop your requirements specification document. Lecture notes give examples of use case, stimulus/response, and sections format. You must use the stimulus/response format for your requirements. The goal is to describe all the requirements needed to develop the system in a clear, thorough, and complete way.

Your deliverable must be the requirements specification document submitted as Microsoft Word file named YourName-Project1-Specification.doc or YourName-Project1-Specification.docx.

Plagiarism and Original Work Rules and Reminder:

Make sure you write your own requirements. If you copy a solution from someplace and then modify it (or a part of it), you are plagiarizing and using someone else's work as your own. In that case, you are not submitting your original work and you will not receive credit for the project. The only exceptions are the examples I give you that you can model your work on but you need to make sure that you use your own words and you reference those examples in your reference section.

You may copy different parts of the customer’s document (ABX-Poker-Customer-Guidelines.docx) into your requirements document without rewording as that is part of this exercise. Just make sure to put reference to this document as well.

Remember, modifying someone else’s solution and cleaning it up for what you need for this project is not enough (other than the exceptions above). It is still plagiarizing and not submitting your original work. You must do your own work. When in doubt ask the instructor for guidance and if you model after some other document, provide the reference to be safe.