up previous next contents
Up: Use Cases Previous: Use Cases Next: Add User Account   Contents


External User Login

This use case defines the process of logging the external user into the ACME application.

Notes

  1. All user types can log in more than once
    1. They can log in at multiple workstations
    2. They can have multiple ACME Editors open on their desktop (each with a different job)
  2. Users can access multiple databases
    1. One ACME Editor can be connected to a local database, while another is connected to a remote database
    2. The "default" database is the last database the current user accessed from the current workstation

Actors

  1. External User
  2. Administrator

Pre-Conditions

  1. ACME is properly installed on the user's system
  2. Access control is either disabled or enabled
  3. If access control is enabled on the system:
    1. A user account may or may not be available for the user attempting to log in

Access Control is not Enabled

  1. The user starts ACME
    1. Note - the system does not display a login screen
  2. The system connects to the "default" database
  3. The system logs the user in as the user "Unknown User"
  4. The system grants all access rights to the user, except User and Group administration rights
  5. The system displays the ACME Editor
    1. The ACME Navigator is not displayed
    2. Menu options including Job/Open, Job/New, Job/Exit, and Help are available
    3. No jobs are opened by default
  6. A "Job Open/Create" dialog/wizard is displayed to the user that lets them follow four courses of action
    1. Start the process of creating a new job
    2. Open a recent job
      1. The system will display the most recent jobs (10 max), in sorted order showing the most recent first
      2. Note: This list will come from a data file maintained by ACME under the user's home directory on their computer
    3. Open an older job by starting the List Jobs use case
    4. Close this dialog

Post-Conditions

  1. ACME is started
  2. The user is connected to the "default" database
  3. The user is logged in as the user "Unknown User"
  4. Full system access is granted
    1. Note - this means the user can CRUD any job
    2. Note - this means the user can CRUD any job details
  5. No jobs are loaded into the Editor
  6. The ACME Navigator is not displayed
  7. Certain menu options are enabled (Job and Help-related)
  8. Recent file list
    1. When the user logs in the system will display a list of the user's most recently worked on 10 jobs
    2. Change: The recent file list will appear only under the Job menu, in a manner similar to Microsoft Word

Alternative Path #1, Access Control is Enabled

  1. The user starts ACME
  2. The system connects to the "default" database
  3. The system displays the ACME login screen
  4. If the user cancels the operation (such as the Cancel button or [Esc] key) the login is aborted and the application shuts down
  5. The user enters a name and password
  6. The system validates the username and password against the access control database
  7. If the username/password combination is invalid:
    1. The system lets the user know that the username/password combination is invalid
    2. The login screen is re-displayed
    3. Assuming that this process continues to occur, the login screen is again re-displayed to the user
      1. There is no limit to the number of times the screen is displayed
      2. The screen is never disabled
      3. The screen is always shown as quickly as possible by the system, without any "delay" for security reasons
  8. If the username/password combination is valid, continue
  9. If the system detects that the user is already logged in:
    1. The system notifies the user of this
      1. This is an informational statement only; it does not prevent the user from logging in
  10. The system retrieves the user's rights
  11. If a problem is detected with the configuration of the user's rights:
    1. The system prompts the user to contact the Administrator
    2. The system tells the user that they cannot login to the system, and does not let them into the system
  12. The system displays the ACME Editor
    1. The ACME Navigator is not displayed
    2. No jobs are opened by default
  13. The "Job Open/Create" dialog is displayed to the user that lets them easily open or create a job

Post-Conditions

  1. The user may or may not be logged into the system
  2. The system is connected to the "default" database
  3. If the user has logged into the system:
    1. Their access control rights are loaded into memory
  4. No jobs are loaded into the ACME Editor
  5. The ACME Navigator is not displayed
  6. Certain menu options are enabled (Job and Help-related)
  7. Recent file list
    1. When the user logs in the system will display a list of the user's most recently worked on 10 jobs
    2. Change: The recent file list will appear only under the Job menu, in a manner similar to Microsoft Word

Alternative Path #2, Security Enabled, Administrator Logs In

  1. (Security is enabled)
  2. The Administrator starts ACME
  3. The system connects to the "default" database
  4. The system displays the login screen
  5. The Administrator enters their username ("Administrator") and password
  6. The system displays the ACME Editor
    1. The ACME Navigator is not displayed
    2. Menu options including Job|Open, Job|New, Job|Exit, and Help are available
    3. The menu options to edit User and Group accounts are also enabled
    4. No jobs are opened
  7. The Job Open/Create dialog is not displayed

Post-Conditions

  1. ACME is started
  2. The system is connected to the "current" database
  3. Full system access is granted
  4. No jobs are loaded
  5. The ACME Navigator is not displayed
  6. Certain menu options are enabled (Job and Help-related, and User and Group management)
  7. Recent file list
    1. The Recent File List does not apply to the Administrator

Alternative Path #3, User Selects a Different Database During Login

  1. The user starts ACME
  2. During startup the user does something (such as holding down the [Ctrl] key) to let the system know that they want to choose a database other than the default database
  3. The system displays a list of databases that they user can choose from
  4. The user selects a database they would like to connect to
  5. If the system encounters an error connecting the user to the database
    1. The system displays an error message to the user
    2. The user is returned to the "select database" screen
  6. Else, the system connects the user to the desired database
  7. Note - the remainder of this use case depends on whether that database has access control enabled or disabled
    1. The login process for these conditions should be the same as previously described for these conditions

Post-Conditions

  1. The user is connected to a database other than the "default" database
  2. The "default" database is always whatever database the user connected to during the last ACME startup process on the current computer
  3. Recent file list
    1. When the user logs in the system will display a list of the user's most recently worked on 10 jobs
    2. This list will appear under the Job menu, in a manner similar to Microsoft Word

"Used" Use Cases

  1. List Known Databases

Other Requirements

  1. Regarding ACME "first-time" startup:
    1. System security is disabled
    2. The Administrator user is the only user account
    3. The database is populated with a list of customer accounts