SEN 22413 All Experiment (Join AICTE)

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

Software Engineering(22413)

Practical no:1
Write problem statement to define the project title with bounded scope of the
project.
Problem Statement:
A problem statement is a clear description of the issue(s), it includes a vision, issue
statement, and method used to solve the problem. A problem statement is usually
one or two sentences to explain the your problem process improvement project will
address.
Project title: Library Management System
Project Scope:
A project scope, or project scope statement, is a tool used to describe the major
deliverables of a project including the key milestones, high level requirements,
assumptions, and constraints. The project scope statement is a useful tool for future
decision making when new change requests are considered to modify the project
scope.

LIBRARY MANAGEMENT SYSTEM

PROBLEM STATEMENT

The purpose of the Library Management system is to allow for storing details of a large
number of books, magazines, Journals, thesis and allow for add, search, borrow, return facilities
separately to administrator/Librarian, staff and students. Different privileges are given to
different types of users.
The tasks to be done are:
1. Identify the main entities (objects) for this system.
2. Find out the relationships between these objects.
3. Find the necessary attributes and functions that need to be associated with each object to
implement the functionality mentioned above.
Software Engineering(22413)

Project Scope

The scope of Library Management System includes:


● Create distinct product users based on their roles and permissions.
● Authenticate users at their login.
● Provide the list of books the users can borrow.
● Facility to reserve books that are available.
● Facility to cancel the reservation for a book made earlier.
● Providing interface to add or delete books to staffs.
Software Engineering(22413)
Practical no: 2
Select relevant process model to define activites and related tasks set for assigned
project.
Introduction :
Process development model :
It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In
a waterfall model, each phase must be completed before the next phase can begin and there is no
overlapping in the phases.
Waterfall Model - Design and Activities
In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase
sequentially. The following illustration is a representation of the different phases of the Waterfall
Model.

The sequential phases in Waterfall model are −


● Requirement Gathering and analysis − All possible requirements of the system to be
developed are captured in this phase and documented in a requirement specification
document.
● System Design − The requirement specifications from first phase are studied in this phase
and the system design is prepared. This system design helps in specifying hardware and
system requirements and helps in defining the overall system architecture.
● Implementation − With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing.
● Integration and Testing − All the units developed in the implementation phase are integrated
into a system after testing of each unit. Post integration the entire system is tested for any
faults and failures.
Software Engineering(22413)

 Deployment of system − Once the functional and non-functional testing is done; the product
is deployed in the customer environment or released into the market.
● Maintenance − There are some issues which come up in the client environment. To fix those
issues, patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.

LIBRARY MANAGEMENT SYSTEM


● Requirement Gathering and analysis − The Library Management System shall be required to
maintain information about its users and books. It shall store databases for students, teachers
and books. The student database stores information about a student’s roll no, name, address,
course and year.The book database stores information about a book title, author, publisher,
cost, bill number, year of publishing and pages. The teacher database stores information
about a teacher’s id, name, department, designation, address and telephone number.

● System Design − Library Management System is a computerized system which can helps
user (librarian)to manage the library daily activity in electronic format. It reduces the risk of
paperwork such as file lost, file damaged and time-consuming. It can help user to manage the
transaction or record more effectively and time-saving, construct the Level 0 Data Flow
Diagram (DFD) as well as Level 1 DFD , Member Registration, Book Rental, Return book.

● Implementation −

Software Interfaces: Library Management System requires user to install SQL Server 2008. For
operating system, Library System requires Window XP
1. Integration and Testing − All the units developed in the implementation phase are integrated
into a system after testing of each unit.
2. Deployment of system − Once the functional and non-functional testing is done; the product
is deployed in the customer environment or released .
3. Maintenance − Maintenance is done to deliver the changes in the customer environment.
Software Engineering(22413)

Practical no : 3
Gather application specification requirements for assimilate in RE (Requirement
engineering)model.
Introduction
REQUIREMENTS ENGINEERING
● Requirement is a condition possessed by the software component in order to solve a real
world problems.
● Requirement describe how a system should act, appear or perform.
● IEEE defines a requirement as: “A condition that must be possessed by a system to
satisfy a contract specification, standard or other formally imposed document.
Principles of Requirement Engineering
i. Understand the problem before you start to create the analysis model:
There is a tendency to rush to a solution, even before the problem is understood.
This often leads to elegant software that solves the wrong problem.
ii. Develop prototypes that enable a user to understand how human machine interaction
will occur:
Since the perception of the quality of software is often is based on perception of
time “friendliness” of the interface, prototyping (and the interaction that results) is highly
recommended.
iii. Record the origin and the reason for every document:
This is the step in establishing traceability back to the customer.
iv. Use multiple views of requirement:
Building data, functional and behavioral models provides software engineer
three different views. This reduces the chances of missing errors.
v. Prioritize the requirements:
Requirements should be followed for the tight implementation and delivery of the
product.
vi. Work to eliminate ambiguity:
The use of more technical reviews should be used for no ambiguity.
Requirement Engineering Task
i. Inception
ii. Elicitation
iii. Elaboration
iv. Negotiation
v. Specification
vi. Validation
vii. Management

Software Engineering(22413)

LIBRARY MANAGEMENT SYSTEM

Abstract
The Library Management System is gaining more importance as the number of its users is
increasing rapidly. As the number is rising there is a need of effective management of library.
The transactions like login, register, add, search, delete, issue are provided. The Library
Management System stores the details like name, address, ID number, Date of Birth of members
working in the library and users who come to library. The details of books like book name, book
number, subject to which it belongs, author, edition, year of publication, the total number of
books that are present in the library etc. are also stored.
It features a familiar and well thought-out, and attractive user interface, combined with strong
searching insertion and reporting capabilities. The report generation facility of library system
helps to get a good idea of which are the books borrowed by the members, makes user possible
.
to generate report hard copy

Keywords
Book Data, User Data, Payment Details.
Software Engineering(22413)
Practical no: 4
Prepare broad SRS (Software requirement specification) for above selected
project.
Introduction
The output of the requirements phase of the software development process is Software
Requirements Specification (SRS) (also known as requirementsdocument).
This document lays a foundation for software engineering activities and is created when
entire requirements are elicited and analyzed. SRS is a formal document, which acts as a
representation of software that enables the users to review whether it (SRS) is according
to their requirements. In addition, it includes user requirements for a system as well as
detailed specifications of the system requirements.

Characteristics of SRS
Software requirements specification should be accurate, complete, efficient, and of high
quality, so that it does not affect the entire project plan. An SRS is said to be of high
quality when the developer and user easily understand the prepared document. Other
characteristics of SRS are discussed below.
1. Correct: SRS is correct when all user requirements are stated in the
requirements document. The stated requirements should be according to the
desired system. This implies that each requirement is examined to ensure that it
(SRS) represents user requirements. Note that there is no specified tool or
procedure to assure the correctness of SRS. Correctness ensures that all specified
requirements are performed correctly.
2. Unambiguous: SRS is unambiguous when every stated requirement has only
one interpretation. This implies that each requirement is uniquely interpreted. In
case there is a term used with multiple meanings, the requirements document
should specify the meanings in the SRS so that it is clear and easy to understand.
3. Complete: SRS is complete when the requirements clearly define what the
software is required to do. This includes all the requirements related to
performance, design and functionality.
4. Ranked for importance/stability: All requirements are not equally
important, hence each requirement is identified to make differences among other
requirements. For this, it is essential to clearly identify each requirement.
Stability implies the probability of changes in the requirement in future.
Software Engineering(22413)

5. Modifiable: The requirements of the user can change, hence requirements


document should be created in such a manner that those changes can be modified
easily, consistently maintaining the structure and style of the SRS.

6. Traceable: SRS is traceable when the source of each requirement is clear and
facilitates the reference of each requirement in future. For this, forward tracing
and backward tracing are used. Forward tracing implies that each requirement
should be traceable to design and code elements. Backward tracing implies
defining each requirement explicitly referencing its source.
7. Verifiable: SRS is verifiable when the specified requirements can be verified
with a cost-effective process to check whether the final software meets those
requirements. The requirements are verified with the help of reviews.

8. Consistent: SRS is consistent when the subsets of individual requirements


defined do not conflict with each other. For example, there can be a case when
different requirements can use different terms to refer to the same object. There
can be logical or temporal conflicts between the specified requirements and some
requirements whose logical or temporal characteristics are not satisfied.
Software Engineering(22413)
Practical no:5
Prepare use-case and draw use-case diagram using software modeling tool.
Introduction

LIBRARY MANAGEMENT SYSTEM


The purpose of the system is to allow for storing details of a large number of books and
allow for add, search, borrow, return facilities separately to administrator,staff and student
s. Different privileges are given to different types of users.Using the OOSE (Object Oriented
Software Engineering) we try to express the requirements as use cases consisting of actors and
how they interact with the system. We Define the objects and use cases as system objects. We
define the functions and attributes within these system objects.

Actors –
1.Administrator (Category User)
2.Staff (Category User)
3.Students (Category User)
4.Library Account (Category System)
5.Book (Category System)
6.Transaction (Category System)
7.Report (Category System)
8.Search (Category System)
9.Registration (Category System)
Objects that define the system-
1.Book (Attributes: title, author, isbn, price:Functions: add book, remove book Extended
Functions: login, login_failed,search_book, requisituion_ist)
2.Transaction (Attributes: student_id, book_id,staff_idFunctions: borrow_book, return_book
Extended functions: search_student,search_staff, search_book)
3.Registration (Attributes:student_name,student_rollno,student_id,Staff_name, staff_designation,
staff_id)Functions: register_student, register staff Extended Function:
login, login_failed,search_student, search_staff, search_unsuccessful)
4.Report (Attributes : book_id , student_id,date_of_returnFunctions:
defaulters_list, borrower_listrequisition_listExtended Functions: login, login_failed)
5.Search (Attributes: student_id,book_id,staff_idFunctions: login, login_failed,
search_book,search_student, search_staff, search_unsuccessful)
6.Administrator (Attributes: name, administrator_idExtended Functions: login, register,
search,transaction, report)
7.Staff (Attributes : name, staff_idExtended Functions: login, register, search, view)
8.Student (Attributes: name, student_idFunctions: login, search)
9.Login (Attributes: student_id,administrator_id,staff_id,Password,Functions: login,
login_failedExtended Functions: register_student,regisater_staff)
Software Engineering(22413)
10.View/Edit (Attributes: student_id,staff_id,administrator_idFunctions: view_student,
edit_student,view_book, edit_book, view_staff, edit_staff,Extended Functions:
login, login_failed,search_student, search_book, search_staff,search_unsuccessful)
Use Cases-
1.Use Case #1 Registration
Primary Actors: Administrator, Staff Pre- Condition: The student should have a valid college
membership document which contains his name, date_of_birth, course, rollno to obtain library
membership. The same criteria apply for registration of library and other staff members including
the administrator.
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)

Conclusion:
Software Engineering(22413)

Practical no: 6
Develop the activity diagram to represent flow from one activity to another for software
development.

LIBRARY MANAGEMENT SYSTEM

Activity diagram for Library Management


System
The activity diagram used to describe flow of activity through a series
of actions. Activity diagram is a important diagram to describe the
system. The activity described as a action or operation of the system.
Software Engineering(22413)
Practical no: 7
Develop data design using DFD(Data flow diagram ),Decision table and
ER(Entity relationship) diagram.

Introduction
Data flow diagram
Data flow diagram is graphical representation of flow of data in an information system. It is
capable of depicting incoming data flow, outgoing data flow and stored data. The DFD does not
mention anything about how data flows through the system.
There is a prominent difference between DFD and Flowchart. The flowchart depicts flow of
control in program modules. DFDs depict flow of data in the system at various levels. DFD does
not contain any control or branch elements.
Decision Tables
A Decision table represents conditions and the respective actions to be taken to address them, in
a structured tabular format.
It is a powerful tool to debug and prevent errors. It helps group similar information into a single
table and then by combining tables it delivers easy and convenient decision-making.
Creating Decision Table
To create the decision table, the developer must follow basic four steps:
● Identify all possible conditions to be addressed
● Determine actions for all identified conditions
● Create Maximum possible rules
● Define action for each rule

Entity-Relationship Model
Entity-Relationship model is a type of database model based on the notion of real world entities
and relationship among them. We can map real world scenario onto ER database model. ER
Model creates a set of entities with their attributes, a set of constraints and relation among them.
ER Model is best used for the conceptual design of database.

LIBRARY MANAGEMENT SYSTEM


Software Engineering(22413)
Software Engineering(22413)
ER DIAGRAM

DECISION TABLE
Software Engineering(22413)

Practical NO: 8

Draw class diagram, sequence diagram, collaboration diagram, and state


transition diagram for the assigned project.

LIBRARY MANAGEMENT SYSTEM


Class Diagram:

Classes identified
Library
Librarian
Books Database
User
Vendor

Sequence Diagram

Sequence diagram for searching a book and issuing it as per the request by the user from the
librarian:
Software Engineering(22413)

Collaboration Diagram

Collaboration Diagram for searching a book and issuing it as per the request by the user from the
librarian:
Software Engineering(22413)

State Chart Diagram

States:

Authentication
Successfully logged on or re-login
Search for a book (user) / request the vendor (librarian) / provide the requested book (vendor)
Receive acknowledgement
Logged off / re-search / new function

Transitions:

Authenticate ---> Logged in


Logged in ---> Search <---> Acknowledgement
Logged in ---> Request Vendor <---> Provide Book <---> Acknowledgement
Logged in ---> Provide Book <---> Acknowledgement
Acknowledgement ---> Logged off
Software Engineering(22413)
Software Engineering(22413)

Practical NO: 9 Write test case to validate requirements of assigned


project from SRS Document

LIBRARY MANAGEMENT SYSTEM


TEST CASES:
Software Engineering(22413)

Introduction
A function point (FP) is a component of software development which helps to approximate the
cost of development early in the process

Total estimated project cost= Cost per FP * FP

Software Engineering(22413)

Assume Library Management software has produced following result:


1. Number of user inputs- 7
2. Number of user outputs- 10
3. Number of User inquiries – 6
4. Number of files- 17
5. Number of external interfaces- 4
Input and external interface function point attributes are of average complexity and all other
function points attributes are of low complexity.
Determine adjusted function points assuming complexity adjusted value is ∑ (fi) =32. Let
us calculate
Measurement parameter Weighting Factor
Count Count
* Simple Average Complex
Number of user inputs 7 * 4 28

Number of user outputs


10 * 4 40

Number of User inquiries


6 * 3 18
Number of files 17 * 7 119

Number of external
interfaces 4 * 7 28

Count Total 233

Function Point = Count Total * [0.65+0.01*∑ (Fi)]


=233*[0.65+0.01*32]
=233*0.97
=226.01
Estimated efforts= 30 person-month
Labor rate = 8000 per month
Productivity= FP/person-month = 226.01/30= 7.5
Quality= no of fault/ FP= 5/226.01=0.022
Cost per FP= labor rate/ productivity = 8000/7.5= 1067
Total estimated project cost= Cost per FP * FP = 1067*226.01= 24, 1200 (approximate)
Software Engineering(22413)
Introduction
The Constructive Cost Model (COCOMO) is a procedural cost estimate model for software
projects. It has been commonly used to project costs for a variety of projects and business
processes.

Examples
Suppose size is 200 KLOC,
Organic „ 2.4(200)1.05 = 626 staff-months „
Semi-Detached „ 3.0(200)1.12 = 1,133 staff-months „
Embedded „ 3.6(200)1.20 = 2,077 staff-months
Software Engineering(22413)

Example „
Picking up from the last example, „
Organic „
E = 626 staff months
TDEV = 2.5(626)0.38 = 29 months
Semi-detached „
E = 1,133 „
TDEV = 2.5(1133)0.35 = 29 months „
Embedded „
E = 2077
TDEV = 2.5(2077)0.32 = 29 months

Library Management System


Organic Type of Software
LOC: 32000
Salary of engineers: 15000/- Efforts=2.4*(32)1.05
= 91PM
Development time=2.5*(91)0.38= 14 months
Cost required to develop the product =14* 15000= 210,000/-
Software Engineering(22413)
Practical no: 13
Use CPM/PERT for scheduling the assigned project.

Library Management System


CPM
Task T1 T2 T3 T4 T5 T6 T7 T8 T9
Duration(DAYS) 5 4 6 9 5 9 4 8 10
Dependencies - - T1,T2 - T2,T4 T4 T3,T6 T6 T5,T7,T8

5 days 6 days 4 days

T1 T3 T7

4 days 5 days 10days

START T2 T9 END
T5

9 days 9 days
8 days

T4 T6 T8

PERT
Given data

TLIKELY = 45
TPESS =60

TOPT= 30
Then

E =(TOPT +4 x TLIEKLY + TPESS)/6


Software Engineering(22413)
E= (30+4*45+60)/6
=270/6
E = 45 days
Software Engineering(22413)

Practical no :14

Use timeline chart/Gantt chart to track progress of assigned project.

When creating a software project schedule, you begin with


a set of tasks (the work breakdown structure). If automated
tools are used, the work breakdown is input as a task
network or task outline. Effort, duration, and start date are
then input for each task. In addition, tasks may be assigned
to specific individuals.

As a consequence of this input, a time-line chart, also called


a Gantt chart, is generated. A time-line chart can be
developed for the entire project. Alternatively, separate
charts can be developed for each project function or for each
individual working on the project.

Figure below illustrates the format of a time-line chart. It


depicts a part of a software project schedule that emphasizes
the concept scoping task for a word-processing (WP)
software product. All project tasks (for concept scoping) are
listed in the left-hand column. The horizontal bars indicate
the duration of each task. When multiple bars occur at the
same time on the calendar, task concurrency is implied. The
diamonds indicate milestones.
Software Engineering(22413)

Library Management System


Gantt chart:
Software Engineering(22413)
Practical no :15

Prepare SQA plan that facilitates various attributes of quality of process.

In a project team, every member must have responsibility for the quality of his or
her work. Each person has to make sure their work meet the QA criteria.

The SQA team is the group of person who plays the major role in the project.
Without QA, no business will run successfully. Therefore, the Test Manager has to
make clear the responsibility of each SQA member in SQA plan as below:

 Review and evaluate the quality of project activities to meet the QA criteria
 Coordinate with management board and project teams to assess requirements
and engage in project review and status meetings.
 Design track and collect metrics to monitor project quality.
 Measure the quality of product; ensure the product meet the customer
expectations.

For example, in the SQA Plan of the project Guru99 Bank, you can create the list
members of SQA team as below

No Member Roles Responsibility


Develop and document quality standard and process for all management
SQA
1 Peter process
Leader
Manage software quality assurance activities for the project
SQA
2 James Perform SQA tasks, report to SQA leader the result of SQA review.
auditor
SQA
3 Bean Perform SQA tasks, report to SQA leader the result of SQA review.
auditor

In this step, the Test Manager should describe the tasks to be performed by SQA
auditor with special emphasis on SQA activities as well as the work product for
each task.

Test Manager also creates the scheduling of those SQA tasks. Normally, the SQA
schedule is driven by the project development schedule. Therefore, an SQA task is
performed in relationship to what software development activities are taking place.
Software Engineering(22413)
In the SQA plan, Test Manager makes the schedule for management review. For
example

Personal in
Date SQA Tasks Description Output
charge
- Software Specification
Evaluate project planning, Review SQA planning
30-Oct-
tracking and oversight - Estimation, Master report, SQA review
2019 James
processes Schedule and Project Plan minute
Review
15-
- Review the software
Dec- Review requirement analysis Process audit report
James requirement development
2019
30-
Review and Evaluate Test - Review the Test Design SQA report, SQA
Mar-
Design James document review minute
2020
30-
- Process Audit: Final SQA process audit
Mar- Review release
Bean Release report
2020
2-Apr- - External review after SQA process audit
Review Project closing
2020 Bean final delivery to customer report
Software Engineering(22413)
Practical no:16

Prepare SQA plan that facilitates various attributes of quality of product.


SQA Implementation in different phases
Quality assurance will be implemented through all the software life cycles of the
tool’s development process, until the release of the software product. The
following are the quality assurance tasks for each phase of the software
development:
Requirements phase: When the SRS is being developed, the developer has to
ensure that it elucidates the proposed functionality of the product and to keep
refining the SRS until the requirements are clearly stated and understood.
Specification and Design phase: Due to the great importance for accuracy and
completeness in these documents, weekly reviews shall be conducted between the
developer and the professor to identify any defects and rectify them.
Implementation phase: The developer shall do code reviews when the construction
phase of the Tool begins.
Software testing phase: The developer shall test each case. The final product shall
be verified with the functionality of the software as specified in the Software
Requirements Specification (SRS) for the Tool.
Through all these phases of the software development, the following shall also be
conducted to improve the software quality:
Develop and generate SQAP: Generate a finalized SQAP plan
Communication and Feedback: The developer is encouraged to freely
express disagreements, suggestions and opinions about all aspects of the
weekly process of software development.
Internal audits and evaluations: The Major professor and the committee
are expected to do auditions and evaluations at the end of each phase in the
project.

List of the work products that the SQA auditor will review and audit

The Test Manager should

 List out all the work products of each Test Management Process
Software Engineering(22413)
 Define which facilities or equipment the SQA auditor can access to perform
SQA tasks such as process evaluations and audits.

For example, for the project Guru99 Bank, you can list out the work products of
each Test Management Process and define permission for

SQA members to access these work products as per the following table

No Management Phases Work product Path Permission Grant to Person


[Server All SQA team
1 Risk Management document Read
Risk analysis path] members
2 Estimation and Metrics report … Read
Estimation Peter
All SQA team
3 Test Planning document … Read
Planning members
Human resource plan, training All SQA team
4 … Read
Organization plan members
Monitoring and Collected metrics of project
5 … Read
Control effort Bean
6 Issue Management Issue management report … Read
James
All SQA team
7 Test Report document … Read
Test report members

You might also like