Object Oriented Software Engineering Assignment # 02: Instructions
Object Oriented Software Engineering Assignment # 02: Instructions
Assignment # 02
The following annotated template shall be used to complete the Software Requirements
Specification (SRS) assignment of WSU-TC CptS 322. The instructor must approve any
modifications to the overall structure of this document.
Template Usage:
Text contained within angle brackets (‘<’, ‘>’) shall be replaced by your project-specific
information and/or details. For example, <Project Name> will be replaced with either ‘Smart
Home’ or ‘Sensor Network’.
Italicized text is included to briefly annotate the purpose of each section within this template.
This text should not appear in the final version of your submitted SRS.
This cover page is not a part of the final template and should be removed before your SRS is
submitted.
Acknowledgements:
Sections of this document are based upon the IEEE Guide to Software Requirements
Specification (ANSI/IEEE Std. 830-1984). The SRS templates of Dr. Orest Pilskalns (WSU,
Vancover) and Jack Hagemeister (WSU, Pullman) have also be used as guides in developing this
template for the WSU-TC Spring 2005 CptS 322 course.
<Project Name>
Table of Contents
REVISION HISTORY................................................................................................................................................II
DOCUMENT APPROVAL........................................................................................................................................II
3. SPECIFIC REQUIREMENTS................................................................................................................................2
3.1 EXTERNAL INTERFACE REQUIREMENTS...............................................................................................................3
3.1.1 User Interfaces.............................................................................................................................................3
3.1.2 Hardware Interfaces....................................................................................................................................3
3.1.3 Software Interfaces......................................................................................................................................3
3.1.4 Communications Interfaces.........................................................................................................................3
3.2 FUNCTIONAL REQUIREMENTS...............................................................................................................................3
3.2.1 <Functional Requirement or Feature #1>..................................................................................................3
3.2.2 <Functional Requirement or Feature #2>..................................................................................................3
3.3 USE CASES............................................................................................................................................................3
3.3.1 Use Case #1.................................................................................................................................................3
3.3.2 Use Case #2.................................................................................................................................................3
3.4 CLASSES / OBJECTS..............................................................................................................................................3
3.4.1 <Class / Object #1>....................................................................................................................................3
3.4.2 <Class / Object #2>....................................................................................................................................3
3.5 NON-FUNCTIONAL REQUIREMENTS......................................................................................................................4
3.5.1 Performance.................................................................................................................................................4
3.5.2 Reliability.....................................................................................................................................................4
3.5.3 Availability...................................................................................................................................................4
3.5.4 Security........................................................................................................................................................4
3.5.5 Maintainability.............................................................................................................................................4
3.5.6 Portability....................................................................................................................................................4
3.6 INVERSE REQUIREMENTS......................................................................................................................................4
3.7 DESIGN CONSTRAINTS..........................................................................................................................................4
3.8 LOGICAL DATABASE REQUIREMENTS..................................................................................................................4
3.9 Other Requirements.............................................................................................................................................4
3. Specific Requirements
This will be the largest and most important section of the SRS. The customer requirements will
be embodied within Section 2, but this section will give the D-requirements that are used to
guide the project’s software design, implementation, and testing.
Attention should be paid to the carefuly organize the requirements presented in this section so
that they may easily accessed and understood. Furthermore, this SRS is not the software design
document, therefore one should avoid the tendency to over-constrain (and therefore design) the
software project within this SRS.
Normal Flow:
Customer System
1. System will prompt the
customer to enter basic
information
2. Customer will enter the basic
information
3. System will verify that the
entered CNIC number is not
in the database
4. System will prompt the
customer to set a new
password and verify
5. The customer will enter a new
password and will re-enter it
6. If both entered passwords
match and satisfy password
requirements then create an
account for the customer
Alternative Flows:
Exceptions:
CNIC Number already registered
Ask the user to login or recover password
3.4.1.1 Attributes
3.4.1.2 Functions
<Reference to functional requirements and/or use cases>
3.4.2 <Class / Object #2>
…