Tutorial
Tutorial
Tutorial
Tutorial-1
Aim: - Study the complete Software Development Life Cycle (SDLC) and
analyze various activities conducted as a part of various phases. For each
SDLC phase, identify the objectives and summaries outcomes.
What is Software Development Life Cycle (SDLC)?
Software Development Life Cycle (SDLC) is a framework that defines the steps involved in
the development of software at each phase. It covers the detailed plan for building, deploying
and maintaining the software.
SDLC defines the complete cycle of development i.e. all the tasks involved in planning,
creating,testing, and deploying a Software Product.
Software Development Life Cycle Process
SDLC is a process that defines the various stages involved in the development of software
for delivering a high-quality product. SDLC stages cover the complete life cycle of a software
i.e. from inception to retirement of the product.
Adhering to the SDLC process leads to the development of the software in a systematic and
disciplined manner.
Purpose:
Purpose of SDLC is to deliver a high-quality product which is as per the customer’s
requirement.
SDLC has defined its phases as, Requirement gathering, Designing, Coding, Testing, and
Maintenance. It is important to adhere to the phases to provide the Product in a systematic
manner.
For Example, A software has to be developed and a team is divided to work on a feature of the
product and is allowed to work as they want. One of the developers decides to design first
whereas the other decides to code first and the other on the documentation part.
This will lead to project failure because of which it is necessary to have a good knowledge and
understanding among the team members to deliver an expected product.
1|P a ge
5th SEM [SE] 200940107505
1. Planning
2. Analysis
3. Design
4. Development
5. Testing
6. Deployment
7. Maintenance
SDLC Cycle
SDLC Cycle represents the process of developing software.
Phase 1: Planning
The planning phase will determine project goals and establish a high-level plan for the intended project.
Planning is, by definition, a fundamental and critical organizational phase. The three primary activities
involved in the planning phase are as follows:
2|P a ge
5th SEM [SE] 200940107505
Phase 2: Analysis
End-user business requirement analysis takes place during this phase. Project goals are converted into
the defined system functions that the organization intends to develop. The three primary activities
involved inthe analysis phase are as follows:
For Example, A customer wants to have an application which involves money transactions. In this
case, the requirement has to be clear like what kind of transactions will be done, how it will be done, in
which currency it will be done, etc.
Phase 3: Design
In the design phase, we describe the desired features and operations of the system. This phase includes
business rules, pseudo-code, screen layouts, and other necessary documentation. The two primary
activities involved in the design phase are as follows:
The IT infrastructure should have solid foundations to avoid any crash, malfunction, or reduction in
performance. In this phase, the specialist recommends the clients and servers required on a cost and
time basis and the system’s technical feasibility. The organization also creates user interaction
interfaces, data models, and entity relationship diagrams (ERDs) in this phase.
Phase 4: Development
The development phase is when all documents from the previous step transfer into the system. The
primary activities involved in the development phase are as follows:
1. Development of IT infrastructure
2. Development of database and code
3|P a ge
5th SEM [SE] 200940107505
During the design phase, just the IT infrastructure blueprint is provided. In contrast, the organization
purchases and installs the respective software and hardware to support the IT infrastructure during the
development phase. Following this, creating the database and actual code can begin to complete the
system according to the specifications.
Phase 5: Testing
All pieces of code are integrated during the testing phase and deployed in the testing environment.
Testersthen work through Software Testing Life Cycle activities to check the system for errors, bugs,
and defectsto verify the system’s functionalities work as expected. The two primary activities involved
in the testing phase are as follows:
Testing is a critical part of the software development life cycle. To provide quality software, an
organization must systematically perform testing. After writing test cases, the tester executes them. They
compare the expected result with an actual result to verify the system and ensure it operates correctly.
Writing test cases and manually performing them is an intensive task for any organization but will
succeed if executed properly.
Phase 6: Deployment
During this next phase, the system is deployed to a real-life (the client’s) environment where actual
users can begin operating the system. All data and components are present in the production
environment. This phase is also called ‘delivery.’
Phase 7: Maintenance
Any necessary enhancements, corrections, and changes are made during the maintenance phase to
ensure the system continues to work and remain updated to meet business goals. It is necessary to
maintain and upgrade the system from time to time to adapt to future needs. The three primary activities
involved in themaintenance phase are as follows:
4|P a ge
5th SEM [SE] 200940107505
Tutorial-2
Aim: - Consider any project to be developed in any technology as a Software
Architect or Project Manager. Construct Software Requirement
Specification(SRS) document for the project.
What is SRS?
Software requirements specification is a document that captures complete description about
howthe system is expected to perform.
It is a document or set of documentation that describes the feature and behavior of a
system orsoftware application.
It may include a set of use-case that describe interaction the user will have the software.
It also includes a variety of elements that attempts to define the intended functionality
requiredby the customer to satisfy their different users
Table Content
1.INTRODUCATION.
Purpose ................................................................................................................................. 7
Scope .................................................................................................................................... 7
Definitions, Acronyms and abbreviations .............................................................................. 7
Over View… ......................................................................................................................... 8
2. General Description
Product perspective ............................................................................................................... 9
Product Feature .................................................................................................................... 9
Design and implementation Constrain ...................................................................................9
Assumption and dependencies .............................................................................................. 9
3. Functional requirement
Description.......................................................................................................................... 10
Registration Process of SRS (Software Requirements Specification)................................... 10
Check Out of SRS .............................................................................................................. 10
Report Generation of SRS .................................................................................................. 10
Database of SRS................................................................................................................. 10
5|P a ge
5th SEM [SE] 200940107505
4. Non-Functional requirement
Description......................................................................................................................... 11
Security............................................................................................................................. 11
Performance ........................................................................................................................... 11
Maintainability ................................................................................................................... 11
Reliability .......................................................................................................................... 11
5. Interface requirements
User interface ..................................................................................................................... 12
Hardware interface ............................................................................................................. 12
Software requirement ......................................................................................................... 12
Communication protocols and interfaces ........................................................................... 12
6. Software requirement analysis
Description and priority of modules.................................................................................... 13
Actions ...............................................................................................................................14
7. Conclusion ......................................................................................................................... 16
8. Reference ........................................................................................................................... 17
6|P a ge
5th SEM [SE] 200940107505
CHAPTER 1
Purpose:
A hotel reservation system is a complex software tool that schedules the dates and length of stay
for guests as well as takes payment from them......A hotel reservation system enables guests to
schedule dates and length of stay, room selection, extras, and payment all in one place.
Scope:
The scope of the online room reservation system is to create an online web-interface for the users
to check the availability and book the room from any part of the world. This system will be an
alternative to the traditional offline way of checking available rooms and book them. The scope
of the sub-system which is described in this document is the user interface. The system will have
two major types of users: customers and hotel manager.
Overview:
The project hotel booking management system is a web based application that allows the hotel
manager to handle all hotel activities online. Interactive GUI and the ability to manage various
hotel bookings and rooms make this system very flexible and convenient. The hotel manager is a
very busy person and does not have the time to sit and manage the entire activities manually on
paper. This application gives him the power and flexibility to manage the entire system from a
single online system. Hotel management project provides room booking, staff management and
other necessary hotel management features. The system allows the manager to post available
rooms in the system. Customers can view and book room online. Admin has the power of either
approving or disapproving the customer's booking request. Other hotel services can also be
viewed by the customers and can book them too. The system is hence useful for both customers
and managers to portably manage the hotel activities.
7|P a ge
5th SEM [SE] 200940107505
CHAPTER 2
GENERAL DESCRIPTION
Product Perspective
This Hotel booking Management System Software Requirement Specification (SRS) main
objective is to provide a base for the foundation of the project. It gives a comprehensive view of
how the system is supposed to work and what is to be expected by the end users. Client’s
expectation and requirements are analyzed to produce specific unambiguous functional and non-
functional requirements, so they can be used by development team with clear understanding to
build a system as per end user needs. This SRS for HMS can also be used for future as basis for
detailed understanding on how project was started. It provides a blueprint to upcoming new
developers and maintenance teams to assist in maintaining and modifying this project as per
required changeability.
Product Feature
1 Real-time booking:
A contact form on your website is OK, but it doesn’t give the booker a safe feeling about their
upcoming vacation.
Everybody has their individual preference when it comes to paying for products online
Working with advertising campaigns is a great way to expang your target audience.
4.Email automation
This is what will probably save you the most time! Back and forth emailing about booking with
guests should be in the past, if your new reservation management system features email
automation.
8|P a ge
5th SEM [SE] 200940107505
CHAPTER-3
FUNCTIONAL REQUIRMENT
Functional Requirements
Input Code, Number of children, Number of adults, check-in date, check out
date, status, Number of nights
Output Database Record, Database successfully updated message
Processing Validate the given details and record the information in to the database.
Input Member code, Phone number, Company, Name, E-mail, Gender, Address
Output Database Record, Database successfully updated message
Processing Validate the given details and record the information in to the database.
Input Code, Employee Name, Employee Address, NIC, Salary, Name Age,
Occupation, E-mail
Output Database Record, Database successfully updated message
Processing Validate the given details and record the information in to the database.
9|P a ge
5th SEM [SE] 200940107505
Input Check-in, Check-out, Day, No.of guests, First night price, Extension price
Output Database Record, Database successfully updated message
Processing Validate the given details and record the information in to the database.
CHAPTER: -4
NON-FUNCTIONAL REQUIREMENTS
Performance Requirements
Performance requirements define acceptable response times for system functionality. Although the system
is developed suiting for the least system performances, the performance of the system will highly depend
on the performance of the hardware and software components of the installing computer. When consider
about the timing relationships of the system the load time for user interface screens shall take no longer
than two seconds. It makes fast access to system functions. The log in information shall be verified within
10 | P a g e
5th SEM [SE] 200940107505
five seconds causes’ efficiency of the system. Returning query results within five seconds makes search
function more accurate.
Safety Requirements
There are several user levels in hotel management system, Access to the various subsystems will be
protected by a user log in screen that requires a user name and password. This gives different views and
accessible functions of user levels through the system. Maintaining backups ensure the system database
security. System can be restoring in any case of emergency.
Security Requirements
Customer Service Representatives and Managers and owner will be able to log in to the Hotel
Management System. Customer Service Representatives will have access to the
Reservation/Booking and subsystems. Managers will have access to the Management subsystem
as well as the Reservation/Booking subsystems. Owner has the maximum privilege to all
subsystems. Access to the various subsystems will be protected by a user log in screen that
requires a user name and password.
Availability: - The system shall be available during normal hotel operating hours
Correctness: - extent to which program satisfies specifications, fulfills user’s mission
objectives
Efficiency: - How much less number of resources and time are required to achieve a
particular task through the system.
Flexibility: - Ability to add new features to the system and handle them conveniently.
Integrity: - How the system would insecure the information in the system and how it
avoids the data losses. Referential integrity in database tables and interfaces
Maintainability: - How easy is to keep the system as it is and correct defects with making
changes.
Portability: - The Hotel Management System shall run in any Microsoft Windows
environment
11 | P a g e
5th SEM [SE] 200940107505
Reliability: - Specify the factors required to establish the required reliability of the
software system at time of delivery. Mean time between failures and mean time to
recovery
Reusability: - What is the ability to use the available components of the system in other
systems as well.
Testability: - Effort needed to test to ensure performs as intended
CHAPTER 5
INTERFACE REQUIREMENTS
User interfaces (GUI design)
Input from the user will be via keyboard input and mouse point and click. The user will
navigate through the software by clicking on icons and links. The icons will give appropriate
responses to the given input.
Hardware interface: -
All components able to be executed on personal computers with Windows OS
platforms and other platforms like Linux, Unix.
Operating system: window
Hard disk :40 GB
RAM: 256 MB
Processor: Pentium(R)Dual-core CPU
Software Interface
All the interfaces will be ASPX pages running within the internet browser. The SMS
mustintegrate with the DB though SQL Interface. The system will be hosted in a web
serverrunning on Windows Server 2005.
Java language
Net beans IDE 7.0.1
MS SQL server 2005
Android
12 | P a g e
5th SEM [SE] 200940107505
over TCP/IP connection, project supports all types of web browsers. I have used
database somy system can work offline.
Window
CHAPTER: -6
SOFTWARE REQUIREMENT ANALYSIS
Software Requirement:
Client Side:
Server Side:
APACHE
The Apache HTTP Server Project is an effort to develop and maintain an open-
source HTTP server for modern operating systems including UNIX and Windows.
13 | P a g e
5th SEM [SE] 200940107505
The goal of this project is to provide a secure, efficient and extensible server that
provides HTTP services in sync with the current HTTP standards.
The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most
popular web server on the Internet since April 1996. It has celebrated its 20th
birthday as a project in February 2015.
PHP
• PHP stands for PHP: Hypertext Preprocessor.
• PHP is a server-side scripting language, like
ASP.
• PHP scripts are executed on the server.
• PHP supports many databases (MYSQL, Informix, Oracle, Sybase,
Solid, Generic ODBC, etc.).
MYSQL
Analysis:
The present scenario offers manual data entry. A lot of time is wasted in creating
the reports as well as maintaining them. In case, if any query arises to get the
information about the client, the whole report is re-typed or Xeroxed. This
14 | P a g e
5th SEM [SE] 200940107505
CHAPTER 7
CONCLUTION
In this project we learnt to make SRS for all projects & Use Case Diagram, Data
Flow Diagram, Class Diagram and all different type of diagram for hotel booking
Management System and all different project.
CHAPTER 8
REFERENCE:
PHP
MY SQL
JAVASCRIPT
JQUERY
E-Draw max
MS Word
15 | P a g e
5th SEM [SE] 200940107505
Tutorial-3
Case Study: Considering your immense expertise in software development,
The Absolute Beginners Inc. has recently allotted you a mega project. The goal
of the project is to create a database of all Hindi films released since 2000. The
software would allow one to generate a list of top ten hit films, top ten flop
films, best comedy films, and so on. Using your prior experience you have
decided the approximate sizes of each module of the software as follows:
Data entry (0.9 KDSI)
Data update (0.7 KDSI)
Query (0.9 KDSI)
Report generation and display (2 KDSI)
Also take into consideration the following cost drivers with their ratings:
Storage constraints (Low)
Experience in developing similar software (High)
Programming capabilities of the developers (High)
Application of software engineering methods (High)
Use of software tools (High)
(All other cost drivers have nominal rating).
Now answer the following:
Solve the problem by Applying Basic and intermediate COCOMO
o Find Project Type?
o Find Project Size?
o Find Initial Effort Estimation?
o Find Adjusted Effort Estimation?
o Find schedule?
o Find minimum size of the team you would require to develop this
system?
Assuming that your client would pay Rs. 50,000 per month of
development, how much would be the likely billing?
Objectives:-
To get an rough idea about the cost.
To get an early stage design.
To get rough-order of level estimates of software cost.
To get idea about planning and resource allocation.
To get a specific schedule for the project to work accordingly and complete project intime.
16 | P a g e
5th SEM [SE] 200940107505
Pre-requisite:-
The project that uses COCOMO model should be small.
The development environment should be known.
A similar type of project should already present or should be made i.e. historical
information is required.
No requirement should specify any innovation because scope of innovation is verylittle.
Theory concept:-
BASIC COCOMO:-
The COCOMO is COst COnstructive MOdel.
The model is an open model. As it is an open model every single detail
provided.Details would include all the assumptions, definitions, equations, etc.
COCOMO is an algorithmic cost model.
It is based on the historical information. It is inspired by past projects and
applications that are already developed.
It is easy to use COCOMO in small projects.
COCOMO is size based model.
A concept of cost driver is present in COCOMO model.
Cost driver are those critical features which drive the cost i.e. which affects the
costof the project. The cost drivers may vary the cost of building a project.
There are three modes of COCOMO model. They are as follows:
1. Organic mode
2. Semidetached mode
3. Embedded mode
1) Organic mode:-
In this mode the development projects are less complicated and involve smallexperienced
teams.
Project is developed in familiar environment.
As the team is small the communication among the group members is more.
The co-ordination of the members is more.
As the project is small the scope of innovation is very little.
EFFORT (E)=2.4(KDSI)1.05
Where E is person-months
SCHEDULE=2.5(E)0.38
17 | P a g e
5th SEM [SE] 200940107505
2) Semidetached mode:-
In size it lies between organic mode and embedded mode.
It consists of experts as well as fresher's.
Consequently the experience of the team will be average i.e. their will mixture ofpersons
in context to experience .
This also means that team members will have experience knowledge about some aspects
of the system that is under development but not fully informed and possibilityof average
domain skills.
EFFORT (E)=3(KDSI)1.12
Where E is person-months
SCHEDULE=2.5(E)0.35
3) Embedded mode:-
In size the project is very large.
The team is very large.
The team members are highly skilled.
EFFORT(E)=3.6(KDSI)1.20
SCHEDULE=2.5(E)0.32
18 | P a g e
5th SEM [SE] 200940107505
Tutorial-5
Consider the following Java code segment:
public Hash table count Alphabet(Stri ng a String){
Hashtable table = new HashtableO;
If (astring.length > 4000) return table;
StringBuffer buffer = new stringBuffer(astring);
while (buffer.length() >
string firstChar = buffer.substring(0,1); Integer count =
(integer)table.get(firstchar); if (count==null){
count • new Integer(1);
} else{
count = new integer(count.intvalue() + 1);
table. put (firstChar, count);
buffer.delete(0, 1);
}
return table;
}
Sketch out Design control flow diagram and Apply Cyclomatic complexity for
given Code. Identify numbers of Independence path require for testing.
19 | P a g e
5th SEM [SE] 200940107505
In this equation:
P = Number of disconnected parts of the flow graph (e.g. a calling program and a
subroutine)
E = Number of edges (transfers of control)
N = Number of nodes (sequential group of statements containing only one transfer of
control)
Boolean operators can add either one or nothing to complexity. For instance, one may be added if
a Boolean operator is found within a conditional statement.
EQUATION OF PROGRAM
V(G) = E - N + 2
=15 - 13 + 2
V(G) = 4
Following are the properties of Cyclomatic complexity:
1) V(G) is the maximum number of independent paths in the graph
2) V(G ) >= 1
3) G will have one path if V(G) = 1
4) Minimize complexity to 10
20 | P a g e
5th SEM [SE] 200940107505
21 | P a g e
5th SEM [SE] 200940107505
Tutorial 6:-
Subject Project: For below mentioned Systems and other systems assign a
mini-project two a group of students to prepare Software documents
mentioned as A to E
1. Library Information System
2. Villager Telephone System
3. Waste Management Inspection Tracking System (WMITS)
4. Flight Control System
5.Ambulance Dispatching System
A. Development of Software Requirements Specification (SRS)
B. Function oriented design using SA/SD
C. Object-oriented design using UML
D. Test case design
E. Implementation using Java and testing
22 | P a g e
5th SEM [SE] 200940107505
SYSTEM ARCHITECTURE
23 | P a g e
5th SEM [SE] 200940107505
Class Diagram:
24 | P a g e
5th SEM [SE] 200940107505
ER Diagram
25 | P a g e
5th SEM [SE] 200940107505
26 | P a g e
5th SEM [SE] 200940107505
27 | P a g e
5th SEM [SE] 200940107505
DFD Diagram
Level 0
Level 1
28 | P a g e
5th SEM [SE] 200940107505
Level 2
29 | P a g e
5th SEM [SE] 200940107505
SEQUENCE DIAGRAM
STATE DIAGRAM
30 | P a g e
5th SEM [SE] 200940107505
ACTIVITY DIAGRAM
31 | P a g e
5th SEM [SE] 200940107505
32 | P a g e
5th SEM [SE] 200940107505
33 | P a g e
5th SEM [SE] 200940107505
Code
Home.php
<!-- Masthead-->
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-content-center text-center">
<div class="col-lg-10 align-self-end mb-4">
<div class="card" id="filter-book">
<div class="card-body">
<div class="container-fluid">
<form action="index.php?page=list" id="filter" method="POST">
<div class="row">
<div class="col-md-3">
<label for="">Chech-in Date</label>
34 | P a g e
5th SEM [SE] 200940107505
<div class="col-md-3">
<br>
<button class="btn-btn-block btn-primary mt-3">Check Availability</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
<section class="page-section">
</section>
<div id="portfolio">
<div class="container-fluid p-0">
<div class="row no-gutters">
<?php
include'admin/db_connect.php';
$qry = $conn->query("SELECT * FROM room_categories order by rand() ");
35 | P a g e
5th SEM [SE] 200940107505
while($row = $qry->fetch_assoc()):
?>
<div class="col-lg-4 col-sm-6">
<a class="portfolio-box" href="#">
<img class="img-fluid" src="assets/img/<?php echo $row['cover_img'] ?>" alt="" />
<div class="portfolio-box-caption">
<div class="project-category text-white-30"><?php echo "$
".number_format($row['price'],2) ?> per day</div>
<div class="project-name"><?php echo $row['name'] ?></div>
</div>
</a>
</div>
<?php endwhile; ?>
</div>
</div>
</div>
About us.php
<!-- Masthead-->
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-content-center text-center">
<div class="col-lg-10 align-self-end mb-4" style="background: #0000002e;">
<h1 class="text-uppercase text-white font-weight-bold">About Us</h1>
<hr class="divider my-4" />
</div>
</div>
</div>
</header>
36 | P a g e
5th SEM [SE] 200940107505
<section class="page-section">
<div class="container">
<?php echo html_entity_decode($_SESSION['setting_about_content']) ?>
</div>
</section>
List.php
<?php
$date_in = isset($_POST['date_in']) ? $_POST['date_in'] : date('Y-m-d');
$date_out = isset($_POST['date_out']) ? $_POST['date_out'] : date('Y-m-
d',strtotime(date('Y-m-d').' + 3 days'));
?>
<!-- Masthead-->
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-content-center text-center">
<div class="col-lg-10 align-self-end mb-4" style="background: #0000002e;">
<h1 class="text-uppercase text-white font-weight-bold">Rooms</h1>
<hr class="divider my-4" />
</div>
</div>
</div>
</header>
<div class="container">
<div class="col-lg-12">
37 | P a g e
5th SEM [SE] 200940107505
<div class="card">
<div class="card-body">
<form action="index.php?page=list" id="filter" method="POST">
<div class="row">
<div class="col-md-3">
<label for="">Chech-in Date</label>
<input type="text" class="form-control datepicker" name="date_in" autocomplete="off"
value="<?php echo isset($date_in) ? date("Y-m-d",strtotime($date_in)) : "" ?>">
</div>
<div class="col-md-3">
<label for="">Chech-out Date</label>
<input type="text" class="form-control datepicker" name="date_out" autocomplete="off"
value="<?php echo isset($date_out) ? date("Y-m-d",strtotime($date_out)) : "" ?>">
</div>
<div class="col-md-3">
<br>
<button class="btn-btn-block btn-primary mt-3">Check Availability</button>
</div>
</div>
</form>
</div>
</div>
<hr>
<?php
$cat_arr[$row['id']] = $row;
}
$qry = $conn->query("SELECT distinct(category_id),category_id from rooms where id
not in (SELECT room_id from checked where '$date_in' BETWEEN date(date_in) and
date(date_out) and '$date_out' BETWEEN date(date_in) and date(date_out) )");
while($row= $qry->fetch_assoc()):
?>
<div class="card item-rooms mb-3">
<div class="card-body">
<div class="row">
<div class="col-md-5">
<img src="assets/img/<?php echo $cat_arr[$row['category_id']]['cover_img'] ?>" alt="">
</div>
<div class="col-md-5" height="100%">
<h3><b><?php echo '$ '.number_format($cat_arr[$row['category_id']]['price'],2)
?></b><span> / per day</span></h3>
<h4><b>
<?php echo $cat_arr[$row['category_id']]['name'] ?>
</b></h4>
<div class="align-self-end mt-5">
<button class="btn btn-primary float-right book_now" type="button" data-id="<?php
echo $row['category_id'] ?>">Book now</button>
</div>
</div>
</div>
</div>
</div>
<?php endwhile; ?>
</div>
39 | P a g e
5th SEM [SE] 200940107505
</div>
</section>
<style type="text/css">
.item-rooms img {
width: 23vw;
}
</style>
<script>
$('.book_now').click(function(){
uni_modal('Book','admin/book.php?in=<?php echo $date_in ?>&out=<?php echo
$date_out ?>&cid='+$(this).attr('data-id'))
})
</script>
40 | P a g e
5th SEM [SE] 200940107505
Tutorial:-7
Theory:
DevOps is a software automation delivery process which enables software development
and testing to work simultaneously. The usage of DevOps initially started in 2009 at
Agile 2008 conference in Belgium.
DevOps provides a collaborative working environment between software developers and
information technology (IT) teams to automate development process which is not
possible in traditional approach.
DevOps is very much required to automate the product development and delivery.
DevOps automation process gives possibility to make required changes in product which
is under development.
DevOps Internal communication environment between Developer and Operations team
is helpful to identify errors and make them correct at a time.
DevOps is nothing but a practice or methodology of making "Developers" and
"Operations" folks work together. DevOps represents a change in the IT culture with a
complete focus on rapid IT service delivery through the adoption of agile practices in the
context of a system-oriented approach.
1) ANSIBLE:
Features
2) DOCKER:
Docker is a high-end DevOps tool that allows building, ship, and run distributed
applications on multiple systems. It also helps to assemble the apps quickly from the
components, and it is typically suitable for container management.
Features
3) JENKINS:
Jenkins is a DevOps tool for monitoring the execution of repeated tasks. Jenkins is
a software that allows continuous integration. Jenkins will be installed on a server
where the central build will take place. It helps to integrate project changes more
efficiently by findingthe issues quickly.
Features
42 | P a g e
5th SEM [SE] 200940107505
4) GIT:
Git is an open-source distributed version control system that is freely available for
everyone. It is designed to handle minor to major projects with speed and efficiency. It
is developed to co-ordinate the work among programmers. The version control allows
you to track and work together with your team members at the same workspace. It is
used as a critical distributed version-control for the DevOps tool.
Features
5) SELENIUM:
Selenium is a portable software testing framework for web applications. It provides
an easy interface for developing automated tests.
Features
Advantages of DevOps:
43 | P a g e
5th SEM [SE] 200940107505
Disadvantages of DevOps:
Background / Preparation:
44 | P a g e
5th SEM [SE] 200940107505
Questions:
DevOps Tools:
1) ANSIBLE:
Ansible is a leading DevOps tool. Ansible is an open-source IT engine that
automates application deployment, cloud provisioning, intra service orchestration, and
other IT tools. It makes it easier for DevOps teams to scale automation and speed up
productivity.
45 | P a g e
5th SEM [SE] 200940107505
modules tothe clients. These modules are executed locally on the client-side, and the
output is pushed back to the Ansible server.
2) DOCKER:
Docker is a high-end DevOps tool that allows building, ship, and run distributed
applications on multiple systems. It also helps to assemble the apps quickly from the
components, and it is typically suitable for container management.
3) JENKINS:
Jenkins is a DevOps tool for monitoring the execution of repeated tasks. Jenkins is
a software that allows continuous integration. Jenkins will be installed on a server
where the central build will take place. It helps to integrate project changes more
efficiently by findingthe issues quickly.
4) GIT:
Git is an open-source distributed version control system that is freely available for
everyone. It is designed to handle minor to major projects with speed and
efficiency. It is developed to co-ordinate the work among programmers. The
version control allows you to
track and work together with your team members at the same workspace. It is used
as acritical distributed version-control for the DevOps tool.
5) SELENIUM:
Selenium is a portable software testing framework for web applications. It provides
an easy interface for developing automated tests.
6) QuerySurge:
QuerySurge is the smart data testing solution that is the first-of-its-kind full
DevOps solution for continuous data testing.
7) Katalon TestOps:
8) Embold:
Fixing bugs before deployment saves a lot of time and energy in the long run.
46 | P a g e
5th SEM [SE] 200940107505
Embold is a software analytics platform that analyses source code and uncovers issues
that impact stability, robustness, security, and maintainability.
47 | P a g e
5th SEM [SE] 200940107505
Shift left It supports both variations left and It supports only shift left.
principle right.
Automation Automation is the primary goal of Agile does not emphasize on the
DevOps. It works on the principle automation.
of maximizing efficiency when
deploying software.
Communication DevOps communication involves Scrum is the most common
specs and design documents. It is method of implementing Agile
essential for the operational team software development. Scrum
to fully understand the software meeting is carried out daily.
release and its network
implications for the
enough running the deployment
process.
48 | P a g e
5th SEM [SE] 200940107505
Documentation In the DevOps, the process The agile method gives priority
documentation is foremost because to the working system over
it will send the software to an complete documentation. It is
operational team for deployment. ideal when you are flexible and
Automation minimizes the impact responsive. However, it can
of harm when you are trying to
insufficient documentation. turn things over to
However, in the development of another team for
sophisticated software, it's difficult deployment.
to transfer all the
knowledge required.
4. What are the important key performance indicators of DevOps?
1) Deployment Frequency
Ideally, frequency metrics will either remain stable over time or see slight and
steady increases. Any sudden decrease in deployment frequency could indicate
bottlenecks withinthe existing workflow.
More deployments are typically better, but only up to a point. If high frequency
results in increased deployment time or a higher failure rate, it may be worth holding
off on deployment increases until existing issues can be resolved.
2) Change Volume
3) Deployment Time
How long does it take to roll out deployments once they’ve been approved?
49 | P a g e
5th SEM [SE] 200940107505
6) Time to Detection
A low change failure rate doesn’t always indicate that all is well with your application.
While the ideal solution is to minimize or even eradicate failed changes, it’s
essential to catch failures quickly if they do occur. Time to detection KPIs can
determine whether current response efforts are adequate. High time to detection could
prompt bottlenecks capable of interrupting the entire workflow.
Mean time to recovery (MTTR) is an essential metric that indicates your ability to
respond appropriately to identified issues. Prompt detection means little if it’s not
followedby an equally rapid recovery effort. MTTR is one of the best known and
commonlycited DevOps key performance indicator metrics.
8) Lead Time
Lead time measures how long it takes for a change to occur.
This metric may be tracked beginning with idea initiation and continuing through
deployment and production. Lead time offers valuable insight into the efficiency of the
50 | P a g e
5th SEM [SE] 200940107505
entire development process. It also indicates the current ability to meet the user base’s
evolving demands. Long lead times suggest harmful bottlenecks, while short lead
times indicate that feedback is addressed promptly.
The defect escape rate tracks how often defects are uncovered in pre-production
versus during the production process. This figure can provide a valuable gauge of the
overarchingquality of software releases.
11) Availability
Availability highlights the extent of downtime for a given application.
51 | P a g e
5th SEM [SE] 200940107505
A high UWR may reveal efforts wasted on unexpected errors that were likely not
detected early in the workflow. The UWR is sometimes examined alongside the rework
rate(RWR), which relates to the effort to address issues brought up in tickets.
This KPI tracks the entirety of the process, beginning with ideation and ending with
user feedback. Shorter cycles are generally preferable, but not at the expense of
discovering defects or abiding by SLAs
52 | P a g e