the software is a thing rather than an action about the game itself rather than the software the software is a thing rather than an action

Project 2 – Elements Project 2 – Elements Single sentence summary – brief overview of the software. User goals – what the user sits down with the s...
2 downloads 0 Views 72KB Size
Project 2 – Elements

Project 2 – Elements

Single sentence summary – brief overview of the software.

User goals – what the user sits down with the software to do.

• Play the strategy board “Pente” game with friends or against AI. • Turn based strategic game where two players try to get five stones in a row or capture five pairs of the opponent's stones. • The game of Pente. • To play the game “Hedgehogs in a Hurry”. • A computer version of the board game Hedgehogs in a Hurry.

the software is a thing rather than an action

• Play a game of “Hedgehogs in a Hurry”. • Win the game by getting 3 hedgehogs to the right side of the board in the goal column first.

about the game itself rather than the software

the software is a thing rather than an action

• Finish each turn before the time limit.

7

CPSC 329: Software Development • Fall 2016

• Capture the opponent's stones. • Place your stones in a row, or block a fellow player using your stones. CPSC 329: Software Development • Fall 2016

9

User goals – what the user sits down with the software to do.

• Interactive game board to play on. not things the • Possible opponents may be other player or user does computer. more about • Win the game by connecting 5 stones in a row game rules – the or by capturing 5 pairs of opponent's stones. narrow user wants to • Play a game of Pente with a friend/computer.

up to the user – the software has no role in this (not something the user uses the software to do)

Project 2 – Elements

User goals – what the user sits down with the software to do.

a goal – vague, but can spur thinking about what functionality would contribute to “fun”

narrow – the user wants to win, but that might not happen

CPSC 329: Software Development • Fall 2016

Project 2 – Elements

• Have fun.

more about game rules

• Play the game easily using a GUI. •

“GUI” is functionality rather than something the user sits down to do

• Be able to play a complete game of Hedgehogs in a Hurry with the chosen number of players (2-6).

win, but that might not happen subgoals – not what the user sits down to do, but things done as part of bigger goals

“easily” is vague – and would you not want that?

• Have an understanding of the rules and legal moves in the game, as aided by the simulation. 8

CPSC 329: Software Development • Fall 2016

“aided by the simulation” is functionality rather than something the user sits down to do 10

Project 2 – Elements User goals – what the user sits down with the software to do. • The user wants to be able to launch and start a new game quickly. launch is a subgoal • The user would also like to be able to play the game efficiently without errors, stuttering, or long wait times.

Project 2 – Elements “quickly”, “efficiently”, “without errors”, “without long wait times” - do you ever not want these? considerations that go into design of the UI rather than being user goals more specific versions are requirements – constraints on how things are realized

• The user would also like to pause the game in case of an emergency or unexpected event. more of a scenario variation – not really

connect to user goals – features should serve goals

• Two different colored stones that don't conflict with grid color.

not functionality (requirement with respect to display)

• Visual display; grid displaying current player's turn and status of board.

what exactly is displayed could go into requirements

• Pause, reset the match, leave the match, forfeit the match; keep match points • Display current amount of captured enemy pairs.

something you sit down with the software to do (though is there really anything to pause? what, specifically, might “pausing” mean?) CPSC 329: Software Development • Fall 2016

Features – functionality the software needs in order for the user to accomplish their goals.

11

13

CPSC 329: Software Development • Fall 2016

Project 2 – Elements

Project 2 – Elements

Features – functionality the software needs in order for the user to accomplish their goals.

Features – functionality the software needs in order for the user to accomplish their goals.

– tied to specific goals – cover all functionality, not just extras

• Share the results of your victory with your friends.

– can be broad / don't omit broad features • features and subfeatures

• Visual display of the game board. • Online access or two players on one screen. • Tips and tricks / guide / FAQ.

CPSC 329: Software Development • Fall 2016

connect to user goals – features should serve goals

12

CPSC 329: Software Development • Fall 2016

don't be too brief - “play against opponent online”, “provide game rules and strategy advice” precision of language – it's always one screen; the difference is whether the players are using the same computer or not 14

Project 2 – Elements

Project 2 – Elements

Features – functionality the software needs in order for the user to accomplish their goals. • Visually display Pente.

Features – functionality the software needs in order for the user to accomplish their goals.

connect to user goals – features should serve goals

precision of language – does this mean GUI? (say something – unless you are distinguishing visual from audio, tactile, etc, “visual” doesn't say anything as a text interface is also “visual”)

• GUI to represent the board game to the users. • The ability to change the number of players or play against A.I.

• Place, capture, and rules for pieces on the board. not a complete thought, and different kinds of things

• Players cannot move out of turn.

– placing a piece is a user interaction that needs to be handled, capturing is a situation that the system detects and responds to, and does “rules” refer to a display of information or enforcement of legal play?

• Every hedgehog piece is able to move according to legal moves.

15

CPSC 329: Software Development • Fall 2016

Project 2 – Elements Features – functionality the software needs in order for the user to accomplish their goals.

connect to user goals – features should serve goals

features – human opponents, computer opponents, user can select number and type of opponents

feature – carry out a game (i.e. support the interactions that allow the player to make moves and the logic to manage game play) requirement – players cannot play out of turn or make an illegal move

CPSC 329: Software Development • Fall 2016

Project 2 – Elements connect to user Features – functionality the software goals – features needs in order for the user to accomplish should serve goals their goals. precision of language – a way for the user to roll the

connect to user goals – features should serve goals

• Ability to roll die.

• Play with a friend. • Play with a computer.

die? or that the system can generate a random number? more a subfeature of “carry out a game” may not be worth listing separately unless there's something about it e.g. a specific requirement

• Show what part of whose turn it is at all times / also game state. • Carry out a simulation of the game. • When 3 out of 4 of a given player's hedgehogs are at the end of the board that player wins. CPSC 329: Software Development • Fall 2016

17

16

CPSC 329: Software Development • Fall 2016

language – the functionality is “a display which shows ...” language – is “simulation” really what is meant? game rule rather than a feature

18

Project 2 – Elements

Project 2 – Elements

Features – functionality the software needs in order for the user to accomplish their goals.

connect to user goals – features should serve goals

Requirements – constraints on particular features.

• The first user can select their color, then the order rotates clockwise until everyone has their color selected.

process rather than functionality – the functionality is “players can select their colors”

– tied to specific features – what are the answers to decisions that will need to be made about the realization of functionality • (but not implementation specifics unless it has to be that way)

• Restart feature allowing the user to again select their choice of players or A.I. what does this mean? play a new game with the same options? choose new options for a new game? how is “restart” different from just starting a new game?

19

CPSC 329: Software Development • Fall 2016

Project 2 – Elements Features – functionality the software needs in order for the user to accomplish their goals.

21

Project 2 – Elements Scenarios – step-by-step walk-through of the user interacting with the system to accomplish a task.

connect to user goals – features should serve goals

• Optional soundtrack on/off button with a slider for volume.

who makes the decision about “optional”?

• Optional Skip Sidestep button, the user has the option to not move any pieces when they have no pieces in the numbered column, this button will skip to the next player's turn.

functionality of sound controls and ability to end a turn early is good, but avoid specific implementation choices like “button” or “slider”

CPSC 329: Software Development • Fall 2016

CPSC 329: Software Development • Fall 2016

20

• One of the human players wins – capture 5 pairs or connect 5 of the same colored stone first, winning player is given match point. • AI wins. • Tie – all grid spots are covered, neither player is awarded match point. • User tries to place a stone off of the grid, does not allow placement off the grid. • User tries to go when it is not their turn, prohibited from moving. CPSC 329: Software Development • Fall 2016

this is a list of different situations, not a scenario

22

Project 2 – Elements

Project 2 – Elements

Scenarios – step-by-step walk-through of the user interacting with the system to accomplish a task.

Scenarios – step-by-step walk-through of the user interacting with the system to accomplish a task.

• A user starts a game by starting a new game, could be a little less choosing a color, and places stones by clicking on general intersections of a 19x19 grid. • The game continues alternating turns between black and white, where they each put one stone each turn. • A capture happens when a player places their incorporate into the stones on the outside of a pair of their opponent's walk-through rather than expressing stones so their opponent's stones disappear. conditions - “player • A player wins by placing 5 pieces in a row or 1 places a stone capturing 5 pairs of the opponent's stones. completing a • A stalemate or draw when no more moves can be capture of a pair of made and no winner has been decided also ends the opponent's stones; the captured the game. stones disappear

only covers the end • A tie (rare because of large board and capturing) game parts of the – Option to reset, close walk-through more descriptive – Game informs of tie, doesn't close or crash than a walk-through • Winning – Player has aligned 5 or more pieces / captured 5+ pairs of the opponent's stones – Game informs players who the victor is – Option to reset, close • Quitting before finishing a game should not be questions about – Game is reset on close in – Game is saved and reload for next available time? functionality scenarios (or

CPSC 329: Software Development • Fall 2016

from the board”

23

CPSC 329: Software Development • Fall 2016

Project 2 – Elements

Project 2 – Elements

Scenarios – step-by-step walk-through of the user interacting with the system to accomplish a task.

Scenarios – step-by-step walk-through of the user interacting with the system to accomplish a task.





Typically a user would launch this program from a shortcut on their desktop and a GUI would launch exposing two options: – Start a new game. • Launches a new game, allowing you to select the number of players (AI or real time local players). – Settings. • You have the options here to change visual and audio settings – Audio: Music volume, and on/off switch, clicking sounds for each move can be modified also – Video: Full screen options, and anti-aliasing options for quality. Possible errors: – Selecting only one player wouldn't allow the game to start since 2 players are required.

CPSC 329: Software Development • Fall 2016



descriptive rather than a specific walkthrough

variations include starting a new game when the program is already running 24

For the start of the game – When it is a player's turn: • If there are empty places in the start column the player must place a piece in any open places within that column. • If all places in the start column are taken, either: – Place a piece on a row such that all the rows will have a height of plus or minus one of all other rows. – If all of the lowest stacks contain one of a player's pieces, that player may put their piece on any stack. • Playing the game – Moving pieces • A player can move one of their pieces on the top of a stack to the track up or down 1 space within that pieces column OR the player can choose not to move their piece. • Then the player must move one of their pieces from the row given by the die one place to the right. • For winning CPSC 329: Software Development • Fall 2016 – One player wins if they have 3 out of 4 of their pieces in the goal

completed specifications)

25

a summary of the rules rather than a walk-through

26

Project 2 – Elements Scenarios – step-by-step walk-through of the user interacting with the system to accomplish a task. • • • • • • • •

User is playing against AI and they get 3 hedgehogs to the right side of the board first. User is playing against AI and they get 3 hedgehogs to the right side of the board last. User is playing against AI and they don't get 3 hedgehogs to the right side of the board first or last. User is playing against 2 other humans over the internet, two of the players have set up their pieces to start a game, but the 3 rd person is AFK. Three users join a game over the internet and two of them try to pick the same color. User tries to move one of his hedgehogs diagonally. User quits the game before the game has finished. User tries to move when it isn't their turn.

CPSC 329: Software Development • Fall 2016

this is a listing of many possible variations and errors, but lacks the typical path and also what happens in each case avoid slang

27

Suggest Documents