You are on page 1of 10

SOFTWARE ENGINEERING

LAB FILE
B.Tech in Computer Engineering
Semester Five

DELHI TECHNOLOGICAL UNIVERSITY


Shahbad Daulatpur, Bawana Road-110042, Delhi

SUBMTTED BY:

Aashish Bikram Gupta


2K20/CO/008
EXPERIMENT-1
INTRODUCTION TO SOFTWARE ENGINEERING
A software is a computer program along with the associated documents and the
configuration data that make these programs operate correctly. The term software
engineering is the product of two words,
software, and engineering.
The software is a collection of integrated programs.
Software subsists of carefully-organized instructions and code written by developers on any
of various particular computer languages.
Computer programs and related documentation such as requirements, design models and
user manuals.
Engineering is the application of scientific and practical knowledge to invent, design, build,
maintain, and improve frameworks, processes, etc.
Software Engineering is an engineering branch related to the evolution of software product
using well-defined scientific principles, techniques, and procedures. The result of software
engineering is an effective and reliable software product.

The importance of Software engineering is as follows:


Reduces complexity: Big software is always complicated and challenging to progress.
Software engineering has a great solution to reduce the complication of any project.
Software engineering divides big problems into various small issues. And then start solving
each small issue one by one. All these small problems are solved independently to each
other.
To minimize software cost: Software needs a lot of hardwork and software engineers are
highly paid experts. A lot of manpower is required to develop software with a large number
of codes. But in software engineering, programmers project everything and decrease all
those things that are not needed. In turn, the cost for software productions becomes less as
compared to any software that does not use software engineering method.
To decrease time: Anything that is not made according to the project always wastes time.
And if you are making great software, then you may need to run many codes to get the
definitive running code. This is a very time-consuming procedure, and if it is not well
handled, then this can take a lot of time. So if you are making your software according to
the software engineering method, then it will decrease a lot of time. Handling big projects:
Big projects are not done in a couple of days, and they need lots of patience, planning, and
management. And to invest six and seven months of any company, it requires heaps of
planning, direction, testing, and maintenance. No one can say that he has given four months
of a company to the task, and the project is still in its first stage. Because the company has
provided many resources to the plan and it should be completed. So to handle a big project
without any problem, the company has to go for a software engineering method.
Reliable software: Software should be secure, means if you have delivered the software,
then it should work for at least its given time or subscription. And if any bugs come in the
software, the company is responsible for solving all these bugs. Because in software
engineering, testing and maintenance are given, so there is no worry of its reliability.
Effectiveness: Effectiveness comes if anything has made according to the standards.
Software standards are the big target of companies to make it more effective. So Software
becomes more effective in the act with the help of software engineering.

Objectives of Software Engineering:


1. Maintainability – It should be feasible for the software to evolve to meet changing
requirements.
2. Efficiency – The software should not make wasteful use of computing devices such as
memory, processor cycles, etc.
3. Correctness – A software product is correct if the different requirements as specified in
the SRS document have been correctly implemented.
4. Reusability – A software product has good reusability if the different modules of the
product can easily be reused to develop new products.
5. Testability – Here software facilitates both the establishment of test criteria and the
evaluation of the software with respect to those criteria.
6. Reliability – It is an attribute of software quality. The extent to which a program can be
expected to perform its desired function, over an arbitrary time period.
7. Portability – In this case, the software can be transferred from one computer system or
environment to another.
8. Adaptability – In this case, the software allows differing system constraints and the user
needs to be satisfied by making changes to the software.
EXPERIMENT-2
PROBLEM STATEMENT
A Bus Reservation System. User can search, book a bus if there is availability of the bus
and seats. There are three types of user i.e. Customer,Admin, Bus Owner. The actions
provided for each users are:
Customers:
i) Can register for the site
ii) Can search for the available bus
iii) Can select seat and reserve the bus
iv) Can modify the details of themselves

Bus Owner:
i) They can register their bus
ii) Can add or delete or update their details of the bus
iii) Can extract data from Admin of the reservation of the bus
Admin:
i) Admin have overall control of the system
ii) can perform CRUD operation in the system

Existing System:
Customer have to manually go to the bus counter for the reservation of the bus. This creates
many issues. This process is time consuming and not reliable. Suppose a customer want to
check available seat, it is difficult to search and it is time consuming. Also the details
manually kept can have issues.

Purpose:
The purpose of Bus Reservation System is to provide a reliable and fast and easiest way to
the customers to reserve seats in a bus. This will be reliable and easy to use software for
customers and also bus owners as it will help both of them to manage their things easily.
EXPERIMENT-3
Various Elicitation Techniques

Requirement Elicitation and Analysis, also known as the gathering of requirements. The
requirements are analyzed to identify inconsistencies, defects, omission, etc. We describe
requirements in terms of relationships and also resolve conflicts if any.
The various elicitation techniques are as follows:
Interview:
The interview is one of the main elicitation techniques used by business analysts.
Sometimes, the business analyst may use the elicitation technique interview to elicit
information from a person (or a group of people) in an informal or formal setting by
asking questions and documenting the responses.
Brainstorming Sessions:
It is a group technique. It is intended to generate lots of new ideas hence providing a
platform to share views. A highly trained facilitator is required to handle group bias and
group conflicts. Finally, a document is prepared which consists of the list of requirements
and their priority if possible.
Document Analysis/Review:
This technique is used to gather business information by reviewing/examining the
available materials that describe the business environment. This analysis is helpful to
validate the implementation of current solutions and is also helpful in understanding the
business need. Document analysis includes reviewing the business plans, technical
documents, problem reports, existing requirement documents, etc. This is useful when the
plan is to update an existing system. This technique is useful for migration projects.
Prototyping:
Prototyping is used to identify missing or unspecified requirements. In this technique,
frequent demos are given to the client by creating the prototypes so that client can get an
idea of how the product will look like. Prototypes can be used to create a mock-up of
sites, and describe the process using diagrams. It will help to get a visual representation
of the product and stakeholders can also provide feedback easily.
Questionnaire:
For Survey/Questionnaire, a set of questions is given to stakeholders to quantify their
thoughts. After collecting the responses from stakeholders, data is analysed to identify the
area of interest of stakeholders. Questions should be based on high priority risks.
Questions should be direct and unambiguous. Once the survey is ready, notify the
participants and remind them to participate. We can use this technique to get clear idea
about what customer is expecting from the product.
EXPERIMENT-4
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTS
Functional requirements:
Functional requirements are nothing but the services provided by the system to
its end users. There are three kinds of user types in this Application.
1) Customers:
i) They can register with the system
ii) They can login to the system
iii) They can change their password
iv) They can have advanced search
v) They can make payment
vi) They can Reserve a seats
2) Admin:
i) Admin can Update and Delete the buses/customers.
ii) Can make changes in overall system like price of the ticket.
iii) Can add buses
iv) Can restrict the users
3) Bus Owner:
i) Can request admin to add buses.
ii) Can request admin to get details of the passengers.
iii) Can make changes in buses.

Non-Functional Requirements:
1. User Interface: Application will be accessed through a Browser. The software would
be fully compatible with Google Chrome & Safari. No user would be able to access any
part of the application without logging into the system.
2. Performance Requirements: Some Performance requirements identified is listed
below:
a. The software shall support use of multiple users at a time.
b. The software should be able to accommodate a minimum of 500 tests c. The database
shall be able to accommodate a minimum of 3,000 records of students.
3. Security Requirements: Some of the factors that are identified to protect the software
from accidental or malicious access, use, modification, destruction, or disclosure are: a.
Keep specific log or history data sets. b. Assign certain functions to different modules c.
Restrict communications between some areas of the program
4. Software Quality Attributes: The Quality of the System is maintained in such a way
so that it can be very user friendly to all the users a. Reliable b. Fast c. Secure d.
Compatible across multiple browsers
Experiment-5
USE CASE DIAGRAM:
EXPERIMENT-6
DRAW ER-DIAGRAM OF PROBLEM STATEMENT

You might also like