CS 371 Homework #1: Requirements Analysis: Use Cases
The application functionality goal for this project is to successfully run and play the video game. An overview of this project's functionality is the customer who becomes the user in the game makes all the decision making and the system's services will perform other tasks that will let the user enjoy the game. For example, the user selects game start, then the system prompts the user some options, the user then selects game type. After this is done the system will load up all resources needed to start the game, once the game starts the user can then freely move and use the character in the game to accomplish the game's goals. The system by then will be handling all other operations to keep the game going until the user decides to end game.
The computer application will look like a video game of course based on the whole group's project decision. The idea for project was that it was going to have to be a first person shooter with weapons selections such as guns and bombs. The game will be designed with graphics in a third dimensional world. A reference to similar game play is Doom, where the user will be the main character using weapons to destroy enemies and achieving mission goals.
In order for the game or system to be a success it must not have any complications that causes the system to fail and must meet the customer's needs. There are problems need to be considered like bugs, so they wont make the game crash. Other things that are needed is to have good graphics and fun factor which would be the game play how good is it to keep its customer keep on playing. There are such attributes that need such as the game's usability, efficiency, reliability, maintainability, and reusability.
The domain is a video game, we have to develop the system from scratch. We would want to fulfill the customers requirements
Much of the terms for this domain is computer based. We will be mentioning classes, tasks, models, methods, code language and etc...
To better understand what we must achieve, communication is very important as a major part of the project. Communication is needed between the development group members and the group with the customer. To be successful in implementing all features needed for the project everyone will have to work together so there wont be any misunderstandings that will delay the game from final development.
In this domain the customer is the user. This person will be making all the decision making on the game, so they will be interacting with the game. The game it self is the service providing it to the user in real time.
The tools needed for this project are software tools and hardware tools. Software tools are programs for programming the game and designing the game. Hardware tools are the access to computers, and computer parts for testing like the graphics and network cards.
The tasks and procedures that the system performs varies on the the dependency of the user input. The system only performs output tasks such as prompting to the user information, loading maps and enemies, and other features such as graphics and the physics to keep the game moving.
A quick overview model of the application would be
GAME (Title not yet decided upon on)
Game
This is the main section where everything gets initiated.
Classes: Game scenario, Game type & Options
Tasks: Start game
User / Player
This section contains information on the player stats and movement.
Classes: Movement, Life, & User stats
Tasks: modify life
Combat
This section is about the action in the game, what can be done.
Classes: Weapons & Ammo
Tasks: modify ammo
AI
This section is the AI where it will be taking care of tasks for he system in game play.
Classes: System decision making
Tasks: search
Environment
This section contains where the game will be taking place.
Classes: Map
Tasks: modify environment
Enemy
This section contains information about the games obstacles for the user to confront with.
Classes: Behavior, Life, & Enemy type
Tasks: modify life
A proposed schedule for the completion of the project is divided into weeks starting from initiation as of the first class. With saying that every week we discus the project with the teacher in class and lab time. Also there can be small group meetings with team members any time when requested.
Week 1 : discuss project
Week 2 : go over project details
Week 3: get organized " who is doing what "
Week 4: work on project
Week 5: present achieved state of work done so far for comments from class
Week 6: work on project
Week 7: work on project
Week 8: present achieved state of work done so far for pointers from class
Week N: work on project with previous steps such as week 8 along the way till the final product.
System user case Tasks:
Name: Start game
Summary: User selects new game in game options
Steps: Actor System
User starts program The system then prompts game options
User the selects game type
User then selects new game The System then initializes game
Name: Modify Life
Summary: User plays game and receives damage
Steps: Actor System
User starts game The system then loads scenario
User confronts enemy The system engages in action against user
The System then hits user
User receives damage The system changes user life stat
Name: Modify Ammo
Summary: User plays game and uses weapons
Steps: Actor System
User starts game The system sets ammo full
User shoots weapon The system changes ammo stats
User has less ammo System keeps track of ammo
Name: Search
Summary: User plays game
Steps: Actor System
User starts game The system loads enemy
User explores map The enemy searches for user in map
User confronts enemy The System found user
Name: Modify Environment
Summary: User plays game and interacts with the map environment
Steps: Actor System
User starts game The system then loads map
User shoots wall The system recognizes input on wall
The System then changes settings on wall to create a hole
User sees new hole on wall
User case Diagrams:
Game

In Game Diagram
