Software engineering fxhjaaashaashasascach.docx

amishavaria1998 0 views 52 slides Oct 15, 2025
Slide 1
Slide 1 of 52
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52

About This Presentation

i want practical wise ppt


Slide Content

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
1
Prepared By:-
CE/IT Department
Vadodara Institute of Engineering(080)
Kotambi, Vadodara – 391510
Academic Year :2024-2025
SOFTWARE
ENGINEERING
(3150711)
LABORATORY MANUAL
Degree Semester-V

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Index
Sr No Practical
1
Assign a mini-project to prepare Software documents mentioned below:
A.Project definition
B.Abstract
C.Requirement specification
2
Study SDLC and Construct SRS document for the project
3
Develop UML use case model
4
E-R diagram & Activity Diagram.
5
Develop data dictionary
6 Develop DFD model
7
Develop sequence diagram
8
Develop Class diagram
9
To study testing, debugging for chosen system
10
To study risk analysis
11
Introduction to Function Point Analysis
12
To estimate effort for chosen system
13To prepare timeline chart for project
14
To prepare work break down chart for project
Software Requirement
2

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
1Rational Rose
2Microsoft Visio
3Enterprise resource planning

Date:
Practical 1
Aim:Assign a mini-project to prepare Software documents mentioned below:
A.Project title/definition
B.Abstract
C.Requirement specification
Project title: Library management system
Abstract: The Library Management System is an application for assisting a librarian in
managing a book library in a university. The system would provide basic set of features
to add/update members, add/update books, and manage check in specifications for the
systems based on the client's statement of need.
A Library Management System is a software built to handle the primary
housekeeping functions of a library. Libraries rely on library management systems to
manage asset collections as well as relationships with their members. Library
management systems help libraries keep track of the books and their checkouts, as well
as members’ subscriptions and profiles.
Library management systems also involve maintaining the database for entering new
books and recording books that have been borrowed with their respective due dates.
Requirement specification: We will focus on the following set of requirements while
designing the Library Management System:
a.Any library member should be able to search books by their title, author,
3

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
subject category as well by the publication date.
b.Each book will have a unique identification number and other details
including a rack number which will help to physically locate the book.
c.There could be more than one copy of a book, and library members should
be able to check-out and reserve any copy. We will call each copy of a
book, a book item.
d.The system should be able to retrieve information like who took a
particular book or what are the books checked-out by a specific library
member.
e.There should be a maximum limit (5) on how many books a member can
check- out.
f.There should be a maximum limit (10) on how many days a member can
keep a book.
g.The system should be able to collect fines for books returned after the due date.
h.Members should be able to reserve books that are not currently available.
i.The system should be able to send notifications whenever the reserved
books become available, as well as when the book is not returned
within the due date.
j.Each book and member card will have a unique barcode. The system will
be able to read barcodes from books and members’ library cards.
Application:
1. Prepare the Project Definition, Abstract, and Requirement Specification for a mini-project
of your choice.
2. Select an existing software system and write its Project Definition, Abstract, and
4

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Requirement Specification documents.
5

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 2
Aim:Construct SRS document for the project.
Solution:
Requirement Analysis:
Requirement Analysis is done in order to understand the problem the software system is to solve.
There are two major activities in this phase: problem understanding or analysis and
requirement specification. In problem analysis, the aim is to understand the problem and its
context, and the requirements of the new system that is to be developed. Once the problem
is analyzed and the essentials understood, the requirements must be specified in the
requirement specification document. The requirements document must specify all functional
and performance requirements; the formats of inputs and outputs etc.
Software Design:
The purpose of design phase is to plan a solution of the problem Specified by the
requirements document. This phase is the first step in moving from the problem domain to
solution domain.
The design activity often results in three separate outputs: architecture design, high level
design and detailed design.
Coding:
The main goal of coding phase is to translate the design of the System into code in a given
programming language. The coding phase affects both testing and maintenance profoundly.
The goal of coding should be to reduce the testing and maintenance effort, hence during
coding the focus should be on developing programs that are easy to read and understand.
Testing:
6

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
The function of testing is to detect the defects in the Software. The main goal testing is to
uncover requirement, design and coding errors in the programs.
Purpose:
The SRS typically contains the brief description of the project. The purpose of the
requirement document is to specify all the information required to design, develop and
test the software.
The purpose of this project is to provide a friendly environment to maintain the details of
books and library members.
The main purpose of this project is to maintain easy circulation system using computers
and to provide different reports.
Scope: The document only covers the requirements specifications for the Library
Management System. This document does not provide any references to the other
component of the Library Management System. All the external interfaces and the
dependencies are also identified in this document.
Feasibility study: The overall scope of the feasibility study was to provide sufficient
information to allow a decision to be made as to whether the Library Management System
project should proceed and if so, its relative priority in the context of other existing Library
Management Technology.
Overview:
The implementation of Library Management starts with entering and updating master
records like book details, library information. Any further transaction like book issue, book
return will automatically update the current books.
Overall Description:
Product Perspective:
The proposed Library Management System will take care of the current book detail at any
7

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
point of time. The book issue, book return will update the current book details automatically
so that user will get the update current book details.
Product function:
The main purpose of this project is to reduce the manual work.
This software is capable of managing Book Issues, Returns, and Calculating/Managing
Fine. Generating various Reports for Record-Keeping according to end user requirements
User characteristics:
We have 2 levels of users
User module: In the user module, user will check the availability of the
books. Book return
Administration module: The following are the sub module in the administration module.
Register user
Entry book
details Book
issue
General Constraints:
Any update regarding the book from the library is to be recorded to have update &
correct values.
Assumption and dependencies: All the data entered will be correct and up to date. This
software package is developed using java as front end which is supported by sun micro
system. Microsoft SQL server 2005 as the back end which is supported by Window 7.
Specific Requirement:
External Interface Requirement:
8

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
sThe user should be simple and easy to understand and use. Also be an interactive interface
.The system should prompt for the user and administrator to login to the application and for
proper input criteria
User Interface:
The software provides good graphical interface for the user any administrator can operate
on the system, performing the required task such as create, update, viewing the details of the
book.
Allows user to view quick reports like Book Issues/Returned etc in between particular
time. Stock verification and search facility based on different criteria.
Hardware interface:
Operating system : window
Hard disk :40 GB
RAM : 256 MB
Processor : Pentium(R)Dual-core CPU
Software interface :
Java language
Net beans IDE
7.0.1 MS SQL
server 2005
Communication interface:
Window
Functional requirements:
9

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Book entry: In this module we can store the details of the books.
Register student: in this module we can keep the details of the new
student. Book issue: This module is used to keep a track of book issue
details.
Book return: This module enables to keep a track of return the books.
Performance requirements: The capability of the computer depends on the performance of
the software. The software can take any number of inputs provided the database size is
larger enough. This would depend on the available memory space.
Design constraints:
Each member will be having a identity card which can be used for the library book issue,
fine payment etc. whenever library member wish to take a book, the book issued by the
library authority will be check both the book details as well as the student details and store it
in library database. In case of retrieval of book much of human intervention can be
eliminated.
System attributes:
Maintainability: There will be no maintained requirement for the software. The database is
provided by the end user and therefore is maintained by this user.
Portability: The system is developed for secured purpose, so it is can’t be portable.
Availability: This system will available only until the system on which it is install, is
running. Scalability: Applicable.
10

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Construct an SRS document for a mini-project of your choice by following IEEE standards.
2. Analyze any existing software system and prepare its Software Requirement Specification (SRS)
document including functional and non-functional requirements.
Date:
11

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Practical 3
Aim:Develop UML use case model.
Solution:
What is a Use Case Diagram?
A use case diagram is a dynamic or behavior diagram in UML (Unified Modelling
Language). Use case diagrams model the functionality of a system using actors and use
cases. Use cases are a set of actions, services, and functions that the system needs to
perform.
Why Make Use Case Diagrams?
Use case diagrams are valuable for visualizing the functional requirements of a system that
will translate into design choices and development priorities.
They also help identify any internal or external factors that may influence the system and
should be taken into consideration.
They provide a good high level analysis from outside the system. Use case diagrams specify
how the system interacts with actors without worrying about the details of how that
functionality is implemented.
Basic Use Case Diagram Symbols and
Notations System
Draw your system's boundaries using a rectangle that contains use cases. Place actors
outside the
system's boundaries.
12

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
System symbol - use case diagram
Use Case
Draw use cases using ovals. Label the ovals with verbs that represent the system's functions.
Use case symbol - use case diagram
Actors
Actors are the users of a system. When one system is the actor of another system, label the
actor system with the actor stereotype.
Actor symbol - use case diagram
Relationships
Illustrate relationships between an actor and a use case with a simple line. For relationships
among use cases, use arrows labeled either "uses" or "extends." A "uses" relationship
indicates that one use case is needed by another in order to perform a task. An "extends"
relationship indicates alternative options under a certain use case.
13

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Use case diagram for library management system:
14

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Define actors, use cases and the relationship between them.
2. Describe the importance of use case modeling in software engineering.
15

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 4
Aim:E-R diagram & Activity Diagram.
Solution:
E-R diagram:
What is an Entity Relationship Diagram (ERD)?
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
An entity in this context is an object, a component of data. An entity set is a collection of similar
entities. These entities can have attributes that define its properties.
By defining the entities, their attributes, and showing the relationships between them, an ER
diagram illustrates the logical structure of databases.
Common Entity Relationship Diagram Symbols:
16

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Activity diagram:
What is an Activity Diagram?
An activity diagram visually presents a series of actions or flow of control in a system similar to a
flowchart or a data flow diagram. Activity diagrams are often used in business process modeling.
They can also describe the steps in a use case diagram. Activities modeled can be sequential and
concurrent. In both cases an activity diagram will have a beginning (an initial state) and an end (a
final state).
Basic Activity Diagram Notations and Symbols
Initial State or Start Point
A small filled circle followed by an arrow represents the initial action state or the start point for
17

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
any activity diagram. For activity diagram make sure the start point is placed in the top left corner
of the first column.
Activity or Action State
An action state represents the non-interruptible action of objects.
Action Flow
Action flows, also called edges and paths, illustrate the transitions from one action state to
another. They are usually drawn with an arrowed line.
Decisions and Branching
A diamond represents a decision with alternate paths. When an activity requires a decision prior to
moving on to the next activity, add a diamond between the two activities. The outgoing alternates
should be labeled with a condition or guard expression. You can also label one of the paths "else."
Synchronization
18

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
A fork node is used to split a single incoming flow into multiple concurrent flows. It is
represented as a straight, slightly thicker line in an activity diagram.
A join node joins multiple concurrent flows back into a single outgoing flow. A
fork and join mode used together are often referred to as synchronization.
Final State or End Point
An arrow pointing to a filled circle nested inside another circle represents the final action state.
Activity diagram for library management system:
19

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
20

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Draw an E-R Diagram for any one mini-project (e.g., Hospital Management System, Online
Shopping, etc.).
2. Describe the purpose and components of a UML Activity Diagram.
21

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 5
Aim:Develop data dictionary.
Solution:
A data dictionary contains metadata i.e data about the database. The data dictionary is very
important as it contains information such as what is in the database, who is allowed to access it,
where is the database physically stored etc. The users of the database normally don't interact with
the data dictionary, it is only handled by the database administrators.
The data dictionary in general contains information about the following −
Names of all the database tables and their schemas.
Details about all the tables in the database, such as their owners, their security constraints, when
they were created etc.
Physical information about the tables such as where they are stored and how.
Table constraints such as primary key attributes, foreign key information etc.
Information about the database views that are visible.
22

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
23

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. What is a Data Dictionary in software engineering?
2. Develop a Data Dictionary for a mini-project of your choice (e.g., Library Management
System, Online Food Ordering System, etc.).
24

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 6
Aim:Develop DFD model.
Solution:
Data Flow Diagram (DFD) depicts the flow of information and the transformation applied when
a data moves in and out from a system. The overall system is represented and described using
input, processing and output in the DFD.
The inputs can be:
Book request when a student requests for a book.
Library card when the student has to show or submit his/her identity as a proof.
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 –
25

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
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.
26

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Differentiate between Level 0 (Context Diagram), Level 1, and Level 2 DFDs.
2. Draw the DFD Model (Context Level and Level 1) for a mini-project of your choice
(e.g., Online Banking System, Student Management System, etc.).
27

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 7
Aim:Develop sequence diagram.
Solution:
Sequence diagram:
A Sequence diagram shows the participants (Objects) in an interaction and the sequence of
message among them. A sequence diagram shows the interaction of a system with its actors to
perform all or part of a use case. Sequence diagram represent the dynamic communication
between object during execution of task. Each use case requires one or more sequence diagram to
describe its behavior. Each sequence diagram shows a particular behavior sequence of the use
case. It is best to show a specific portion of a use case and not attempt to be too general. You can
draw a separate sequence diagram for each task.
Components of Sequence Diagram:
1.Object - Class Roles or Participants:
Class roles describe the way an object will behave in context.
Use the UML object symbol to illustrate class roles, but don't list object attributes.
2.Activation or Execution Occurrence
Activation boxes represent the time an object needs to complete a task.
When an object is busy executing a process or waiting for a reply message, use a
thin gray rectangle placed vertically on its lifeline.
3.Lifeline
A lifeline represents a Object in an interaction.
When that object's lifeline ends, you can place an X at the end of its lifeline to
denote a destruction occurrence.
4.Messages X
Messages are arrows that represent communication between objects.
28
Object : Class

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Use the following arrows and message symbols to show how information is
transmitted between objects.
. Steps to Draw a Sequence Diagram:
1.Select one scenario
2.Identify the necessary set of the objects. Who is taking part?
3.Identify the necessary interactions/steps.
4.Describe the message exchange between object.
5.Identify the sequence of interactions and who starts Interactions
Example of library management system:
29

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Discuss how it helps in modeling object interactions over time.

2. Explain the purpose of a sequence diagram in software design.
30

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 8
Aim:Develop Class diagram.
Solution:
Library Management System Class Diagram describes the structure of a Library Management
System classes, their attributes, operations (or methods), and the relationships among objects.
The main classes of the Library Management System are Student, Books, Issues, Librarian,
Member, Address.
31

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Discuss how class diagrams help in system architecture modeling.
2. Draw a UML Class Diagram for any one mini-project.
32

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 9
Aim:To study testing, debugging for chosen system.
Solution:
Testing means verifying correct behavior. Testing can be done at all stages of module
development: requirements analysis, interface design, algorithm design, implementation, and
integration with other modules. In the following, attention will be directed at implementation
testing. Implementation testing is not restricted to execution testing. An implementation can also
be tested using correctness proofs, code tracing, and peer reviews, as described below.
Debugging is a cyclic activity involving execution testing and code correction. The testing that is
done during debugging has a different aim than final module testing. Final module testing aims to
demonstrate correctness, whereas testing during debugging is primarily aimed at locating errors.
This difference has a significant effect on the choice of testing strategies.
What is Debugging?
Definition: The important technique to find and remove the number of errors or bugs or defects in
a program is called Debugging. It is a multistep process in software development. It involves
identifying the bug, finding the source of the bug and correcting the problem to make the program
error-free. In software development, the developer can locate the code error in the program and
remove it using this process. Hence, it plays a vital role in the entire software development
lifecycle.
Types of Debugging
Depending upon the type of code error, there are different types of toolset plugins. It is necessary
to understand what is happening and what type of tool is used for debugging. There are two types
of debugging to solve any general issue of the toolset plugin and provides technical information.
33

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Javascript debugging uses the browser’s debugger tool and javascript console. Any javascript
error can be occurred and stops the execution and functioning of the operations in WordPress.
When the javascript console is open, all the error messages will be cleared. However, some
console warnings appeared can create an error message that should be fixed.
There are different types of debugging for different operating systems. They are,
For Linux and Unix operating systems, GDB is used as a standard debugger.
For Windows OS, the visual studio is a powerful editor and debugger. For
Mac OS, LLDB is a high-level debugger.
Intel parallel inspector is used as a source of debugging for memory errors in C/C++ operations.
Debugging Process
The process of finding bugs or errors and fixing them in any application or software is called
debugging. To make the software programs or products bug-free, this process should be done
before releasing them into the market. The steps involved in this process are,
Identifying the error – It saves time and avoids the errors at the user site. Identifying errors at an
earlier stage helps to minimize the number of errors and wastage of time.
Identifying the error location – The exact location of the error should be found to fix the bug
faster and execute the code.
Analyzing the error – To understand the type of bug or error and reduce the number of errors we
need to analyze the error. Solving one bug may lead to another bug that stops the application
process.
Prove the analysis – Once the error has been analyzed, we need to prove the analysis. It uses a
test automation process to write the test cases through the test framework.
Cover the lateral damage – The bugs can be resolved by making the appropriate changes and
move onto the next stages of the code or programs to fix the other errors.
Fix and Validate – This is the final stage to check all the new errors, changes in the software or
34

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
program and executes the application.
Debugging Software
This software plays a vital role in the software development process. Software developers use it to
find the bugs, analyze the bugs and enhance the quality and performance of the software. The
process of resolving the bugs using manual debugging is very tough and time-consuming. We
need to understand the program, it’s working, and the causes of errors by creating breakpoints.
As soon as the code is written, the code is combined with other stages of programming to form a
new software product. Several strategies like unit tests, code reviews, and pair programming are
used to debug the large program (contains thousands of lines of code). The standard debugger tool
or the debug mode of the Integral Development Environment (IDE) helps determine the code’s
logging and error messages.
The steps involved in debugging software are,
The bug is identified in a system and defect report is created. This report helps the developer to
analyze the error and find the solutions.
The debugging tool is used to know the cause of the bug and analyze it by step-by-step execution
process.
After identifying the bug, we need to make the appropriate changes to fix the issues.
The software is retested to ensure that no error is left and checks all the new errors in the
software during the debugging software process.
A sequence-based method used in this software process made it easier and more convenient for
the developer to find the bugs and fix them using the code sequences.
Debugging Techniques
To perform the debugging process easily and efficiently, it is necessary to follow some
techniques. The most commonly used debugging strategies are,
Debugging by brute force
35

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Induction strategy
Deduction strategy
Backtracking strategy and
Debugging by testing.
Debugging by brute force is the most commonly used technique. This is done by taking memory
dumps of the program which contains a large amount of information with intermediate values and
analyzing them, but analyzing the information and finding the bugs leads to a waste of time and
effort.
Induction strategy includes the Location of relevant data, the Organization of data, the Devising
hypothesis (provides possible causes of errors), and the Proving hypothesis.
Deduction strategy includes Identification of possible causes of bugs or hypothesis Elimination
of possible causes using the information Refining of the hypothesis( analyzing one-by-one)
The backtracking strategy is used to locate errors in small programs. When an error occurs, the
program is traced one step backward during the evaluation of values to find the cause of bug or
error.
Debugging by testing is the conjunction with debugging by induction and debugging by
deduction technique. The test cases used in debugging are different from the test cases used in
the testing process.
36

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Define software testing and its importance.
2. Describe different types of testing (unit, integration, system, acceptance).
37

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 10
Aim:To Study Risk analysis.
Solution:
What Is Risk Analysis?
Risk analysis is the process of assessing the likelihood of an adverse event occurring within the
corporate, government, or environmental sector. Risk analysis is the study of the underlying
uncertainty of a given course of action and refers to the uncertainty of forecasted cash flow
streams, the variance of portfolio or stock returns, the probability of a project's success or failure,
and possible future economic states.
Risk analysts often work in tandem with forecasting professionals to minimize future negative
unforeseen effects. All firms and individuals face certain risks; without risk, rewards are less
likely. The problem is that too much risk can lead to failure. Risk analysis allows a balance to be
struck between taking risks and reducing them.
KEY TAKEAWAYS
Risk analysis seeks to identify, measure, and mitigate various risk exposures or hazards facing a
business, investment, or project.
Quantitative risk analysis uses mathematical models and simulations to assign numerical values
to risk.
Qualitative risk analysis relies on a person's subjective judgment to build a theoretical model of
risk for a given scenario.
Risk analysis is often both an art and a science.
Understanding Risk Analysis
38

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Risk assessment enables corporations, governments, and investors to assess the probability
that
an adverse event might negatively impact a business, economy, project, or investment.
Assessing risk is essential for determining how worthwhile a specific project or investment is
and the best process(es) to mitigate those risks. Risk analysis provides different approaches that
can be used to assess the risk and reward tradeoff of a potential investment opportunity.
A risk analyst starts by identifying what could potentially go wrong. These negatives must be
weighed against a probability metric that measures the likelihood of the event occurring.
Finally, risk analysis attempts to estimate the extent of the impact that will be made if the event
happens. Many risks that are identified, such as market risk, credit risk, currency risk, and so on,
can be reduced through hedging or by purchasing insurance.
Almost all sorts of large businesses require a minimum sort of risk analysis. For example,
commercial banks need to properly hedge foreign exchange exposure of overseas loans, while
large department stores must factor in the possibility of reduced revenues due to a global
recession. It is important to know that risk analysis allows professionals to identify and mitigate
risks, but not avoid them completely.
Types of Risk Analysis
Risk analysis can be quantitative or
qualitative. Quantitative Risk Analysis
Under quantitative risk analysis, a risk model is built using simulation or deterministic statistics
to assign numerical values to risk. Inputs that are mostly assumptions and random variables are
fed into a risk model.
For any given range of input, the model generates a range of output or outcome. The model's
output is analyzed using graphs, scenario analysis, and/or sensitivity analysis by risk managers to
make decisions to mitigate and deal with the risks.
39

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
A Monte Carlo simulation can be used to generate a range of possible outcomes of a decision
made or action taken. The simulation is a quantitative technique that calculates results for the
random input variables repeatedly, using a different set of input values each time. The resulting
outcome from each input is recorded, and the final result of the model is a probability
distribution of all possible outcomes.
The outcomes can be summarized on a distribution graph showing some measures of central
tendency such as the mean and median, and assessing the variability of the data through
standard deviation and variance. The outcomes can also be assessed using risk management
tools such as scenario analysis and sensitivity tables. A scenario analysis shows the best, middle,
and worst outcome of any event. Separating the different outcomes from best to worst provides
a reasonable spread of insight for a risk manager.
For example, an American company that operates on a global scale might want to know how its
bottom line would fare if the exchange rate of select countries strengthens. A sensitivity table
shows how outcomes vary when one or more random variables or assumptions are changed.
Elsewhere, a portfolio manager might use a sensitivity table to assess how changes to the
different values of each security in a portfolio will impact the variance of the portfolio. Other
types of risk management tools include decision trees and break-even analysis.
Qualitative Risk Analysis
Qualitative risk analysis is an analytical method that does not identify and evaluate risks with
numerical and quantitative ratings. Qualitative analysis involves a written definition of the
uncertainties, an evaluation of the extent of the impact (if the risk ensues), and countermeasure
plans in the case of a negative event occurring.
Examples of qualitative risk tools include SWOT analysis, cause and effect diagrams, decision
matrix, game theory, etc. A firm that wants to measure the impact of a security breach on its
servers may use a qualitative risk technique to help prepare it for any lost income that may occur
from a data breach.
40

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Describe common types of risks (technical, managerial, organizational).
2. Perform a risk analysis for a mini-project of your choice
41

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 11
Aim:To study function point analysis.
Solution:
What is Function Point Analysis?
In simple words, FPA is a technique used to measure software requirements based on the
different functions that the requirement can be split into. Each function is assigned with some
points based on the FPA rules and then these points are summarized using the FPA formula. The
final figure shows the total man-hours required to achieve the complete requirement.
Components of Function Point Analysis
Based on the interaction of the system components internally and with external users,
applications, etc they are categorized into five types:
External Inputs (EI): This is the process of capturing inputs from users like control
information or business information and store it as internal/external logic database files.
External Outputs (EO): This is the process of sending out data to external users or systems. The
data might be directly grabbed from database files or might undergo some system-level
processing.
Inquiries (EQ): This process includes both input and output components. The data is then
processed to extract relevant information from internal/external database files.
Internal Logic File (ILF): This is the set of data present within the system. The majority of the
data will be interrelated and are captured via the inputs received from the external sources.
External Logic File (ELF): This is the set of data from external resources or external
applications. The majority of the data from the external resource is used by the system for
reference purposes.
42

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Below are some abbreviations which need to be understood to know the logic in-depth:
Data Element Type (DET): This can be defined as a single, unique, non-repetitive data field.
Record Element Type (RET): This can be defined as a group of DETs. In a more generic way, we can call
this a table of data fields.
File Type Referenced (FTR): This can be defined as a file type referenced by a transaction
(Input/Output/Inquiry). This can be either an internal logic file or an external interface file.
43

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Explain the steps involved in calculating function points.
2. Perform Function Point Analysis for a mini-project of your choice.
44

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 12
Aim:To estimate effort for chosen system.
Solution:
Estimation is the process of finding an estimate, or approximation, which is a value that can be used for some
purpose even if input data may be incomplete, uncertain, or unstable.
Estimation determines how much money, effort, resources, and time it will take to build a specific system or
product. Estimation is based on −
Past Data/Past Experience Available Documents/Knowledge Assumptions
Identified Risks
The four basic steps in Software Project Estimation are −
Estimate the size of the development product. Estimate the effort in person-months or person-hours. Estimate
the schedule in calendar months.
Estimate the project cost in agreed currency. Observations on Estimation
Estimation need not be a one-time task in a project. It can take place during – Acquiring a Project.
Planning the Project.
Execution of the Project as the need arises.
Project scope must be understood before the estimation process begins. It will be helpful to have historical
Project Data.
Project metrics can provide a historical perspective and valuable input for generation of quantitative estimates.
Planning requires technical managers and the software team to make an initial commitment as it leads to
responsibility and accountability.
Past experience can aid greatly.
Use at least two estimation techniques to arrive at the estimates and reconcile the resulting values. Refer
Decomposition Techniques in the next section to learn about reconciling estimates.
Plans should be iterative and allow adjustments as time passes and more details are known. General Project
Estimation Approach
The Project Estimation Approach that is widely used is Decomposition Technique. Decomposition
techniques take a divide and conquer approach. Size, Effort and Cost estimation are performed in a
stepwise manner by breaking down a Project into major Functions or related Software Engineering
45

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Activities.
Step 1 − Understand the scope of the software to be built. Step 2 − Generate an estimate of the
software size.
Start with the statement of scope.
Decompose the software into functions that can each be estimated individually. Calculate the size of
each function.
Derive effort and cost estimates by applying the size values to your baseline productivity
metrics.
Combine function estimates to produce an overall estimate for the entire project.
Step 3 − Generate an estimate of the effort and cost. You can arrive at the effort and cost estimates
by breaking down a project into related software engineering activities.
Identify the sequence of activities that need to be performed for the project to bes completed.
Divide activities into tasks that can be measured.
Estimate the effort (in person hours/days) required to complete each task.
Combine effort estimates of tasks of activity to produce an estimate for the activity. Obtain
cost units (i.e., cost/unit effort) for each activity from the database.
Compute the total effort and cost for each activity.
Combine effort and cost estimates for each activity to produce an overall effort and cost estimate
for the entire project.
Step 4 − Reconcile estimates: Compare the resulting values from Step 3 to those obtained from
Step 2. If both sets of estimates agree, then your numbers are highly reliable. Otherwise, if widely
divergent estimates occur conduct further investigation concerning whether −
The scope of the project is not adequately understood or has been misinterpreted.
The function and/or activity breakdown is not accurate.
46

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Historical data used for the estimation techniques is inappropriate for the application, or
obsolete, or has been misapplied.
Step 5 − Determine the cause of divergence and then reconcile the estimates.
Application:
1. What is effort estimation in software development?
2. Estimate the effort required for a mini-project of your choice (e.g., Library Management
System, Online Food Ordering System).
47

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 13
Aim:To prepare timeline chart for project.
Solution:
48

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Explain the purpose and benefits of using a timeline chart (Gantt chart) in software projects.
2. Prepare a Timeline Chart (Gantt Chart) for a mini-project of your choice (e.g.,
Online Banking System, Library Management System).
49

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Date:
Practical 14
Aim:To prepare work break down chart for project
Solution:
50

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
Application:
1. Explain the difference between deliverable-based and phase-based WBS.

2. Describe how WBS helps in organizing tasks and resources.
51

Vadodara Institute of Engineering(080)
Software Engineering (3150711)
52
Tags