up previous next contents
Up: Use Cases Previous: Open a ACME Job Next: Delete a Job   Contents


Save a ACME Job

This use case documents two sequences of events related to the saving a job for an external user, specifically:

  1. Job | Save

Notes

  1. The Administrator has been removed as an actor for this use case

Actors

  1. External User

Pre-Conditions

  1. The ACME Editor is open

Basic Path: User Saves Job

  1. The user has a job open in read-write mode, and it is in a "dirty" state (i.e., the Job Characteristics have been changed)
    1. An implication here is that the user has Edit access in the "Save Job" functional area
  2. When the system enters a dirty state, the system enables the "Save Job" option
  3. The user selects the "Save Job" option
  4. The system saves the job details for this job
  5. The system saves the "last maintained by" information:
    1. At the job level
    2. At the module level
  6. The system changes the Editor state to "clean"
  7. The system disables the "Save Job" option
  8. If the user exits the Job Information module, the Job Information lock for this job is cleared
  9. Else, the Job Information lock for this job is not cleared

Post-Conditions

  1. The job is saved to the database
  2. The Editor state is changed to "clean"
  3. The lock for the Job Information module is released if the user disposes that screen

Alternative Path #1, The Save As ... option

  1. If the user has "Job - Edit", the system enables the "Save Job As ..." option
  2. The user selects the "Save Job As ..." option
  3. The system prompts the user for a short description for the job
    1. Note - no other job-related criteria can be modified here
  4. If the short description is not unique:
    1. Note: Whether or not the job was created by the current user, continue (many changes here)
    2. If the user does not have "delete job" authority
      1. The system prompts the user " The short description you have supplied is not unique, and you do not have permission to overwrite a job." The use case is stopped.
    3. Else, if the user has "delete job" authority, continue
    4. The system displays a message: "A job already exists with this name; overwrite, cancel?"
    5. If the user selects cancel, they are returned to the previous screen where they enter the short description
    6. Else, if the user selects "overwrite"
      1. The system deletes the old job details, and creates a new job with the current job information
  5. Else, if the short description is unique, the system saves the job with that name
  6. The job in the Editor is now the job with the new short description
    1. The new short description is displayed in ACME's title bar
    2. The originating job is closed, and none of the changes are saved to that job

Post-Conditions

  1. The original job data is saved to the database under a new short description
  2. The "new" job is now in the ACME Editor
  3. Note: the process of prompting the user to save changes to the originating job is specifically not desired

"Used" Use Cases

Other Requirements

  1. The Save option is only activated when a job is dirty

Issues

New

  1. "Save As" and Overwrite imply the ability to delete previous jobs, hence the need for delete permission
  2. Implications:
    1. In single-user mode, the Unknown User can delete Unknown User jobs
    2. In multi-user mode, assuming that a user has Edit access to the "Job - Delete" functional area:
      1. Margaret can delete Ralph jobs, etc.