Use Case PDF
Use Case PDF
Session#1
Prepared by
Eng Hanaa Ibrahim
Topics
• Software definition
• Software costs
• Software engineering
• Software development process
• UML
• Types of UML diagams
• Use case
What is software?
• Computer programs and associated documentation such as requirements, design
models and user manuals.
• Software products may be developed for a particular customer or may be
developed for a general market.
• Software products may be
• Generic - developed to be sold to a range of different customers e.g. PC software such as
Excel or Word.
• Bespoke (custom) - developed for a single customer according to their specification.
• New software can be created by developing new programs, configuring generic
software systems or reusing existing software.
Software costs
• Software costs often dominate computer system costs. The costs of
software on a PC are often greater than the hardware cost.
• Software costs more to maintain than it does to develop. For systems
with a long life, maintenance costs may be several times development
costs.
• Software engineering is concerned with cost-effective software
development.
What is software engineering?
• Software engineering is an engineering discipline that is concerned
with all aspects of software production.
• Software engineering is concerned with theories, methods and tools
for professional software development.
• Software engineers should adopt a systematic and organised
approach to their work and use appropriate tools and techniques
depending on the problem to be solved, the development constraints
and the resources available.
What is a software process?
• A set of activities whose goal is the development or evolution of
software.
• Generic activities in all software processes are:
• Specification - what the system should do and its development constraints
• Development - production of the software system
• Validation - checking that the software is what the customer wants
• Evolution - changing the software in response to changing demands.
What & Why UML?
• UML - Unified Modeling Language
• UML
• is programming language independent
• is a combination of several diagramming methods
• was designed by The Three Amigos:
James Rumbaugh, Ivar Jacobson, Grady Booch.
Motivations for UML
• We need a modeling language to:
• help develop efficient, effective and correct designs, particularly Object
Oriented designs.
• communicate clearly with project stakeholders (concerned parties:
developers, customer, etc).
• Give us the “big picture” view of the project.
8
Types of UML diagrams
• There are different types of UML diagram, each
with slightly different syntax rules:
• use cases.
• class diagrams.
• sequence diagrams.
• package diagrams.
• state diagrams
• activity diagrams
• deployment diagrams.
9
Use case diagram
• In the Unified Modeling Language (UML), a use case diagram can
summarize the details of your system's users (also known as actors)
and their interactions with the system. To build one, you'll use a set of
specialized symbols and connectors
• A use case diagram doesn't go into a lot of detail—for example, don't
expect it to model the order in which steps are performed. Instead, a
proper use case diagram depicts a high-level overview of the
relationship between use cases, actors, and systems.
What is a use case?
•A requirements analysis concept
•A case of a use of the system/product.
•Describes the system's actions
from a the point of view of a user
Tells a story
•A sequence of events involving
•Interactions of a user with the system
•Specifies one aspect of the behavior of
a system, without specifying the structure of the system
•Is oriented toward satisfying a user's goal
The benefit of use case diagram
• An effective use case diagram can help your team discuss and
represent:
• Scenarios in which your system or application interacts with people,
organizations, or external systems
• Goals that your system or application helps those entities (known as
actors) achieve
• The scope of your system
The use case symbols
• Use cases: Horizontally shaped ovals that represent the different uses that a user
might have.
• Actors: Stick figures that represent the people actually employing the use
cases.
• System boundary boxes: A box that sets a system scope to use cases. All use
cases outside the box would be considered outside the scope of that system. For
example, Psycho Killer is outside the scope of
occupations in the chainsaw example found below.
• Look for common functionality that can be reused across the system.
If you find two or more use cases that share common functionality
you can extract the common functions and add it to a separate use
case. Then you can connect it via the include relationship to show
that it’s always called when the original use case is executed
Extend
• There are some functions that are triggered optionally or additionally.
In such cases, you can use the extend relationship and attach an
extension rule to it.
Example
Use case template
Library management system
Example
Use case description