Analysis Object Models

For each of the following applications:

1. Create a use case diagram

2. Create an analysis object model

Forum

A forum is a web application that contains members and discussions. A discussion has a subject and contains messages. Each message has an author and content.

Visitors to the forum can join to become members. Members can create discussions, browse messages, and post messages to existing discussions. When a message is posted to a discussion, all members receive an email notification. A member has a name and an email address.

A moderator is a member who can remove other members from the forum.

Calendar

A calendar web application allows collaborators to view years, months, weeks, and days. Collaborators may create events and schedule them for a particular day. An event has a description, start time, end time, and may or may not be recurring. A time has an hour and a minute. Three days before an event the calendar application automatically sends an email reminder to all collaborators. 

Ticket Broker

A ticket broker web application (like Live Nation) allows visitors to browse and search for events. An event has a description, date, time, and venue. A venue has an address. A venue has sections. A section has seats and a price per seat. A seat has a row number and a seat number.

Visitors can also purchase tickets to events. A ticket has an event, a price, a seat, and a hidden identification number.

MP3 Player

Users can upload MP3 files (MP3s) and playlists to an MP3 player. A playlist has a name and a list of MP3s. An MP3 has a name, artists, composers, and a genre. Users can browse MP3s by name, artist, composer, or genre. Users can browse playlists by name.

Users can play, pause, and skip selected MP3 files, random MP3s, or all MP3s on a song list.

Users can turn an MP3 player on and off.

Online Banking

A bank has a unique routing transfer number (RTN) and a list of account holders.

An account holder has a name, a password, and owns one or more accounts.

An account has a name, balance (of type Money), number, owner, bank, and list of transactions called a statement.

A money object encapsulates an integer number of pennies.

A transaction has a date and an amount. A negative amount represents money withdrawn.

An online account management system allows account holders to login, logout, create and close real and proxy accounts, view account statements, transfer funds between real accounts, and transfer funds from real accounts to proxy accounts.

Every proxy account is associated with a real account owned by another account holder possibly at another bank. Transferring funs into a proxy account causes funds to be transferred to the associated real account. However, the balance of the proxy account is the total amount transferred into it.

Halo

In the first-person shooter game Halo, a player uses a joystick to turn and move his avatar (Master Chief) through a network of hostile locations. Every location has one or more neighboring locations. The game is completed when the avatar exits the final location. The player views his avatar's current location through a virtual camera mounted above and behind the avatar.

Locations contain prizes and features. Types of prizes include vehicles, weapons, armor, ammunition, and medicine. The player can use the joystick to direct Master Chief to select and acquire a nearby prize. Types of features include doors (to other locations), bridges, paths, ladders, trees, rivers, walls, and rocks.

Unfortunately, locations also contain enemies who perpetually attempt to kill Master Chief until they are killed or are successful. Fortunately, the player can use the joystick to direct Master Chief to select one of his acquired weapons, aim it, and—if it has ammunition-- fire it. If an  enemy is hit, it is killed.

A player can save his avatar's progress. When the avatar is killed, the player can restart the game from the last saved point of progress.

Sudoku Master

A Sudoku puzzle is a 9x9 array of cells. The array can also be viewed as a 3x3 array of 3x3 sub-arrays called boxes. Each cell has eight row neighbors (cells occupying the same row), eight column neighbors (cells occupying the same column), and eight box neighbors (cells occupying the same box).

Each cell has an integer value (1 <= cell.value <= 9). If two cells are neighbors (row, column, or box), then their values must be different.

Cells are hidden or exposed. The value of an exposed cell is revealed from the start of the game. The value of a hidden cell must be deduced by the player. The puzzle is solved when the player has correctly deduced the values of all hidden cells.

Sudoku Master is an application that allows players to generate new Sudoku puzzles. A puzzle can also be written to a file or read from a file. Players can enter and erase guesses. (A guess is a possible value of a hidden cell.) Players can ask the Sudoku Master to check their guesses (determine if all are correct). Players can also ask for hints. (A hint reveals the value of a random hidden cell.)

Debugger

A program is a collection of instructions and variables. A variable has a name and a value. Executing an instruction updates one or more variables.

A debugger lets a programmer view a program through a debugger window.

Using this window the programmer can set or clear breakpoints, inspect variables, and execute the program one instruction at a time or until the next breakpoint.

Underground

Underground is a racing game. It includes a list of vehicles, a list of vehicle enhancements, a list of racers, and a list of tracks.

The performance ability of a vehicle is a combination of three attributes: top speed, acceleration, and cornering ability. These attributes can be improved by purchasing enhancements for the vehicle such as high-performance engines, transmissions, and tires.

Tacks are composed of turns, straight-aways, and obstructions. Tracks have a starting line and a finish line.

A racer owns a car. Racer attributes include name, prize money, and skill level. Items on the vehicle, track, and enhancement lists may only be available to racers who have a sufficient skill level.

During the sign-in phase a player has an option of creating a new racer or selecting an existing racer. Next, the player has the option of trading his racer's car for a new car, purchasing enhancements for his racer's car (using any prize money), and selecting a track. Once the track is selected, a race begins.

A race has three phases: start, timed, and finish. At the start of the race several competitors are pitted against the racer at the start line of the selected track. The skill levels of the competitors are chosen so that the skill level of the racer is equal to their average. Also, the performance abilities of the competitors' cars are chosen so that the performance ability of the racer's car is equal to their average.

The timed phase begins after a short countdown. The player control's the racer's car with a joystick that allows him to turn, accelerate, and brake. If the racer goes off the track or crashes into an obstruction, he is magically returned to the track, but all of this burns time off of the clock. When the racer's vehicle crosses the finish line, his skill level and prize money are updated according to the time, skill of the competitors beaten, and number of crashes.

After the race, the game returns to the sign-in phase.

Email Client

Admission

Browser

MineSweeper

Hospital

SJSU