Beruflich Dokumente
Kultur Dokumente
A problem statement is a clear concise description of the issue(s) that need(s) to be addressed by
a problem solving team. It is used to center and focus the team at the beginning, keep the team
on track during the effort, and is used to validate that the effort delivered an outcome that solves
the problem statement. It has a specific form:
Vision - what does the world look like if we solve the problem?
Issue Statement - one or two sentences that describe the problem using specific issues. It is not
a "lack of a solution" statement. For example, our problem is that we don't have an ERP system.
Method - the process that will get followed to solve the problem. For example, DMAIC or
Kaizen.
Exercise 2.
How to write the SRS documentation, following IEEE Std. 830.
ISM 4331, J.Zalewski, September 2003
1. General
1.1 All documents should have a title page (to include information such as: title of the project,
course name and number, team members, place, date, and other relevant information).
1.2 Table of Contents normally makes a lot of sense, so should be included as well
1.4 Any reference correctly included in Section 1.4 should be written as follows:
For papers/articles:
[number] NameOfAuthor(s), TtitleOfWork, JournalName, VolumeNumber,
IssueNumber, PageNumbers (pp. first-last), Year (or Month and Year)
For websites:
[number] AuthorNames(s), TitleOfWork, Company’s Name, Place, Date, URL
Note. For names of authors never use full first names, only initials!
1.5 All references from Section 1.4 have to be referred to in the text (using [number]
notation)
1.7 Every figure/diagram should have a caption (number and titile). Place it underneath
the figure/diagram.
1.8 Every table should have a number and title, placed above the table.
1.9 “Shall/Must” phraseology should not be used in unless it is requirement. This means
that normally it is not used in sections 1 or 2.
2. Writing “Introduction”
- In Section 1.1 “Purpose”, describe the purpose of this document, not the purpose of
the software being developed.
- In Section 1.2 “Scope”, describe the scope of this document, not the scope of the
software being developed.
- In Section 1.5 “Overview”, provide an overview of this document, not the overview of
the software being developed.
- Definitions, in Section 1.4, should be write using the following template:
word_defined. <in lower case, ended with a dot “.”> Followed by a definition.
For example:
user. The person, or persons, who operate or interact directly with the product.
- Never specify the Operating System or Language in the SRS, unless the customer
demands doing so. These are strictly implementation issues, and well designed software
can be implemented in any specific programming language to run under any specific
operating system on any specific hardware platform.
- Use Case Diagrams have to be included in most sections, specifically in the “Functional
Requirements” section. Several Use Case Diagrams have to be presented, including
specific scenarios, how the system will respond to certain user/operator requests or
commands, or network behavior.
5. Other
- End your SRS document by the following line (centered across the page):
*** End of the SRS ***
Exercise 3.
Identify Use Cases and develop the Use Case model
When you open RR a “Create new model” window will appear with various templates. Click
Cancel. We won’t be using a template.
There are four folders—Use Case View, Logical View, Component View, Deployment
View. In this tutorial you will be using only Use Case View
The main window defaults to Logical View, Main Class Diagram. This is annoying because
this is not always where you want to be. If you aren’t careful you could put your Use Case
diagram here by accident.
Associations
In Rational Rose 2001 you will notice an “Associations” icon for each package in the use
case view. Once you have set up use cases and created use case diagrams “Associations” will
contain information about all of the associations between use cases and actors. We will not
be referring to this feature.
Save Often
Save often, save often, save often
Introduction
This tutorial uses an example of a Car Repair shop. We will use two business areas—Vehicle
Service and Customer Service. We need to create separate packages for each of these work
areas and we need to create a main use case diagram that shows all of the packages.
Create packages:
Click on Use Case View in the side window.
Right click. A list of options will appear.
Click on New, then Package. In the folder name area key in Vehicle Service.
Repeat the above steps creating a package named Customer Service.
Introduction
As part of creating Use Case Diagrams we are going to create empty Use Case Diagrams
then create and add Actors and Use Cases.
To Delete Actors
If you want to delete an actor from a use case diagram, click on it in the diagram and use the
DEL key.
If you want to delete an actor from the whole model, click on the actor name in the side
window, right click and click on Delete. The actor will be deleted from the model.
Use the “association” icon (solid line like an upside down L with no arrows). If you don’t see
this symbol on your toolbar, right click on the toolbar (right on the tools), select customize,
and then Add it from the left to the right.
To associate an Actor to a Use Case, click on the association icon, click on the Actor, drag to
the appropriate Use Case and let go.
Display the Vehicle Service use case diagram in the Vehicle Service package. Associate the
Service Advisor with both use cases in the diagram.
Display the Customer Service use case diagram in the Customer Service package. Associate
the Customer Service Rep with both use cases in the diagram.
NOTE: in Rational Rose 2001 when you add an association you will notice that a detailed
association icon appears on any use case or actor involved in the association—click on +
beside the use case or actor to see these. These icons will show you all actors and use cases
associated to each use case and actor.
To Delete an Association
To delete an association between Actor and Use Case, click on the association, then use the
Delete key on your keyboard, OR after you have selected the association go to the Edit menu
and click on Delete or Delete from Model, OR select the detailed association icon in the side
window, right click and select Delete.
NOTE: For stereotype associations you should use the “Dependency or Instantiates” tool
(dotted line with arrow).
Double Click on an association. In the Stereotype box either select from the dropdown menu
or key in the association stereotype name then click OK. The association stereotype—e.g.
<<uses>>, <<extend>>--will appear on the association.
If you have added a stereotype it will be part of the dropdown list in the Stereotype box; you
can just select it instead of re-keying it.
Introduction
First you will create some blank use case descriptions, then you will associate them to the
appropriate use cases
Create an empty Word file for each use case in your model. Name these four files as follows:
Maintain Service Information.doc, Maintain Vehicle Information.doc, Maintain Customer
Information.doc, and Track Customer Calls.doc.
Create the directory c:\temp\group01. (Note: When you are creating your work packages you
will name this directory according to what group you are in. For example if you are in
group23 you would create a c:\temp\group23 directory).
Move all of these files into the c:\temp\group01 directory.
To add the use case description to the model you associate each description file with the
appropriate use case:
To Remove a File
Click on the file name either in the Use Case Specification window or in the left side
window, then right click and select Delete. NOTE that this will only remove the file from the
diagram, it will not actually delete the file.
USE CASE:
The definition of use case could not be understood without defining scenario.
USE CASE: A use case now could be defined as the set of scenarios tied together by a common
user goal. A use case could also be described as a sequence of actions that provide something of
measurable value to an actor and is drawn as a horizontal ellipse.
Use cases are essential tool in requirements capture and in planning and controlling an iterative
project.
Every use case is a potential requirement ,and until we have captured a requirement, we cannot
plan to deal with it.
Use cases represent an external view of the system.
A simple format for capturing a use case involves describing its primary scenario as a sequence
of numbered steps and the alternatives as variations on that sequence.
The amount of details we need depends upon the risk in the use case.
The more risk, the more detail you need.
Use case diagram is a diagram introduced for the visualization of the use cases.
ACTORS
An actor is a role played by the user with respect to the system. An actor is a person,
organization, or external system that plays a role in one or more interactions with your system.
Actors are drawn as stick figures. A user may play more than one role.
When dealing with actors, it is necessary to think about roles rather than people or job titles.
Actors carry out use cases. A single actor may perform many use cases, a use case may have
several actors performing it.
Actors need not be humans, they could even be a computer, or an external system that need some
information from the current system.
A good source for identifying the use cases is the external events. Maximum the external events
identified and the more use cases you could find out.
The ASSOCIATION between actors and use cases are indicated in use case diagrams by solid
lines. An association exists whenever an actor is involved with an interaction described by a use
case. Associations are modeled as lines connecting use cases and actors to one another, with an
optional arrowhead on one end of the line. The arrowhead is often used to indicate the direction
of the initial invocation of the relationship or to indicate the primary actor within the use case.
The INCLUDE relationship occurs when you have a chunk of behavior that is similar across
more than one use case and you don't want to keep copying the description of that behavior.
The GENERALIZATION relationship is used when one use case that is similar to another use
case but does a bit more.
It gives us another way of capturing scenarios.
The EXTEND relationship is something similar to generalization but with more rules to it.
In this the extending use case may add behavior to the base use case, but this time the base use
case must declare certain extension points and the extending use case may add additional
behavior only at those extension points.
A use case may have many extension points and an extending use case may extend one or more
of these extension points.
Both generalization and extend allow us to split up a use case.
We should ask how the actors interact with the system to identify an initial set of use cases.
Then, on the diagram, we connect the actors with the use cases with which they are involved. If
an actor supplies information, initiates the use case, or receives any information as a result of the
use case, then there should be an association between them.As we begin to notice similarities
between use cases, or between actors, we can start modeling the appropriate relationships
between them.