Industry - Estimating software maintenance effort from use cases an industrial case study
Use-Cases in Software Englineering
-
Upload
salman-amjad -
Category
Documents
-
view
219 -
download
0
Transcript of Use-Cases in Software Englineering
-
8/13/2019 Use-Cases in Software Englineering
1/20
USE CASES
-
8/13/2019 Use-Cases in Software Englineering
2/20
Developing Use-cases
What is Use-Case????
http://www.consult-me.co.uk/first-requirements-analysis-cartoon.gif -
8/13/2019 Use-Cases in Software Englineering
3/20
Use-Cases
A use case is a methodology used in system analysisto identify, clarify, and organize systemrequirements.
Use cases are a way of decomposing systemfunctionality into smaller chunks
It forces decisions about scope - Use cases are only
written for functionality within the scope.A use case specifies a complete system functionality
-
8/13/2019 Use-Cases in Software Englineering
4/20
Origin of Use Case
Developed by Ivar Jacobson and colleaguesOriginated from telecommunications work from 1967onwards
Object-based, using the concept of building systemsfrom blocks
Found in Jacobsons book Object -OrientedSoftware Engineering (OOSE), 1992
Complete set of use cases describes the behaviourrequired of the system
-
8/13/2019 Use-Cases in Software Englineering
5/20
Purpose of Use Cases
Use cases are used to scope system functionality
They help to produce a more concise, less ambiguous statement of therequirements.
They will be used as a platform to deeper understanding
Use cases will be developed into example interactions - scenarios
They form the basis for the system test plan
-
8/13/2019 Use-Cases in Software Englineering
6/20
Actors
Anything that communicates with the system
The systemEverything that the project has control over
An actor is a role that user plays with respect to thesystem.
A person, organization, or external system that
interacts with the application that we are currentlydeveloping could be actors to our system
Actor uses Use Cases.
-
8/13/2019 Use-Cases in Software Englineering
7/20
Role(EmployeeCustomer
Guest)System
(Accounting PackageProduct Inventory
Bar System)
Device(Drink Dispenser
Cash Register Door Lock)
Kinds of Actors
-
8/13/2019 Use-Cases in Software Englineering
8/20
Role of An Actor In Use Cases
Primary Actor
Initiator actor
Active
Initiate activity with thesystem
Get some response inreturn
Secondary ActorParticipating actorPassiveDont initiate activitywith the system
Available when thesystem need themFulfill the needs of aprimary actor
-
8/13/2019 Use-Cases in Software Englineering
9/20
Identification of Use Cases
Describes the sequence of events of an actor using asystem to complete a process, it means multiple
events form a use caseName of the use case must start from the verb
e.g.: submit form, submit fee, generate result, buyitem etc.
-
8/13/2019 Use-Cases in Software Englineering
10/20
UML Notations for Use Cases
Actor
Use Case
System boundary a box with the use cases inside
and the actors outsideAssociations straight lines or arrows going fromactors to the use casesRelationships Dotted lines or arrows going from oneuse case to another
Customer
WithdrawCash
-
8/13/2019 Use-Cases in Software Englineering
11/20
Customer withdraws cash from an ATM
Pilot and co-pilot perform pre-flight check
Employee supplies hours workedCustomer buys goods at a supermarket
Dealer deals cards in bridge game
Inventory reordering applied in retail store
Engineer tests electronic ignition in car
Sample use case names
Use CaseA use case is a related sequence of interactions betweenone or more actors and the system
-
8/13/2019 Use-Cases in Software Englineering
12/20
Use Case Example - 1
Super Market System
-
8/13/2019 Use-Cases in Software Englineering
13/20
Customer Manager
ProductDatabase
Supermarket System
Buy Goods
Return Goods
Produce CashFlow Report
Update Stock
Use Case DiagramDecide who the users of our system are to be: ACTORS
Decide what they wish the system to do: USE CASES
Use cases replace a requirement specification
Write use cases from a problem statement
Or translate a requirement specification into use cases
-
8/13/2019 Use-Cases in Software Englineering
14/20
Use-cases Example II
Online Library Management System
-
8/13/2019 Use-Cases in Software Englineering
15/20
Students and University Staff can register himself
He/She can borrow/return resources from the libraryVarious Books/Resources can be searched
Librarian can add / discard a book
Library management System
-
8/13/2019 Use-Cases in Software Englineering
16/20Use-case diagram of Library System
-
8/13/2019 Use-Cases in Software Englineering
17/20
Limitations of Use Cases
Use Cases cannot describe non-functionalrequirements like
Reliability
Standards compliance
Legal requirements etc.
-
8/13/2019 Use-Cases in Software Englineering
18/20
Impact of Requirements Issues on Projects
Major factors why projects are not fully successful:12.8% = lack of user input12.3% = incomplete requirements and specifications
11.8% = changing requirements and specifications2001 Survey of top risks facing e-projects66% = unstable, constantly changing requirements55% = poor requirements specification
42% = client approval delays, changes, poorcommunication
-
8/13/2019 Use-Cases in Software Englineering
19/20
Impact of Requirements Issues on Projects
30-40% of software project effort is rework
About 50% of software defects originate inrequirements.
Reducing requirement errors can increaseproductivity.
-
8/13/2019 Use-Cases in Software Englineering
20/20
The Problem of MisunderstoodScope
Scope describes the range of a system; whats inside, whats outside,what it does and what it doesnt do
Where scope is not stated, users and developers will have differinginterpretations
Badly chosen or misunderstood scope is a major cause of dissatisfiedusers and frustrated developers