Assignment: Software Requirements Specification
Mission:
Your company ABX has been commissioned by a customer to create a stand-alone Personal Computer based GUI software system for the Word Processing.
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 system (ABX-WordProcessing-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.
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). System functionality and the flow of the program 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. Need Assignment Help?
Resources to help with project:
- In Project 1 Resource folder you can find an example for Library Book search system where customer guidelines were used to create a Software Requirements specification document. There is also a document called LibraryExample-ProcessFlow.docx that explains the basic process of how this was done.
- You should also review IEEE Std 830-1998 Recommended Practice for Software Requirements Specifications (SRS)
- Review grading criteria for the project 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 system from the external/user 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)
Deliverables:
You must use the project1-specification-template.doc template to develop your requirements specification document. Lecture notes in week 2 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.
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-WordProcessing-Customer-Guidelines) 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.
Customer Guidelines:
The customer has given your manager the following guidelines for the system:
Interfaces and startup:
- The system needs to be GUI oriented and user friendly with functionality logically grouped together into sub-menus.
- When program first starts it needs to give an option to open a new document or existing document. If existing, it will show directory structure to select the file from
- An opened document (new or existing) will have the following Menus to select from: File, Font, and Paragraph
File Options:
There needs to be a File Menu with following sub-options:
Open - show directory structure to select the file from. If the file is a different format that .abx it will give an error and another file needs to be selected or open canceled. If there is another file already open and not saved, it will prompt to save first or cancel opening the file. The currently opened file will be closed if already saved.
New - when clicked opens a new blank document in current window. If there is another file already open and not saved, it will prompt to save first or cancel opening a new file.The currently opened file will be closed if already saved.
Save - saves the current document in current directory; if document has not been saved yet, it will show directory structure to select where to save and a filename field. The file extension will automatically be saved as .abx. File cannot be saved without selecting directory and typing in filename.
Save as - show directory structure (with current directory) to select where to save and a filename field. The file extension will automatically be saved as .abx.File cannot be saved without selecting directory and typing in filename. If file by that name already exists in current directory, a message will be given to overwrite or cancel. The cancel will bring up directory structure (with current directory) where user can type in a different filename (or change directory) or cancel out of save as.
Font Options:
There will be a font menu with following sub-options:
Font - show a list of available fonts (currently only Times New Roman and Arial). When user selects a different font, all new typed text will use that font. When user highlights text and selects font, the highlighted text will change to that font
Font Size - show a list of available font sizes (currently only8, 10, 12, 16, and 20). When user selects a different font size, all new typed text will use that font size. When user highlights text and selects font size, the highlighted text will change to that font size
Formatting: there will be three options for formatting:
Bold - When user selects bold, all new typed text will be bold. When user highlights text and selects bold and text is not already bold, the highlighted text will change to bold. If text is already bold and bold is selected, text will be un-bolded
Italic - When user selects Italic, all new typed text will be italic. When user highlights text and selects Italic and text is not already italic, the highlighted text will change to italic. If text is already italic and italic is selected, text will be un-italic
Underline - When user selects Underline, all new typed text will be underlined. When user highlights text and selects Underline and text is not already underlined, the highlighted text will change to be underlined. If text is already underlined, and Underline is selected, text will be un-underlined.
When highlighted text is a mixture of selected option (e.g. some bold and some not bold), the end result will be that selection whether bold, italic, or underlined
Paragraph
There needs to be a Paragraph Menu with following sub-options:
Alignment - By default text will be left aligned. There will be three options for alignment: left aligned, center aligned, and right aligned. When user selects Alignment option, all new typed text will be aligned based on that option. When user highlights text and selects Alignment optiontext will be changed to the selected alignment.
Bullets - When selected the current line will be given a bullet symbol and text will be indented. All subsequent text lines will also be automatically given bullet symbols until Bullets option is selected again. If current line already has bullet symbol, selecting Bullets will un-bullet the line and no bullet will be added on new line when return is pressed. When one or more lines are highlighted and Bullets are selected, bullets are added if all lines have no bullets; or if all lines already have bullets then they will be removed. If there is a mixture of some lines with bullets and some without, then bullets will be added to all lines.