0% found this document useful (0 votes)
156 views25 pages

Use Case PDF

The document discusses software engineering concepts including software definition, costs, development process, and UML diagrams. It specifically describes use case diagrams, defining them as diagrams that summarize user interactions with a system through use cases and actors. Key aspects of use case diagrams include use cases represented by ovals, actors as stick figures, and associations showing relationships between actors and use cases.

Uploaded by

Yousef Gamal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
156 views25 pages

Use Case PDF

The document discusses software engineering concepts including software definition, costs, development process, and UML diagrams. It specifically describes use case diagrams, defining them as diagrams that summarize user interactions with a system through use cases and actors. Key aspects of use case diagrams include use cases represented by ovals, actors as stick figures, and associations showing relationships between actors and use cases.

Uploaded by

Yousef Gamal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Use case diagram

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

• Standard notation to help designers

• Visualize, Specify, Guide and Document complex software projects

• 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.

• Associations: A line between actors and use cases. In complex diagrams, it is


important to know which actors are associated with which use cases.
The use case symbols

• 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.

• Packages: A UML shape that allows


you to put different elements into groups.
Just as with component diagrams,
these groupings are represented as file folders.
What is an Actor?

•Include all user roles that interact with the system


•primary - a user whose goals are fulfilled by the system
•importance: define user goals

•supporting - provides a service (e.g., info) to the system


•importance: clarify external interfaces and protocols
Include

• 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

You might also like