Member Directory:2011 Spring:Use Cases

=Member Sign Up=


 * Name: Member Sign Up
 * Description: The web page prospective NHHTC members will fill out to gain membership.
 * Types of users: Member (or Pending Member ?)
 * Goals: To allow members to sign up and enter organization sign-up data.
 * Entry conditions:
 * 1) Member is presented with the Member Sign Up user form.
 * Exit conditions:
 * 1) Pending member data has been stored in the database. Member is presented with a page on the NHHTC web site.
 * Steps:
 * 1) Member enters all required data in the fields presented on the Member Sign Up user form.
 * 2) The system stores the data in the database and presents Member with acknowledgment form.
 * 3) Member confirms.
 * 4) The system displays page on the NHHTC web site.

=Profile Update=


 * Name: Profile Update
 * Description: A Member is given the opportunity to describe, in 50 words or less, his/her organization. This description will then display on the NHHTC.org website as part of a revolving snapshot of the types of institutions NHHTC serves.
 * Types of users: Member
 * Goals: To allow members the opportunity to describe their organization.
 * Entry conditions:
 * 1) Member is presented with the Member Profile Update form.
 * Exit conditions:
 * 1) Pending member profile data has been stored in the database.
 * Steps:
 * 1) Member describes organization in 50 words or less in the text box presented on the Profile Update form.
 * 2) The system stores the data in the database after Member submits form.  The system presents a preview of the description to Member and waits for confirmation.
 * 3) Member confirms.
 * 4) The system displays page on the NHHTC web site.  (Should I state the specific page the Member will now be at?)

=Manage Members=


 * Name: Manage Members
 * Description: The front end application that will enable an admin assistant to have administrative privileges and functionality for the purpose of adding, updating/editing, deleting, confirming or denying pending members, and confirming or denying pending member profile updates, essentially controlling the content of the data being inserted into the MySQL database
 * Types of users: Admin assistant
 * Goals: Enabling admin assistant ability for management of the content populating the MySQL database as timely and accurately as possible.
 * Entry conditions:
 * 1) Admin assistant logs into the web page application with sufficient credentials.
 * 2) Admin assistant is presented with the ManageMembers user view.
 * Exit conditions:
 * 1) Member data has been managed successfully.
 * Steps:
 * 1) Admin assistant inputs search criteria (Last  name, First Name, Location - city/town attribute add?, contact?, or business type) (use case Search Member), add a new member (Add Member use case), confirm/deny pending members (use case Pending New Members), or confirm/deny member profile updates (use case Pending Updates
 * 2) System handles request
 * 3) Admin assistant can then choose to edit (Update Member use case), delete (Delete Member use case), or view (use case View Members) member data.
 * 4) The system executes the selected function.
 * 5) Admin assistant exits the system.
 * 6) The system terminates the session.

=Add Member=
 * Name: Add Member
 * Description: A UI designed to enable the user to add member data into the MySQL database.
 * Types of users: Admin assistant
 * Goals: Successful data integration of new member data into the database.
 * Entry conditions:
 * 1) Admin assistant is presented with Add Member user view.
 * Exit conditions:
 * 1) Admin assistant has added new member data, and the user view no reverts to Manage Members, with the new member displaying first (within the search list).
 * Steps:
 * 1) Admin assistant clicks "add new member" UI control.
 * 2) The system presents the "add member" user view (use case Add Member).
 * 3) The Admin assistant enters data (keep in mind: required vs non required fields) and submits the form.
 * 4) The system adds new member data to the database, and presents the "manage members" user view (use case Manage Members).

=Update Member= Exit conditions:
 * Name: Update Member
 * Description: A UI designed to enable the user to update/edit existing member data.
 * Types of users: Admin assistant
 * Goals: To successfully integrate the data of edited/updated member fields into the database.
 * Entry conditions:
 * 1) Admin assistant is presented with Update Member user view.
 * 1) Admin assistant has successfully edited/updated existing member data.  The userview now reverts to Manage Members with the member listed first.
 * Steps:
 * 1) Admin assistant clicks "edit" UI control.
 * 2) The system presents the "update member" user view (use case Update Member).
 * 3) The Admin assistant enters/modifies data (keep in mind: required vs non required fields) and submits the form.
 * 4) The system updates member data in the database, and presents the "manage members" user view (use case Manage Members)

=Delete Member= Exit conditions:
 * Name: Delete Member
 * Description: A UI designed to enable the user to delete an existing member.
 * Types of users: Admin assistant
 * Goals: To successfully integrate the deletion of a member with the database.
 * Entry conditions:
 * 1) Admin assistant is presented with Delete Member user view.
 * 1) Admin assistant has successfully deleted a member.  The user view now reverts to Manage Members.
 * Steps:
 * 1) Admin assistant clicks "delete" UI control.
 * 2) The system presents the "delete member" user view (use case Delete Member).  Note: Is this user view simply a warning dialog box that states, "Are you sure you wish to delete xxxxx from database?"
 * 3) The Admin assistant deletes member  and submits the form.
 * 4) The system deletes member data in the database, and presents the "manage members" user view (use case Manage Members).

=Search Member= Exit conditions:
 * Name: Search Member
 * Description: A UI designed to enable the user to search MySQL database by Last  name, First Name, Location - city/town attribute add?, contact?, or business type and display a set of results with a common set of fields.
 * Types of users: Admin assistant
 * Goals: To successfully display relevant search results based on user supplied criteria
 * Entry conditions:
 * 1) Admin assistant is presented with Search Member user view.
 * 1) Admin assistant has successfully search a member(s).  The user view now reverts to Manage Members.
 * Steps:
 * 1) Admin assistant types criteria into one or all of the 4 or 5 text boxes, then clicks the "search" UI control.
 * 2) The system presents the "search member" user view (use case Search Member).
 * 3) The Admin assistant searches for member(s) (by specifying search criteria into text boxes) clicks the "search" UI control.
 * 4) The system retrieves matching results from the MySQL database, and presents the "manage members" user view  (use case Manage Members).  Note: by default, if there's a list of names. the last names are sorted in ascending order?

=View Members= Exit conditions:
 * Name: View Members
 * Description: A UI designed to enable the user to view all NHHTC members, 10, 15, or 25 members at a time.
 * Types of users: Admin assistant
 * Goals: To present a member listing of the directory.
 * Entry conditions:
 * 1) Admin assistant is presented with View Member user view.
 * 1) Admin assistant has successfully viewed members.
 * Steps:
 * 1) Admin assistant clicks "View Members" UI control.
 * 2) The system presents the "view member" user view (use case View Member).
 * 3) The Admin assistant views member listing.  The user can apply criteria triangles on specific column headings, and view additional results.
 * 4) The system presents the "manage members" user view  (use case Manage Members).

=Pending New Members=
 * Name: Pending New Members
 * Description: A UI designed to enable the user to confirm or deny pending NHHTC members. Note: Maybe leave the Manage Members UI the same, but change Edit and Delete buttons to Confirm and Deny. Confirm would bring up the edit user view, and upon submission would give admin approval to a pending member.  Deny would delete from database.
 * Types of users: Admin assistant
 * Goals: To allow the user to permit or deny membership to any pending member.
 * Entry conditions:
 * 1) Admin assistant is presented with Pending New Members user view.
 * Exit conditions:
 * 1) Admin assistant has successfully confirmed/denied a member.  The user view now reverts to Manage Members.
 * Steps:
 * 1) Admin assistant clicks "Pending Members" UI control.
 * 2) The system presents the Pending Members in the Manage Members user interface (use case Manage Members).
 * 3) The Admin assistant confirms or denies members either by clicking "Confirm" button (use case Edit Member) or "Deny" button (use case Delete Member).
 * 4) The system presents the Manage Members user view with newly confirmed members in ascending order (use case Manage Members).

=Pending Updates=
 * Name: Pending Updates
 * Description: A tool to help the admin to confirm or deny pending organization profile descriptions made by members (use case Profile Update).
 * Types of users: Admin assistant
 * Goals: To allow the user to permit or deny a member profile description.
 * Entry conditions:
 * 1) Admin assistant is presented with Pending Updates user view.
 * Exit conditions:
 * 1) Admin assistant has successfully confirmed/denied pending updates.  The user view now reverts to Manage Members.
 * Steps:
 * 1) Admin assistant clicks "Pending Updates" UI control.
 * 2) The system presents the Pending Updates in the Manage Members user interface (use case Manage Members).
 * 3) The Admin assistant confirms or denies member updates either by clicking "Confirm" button (use case Edit Member) or "Deny" button (use case ???).
 * 4) The system presents the Manage Members user view. (use case Manage Members).