Tutorial

Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

5th SEM [SE] 200940107505

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.

Why use the Software Development Life Cycle?


SDLC is considered the foundation for all software development methodologies, with
various activities associated with each level. Activities such as budgets, requirements
gathering, and documentation writing are part of the cycle, with the more technical elements.
SDLC usuallybegins with determining customer business needs, followed by implementation
and testing. The cycle ends with the fulfillment of all requirements. The software development
life cycle comprises of seven distinct phases:

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:

1. Identification of the system for development


2. Feasibility assessment
3. Creation of project plan

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:

1. Gathering business requirement


2. Creating process diagrams
3. Performing a detailed analysis
Business requirement gathering is the most crucial part at this level of SDLC. Business requirements are a
brief set of business functionalities that the system needs to meet to be successful. This phase does not
define technical details such as the type of technology implemented in the system. A sample business
requirement might look like “The system must track all the employees by their respective department,
region, and the designation.” This requirement shows no such detail as to how the system will implement
this requirement, but rather what the system must do concerning the business.

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:

1. Designing the IT infrastructure


2. Designing the system model

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:

1. Writing test cases

2. Execution of test cases

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:

1. Support the system users


2. System maintenance
3. System changes and adjustment

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.

Definitions, Acronyms, and Abbreviations:


SRS – Software Requirements Specification
HMS – Hotel Management System
Subjective satisfaction – The overall satisfaction of the system
End users – The people who will be actually using the system.

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.

2. Multiple payment options

Everybody has their individual preference when it comes to paying for products online

3.Discounts and gift vouchers

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.

Design and implementation Constrain


Database: - The system shall use the myself database, which is open Source and free.
Operating System: - The Development Environment shall be window 2000.
Web-base: - The system shall be based application.

8|P a ge
5th SEM [SE] 200940107505

Assumption and dependencies


The requirements for the user interface is developed under the assumption that user interface is a
subsystem of existing larger system for hotel reservation management, which keeps and
processes information about existing, booked and free rooms at the hotel, including the data
about room type, number of total rooms at hotel, time of check outs and other factors that
influence the room availability at any given time.

CHAPTER-3
FUNCTIONAL REQUIRMENT
Functional Requirements

Function 1 Make Reservations

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.

Function 2 Add Guest

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.

Function 3 Add staff member

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.

Function 4 Search Rooms

Input Period, Check-in, Check-out, Guest


Output Display a message with available room details
Processing Validate the given details and check for the available rooms in a given time
period and return it’s availability.

9|P a ge
5th SEM [SE] 200940107505

Function 5 Add Payments

Input Total, pay time, Credit card details


Output Database Record, Database successfully updated message
Processing Validate the given details and record the information in to the database.

Function 6 Issue Bill


Input Billing no, Quantity, Price, Taxes, Date, Services, Unit
Output Printed version of the bill
Processing Validate the given details and total cost is calculated according to the
Services gain by the customer.

Function 7 Set Rates

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.

Function 8 Taking Backups


Input Location to save the backup file
Output Display a message showing backup successfully created
Processing Validate the user given location to save the backup file. Save the backup
file to the user specified location

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.

Software Quality Attributes

 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

Maintainability: – What design, coding standards must be adhered to exclusions created.

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

Communication protocols and interface


This project can compatible with all platforms. Connections to the system will be

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:

Google Chrome or any compatible


Web Browser browser
Operating System
Windows or any equivalent OS

Server Side:

Web Server APACHE

Server side Language PHP5.6 or above version

Database Server MYSQL

Google Chrome or any compatible


Web Browser browser

Operating System Windows or any equivalent OS

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

• PHP is an open source software .

• PHP is free to download and use.

MYSQL

• MYSQL is a database server

• MYSQL is ideal for both small and large


applications
• MYSQL supports standard SQL
• MYSQL compiles on a number of platforms

• MYSQL is free to download and use

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

seriously affects the authentication of the system. This Client Management


System is totally outdated and involves high risk of ambiguity and redundancy

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;
}

1. Guarantees that all independent execution path is exercised at least once;


2. Guarantees that both the true and false side of all logical decisions are
exercised;
3. Executes the loop at the boundary values and within the boundaries.

Sketch out Design control flow diagram and Apply Cyclomatic complexity for
given Code. Identify numbers of Independence path require for testing.

 What Is Cyclomatic Complexity?


Cyclomatic complexity (CYC) is a software metric used to determine the complexity of a
program. It is a count of the number of decisions in the source code. The higher the count, the
more complex the code.

How to Calculate Cyclomatic Complexity McCabe?


Use the following formula to calculate cyclomatic complexity (CYC):
CYC = E – N + 2P

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)

This translates to the number of decisions + 1.

Binary decisions — such as “if” and “while” statements — add 1 to complexity.

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

Example of cyclomatic complexity:


If A=10 THEN
IF B>C THEN
A=B
ELSE
A=C
ENDIF
ENDIF
Print A
Print B
Print C

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

B .Function oriented design using SA/SD

SYSTEM ARCHITECTURE

23 | P a g e
5th SEM [SE] 200940107505

A. Object-oriented design using UML


UML DIAGRAM

Class Diagram:

A description of set of objects that share the same attributes operations,


relationships, and semantics

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

B. Test case design


Home Page

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

<input type="text" class="form-control datepicker" name="date_in" autocomplete="off">


</div>
<div class="col-md-3">
<label for="">Chech-out Date</label>
<input type="text" class="form-control datepicker" name="date_out"
autocomplete="off">
</div>

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

<section class="page-section bg-dark">

<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 = $conn->query("SELECT * FROM room_categories");


$cat_arr = array();
while($row = $cat->fetch_assoc()){
38 | P a g e
5th SEM [SE] 200940107505

$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

AIM: Case Study: DevOps

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

 Study principles include:


 Customer-Centric Action
 Create with the End in Mind
 End-To-End Responsibility
 Continuous Improvement
 Automate Everything You Can

 Different tools of DevOps include:

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.
Ansible is easy to deploy because it does not use any
agents or custom security infrastructure on the client-side, and by pushing modules to
the clients. These modules are executed locally on the client-side, and the output is
pushed back to the Ansible server.
41 | P a g e
5th SEM [SE] 200940107505

Features

 It is easy to use to open source deploy applications.


 It helps in avoiding complexity in the software development process.
 It eliminates repetitive tasks.
 It manages complex deployments and speeds up the development process.

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

 It configures the system more comfortable and faster.


 It increases productivity.
 It provides containers that are used to run the application in an isolated
environment.
 It routes the incoming request for published ports on available
nodes to an active container. This feature enables the connection
even if there is no task running on thenode.
 It allows saving secrets into the swarm itself.

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

 Jenkins increases the scale of automation.


 It can easily set up and configure via a web interface.
 It can distribute the tasks across multiple machines, thereby increasing
concurrency.

42 | P a g e
5th SEM [SE] 200940107505

 It supports continuous integration and continuous delivery.


 It offers 400 plugins to support the building and testing any project
virtually.
 It requires little maintenance and has a built-in GUI tool for easy updates.

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

 It is a free open source tool.


 It allows distributed development.
 It supports the pull request.
 It enables a faster release cycle.
 Git is very scalable.
 It is very secure and completes the tasks very fast.

5) SELENIUM:
Selenium is a portable software testing framework for web applications. It provides
an easy interface for developing automated tests.

 Features

 It is a free open source tool.


 It supports multiplatform for testing, such as Android and ios.
 It is easy to build a keyword-driven framework for a WebDriver.
 It creates robust browser-based regression automation suites and tests.

 Advantages of DevOps:

1. It is great approach for quick development and deployment of applications.


2. It responds faster to the market changes to improve business growth.

43 | P a g e
5th SEM [SE] 200940107505

3. It escalate business profits by decreasing the software delivery


time andtransportation cost.
4. Its clear descriptive process gives clarity on product development and
delivery.
5. Improves customer experience and satisfaction.
DevOps simplifies collaboration and places all tools in the cloud for customers
toaccess.
6. DevOps means collective responsibility, which leads to better team
engagement andproductivity

 Disadvantages of DevOps:

1. DevOps professional or expert developers are less available.


2. Adopting new DevOps technology into the industries is hard to
cope in short spanof time.
3. Developing with DevOps Is expensive. Skilled consultants would charge
more.
4. Lack of DevOps knowledge could be a problem in continuous
integration ofautomation

 Background / Preparation:

 Tools / Material Needed:


oHardware: Laptop
oSoftware: Word

44 | P a g e
5th SEM [SE] 200940107505

Questions:

1. What is DevOps? What do DevOps do?


The DevOps is a combination of two words, one is software Development, and
second is Operations. This allows a single team to handle the entire application
lifecycle, from development to testing, deployment, and operations. DevOps helps
you to reduce the disconnection between software developers, quality assurance (QA)
engineers, and system administrators.

What do DevOps do?


 Building and setting up new development tools.
 Understanding the needs of stakeholders and conveying this to developers.
Working on the ways to automate and improve development and release processes.
 Testing and examining code written by others and analyzing results.
 Ensuring that systems are safe and secure against cyber security threats.
 Identifying technical problems and developing software updates and “fixes”
 Working with software developers and software engineers to ensure
that development follows established processes and works as
intended.
 Planning out projects and being involved in project management
decisions. Brieflydiscuss various DevOps tools.

2. Briefly discuss various DevOps tools.


DevOps Tool is an application that helps automate the software development
process. It mainly focuses on communication and collaboration between product
management, software development, and operations professionals. DevOps tool also
enables teams to automate most of the software development processes like build,
conflict management, dependency management, deployment, etc. and helps reduce
manual efforts.

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.

Ansible is easy to deploy because it does not


use any agents or custom security infrastructure on the client-side, and by pushing

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:

Katalon TestOps is a robust orchestration platform that aids with DevOps


communication and collaboration flow. TestOps gives testing and DevOps teams full
visibility of their tests, resources, and environments; and orchestration tools to manage
testsand quality insights.

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.

3. How is DevOps different that the agile methodology?


Parameter DevO Agi
ps le
Definition DevOps is a practice of bringing Agile refers to the continuous
development and operation teams iterative approach, which
together. focuses on collaboration,
customer feedback, small, and
rapid
releases.
Purpose DevOps purpose is to manage end to The agile purpose is to manage
end engineering processes. complex projects.
Task It focuses on constant testing and It focuses on constant changes.
delivery.
Team size It has a large team size as it It has a small team size. As
involvesall the stack holders. smaller is the team, the fewer
people work on it so that they
can
move faster.
Team skillset The DevOps divides and spreads The Agile development
the skill set between development emphasizes training all team
and the operation team. members to have a wide
variety
of similar and equal skills.
Implementation DevOps is focused on Agile can implement within a
collaboration, range of tactical frameworks
so it does not have any commonly such as safe, scrum, and sprint.
accepted framework.
Duration The ideal goal is to deliver the Agile development is managed
code to production daily or every in units of sprints. So this time
few hours. is
much less than a month for each
sprint.
Target areas End to End business solution and Software development.
fast
delivery.

47 | P a g e
5th SEM [SE] 200940107505

Feedback Feedback comes from the internal In Agile, feedback is coming


team. from the customer.

Shift left It supports both variations left and It supports only shift left.
principle right.

Focus DevOps focuses on operational and Agile focuses on functional and


business readiness. non-functional readiness.

Importance In DevOps, developing, testing, Developing software is inherent


and to Agile.
implementation all are
equally important.
Quality DevOps contributes to creating The Agile produces better
better quality with automation and applications suites with the
early bug removal. Developers desired requirements. It can
need to follow Coding and best quickly adapt according to the
Architectural practices to maintain changes made on time during
quality standards. the project life.
Tools Puppet, Chef, AWS, Ansible, and Bugzilla, Kanboard, JIRA are
team City OpenStack are popular some popular Agile tools.
DevOps tools.

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

Deployment frequency denotes how often new features or


capabilities are launched. Frequency can be measured on a daily or
weekly basis. Many organizations prefer to track deployments daily,
especially as they improve efficiency.

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

Deployment frequency means little if the majority of deployments are of little


consequence.

The actual value of deployments may be better reflected by change


volume. This DevOps KPI determines the extent to which code is changed versus
remaining static.Improvements in deployment frequency should not have a significant
impact on change volume.

3) Deployment Time
How long does it take to roll out deployments once they’ve been approved?

Naturally, deployments can occur with greater frequency if they’re quick to

49 | P a g e
5th SEM [SE] 200940107505

implement. Dramatic increases in deployment time warrant further investigation,


especially if they are accompanied by reduced deployment volume. While short
deployment time is essential, it shouldn’t come at the cost of accuracy. Increased error
rates may suggest that deploymentsoccur too quickly.

4) Failed Deployment Rate


Sometimes referred to as the mean time to failure, this metric determines how often deployments
prompt outages or other issues.
This number should be as low as possible. The failed deployment rate is often
referencedalongside the change volume. A low change volume alongside an increasing
failed deployment rate may suggest dysfunction somewhere in the workflow.

5) Change Failure Rate


The change failure rate refers to the extent to which releases lead to unexpected
outages or other unplanned failures. A low change failure rate suggests that
deployments occur quickly and regularly. Conversely, a high change failure rate
suggests poor application stability, which can lead to negative end-user outcomes.

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.

7) Mean Time to Recovery


Once failed deployments or changes are detected, how long does it take actually to
address the problem and get back on track?

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.

9) Defect Escape Rate


Every software deployment runs the risk of sparking new defects. These might not
be discovered until acceptance testing is completed. Worse yet, they could be found by
the enduser.
Errors are a natural part of the development process and should be planned for
accordingly. The defect escape rate reflects this reality by acknowledging that issues
will arise and that they should be discovered as early as possible.

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.

10) Defect Volume


This metric relates to the escape rate highlighted above, but instead focuses on the
actual volume of defects. While some defects are to be expected, sudden increases
should spark concern. A high volume of defects for a particular application may
indicate issues with development or test data management.

11) Availability
Availability highlights the extent of downtime for a given application.

This can be measured as complete (read/write) or partial (read-only) availability.


Less downtime is nearly always better. That being said, some lapses in availability
may be required for scheduled maintenance. Track both planned downtime and
unplanned outages closely, keeping in mind that 100 percent availability might not be
realistic.

12) Service Level Agreement Compliance


To increase transparency, most companies operate according to service level
agreements. These highlight commitments between providers and clients. SLA
compliance KPIs provide the necessary accountability to ensure that SLAs or other
expectations are met.

13) Unplanned Work


How much time is dedicated to unexpected efforts? The unplanned work rate
(UWR) tracks this in relation to time spent on planned work. Ideally, the unplanned

51 | P a g e
5th SEM [SE] 200940107505

work rate (UWR) will not exceed 25 percent.

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.

14) Customer Ticket Volume


As the defect escape rate KPI suggests, not all defects are disastrous. Ideally, however, they will be
caught early. This concept is best reflected in customer ticket volume, which indicates how many alerts
end users generate. Stable user volume alongside increased ticketvolume suggests issues in production or
testing.
1) Cycle Time
Cycle time metrics provide a broad overview of application
deployment.

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy