COMP 3663 X2
Software Requirements Specification
OutSource Inc. (Group A)
Mallinson, Mike 100071936
Logan, Billy 100059371
Peters, Richard 100071545
Table of Contents
COMP 3663 X2
Software Requirements Specification
Table of Contents
1.3Definitions, acronyms & abbreviations
18.104.22.168Concept of Operations
22.214.171.124Introduction Window Concept
126.96.36.199Select Difficulty Screen
188.8.131.52Create new Character Window Concept
184.108.40.206Load Character Window Concept
220.127.116.11Dungeon Window Concept
18.104.22.168Select Stats Window Concept
22.214.171.124Map Window Concept
2.1.5Java Virtual Machine
2.1.9Site Adaptation Requirements
2.2.1“Creating a Character” Use Case
2.2.2“Traveling to Adjacent Grid Location” Use Case
2.2.3 “Obtaining Item” Use Case
2.2.4 “Travel to New Location” Use Case
2.2.5“Initiate Battle” Use Case
2.2.6 “Attack” Use Case
2.2.7“Berserker” Use Case
2.2.8“Use Item” Use Case
2.2.9“Flee” Use Case
2.2.10“Defend” Use Case
2.2.11“Save” Use Case
2.2.12“Load” Use Case
2.3 User Characteristics
2.5Assumptions and Dependencies
2.6Apportioning of Requirements
2.6.1Basic Functional Requirements
2.6.2Human Interface Requirements
2.6.4Basic Non-functional Requirements
2.6.5 Cost and Time Constraints
3. Specific Requirements
3.1External interface requirements
3.5Software System Attributes
4Project Management Plan
4.1.3Evolution Of The SPMP
4.1.5Definitions And Acronyms
4.2.3Organizational Boundaries and Interfaces
4.3.1Managerial Objectives and Priorities
4.3.2Assumptions, Dependencies, and Constraints
4.3.4Monitoring and Controlling Mechanisms
4.4.1Methods, Tools, and Techniques
4.4.3Project Support Functions
4.5Work Packages, Schedule, and Budget
4.5.4Budget and Resource Allocation
Appendix A – Glossary of Terms
Appendix B – Sequence Diagrams for Use Cases
OutSource Inc. is a PC videogame developer and designer company. Our goal is to provide customers with an enjoyable and attractive gaming experience, Conan. With over 10 years experience in the IT industry, our designers will provide a gaming experience that will keep you coming back for more.
For this product, OutSource Inc. will be partnered with Initech. We are developing a game called Conan, in which Conan the barbarian must fight his way through a dungeon to survive.
This report contains important requirements and information about the game Conan. Section 2 of this report illustrates the game menus, maps and dungeon screens. Section 3 is a listing of the technical specifications.
OutSource Inc. would like to thank Initech for allowing us to have this experience and we expect to exceed Initech’s initial expectations on the game.
The OutSource Inc. Team
The purpose of this report is to provide the supplier and customer with a composed guideline concerning the Conan computer game. Section 1 will describe the basic aspects of the game while Section 2 will illustrate a basic graphical implementation providing a glimpse of the game’s appearance, the game’s functions and behavior. Section 3 is mainly for software engineers.
This component covers the customer deliverable for a Conan computer game. This will allow developers to mold the game to fulfill the requirements and present a template for the game’s layout.
1.3 Definitions, acronyms & abbreviations
See Appendix A – Glossary of Terms.
- Braude, E. J. (2001). Software Engineering: An Object-Oriented Perspective. John Wiley and Sons.
- Silver, D. (2006). Course Web Page: Comp 3663 X2 – Software Engineering. Retrieved January 28, 2007 from the World Wide Web:
Conan is a role playing computer game devised by Initech and developed by OutSource Inc. The game will provide entertainment for gamers ages 14+ as the user will be participating in violent endeavors. The game will not be complicated and the controls will be simple making the game appealing for all gamers.
2 Overall description
2.1 Product perspective
2.1.1 System interfaces
126.96.36.199 Concept of Operations
Conan can be in any of the following states:
- Initialize – the user creates a player and starts the game.
- Dungeon: First room – the user has to reach the first room before he/she can continue, quit, save or win the game.
- If the door is locked; Conan cannot open the door without the key.
- Waiting – Conan may move and encounter enemies
- Player can quit or save the game.
- The user proceeds to the next room.
- Encounter – User begins a battle, if the user wins the battle continues. Otherwise the game is over.
2.1.2 User Interfaces
188.8.131.52 Introduction Window Concept
This is the Main menu for Conan. The user has the option to start a new game or load a saved game.
184.108.40.206 Select Difficulty Screen
Using this menu, the user chooses a difficulty. The user has the following options Easy, Medium or Hard.
220.127.116.11 Create new Character Window Concept
Using this menu, the user creates a new character.
18.104.22.168 Load Character Window Concept
Using this menu, the user loads a previously played character.
22.214.171.124 Dungeon Window Concept
This is the basic game screen. The game messages and dialog will appear at the bottom of the screen. The character attributes are in the top right corner, the inventory in the right middle and the action keys in the bottom right corner.
126.96.36.199 Select Stats Window Concept
This is the screen where the user chooses the initial attributes for his/her character.
188.8.131.52 Map Window Concept
This is the map screen showing a detailed layout of the dungeon. The map shows Conan’s position relative to the other rooms in the dungeon.
2.1.3 Hardware interfaces
A mouse and keyboard will be used.
2.1.4 Software Interfaces
Used to store data of individual areas.
2.1.5 Java Virtual Machine
Required to run the game.
2.1.6 Communications Interfaces
None, this is a single-player offline game.
2.1.7 Memory Constraints
The game is required to run on the Acadia Advantage laptops, so no more than 512MB of RAM will be used. The game content will use no more than 50 MB of hard drive space.
The user will be able to save and load the game.
2.1.9 Site Adaptation Requirements
2.2 Product Functions
This section gives a brief explanation of the functionality of the game. Greater detail is given in Section 3.
2.2.1 “Creating a Character” Use Case
2.2.2 “Traveling to Adjacent Grid Location” Use Case
“Obtaining Item” Use Case
“Travel to New Location” Use Case
2.2.5 “Initiate Battle” Use Case
“Attack” Use Case
2.2.7 “Berserker” Use Case
2.2.8 “Use Item” Use Case
2.2.9 “Flee” Use Case
2.2.10 “Defend” Use Case
2.2.11 “Save” Use Case
2.2.12 “Load” Use Case
This game is aimed towards young adults.
- Deliverables must be received on time. No deliverable can be accepted before a previous deliverable has been received and approved.
- The entire project must cost no more than 35 man-days (at 8 hours/day).
- Must run on any Acadia Advantage laptop under Windows XP.
- Implemented in Java.
- Can be downloaded and installed from a web homepage.
- Assumptions and Dependencies
- System assumes save files are valid and not tampered with.
- System assumes that XML room descriptions are valid.
- Apportioning of Requirements
- Basic Functional Requirements
F1- Each play of the game has a limited time frame. The player can set this.
F2- Provides a castle with interconnected areas.
F3- There is one area from which the game begins
F4- Each area must have a name, a unique graphical image and its own set of no less than 3 environmental variables such as the number of monsters in the room, and type of monsters, the items in the room, etc.
F5- Each area has connections to one or more other areas.
F6- Areas contain monsters and items with which to interact with.
F7- Must allow the creation and maintenance of various game characters. Each character has a unique name and image and a set of qualities such as life points, strength, defense (optional), attack rating, and attack power that can be assigned points by the player outside of battle. The system must allow the player to create these characters, define the qualities and select a character image.
F8- Must allow the main character to be designated. The objective is to save the princess.
F9- No more than two characters can be at the same location in the room at one time
F10- When two characters meet at a position in the room they battle.
F11- Once battle is complete the main character, if s/he still exists and has the remaining qualities to do so, can move to a new location based on the player’s choice of direction. Moves deplete resources – so characters cannot simply just move for ever without having their qualities replenished in one form or another
F12- Must allow users to query for (and potentially print) a report of current character and area status by showing all quality and environmental variable values
F13- Must alert the player when main character quality values are reaching critical levels
F14- Must generate a game summary report showing overall performance through the game
F15- Must provide a method of saving and restoring the characters as a set.
F16- Should have a method of saving and restoring the current game state so that a game can be stopped and started at a later time.
F17- The above functions should be integrated as a single system that shares the appropriate data structures. Note that the use of a DBMS is possible but discouraged.
F18- “Conan: Rescue the Princess” (hereon referred to as the game). Is a fairly straightforward game largely described in the title.
F19- Conan (our main character) is sent to a run down castle to rescue a Princess.
F20- Conan must fight his way through several rooms to get to the princess, and have her follow him out again.
F21- In each room there is a key for the exit that is locked. Key disappears after use.
F22- Final Fantasy style top-down turn-based RPG.
F23- Enemies encountered randomly when a player moves, and a battle sequence is activated. The difficulty setting decides the number of enemies in a room. For each move the character makes there is a 'dice roll' and if the certain number hits the battle starts. For each move you make, the number on the 'dice' reduces by one so eventually you do get into a battle.
F24- While exploring the castle Conan will uncover chests, and other appropriate containers that will contain items.
F25- After completing 25% of the castle Conan will fight a boss, after defeating said boss the player is given some new armor and a new weapon.
F26- Before Conan rescues the princess he must fight the King of Swords. After defeating the King you receive his sword.
F27- After the King is defeated the Prince shows up and swears a vendetta (“you’ll never make it out alive”) and runs out of the castle.
F28- When Conan enters the next room on his way out (princess in tow) he encounters the captain of the guard – defeat the captain and get his armor.
F29- When the princess is with you she won’t be attacked very frequently (10% of the time) but the possibility is there. She is a healer (no offensive attacks, but able to issue potions to herself and Conan).
F30- After a battle experience is gained allowing Conan to raise his level. At the end of a battle there should be a chance to gain items as well. 1/4 chance of getting a potion and a 1/20 chance of gaining a revive token.
F31- If possible, there could be a 'boss key' in the game somewhere before the battle with the king. It could be in the first room in a less than obvious place or anywhere between the start and that chamber.
F32- Conan starts with a basic sword and armor.
F33- Conan has a simple sword attack that does damage to the enemy. He has a special berserker attack that he can use once per room. This attack hits the enemy up to 10 times in rapid succession.
F34- The game should track:
- Life Points
- Defense Rating (based on armor)
- Attack Accuracy
- Attack Power (Range of damage)
F35- Potion – restores 100% LP (One Time Use)
F36- Life Tokens – Bring you back to life if you die (beginning of the room).
F37- Keys – used to advance to the next room. (One Time Use)
F38- Swords – Three types (Basic, Master, King)
F39- Armor – Basic starting armor, master armor, Titan’s Chest (Captain of the Guards Armor), Helmet of Revive (Infinite life tokens), Ring of Agility (RARE ITEM, speeds up attack timer)
F40- The castle is a series of rooms leading from the main entrance to where the princess is held. The path of rooms should be linear however the individual rooms should contain a maze.
F41- If the player enters a square that they have already passed through they may still encounter enemies.
F42- The castle could be designed in 2 parts with 2 paths one for in and one for out. It could also be that Conan has to go the same way he came in but against stronger monsters.
F43- Ideally the game should be written such that the maps can be adjusted easily. XML is a viable option to describe the rooms. It should be then possible to add levels to the game. (Optional Requirement)
F44- If possible, the map should start darkened over so the player has to explore the map. That way there is an increased chance of running into enemies while getting lost. Show a few blocks around Conan so he can navigate.
2.6.2 Human Interface Requirements
I1- Must be GUI based with efficient use of mouse point and click and menu features.
I2- Must be user friendly and encourage player/game setup and interaction by providing, at minimum:
I3- Cut and paste and document content copying where possible to reduce repetitive typing.
I4- Intelligent display and sequencing of queries and menus.
I5- User oriented error and warning messages.
I6- On-line help information.
I7- Optionally, allow certain aspects of displays and reports to be tailored (or personalized) to the individual user.
I8- Intelligent display and sequencing of queries and menus.
I9- User oriented error and warning messages.
I10- On-line help information.
I11- Optionally, allow certain aspects of displays and reports to be tailored (or personalized) to the individual user.
I12- Shows position on the grid.
I13- Shows the items in your bag, equipped items, level, life points, and experience.
I14- Shows player’s timer until next turn.
I15- On player’s turn a menu is presented giving options:
- Attack: This can be split into an attack submenu with attacks of various strength and accuracy, though a stronger attack should be less accurate.
- Defend: After rescuing the princess this will have a submenu asking whether you want Conan to defend himself, or the princess. Defend will decrease the damage done by an enemy attack by a percentage that increases as Conan levels.
- Item: Before rescuing the princess this will use the player’s entire turn, however after the princess is in tow selecting this will bring a submenu asking which character you want to be healed by the potion. The princess will administer the potion and Conan is still free to attack or defend afterward.
- Run: Flee from battle. The enemy you were facing will not regain Life Points, and will continue to roam the room
- Undesirable Characteristics
U1- Lengthy user manual - focus on great on-line help and reference documentation as well as innovative "getting started" tutorial. Ask yourself, how would I like to learn how to use the system.
U2- Need for external components such as backup utility or DBMS that might have to be purchased by your customer (these issues can be discussed with your customer and TA).
2.6.4 Basic Non-functional Requirements
B1- Must run on any Acadia Advantage laptop under Windows XP.
B2- Is implemented in Java.
B3- Can be downloaded and installed from a web homepage.
2.6.5Cost and Time Constraints
T1- Deliverables (by Customer and Supplier) must be received on time as per the course schedule for full marks. No deliverable can be accepted before a previous deliverable has been received and approved.
T2- The entire project must cost no more than 35 man-days (at 8 hours/day).
3. Specific Requirements
3.1 External interface requirements
3.1.1 User interfaces
The user interface in this game will be represented by multiple graphical windows. These windows include:
1) Title screen
2) Character Creation
3) Dungeon Window
4) Battle Window
184.108.40.206 Title Screen
This window shows the options to create a new character, load a previously saved character, or quit the game. Creation of a new character loads the character creation window. Loading a previously saved character loads the dungeon window. Quitting the game quits the game.
220.127.116.11 Character Creation
This window shows the options to enter the characters name, distribute the initial status points of the character to their attributes, and choose a graphical representation of the character. Clicking the create button will load the dungeon window and initialize the game.
18.104.22.168 Dungeon Window
This window will show the layout of the dungeon room, the stats of the character, the inventory of the character, the controls, and the message area. This is where the movement and exploring of the dungeon occurs. Upon the start of battle, the battle window is loaded.
22.214.171.124 Battle Window
This window will show the character and enemy graphics, the status of the character, the status of the enemy (optional), the possible actions the character may take, a message window to output the results, and the animations used to represent battle (optional). Upon victory, or defeat with life tokens remaining, the dungeon window will be loaded. Upon defeat with no life tokens remaining, the title screen will be loaded.
3.1.2 Hardware Interfaces
This game will support the use of a mouse and keyboard as input devices. The game will be developed to run on the Acadia laptop hardware.