Dashboard > Struts University > Home > MailReader > MailReader Use Cases > CRUD
Added by Ted Husted, last edited by Ted Husted on Dec 06, 2007  (view change)


The MailReader application will manage several objects using standard Create / Read / Update / Delete operations.


Marvin creates a new message to store in the database. He also creates and updates a message, and creates and deletes a message. Marvin also tries storing a message that is linked to another message, to see if automatic cascading works as it should.

To prove to Ford that all these features work, Marvin creates a JUnit test that exercises the CRUD operations automatically.


Goal Create, retrieve, update, and delete entity objects.
Level Subfunction (User Goal, Summary, Subfunction)
Trigger System needs to invoke a CRUD operation.
Primary Actor System

Main Success Scenario (MSS)

Step Action
1 System creates and persists new Message instance
2 Database stores Message entity
3 System reads and changes Message entity by reference to its ID
4 Database stores updated Message entity
5 System creates and persistence a new Message instance containing a new "next" Message instance
6 Database stores both Message entities
7 System reads and removes Message entity by reference to is ID
8 Database deletes Message entity


Step Branching Action
1a Database object not available
.1 System logs and presents error condition
3a, 7a Entity for ID doesn't exist
.1 Manager returns null to indicate entity is not found

Preconditions and Guarantees

Preconditions Database service is running at startup

Site running on a free Atlassian Confluence Open Source Project License granted to OSS. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.5 Build:#811 Jul 25, 2007) - Bug/feature request - Contact Administrators