Access-patterns template
Collect and document information about the access patterns for the use case by using the following fields:
Field | Description |
|---|---|
Access pattern | Provide a name for the access pattern. |
Description | Provide a more detailed description of the access pattern. |
Priority | Define a priority for the access pattern (high, medium, or low). This defines the most relevant access patterns for the application. |
Read or write | Is it a read access or write access pattern? |
Type | Does the pattern access a single item, multiple items, or all items? |
Key attribute | What is the key attribute used to access data? |
Filter | Does the access pattern require any filter? |
Sort | Does the result require any sorting? |
Template
Access pattern | Description | Priority | Read or write | Type (single item, multiple items, or all) | Key attribute | Filters | Result ordering |
|---|---|---|---|---|---|---|---|
Create user profile | User creates a new profile. | High | Write | Single item | Username | N/A | N/A |
Update user profile | User updates their profile. | Medium | Write | Single item | Username | Username = current user | N/A |
Get user profile | User reviews their profile. | High | Read | Single item | Username | Username = current user | N/A |
Create a game | User creates a new game. | High | Write | Single item | GameID | N/A | N/A |
Find open games | User searches for open games. Search results are sorted by start timestamp in descending order. | High | Read | Multiple items |
| GameStatus = open | Start timestamp descendent |
Find open games by map | User searches for open games by using a specific map sorted by start timestamp in descending order. | Medium | Read | Multiple items |
| GameStatus = open and Map = XYZ | Start timestamp descendent |
View game | User reviews the details of a game. | High | Read | Single item | GameID | N/A | N/A |
View users in a game | User gets a list of all the users in a game. | Medium | Read | Multiple items |
| GameID = XYZ | N/A |
Join user to a game | User joins an open game. | High | Write | Single item | GameID and Username | GameStatus = open | N/A |
Start a game | User starts a new game. | High | Write | Single item | GameID | N/A | N/A |
Update game for user | Update user position in the game. | Medium | Write | Single item | GameID and Username | N/A | N/A |
Update game | Game ends; update statistics. | Medium | Write | Single item | GameID | N/A | N/A |
Find all past games for a user | List all games that a user played ordered by the start timestamp of the game. | Low | Read | Multiple items | Username and GameID | Username = current user | Start timestamp |
Export data for data analytics | Development team will run a batch job to export data to Amazon S3. | Low | Read | All | N/A | N/A | N/A |