Unit-II - PPT
Unit-II - PPT
• It isn’t unusual for customers and users to ask for more than can be achieved,
given limited business resources.
• It’s also relatively common for different customers or users to propose
conflicting requirements
• Arguing that their version is “essential for our special needs.”
• Settlement of these conflicts through a process of negotiation.
• Customers, users, and other stakeholders are asked to rank requirements and
then discuss conflicts in priority.
• Using an iterative approach that prioritizes requirements, assesses their
cost and risk, and addresses internal conflicts, requirements are eliminated,
combined, and/or modified so that each party achieves some measure of
satisfaction.
(Kano diagram) – Real life application case study
•The Kano Model is an analysis tool to explore and measure customer needs.
• It's a way to identify the basic needs of customers, as well as performance
and excitement requirements.
• The Kano model is a theory for product development and customer
satisfaction developed which classifies customer preferences into five
categories.
The Kano model offers some insight into the product attributes which are
perceived to be important to customers.
1. Must-be Quality: Simply stated, these are the requirements that the
customers expect and are taken for granted.
• When done well, customers are just neutral, but when done poorly,
customers are very dissatisfied.
• Kano originally called these “Must-be’s” because they are the
requirements that must be included and are the price of entry into a
market.
Examples: In a hotel, providing a clean room is a basic necessity. In a call
center, greeting customers is a basic necessity.
2. One-dimensional Quality: (MUST) These attributes result in satisfaction
when fulfilled and dissatisfaction when not fulfilled.
These are attributes that are spoken and the ones in which companies
compete.
An example of this would be a milk package that is said to have ten percent
more milk for the same price will result in customer satisfaction, but if it only
contains six percent then the customer will feel dissatisfaction.
Examples: 1. Time taken to resolve a customer's issue in a call center.
2. Waiting service at a hotel.
Video Link:
https://youtu.be/E_LkqbyZxpg?si=_F9SvknignoZC6MN
https://youtu.be/qAlPJUYByNk?si=mdx-i3ztnM0m0_qe
Requirements Analysis: Basics
Def: Actors are those individuals or systems that will interact with
the application.
Def: Use cases are series of steps or related interactions that are
performed by an “Actor” on the system in order to complete a goal.
The requirements modeling action results in one or more of the
following types of models:
2. Data models that depict the information domain for the problem.
•The system is described from the user’s point of view using a scenario-based
approach.
•If you understand how end users want to interact with a system, your software
team will be better able to properly characterize requirements.
•And also will be able to build meaningful analysis and design models.
To illustrate, consider the function access camera surveillance via the Internet—
display camera views (ACS-DCV).
The stakeholder is the homeowner actor might write the following narrative:
Use case: Access camera surveillance via the Internet—display camera views
(ACS-DCV)
Actor: homeowner.
Hence, requirements modeling begins with the creation of scenarios in the form
of use cases……as follows..
1. Creating a Preliminary Use Case
• The “contract” defines the way in which an actor uses a computer-based
system to accomplish some goal.
• These are the questions that must be answered for designing a faithful
model
• (1) what to write about,
• (2) how much to write about it,
• (3) how detailed to make your description, and
• (4) how to organize the description?
2. Refining a Preliminary Use Case
•Therefore, each step in the primary scenario is evaluated by asking the following
questions:
• Can the actor take some other action at this point?
• Is it possible that the actor will encounter some error condition at this
point?
If so, what might it be?
• Is it possible that the actor will encounter some other behavior at this point
(e.g., behavior that is invoked by some event outside the actor’s control)?
If so, what might it be?
Answers to these questions result in the creation of a set of secondary scenarios.
3. Writing a Formal Use Case
The informal use cases are sometimes sufficient for requirements modeling.
However, when a use case describes a complex set of steps with a significant
number of exceptions, a more formal approach may be desirable.
https://youtu.be/WnMQ8HlmeXc?si=FUBU
wItIiNk_kvsv
What is UML and Why we use UML?
UML → “Unified Modeling Language”
Language: express idea, not a methodology
Booch ‘91
OMT - 1
How to use UML diagrams to
design software system?
Types of UML Diagrams:
Use Case Diagram
Class Diagram
Sequence Diagram
Collaboration Diagram
State Diagram
Borrow Employee
Client
Order Title
Fine Remittance
Supervisor
Use-Case Diagrams
Actors: A role that a user plays with respect to the system, including human
users and other systems. e.g., inanimate physical objects (e.g. robot); an
external system that needs some information from the current system.
Generalization: relationship between one general use case and a special use
case (used for defining special alternatives) Represented by a line with a
triangular arrow head toward the parent use case.
Use-Case Diagrams
Include: a dotted line labeled <<include>> beginning at base
use case and ending with an arrows pointing to the include use
case. The include relationship occurs when a chunk of
behavior is similar across more than one use case. Use
“include” in stead of copying the description of that behavior.
<<include>>
<<extend>>
Use-Case Diagrams
Figure 16.12
The McGraw-Hill Companies, 2005
Use-Case Diagrams
Both Make Appointment
and Request Medication
include Check Patient
Record as a subtask
(include)
(TogetherSoft, Inc)
Class diagram
A class diagram depicts classes and their interrelationships
Example:
Supertype Customer
Regular Loyalty
Customer Customer
Subtype1 Subtype2
-Inheritance is a required feature of object orientation
-Generalization expresses a parent/child relationship among related classes.
0..1 *
employer teacher
Multiplicity Role
Symbol Meaning
1 One and only one Role
0..1 Zero or one “A given university groups many people;
M..N From M to N (natural some act as students, others as teachers.
language) A given student belongs to a single
* From zero to any positive university; a given teacher may or may not
integer be working for the university at a particular
0..* From zero to any positive time.”
integer
1..* From one to any positive
integer
Class diagram
* 4
Student Course
has enrolls
Class Student {
Course enrolls[4];
}
Class Course {
Student have[];
}
OO Relationships: Composition
Whole Class
Class W Association
Models the part–whole relationship
Composition
Class P1 Class P2 Also models the part–whole relationship but, in
addition, Every part may belong to only one
whole, and If the whole is deleted, so are the
Part Classes parts
[From Dr.David A. Workman]
Example Example:
A number of different chess boards: Each square
belongs to only one board. If a chess board is
thrown away, all 64 squares on that board go as
well.
Figure 16.7
The McGraw-Hill Companies, 2005
OO Relationships: Aggregation
Container Class
Aggregation:
Class C expresses a relationship among instances of related
classes. It is a specific kind of Container-Containee
AGGREGATION
relationship.
Apples Milk
Aggregations
may form "part of" the association, but may not be essential to it. They
may also exist independent of the aggregate. e.g. Apples may exist
independent of the bag.
Good Practice: CRC Card
Class Responsibility Collaborator
easy to describe how classes work by moving cards around; allows to
quickly consider alternatives.
Interaction Diagrams
show how objects interact with one another
Picks up
Dial tone
Dial
Picks up
Hello
Sequence Diagram:Object interaction
A B
Self-Call: A message that an
Synchronous
Object sends to itself.
[condition] remove()
Condition
*[for each] remove()
Iteration
Self-Call
Sequence Diagrams – Object Life Spans
Creation
A
Create message
Create
Activation B
Symbolized by rectangular stripes
is activated.
Rectangle also denotes when
object is deactivated.
Deletion Activation bar
X
Return
Placing an ‘X’ on lifeline Deletion
Object’s life ends at that point
Lifeline
Sequence Diagram
Us er
Message Catalog Res ervations
5 : title available ()
start
6: remove reservation
5: title available
6 : borrow title
1: look up
2: title data
4 : title returned
Catalog
5 : hold title
Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence
diagrams are equally applicable to collaboration diagrams
Use a sequence diagram when the transfer of information is the focus of attention
Start End
Unpaid Paid
Invoice created payin Invoice destroying
g
State Diagrams (Traffic light example)
Yellow
Green
Event
What UML Modeling tools we use today?
List of UML tools http://en.wikipedia.org/wiki/List_of_UML_tools
ArgoUML: http://argouml.tigris.org/
The Unified Modeling Language™ (UML®) helps you specify, visualize, and
document models of software systems, including their structure and design, in
a way that meets all of these requirements.
UML MODELS:
If the requirements are not clear and consise then in such cases, you can
choose from a broad array of UML graphical models.
This is represented by a
decision diamond below
“Prompt for reentry.”
2. Swimlane Diagrams
The UML (Unified Modeling Language) swimlane diagram is a useful modification
of the activity diagram.
It allows you to represent the flow of activities described by the use case.
And at the same time, it indicate which actor or analysis class has responsibility
for the action described by an activity rectangle.
The activity diagram notes two prompts that are the responsibility of the
interface—“prompt for reentry” and “prompt for another view.”
Referring to Figure 6.6, the activity Fig 6.6. -Swimlane diagram for Access camera
diagram is rearranged so that activities surveillance via the Internet—display camera
associated with a particular analysis views function
class fall inside the swimlane for that
class.
e.g. In this case, a car is defined in terms of make, model, ID number, body
type, color, and owner.
Data attributes define the properties of a data object and take on one of three
different characteristics.
In some cases, values for the identifier(s) are unique, although this is not a
requirement.
e.g.
Referring to the data object car, a reasonable identifier might be the ID number.
The set of attributes that is appropriate for a given data object is determined
through an understanding of the problem context.
3 Relationships
Data objects are connected to one another in different ways.
Consider the two data objects, person and car.
These objects can be represented using the simple notation illustrated in Figure
6.8a.
Fig.
Relationships between data
objects
e.g.
•A person owns a car.
• A person is insured to drive a car
A connection is established between person and car because the two objects are
related.
But what are the relationships?
To determine the answer, you should understand the role of people and cars
within the context of the software to be built.
You can establish a set of object/ relationship pairs that define the relevant
relationships.
We have seen 1. scenario based modeling 2. Data modeling….
And now…Class based modeling ..
Class-based elements
•Each usage scenario implies a set of objects that are manipulated as an actor
which interacts with the system.
• Things (e.g., reports, displays, letters, signals) that are part of the information
domain for the problem.
Attributes describe a class that has been selected for inclusion in the
requirements model.
For example,
attributes like average salary, credit toward full vesting, pension plan
options chosen, mailing address etc.
3. Defining Operations
(1) operations that manipulate data in some way (e.g., adding, deleting,
reformatting, selecting),
(2) operations that perform a computation,
(3) operations that inquire about the state of an object, and
(4) operations that monitor an object for the occurrence of a controlling event.
A specification can be
• a written document
• a graphical model
• a formal mathematical model
• a collection of usage scenarios
• a prototype
• or any combination of these.
4. System Modeling
Examples:
Portability, Security, Maintainability, Reliability, Scalability,
Performance, Reusability, Flexibility
Functional v/s Non -Functional
Sr. No. Functional Requirements Non -Functional Requirements
1. A functional requirement defines A non-functional requirement defines the
a system or its component. quality attribute of a software system.