OSDL USE CASE TEMPLATE Last updated 7/1/05 This template is the suggested minimum set of information needed to build a use case. If you have other sections, based on the complete methodology (documented at http://www-106.ibm.com/developerworks/library/co-design5.html#1 , you may optionally add those sections to your use case. This template is based on that methodology, but we have compressed the suggested entries in the sections below. If you want more details or illustrations, you will find them at the above URL. How to use this template. This template is formated in open office and as text. But the use cases need to be text (70 columns) since they will be reviewed on community mail lists. You have two choices. 1)Start with the text version of the template and do the 70 column formating yourself. 2) Compose in open office, save a copy with “Save As” .txt format (say that's file name UseCaseTemplate.txt), then run: fmt -s -u --width=70 UseCaseTemplate.txt > UseCaseTemplate_70cols.txt Of course you need to remove these instructions before you begin. Before submitting this for review, see your OSDL Initiate Manager for the mail lists of initiative and SIGs interested in reviewing the document. Cut the above to here to begin the use case: --------------------------------- Use Case: --------------------------------- Version x.x (DRAFT) Last Modified Date: xx/xx/xx Copyright (c) 2005 by The Open Source Development Lab, Inc. Verbatim copying and distribution of this document is permitted in any medium, provided this notice is preserved. Draft copies of this document may not be posted publicly without indicating the draft status. --------------------------------- Table of Contents Description Target Acceptance Participants/Roles Scenarios Implementation Notes References --------------------------------- Description --------------------------------- A description of the use case (take as a starting point the description from the requirement or capabilities document) with any clarifying text that is appropriate. Describe what the use case is accomplishing. What is the useful outcome or what do we hope to accomplish with this? Why? --------------------------------- Target Acceptance --------------------------------- What is needed to happen with this requirement or capability? A process established? Mainline kernel acceptance? Designer or general distro acceptance? Awareness? Established for ongoing discussion? Test planning? Gap analysis? --------------------------------- Participants/Roles --------------------------------- Who will use this requirement or capability? System administrators? Application administrators? End user? What roles will these users take? These are roles that a physical user might have with respect to a system. Here are some roles others have used that might be sufficient: --- * Systems Administrator --- Special class of user that has special privileges on a given system. This is a role held by an individual that acts as the administrator for the system. --- * Application Administrator * Application Level Administrator --- Special class of user that has special privileges for a given application. This is a role held by an individual that acts as the administrator for all aspects of an application. --- * Database Administrator --- Special class of user that has special privileges on a given system. This is a role held by an individual that acts as the administrator for a database. --- * User --- Any user on the system. This is a role that is held by all individuals using a system. The user can interact with the system through the processes associated with applications they are using. --------------------------------- Scenarios --------------------------------- There may be several sub-cases for your use case, so do not hesitate to include as many individual cases as needed. For each sub-case describe how will the requirement or capability be used? Preconditions? Setup? Administration? Workflow? Postconditions?Upgrades? Security? Dependencies? Any rules or policies that apply? Focus on the what not the how. Identify the environment (s) anticipated (like devices, configurations in scope in types, sizes and numbers). --------------------------------- Implementation Notes --------------------------------- These Implementation Notes apply to some or all scenarios. These are just guidelines, not cast in concrete. They aren't an implementation specification. Rather, they're details that will affect implementation and are relevant to the current use case. They will guide, but not control the implementation-level design. --------------------------------- References --------------------------------- References for terminology, whitepapers, articles, or potential projects/implementations.