the gordian atlas

39
The Gordian Atlas Elaboration Phase #4

Upload: chelsey

Post on 22-Feb-2016

74 views

Category:

Documents


0 download

DESCRIPTION

The Gordian Atlas. Elaboration Phase #4. Vision. Unchanged since last iteration. Scope. Unchanged since last iteration. Domain Model. Unchanged since last iteration. Data Model / Schema. Unchanged since last iteration. Use Cases this iteration. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Gordian Atlas

The Gordian Atlas

Elaboration Phase #4

Page 2: The Gordian Atlas

Vision

Unchanged since last iteration

Page 3: The Gordian Atlas

Scope

Unchanged since last iteration

Page 4: The Gordian Atlas

Domain Model

Unchanged since last iteration

Page 5: The Gordian Atlas

Data Model / Schema

Unchanged since last iteration

Page 6: The Gordian Atlas

Use Cases this iteration

Over the course of iteration 4, the following use cases have been implemented using Code Igniter models

• View Wiki page• Add location• View the Atlas• Edit Location• Edit Event• Delete Location• Delete Event

Page 7: The Gordian Atlas

View Wiki PageName View a Wiki Page [VIEWWIKI01]

Scope Central to user experience

Level User Goal

Primary Actor Timeline Viewer

Stakeholders and Interests n/a

Preconditions1.

A user is already successfully within the “View Timeline” Use Case.

Postconditions n/a

Main Success Scenario1.

User clicks on a hot element on either the timeline, map or existing wiki page that is being displayed.

2. The system locates the relevant resource in the database3. The system prepares an appropriately templated wiki page and

displays it to the user.

Extensions2.

If the system is unable to locate the data...1. An error message is produced in the wikipage pane

indiciating an error,with further instructions.3. If the system cannot present the data.

1. Behave as described in 2a.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Frequently per visit.

Miscellaneous

Page 8: The Gordian Atlas

View Wiki Page(SSD)

Page 9: The Gordian Atlas

View Wiki Page(SD)

Page 10: The Gordian Atlas

Add LocationName View the Gordian Atlas [ADDLOC01]

Scope Primary Application Function

Level User Goal

Primary Actor Timeline Editor

Stakeholders and Interests n/a

Preconditions1.

A timeline has been setup for editing2. The user has permissions to alter the timeline

Postconditions1.

The new location appears on the map2. A Wiki Page has been setup for the location3. All appropriate data linkages have been made in the

database.

Main Success Scenario1.

User clicks to add a location2. A UI is presented to input essential information.3. The system adds the entry into its database.4. The location shows up as an interactive item on the

map UI

Page 11: The Gordian Atlas

Add LocationExtensions

1.

If the user isn’t an editor …1. The process is complete, as no UI is offered.

2. If the UI doesn’t appear …1. Javascript is likely disabled, or likely erroring

out while processing. The user will be unable to take further action.

3. If the information is duplicated or otherwise present...

1. An error notification appears upon attempt at input and the UI simply returns to step 2.

2. If an error occurs while attempting to write database entries, a message presents itself to the end user indicating so, and a site administrator will be notified via system scripts.

4. If the new location doesn’t appear...1. The browser window may need to be

reloaded to attempt to pull JSON again.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Frequently per visit.

Miscellaneous

Page 12: The Gordian Atlas

Add Location(SSD)

Page 13: The Gordian Atlas

Add Location(SD)

Page 14: The Gordian Atlas

View TimelineName View the Gordian Atlas [VIEW01]

Scope Primary Application Function

Level User Goal

Primary Actor Timeline Viewer

Stakeholders and Interests n/a

Preconditions4.

The Setup Gordian Atlas Use Case has successfully occured.5. The application is not in maintenance mode.

PostconditionsMain Success Scenario

5.

User either directly accesses timeline screen, or is routed to it via raw domain URL.

6. Main UI is provided to the user7. Asychronously …

1. The map data is provided to the user.2. The timeline data is provided to the user.3. The textual data is provided to the user.

Extensions5.

If at any point Javascript fails to load data, each individual UI component is responsible for producing a meaningful error message for the user.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Frequently per visit.

Miscellaneous

Page 15: The Gordian Atlas

View Timeline (SSD)

Page 16: The Gordian Atlas

View Timeline (SD)

Page 17: The Gordian Atlas

Edit LocationName Edit Map Location [EDTLOC01]

Scope Central to user experience

Level User Goal

Primary Actor Timeline Editor

Stakeholders and Interests Timeline Viewer, Owner

Preconditions1.

User is logged in.2. User has successfully completed the “View Wiki

Page” Use Case.

Postconditions1.

Database alterations have been successfully made to the Location record.

2. An additional revision has been made to the wiki page, if necessary.

3. The main user interface is updated with information, accordingly.

Main Success Scenario1.

User Selects “Edit Location” Link2. System affords editing UI, with data prepopulated.3. User alters information as they deem necessary

and submits it.4. System updates location and supporting wiki page

as necessary.5. System affords updated information.

Page 18: The Gordian Atlas

Edit LocationExtensions

2.

If the data isn’t prepopulated, the user may opt to enter it manually or attempt to reload the data again.4.

If the system fails to update the data, the user is alerted and asked to attempt again.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Ranging from infrequently to often per visit.

Miscellaneous

Page 19: The Gordian Atlas

Edit Location (SSD)

Page 20: The Gordian Atlas

Edit Location (SD)

Page 21: The Gordian Atlas

Edit Timeline EventName Edit Timeline Event [EDTEVT01]

Scope Central to user experience

Level User Goal

Primary Actor Timeline Editor

Stakeholders and Interests Timeline Viewer, Owner

Preconditions1.

User is logged in.2. User has successfully completed the “View Wiki

Page” Use Case.

Postconditions1.

Database alterations have been successfully made to the Location record.

2. An additional revision has been made to the wiki page, if necessary.

3. The main user interface is updated with information, accordingly.

Main Success Scenario1.

User Selects “Edit Event” Link2. System affords editing UI, with data prepopulated.3. User alters information as they deem necessary

and submits it.4. System updates event and supporting wiki page as

necessary.5. System affords updated information.

Page 22: The Gordian Atlas

Edit Timeline EventExtensions

3.

If the data isn’t prepopulated, the user may opt to enter it manually or attempt to reload the data again.5.

If the system fails to update the data, the user is alerted and asked to attempt again.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Ranging from infrequently to often per visit.

Miscellaneous

Page 23: The Gordian Atlas

Edit Timeline Event (SSD)

Page 24: The Gordian Atlas

Edit Timeline Event (SD)

Page 25: The Gordian Atlas

Remove Map Location Name Remove Map Location [DELLOC01]

Scope Central to user experience

Level User Goal

Primary Actor Timeline Editor

Stakeholders and Interests Timeline Viewer, Owner

Preconditions1.

A user is already successfully within the “View Timeline” Use Case.

2. Further, they have already successfully completed the “View Wiki” Use Case for the element desired to be deleted.

Postconditions n/a

Main Success Scenario1.

User clicks the “Remove Location” link on the Wiki Page.

2. System affords confirmation message.3. Upon confirmation, the element is removed

from the Timeline.4. Affected UI elements are redrawn minus the

deleted information.

Page 26: The Gordian Atlas

Remove Map LocationExtensions

2.

If a confirmation isn’t afforded ...

1. Likely javascript has been disabled from the client computer somewhere following preconditions and the use case - this is HIGHLY anomalous behavior.

3. Regardless, the link attempt the element without confirmation via direct access of the URL.

4. The system will mutely deny the request as it was not made via AJAX.3.

If the system cannot remove the record, the WikiPage shouldn’t have drawn to begin with, violating a precondition of the use case.

4. If the record isn’t removed successfully, it will remain on the interface, and an administrator will need to be contacted to validate the integrity of the database.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Ranging from infrequently to often per visit.

Miscellaneous

Page 27: The Gordian Atlas

Remove Map Location (SSD)

Page 28: The Gordian Atlas

Remove Map Location (SD)

Page 29: The Gordian Atlas

Remove Timeline EventName Remove Timeline Event [DELEVT01]

Scope Central to user experience

Level User Goal

Primary Actor Timeline Editor

Stakeholders and Interests Timeline Viewer, Owner

Preconditions1.

A user is already successfully within the “View Timeline” Use Case.

2. Further, they have already successfully completed the “View Wiki” Use Case for the element desired to be deleted.

Postconditions n/a

Main Success Scenario1.

User clicks the “Remove Event” link on the Wiki Page.

2. System affords confirmation message.3. Upon confirmation, the element is removed from

the Timeline.4. Affected UI elements are redrawn minus the

deleted information.

Page 30: The Gordian Atlas

Remove Timeline EventExtensions

2.

If a confirmation isn’t afforded ...

1. Likely javascript has been disabled from the client computer somewhere following preconditions and the use case - this is HIGHLY anomalous behavior.

1. Regardless, the link attempt the element without confirmation via direct access of the URL.

2. The system will mutely deny the request as it was not made via AJAX.3.

If the system cannot remove the record, the WikiPage shouldn’t have drawn to begin with, violating a precondition of the use case.

4. If the record isn’t removed successfully, it will remain on the interface, and an administrator will need to be contacted to validate the integrity of the database.

Special Requirements User must have a browser capable of handling the jQuery framework version 1.7+.

Variations in Technology and Data Requires the use of JSON / AJAX since release 1.

Frequency of Occurrence Ranging from infrequently to often per visit.

Miscellaneous

Page 31: The Gordian Atlas

Remove Timeline Event (SSD)

Page 32: The Gordian Atlas

Remove Timeline Event (SD)

Page 33: The Gordian Atlas

Test Cases

Click here to view full test case information

Test Case ID Test Case Name Pre-Conditions Post-Conditions

T-SETUP01 Verify Setup Routine Runs Correctly

Web server connected to a database; Software has been correctly deployed to a web accessible directory; Core configuration files of the library have been setup beforehand

The system is correctly configured with an initial timeline that can be edited by further users; System administrator has access to administrative components of the site; Aforementioned user is routed to the main view page

T-VIEW01 Successfully view the timelineThe atlas is installed and not set to maintenance mode n/a

T-MAINT01 Successfully access the maintenance screen

The atlas is installed and propery configured and the admin user is logged in and able to access the maintenance toggle UI

The atlas is made unavailable for non admin users, database interaction via the website has been disabled leaving the application stack safe for service

T-UREG01 User RegistrationThe atlas is installed and not set to maintenance mode

The new user is registered and has all needed access

T-LOGUA01 Login a User accountThe atlas is installed and not set to maintenance mode The user is logged in to the system

T-LOGUA02 Log out of a user account

The atlas is installed and not set to maintenance mode, and the user is logged in The user is logged out of the system

T-EDIT01 Edit an existing user account

The atlas is installed and not set to maintenance mode and the user is logged in

The users information is changed in the database

Page 34: The Gordian Atlas

Test Cases Continued

Click here to view full test case information

Test Case ID Test Case Name Pre-Conditions Post-ConditionsT-EDTEVT01 Edit a timeline element The atlas is installed and not set to

maintenance mode. The user is logged in and has edit access for the timeline

The new information is saved in the database and displayed properly on the timeline.

T-ADDLOC01 Create a new location A timeline has been set up for editing and the user has permission to alter the timeline

An appropriately titled Wikipage is generated in addition to the main object.  The new location appears on the map, and all appropriate data linkages have been made in the database

T-EDTLOC01 Edit a location The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline

The new information is saved in the database and displayed properly on the timeline.

Create Personality An appropriately titled Wikipage is generated in addition to the main object.

Edit a personality

Create Concept Page An appropriately titled Wikipage is generated in addition to the main object.

T-EDTEVT01 Edit a timeline element The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline

The new information is saved in the database and displayed properly on the timeline.

Page 35: The Gordian Atlas

Test Cases Continued

Click here to view full test case information

Test Case ID Test Case Name Pre-Conditions Post-ConditionsEdit Concept Page

T-PAYPAL01 Donate to PayPal none user has donated to the website

T-DELLOC01 Delete Location from timeline The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline

The location is no longer displayed on the map

Delete Personality from timeline

T-DELEVT01 Delete Event from timeline The atlas is installed and not set to maintenance mode. The user is logged in and has edit access for the timeline

The event is no longer displayed on the timeline

Delete Concept from timeline

T-VIEWWIKI01 View a Wiki Page The atals is installed and not set to maintenance mode

The user can view the appropriate Wiki page

Page 36: The Gordian Atlas

Domain RulesRule ID Description Source Relevance

REQ_LATLNGAll locations to be stored as (lat,lng) touples Original Project

The Google Maps API makes use of this format, so the Gordian Atlas will as well.

REQ_UTC

All dates and times for the initial release will be stored as UTC / Gregorian Format Original Project

The SMILE Timeline Widget best handles this format. Until localization is heavily considered or another more desirable widget emerges, we will simply bow to the requirement.

GROUP_REQ_OWNER

A group requires a registered user as an Owner. Henceforth, that user is a "Timeline Owner" for that specific Group. Elaboration 2

In an effort to gracefully handle ownership and privacy concerns, groups were introduced. The result is Timelines are owned by Groups, but the Groups are henceforth owned by the initial "Timeline Creator"

VIEW_REQ_GROUPS

Views (at least one) belong to a Group and consist of at least one timeline belonging to that group. Elaboration 2

Timelines are queried by views, which are owned by groups. Initially each Group has one Timeline and View which work as a singular entity. Further timelines and custom views may be created later.

USER_REQ_GROUPSA registered user must belong to at least one group. Elaboration 2

Due to GROUP_PRIVACY, if a user is orphaned from all groups, they are effectively banned from viewing any information on an installed atlas.

TIMELINE_REQ_GROUP

Although created by a User, Timelines are owned by a Group object (which in turn is owned by the creating user) Elaboration 2

This allows for timelines to be owned by many users (Multiple Owners in one group) or easily reassign ownership for negligent or problematic end users.

GROUP_PRIVACY

ALL Groups (and consequentially, subsidiary components such as views and timelines) are private Elaboration 2

A User must automatically join any public groups, or are effectively banned from the system.

UUID_EVENT_TIME_TITLEAn event must be uniquely identifiable by it's date and title Elaboration 4

It will be nigh on impossible to distinguish between two events that occured on the same date with the same title. For sanity's sake, the system assumes there are no such collisions.

Page 37: The Gordian Atlas

Software Architecture

Most of the iteration was spent constructing the website. There is nothing new for software architecture.

Page 38: The Gordian Atlas

Glossary

No changes

Most current version always available via the project wiki.

Page 39: The Gordian Atlas

Discussion

Thank you for your time. If you have any questions, please feel free to

ask.

Or see the project wiki and repository for additional information.

The currently developed Gordian Atlas is live at gordianatlas.com