Professional Documents
Culture Documents
UNIT III:
Interaction….match
Software designer
– Different “worlds”
– using vs designing something
– knowing what should be done vs knowing to let a computer
do that
– Users/stakeholders are not an uniform group
– conflict between cost and usability / performance / features
– conflicting demands from different departments
– Getting the good (ideal) system vs possibility building it good
4
QUICK LOOK
What is it?
Why is it important?
To validate software requirements, you need to examine them from a number of
different points of view. Analysis modeling represents requirements in multiple
“dimensions”, thereby increasing the probability that errors will be found, that
inconsistency will surface, and that omissions will be uncovered.
REQUIREMENTS ANALYSIS
Requirement Analysis. ... what the customer requires from a
software system. We talk of Functional & Non-Functional
For example, in context to banking application the
functional requirement will be when customer selects
“View Balance” they must be able to look at their latest
account balance.
Software requirement can also be a non-functional, it
can be a performance requirement. For example, a non-
functional requirement is where every page of the system
should be visible to the users within 5 seconds.
The requirement analysis document collects, organizes, and tracks the
project requirements from key stakeholders. It guides project planning and
ensures you complete your projects aligned with stakeholder and business
goals
REQUIREMENTS ANALYSIS
• Scenario-based: user interaction with system
– Use-case: descriptions of the interaction
• Data-based: data objects in system
– ER (entity-relation) Diagrams
– Class-based: data + methods
• OO, Class diagrams, implied by scenarios
• Behavioral-based: how external events change system
– State, sequence diagram
• Flow-based: information transforms
– Data flow, control flow diagrams
7
A Bridge
system
description
analysis
model
design
model
Technical literature
Existing application
Customer surveys
Expert advice
Current/future requirements
Modeling approaches
11
Modeling for WebApps
Content Analysis. the content is identified, including text,
graphics and images, video, and audio data.
Interaction Analysis. The manner in which the user interacts
with the WebApp is described in detail.
Functional Analysis. The usage scenarios (use-cases) created
as part of interaction analysis define the operations that
will be applied to WebApp content and imply other
processing functions.
Configuration Analysis. The environment and infrastructure
in which the WebApp resides are described in detail.
Server-client side.
12
In which phase of the whole process?
Phase 2
Phase
Phase 1
Design Phase 3 Phase 4
Develop
Information- Realization Implementation
blueprint
system
Functional Technical
Definition Feasibility Specification Specification
Requirements
Analysis 13
Requirements Analysis
• Requirements analysis
– specifies software’s operational characteristics
– indicates software's interface with other system elements
– establishes constraints that software must meet
• Requirements analysis allows the software engineer (called an
analyst or modeler in this role) to:
– elaborate on basic requirements established during earlier
requirement engineering tasks
– build models that depict user scenarios, functional activities,
problem classes and their relationships, system and class
behavior, and the flow of data as it is transformed.
Scenario-Based Modeling
• Although the success of a computer-based system or
product is measured in many ways, user satisfaction
resides at the top of the list. If you understand how end
users (and other actors) want to interact with a system,
your software team will be better able to properly
characterize requirements and build meaningful
analysis and design models. Hence, requirements
modeling with UML begins with the creation of
scenarios in the form of use cases, activity diagrams.
Scenario-Based Modeling
• “[Use-cases] are simply an aid to defining what exists
• outside the system (actors) and what should be
• performed by the system (use-cases).” Ivar Jacobson
• (1) What should we write about?
• (2) How much should we write about it?
• (3) How detailed should we make our description?
• (4) How should we organize the description?
What to Write About?
• Inception and elicitation—provide you with the
• information you’ll need to begin writing use cases.
• Requirements gathering meetings, QFD, and other requirements
engineering mechanisms are used to
– identify stakeholders
– define the scope of the problem
– specify overall operational goals
– establish priorities
– outline all known functional requirements, and
– describe the things (objects) that will be manipulated by the system.
• To begin developing a set of use cases, list the functions
or activities performed by a specific actor.
How Much to Write About?
• As further conversations with the stakeholders
progress, the requirements gathering team develops
use cases for each of the functions noted.
• In general, use cases are written first in an
• informal narrative fashion.
• If more formality is required, the same use
• case is rewritten using a structured format
• similar to the one proposed.
Use-Cases
• a scenario that describes a “thread of usage”
for a system
• actors represent roles people or devices play
as the system functions
• users can play a number of different roles for
a given scenario
Developing a Use-Case
• What are the main tasks or functions that are performed
by the actor?
• What system information will the actor acquire,
produce or change?
• Will the actor have to inform the system about changes
in the external environment?
• What information does the actor desire from the system?
• Does the actor wish to be informed about unexpected
changes?
Creating a Preliminary Use Case
CREATING A PRELIMINARY USE CASE
Homeowner actor:
•Access camera surveillance via the internet
•Select camera to view.
•Request thumbnails from all cameras.
•Display camera views in a PC window.
•Control pan and zoom for a specific camera.
•Selectively record camera output.
•Replay camera output.
•Access camera surveillance via the Internet.
CREATING A PRELIMINARY USE CASE
conversations with the stakeholder (who plays the role of a homeowner) Use case: Access
camera surveillance via the Internet—display camera views (ACS- DCV)
Actor: homeowner:
If I’m at a remote location, I can use any PC with appropriate browser software to log on to the
Safe Home Products website. I enter my user ID and two levels of passwords and once I’m
validated, I have access to all functionality for my installed Safe Home system. To access a
specific camera view, I select “surveillance” from the major function buttons displayed. I then
select “pick a camera” and the floor plan of the house is displayed. I then select the camera that
I’m interested in. Alternatively, I can look at thumbnail snapshots from all cameras
simultaneously by selecting “all cameras” as my viewing choice. Once I choose a camera, I
select “view” and a one- frame-per-second view appears in a viewing window that is identified
by the camera ID. If I want to switch cameras, I select “pick a camera” and the original viewing
window disappears and the floor plan of the house is displayed again. I then select the camera
that I’m interested in. A new viewing window appears.
CREATING A PRELIMINARY USE CASE
use case: access camera surveillance via the internet—display camera views (acs-dcv)
ACTOR: homeowner
1.the homeowner logs onto the safe home products website.
2.the homeowner enters his or her user id.
3.the homeowner enters two passwords (each at least eight characters in length).
4.the system displays all major function buttons.
5.the homeowner selects the “surveillance” from the major function buttons.
6.the homeowner selects “pick a camera.”
7.the system displays the floor plan of the house.
8.the homeowner selects a camera icon from the floor plan.
9.the homeowner selects the “view” button.
10.the system displays a viewing window that is identified by the camera id.
11.the system displays video output within the viewing window at one frame per
second.
Refining a Preliminary Use Case
For example,
object:
automobile
attributes:
make
model
body type
price
options code
What is a Relationship?
Data objects are connected to one another in different ways.
Relationship Consider the two data objects, person and car.
CLASS-BASED MODELING
Class-based modeling represents the objects that the system will
manipulate, the operations (also called methods or services) that will
be applied to the objects to effect the manipulation, relationships.
Building an ERD
(1,i)
materials lists
Requirements Modeling Strategies
Following are the requirement modeling strategies:
1. Flow Oriented Modeling
• Data flow model
• Control flow model
• Control Specification
• Process Specification
2. Class-based Modeling
• Classes
• Attributes
• Operations
1. Flow Oriented Modeling
• It shows how data objects are transformed by processing the
function.
The Flow oriented elements are:
1. Data flow model
• It is a graphical technique. It is used to represent information flow.
• The data objects are flowing within the software and transformed
by processing the elements.
• The data objects are represented by labeled arrows. Transformation
are represented by circles called as bubbles.
• DFD shown in a hierarchical fashion. The DFD is split into
different levels. It also called as 'context level diagram'.
Components of Data Flow Diagram:
Following are the components of the data flow diagram that are used to represent source,
destination, storage and flow of data.
•Entities:
Entities include source and destination of the data. Entities are represented by rectangle
with their corresponding names.
•Process:
The tasks performed on the data is known as process. Process is represented by circle.
Somewhere round edge rectangles are also used to represent process.
•Data Storage:
Data storage includes the database of the system. It is represented by rectangle with both
smaller sides missing or in other words within two parallel lines.
•Data Flow:
The movement of data in the system is known as data flow. It is represented with the help
of arrow. The tail of the arrow is source and the head of the arrow is destination.
Components of DFD
The Data Flow Diagram has 4 components:
Process
Input to output transformation in a system takes place because of process function. The symbols of a process
are rectangular with rounded corners, oval, rectangle or a circle. The process is named a short sentence, in one
word or a phrase to express its essence
Data Flow
Data flow describes the information transferring between different parts of the systems. The arrow symbol is
the symbol of data flow. A relatable name should be given to the flow to determine the information which is
being moved. Data flow also represents material along with information that is being moved. Material shifts
are modeled in systems that are not merely informative. A given flow should only transfer a single type of
information. The direction of flow is represented by the arrow which can also be bi-directional.
Warehouse
The data is stored in the warehouse for later use. Two horizontal lines represent the symbol of the store. The
warehouse is simply not restricted to being a data file rather it can be anything like a folder with documents,
an optical disc, a filing cabinet. The data warehouse can be viewed independent of its implementation. When
the data flow from the warehouse it is considered as data reading and when data flows to the warehouse it is
called data entry or data updation.
Terminator
The Terminator is an external entity that stands outside of the system and communicates with the system. It
can be, for example, organizations like banks, groups of people like customers or different departments of the
same organization, which is not a part of the model system and is an external entity. Modeled systems also
communicate with terminator.
DFD for Library Management System
The overall processing unit will contain the following output that a system will
produce or generate:
• Book will be the output as the book demanded by the student will be given to
them.
• Information of demanded book should be displayed by the library information
system that can be used by the student while selecting the book which makes it
easier for the student.
Level 0 DFD
Level 1 DFD –
At this level, the system has to show or exposed with more details of processing.
The processes that are important to be carried out are:
•Book delivery
•Search by topic
List of authors, List of Titles, List of Topics, the bookshelves from which books can be
located are some information that is required for these processes. Data store is used
to represent this type of information.
Level 2 DFD –
Use Case Diagram for Library Management System
Here, we will understand the designing use case diagram for the library management system.
Some scenarios of the system are as follows :
•User who registers himself as a new user initially is regarded as staff or student for the library
system.
•For the user to get registered as a new user, registration forms are available that is
needed to be fulfilled by the user.
•After registration, a library card is issued to the user by the librarian. On the library card,
an ID is assigned to cardholder or user.
•After getting the library card, a new book is requested by the user as per there requirement.
•After, requesting, the desired book or the requested book is reserved by the user that means
no other user can request for that book.
•Now, the user can renew a book that means the user can get a new due date for the desired
book if the user has renewed them.
•If the user somehow forgets to return the book before the due date, then the user pays fine. Or
if the user forgets to renew the book till the due date, then the book will be overdue and the
user pays fine.
•User can fill the feedback form available if they want to.
•Librarian has a key role in this system. Librarian adds the records in the library database
about each student or user every time issuing the book or returning the book, or paying fine.
•Librarian also deletes the record of a particular student if the student leaves the college or
passed out from the college. If the book no longer exists in the library, then the record of the
particular book is also deleted.
•Updating database is the important role of Librarian.
Levels of DFD
DFD uses hierarchy to maintain transparency thus multilevel DFD’s can be
created. Levels of DFD are as follows:
0-level DFD
1-level DFD:
2-level DFD:
assistance(like comments).
•The processes should be numbered or put in ordered list to be referred easily.
•The DFD should maintain consistency across all the DFD levels.
•A single DFD can have maximum processes upto 9 and minimum 3 processes.
0-level DFD:
It is also known as a context diagram. It’s designed to be an abstraction view,
showing the system as a single process with its relationship to external entities. It
represents the entire system as a single bubble with input and output data
indicated by incoming/outgoing arrows.
1-level DFD:
In 1-level DFD, the context diagram is decomposed into multiple bubbles/processes.
In this level, we highlight the main functions of the system and breakdown the
high-level process of 0-level DFD into sub processes.
2-level DFD:
2-level DFD goes one step deeper into parts of 1-level DFD. It can be used to
plan or record the specific/necessary detail about the system’s functioning.
2. Control flow model