DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
LAB MANUAL FILE
Name : Software Engineering
Course Code: CS-403
Course : B.TECH
Session : 2024-25
Submitted to
Prepared By Prof. Somil Vasal
Student Name
RollNo
LIST OF EXPERIMENTS
S.No. EXPERIMENTS
1. Identifying the Requirements from Problem Statements.
2. How to Choose right Software development life cycle model?
To perform the system analysis: Requirement analysis, SRS for Library
3.
Management System.
4. To perform the function oriented diagram: DFD.
5. To perform the user’s view analysis: Use case diagram.
6. To draw the structural view diagram: Class diagram.
7. To draw the behavioral view diagram: Sequence diagram.
8. Explain testing Strategies.
9. To designs a Collaboration Diagram.
10. To designs a Deployment Diagram.
Note: Implementation of the programs is to be done using star UML 5.02 or rationale rose.
INDEX
S.No. EXPERIMENTS DATE Signature
1. Identifying the Requirements from Problem
Statements.
2. How to Choose right Software development life
cycle model?
3. To perform the system analysis: Requirement
analysis, SRS for Library Management System.
4. To perform the function oriented diagram: DFD.
5. To perform the user’s view analysis: Use case
diagram.
6. To draw the structural view diagram: Class diagram.
7. To draw the behavioral view diagram: Sequence
diagram.
8. Explain testing Strategies.
9. To designs a Collaboration Diagram.
10. To designs a Deployment Diagram.
EXPERIMENT-1
Aim: Identifying the Requirements from Problem Statements.
A Library Information System
The Oriental Group of Institutes has been recently setup to provide state-of-the-art research
facilities in the field of Software Engineering. Apart from research scholars (students) and
professors, it also includes quite a large number of employees who work on different projects
undertaken by the institution.
As the size and capacity of the institute is increasing with the time, it has been proposed to
develop a Library Information System (LIS) for the benefit of students and employees of the
institute. LIS will enable the members to borrow a book (or return it) with ease while sitting at
his desk/chamber. The system also enables a member to extend the date of his borrowing if no
other booking for that particular book has been made. For the library staff, this system aids
them to easily handle day-to-day book transactions. The librarian, who has administrative
privileges and complete control over the system, can enter a new record into the system when a
new book has been purchased, or remove a record in case any book is taken off the shelf. Any
non-member is free to use this system to browse/search books online. However, issuing or
returning books is restricted to valid users (members) of LIS only.
The final deliverable would a web application, which should run only within the institute LAN.
Although this reduces security risk of the software to a large extent, care should be taken no
confidential information (eg., passwords) is stored in plain text.
EXPERIMENT-2
Aim: How to choose right Software development life cycle model?
Selecting a Software Development Life Cycle (SDLC) methodology is a challenging task for
many organizations and software engineers. What tends to make it challenging is the fact that
few organizations know what are the criteria to use in selecting a methodology to add value to
the organization. Fewer still understand that a methodology might apply to more than one Life
Cycle Model. Before considering a framework for selecting a given SDLC methodology, we
need to define the different types and illustrate the advantages and disadvantages of those
models.
EXPERIMENT-3
Aim: To perform the system analysis: Requirement analysis, SRS for Library Management
System.
Solution:- Need to first understand the system's purpose, its users, and its
functionalities. Then, document these findings in an SRS document that outlines both
functional and non-functional requirements. This process helps ensure the developed system
meets the needs of the library and its users.
Here's a more detailed breakdown:
1. Understanding the System:
Purpose: What is the library management system intended to achieve? For example,
automating book circulation, managing member accounts, and generating reports.
Users: Who are the users of the system? Librarians, library members, and potentially
administrators.
Existing System Analysis: If an existing system is in place, analyze its strengths and
weaknesses to identify areas for improvement in the new system.
Functionality: What are the key functions the system needs to perform? Examples include
searching for books, borrowing and returning books, managing member accounts, generating
reports, and potentially online reservation systems.
Stakeholders: Identify all stakeholders (users, administrators, library management) and their
needs and expectations for the system.
2. Creating the SRS Document:
Introduction: Provide an overview of the SRS document, its purpose, scope, and target
audience.
Functional Requirements: Define what the system must do. For example, the system must
allow a librarian to:
1. Register new library members.
2. Add new books to the database.
3. Issue and return books.
4.Generate reports on book circulation and library usage.
Non-Functional Requirements:
Define how the system should perform. For example:
1. Performance: The system should be able to handle a large number of users and
transactions without performance degradation.
2. Security: The system should be secure to protect user data and prevent
unauthorized access.
3. Usability: The system should be user-friendly and easy to navigate for all
users.
External Interface Requirements: Define how the system interacts with other
systems (e.g., a library card reader, a print server).
System Features: Describe the key features of the system in detail, including how they
will be implemented.
Data Model: Define the data structure used by the system, including tables,
relationships, and data types.
Use Case Analysis: Develop use cases that describe how users will interact with the
system to achieve specific goals.
Process Model: Depict the workflow of the system, showing how different processes
interact with each other.
3. Key Considerations:
Clarity and Completeness: The SRS document should be clear, concise, and comprehensive,
leaving no ambiguity about the system's requirements.
Traceability: The SRS should be traceable to the design and implementation of the system to
ensure that all requirements are met.
Stakeholder Involvement: Involve stakeholders throughout the system analysis and SRS
development process to ensure that the final system meets their needs.
By following these steps, you can effectively perform system analysis and create a
comprehensive SRS for your Library Management System, ensuring a well-designed and
functional system for library operations.
EXPERIMENT-4
Aim: To perform the function oriented diagram: Data Flow Diagram.
Tools/Apparatus Smart Draw
Procedure:
1) Identify various processes, data store, input output etc. of the system and ask students
to analyze.
2) Use processes at various levels to draw the DFDs.
3) Identify various modules, input, output etc. of the system and ask students to analyze.
Data flow diagrams: illustrate how data is processed by a system in terms of inputs and
outputs. A Date Flow Diagram (DFD) is a diagrammatic representation of the
information (data) flow within a system.
o Process: A process transforms incoming data flow into outgoing data flow.
o Data Store: Data stores are repositories of data in the system. They are
sometimes also referred to as files.
o Dataflow: Dataflows are pipelines through which packets of information flow.
Label the arrows with the name of the data that moves through it.
o External Entities: External entities are objects outside the system, with which the
system communicates. External entities are sources and destinations of the
system's inputs and outputs.
Description:
Data Flow:
S.No Data Flow Description
1 Login Login data usually contains the ATM card and the PIN number.
2 Accept Info If the Account is verified then the user control can be accept
inside the transaction procedure.
3 Reject Info It the account details are not correct,do not grant the permission
to access transaction and reject the card.
4 Account Details The details of account are forwarded as the data to be printed in
the receipt.
5 Money The Money is given to the user.
Figure 1 Details of Data Flow
Function:
S no Function Description
1 Check Account Input: a. Login Details. Compare the data with
the Bank’s Database and
Output: a. Accept Info. b. Reject Info.
grant access.
2 Prompts Amount Input: a. accept info. If the user is valid, then
Output: a. account info. prompt user to enter the
amount.
3 Update Database Input: a. account info. When user enters the
Output: a. account details. amount then update the
database and perform the
transaction.
4 Print Details Input: a. account details. The details of the
Output: a. Money. changes are printed as the
new details of the
account.
Figure 2 Functions of Data Flow diagram
Example:-
DFD Level 0:-
DFD Level 1:-
EXPERIMENT-5
Aim: To perform the user’s view analysis: Use case diagram
Tools/Apparatus: Rational rose/Star UML 5.02
Procedure:
1) Identify various processes, use-cases, actors etc. of the system and ask students to
analyze.
2) Use processes at various levels to draw the use-case diagram.
A use case diagram at its simplest is a representation of a user's interaction with the system that
shows the relationship between the user and the different use cases in which the user is involved.
A use case diagram can identify the different types of users of a system and the different use
cases and will often be accompanied by other types of diagrams as well.
Example:-
Use Case Diagram for Library Management System
Below is the textual description of what the diagram would look like:
Actors:
User (Staff or Student)
Librarian
Use Cases:
Register New User
Issue Library Card
Request New Book
Reserve Book
Renew Book
Pay Fine
Fill Feedback Form
Manage Records
Delete Records
Update Database
System Boundary: The system boundary will encompass all the use cases mentioned above.
Here, we will understand the designing use case diagram for the library management system.
Some scenarios of the system are as follows :
1. User who registers himself as a new user initially is regarded as staff or student for the library
system.
For the user to get registered as a new user, registration forms are available that is needed
to be fulfilled by the user.
After registration, a library card is issued to the user by the librarian. On the library card, an
ID is assigned to cardholder or user.
2. After getting the library card, a new book is requested by the user as per there requirement.
3. After, requesting, the desired book or the requested book is reserved by the user that means no
other user can request for that book.
4. Now, the user can renew a book that means the user can get a new due date for the desired
book if the user has renewed them.
5. If the user somehow forgets to return the book before the due date, then the user pays fine. Or
if the user forgets to renew the book till the due date, then the book will be overdue and the
user pays fine.
6. User can fill the feedback form available if they want to.
7. Librarian has a key role in this system. Librarian adds the records in the library database about
each student or user every time issuing the book or returning the book, or paying fine.
8. Librarian also deletes the record of a particular student if the student leaves the college or
passed out from the college. If the book no longer exists in the library, then the record of the
particular book is also deleted.
9. Updating database is the important role of Librarian.
EXPERIMENT-6
Aim: To draw the structural view diagram: Class diagram.
Tools/Apparatus:
Rational rose/Star UML 5.02
Procedure:
1) Identify various elements such as classes, member variables, member functions etc. of
the class diagram
2) Draw the class diagram as per the norms.
3) Identify various elements such as various objects of the object diagram
4) Draw the object diagram as per the norms.
Class diagram is a static diagram. It represents the static view of an application. Class diagram
is not only used for visualizing, describing, and documenting different aspects of a system but
also for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed
on the system. The class diagrams are widely used in the modeling of objectoriented systems
because they are the only UML diagrams, which can be mapped directly with object-oriented
languages.
Class diagram shows a collection of classes, interfaces, associations, collaborations, and
constraints. It is also known as a structural diagram.
Example :-
Class Diagram for Library Management System simply describes structure of Library
Management System class, attributes, methods or operations, relationship among objects.
1. Classes of Library Management System :
Library Management System class – It manages all operations of Library Management
System. It is central part of organization for which software is being designed.
User Class – It manages all operations of user.
Librarian Class – It manages all operations of Librarian.
Book Class – It manages all operations of books. It is basic building block of system.
Account Class – It manages all operations of account.
Library database Class – It manages all operations of library database.
Staff Class – It manages all operations of staff.
Student Class – It manages all operations of student.
2. Attributes of Library Management System :
Library Management System Attributes – UserType, Username, Password
User Attributes – Name, Id
Librarian Attributes – Name, Id, Password, SearchString
Book Attributes – Title, Author, ISBN, Publication
Account Attributes – no_borrowed_books, no_reserved_books, no_returned_books,
no_lost_books fine_amount
Library database Attributes – List_of_books
Staff Class Attributes – Dept
Student Class Attributes – Class
3. Methods of Library Management System :
Library Management System Methods – Login(), Register(), Logout()
User Methods – Verify(), CheckAccount(), get_book_info()
Librarian Methods – Verify_librarian(), Search()
Book Methods – Show_duedt(), Reservation_status(), Feedback(), Book_request(),
Renew_info()
Account Methods – Calculate_fine()
Library database Methods – Add(), Delete(), Update(), Display(), Search()
EXPERIMENT-7
Aim: To draw the behavioral view diagram: Sequence diagram.
Tools/Apparatus:
Rational rose/Star UML 5.02
Procedure:
1) Identify various elements such as controller class, objects, boundaries, messages etc.
of the sequence diagram
2) Draw the sequence diagram as per the norms.
3) Identify various elements such as for the sequence diagram of the collaboration
diagram
4) Draw the collaboration diagram as per the norms.
A sequence diagram is an interaction diagram that shows how objects operate with one another
and in what order. It is a construct of a message sequence chart. A sequence diagram shows
object interactions arranged in time sequence.
EXPERIMENT-8
Aim: Explain testing Strategies.
Testing a Library Management System is essential to ensure its functionality, reliability, and
usability. These systems play a critical role in managing library operations and providing
services to patrons.
Testing helps identify and resolve defects, errors, and inconsistencies in the system, ensuring
accurate cataloging, efficient circulation, secure patron transactions, and seamless access to
library resources. Additionally, you can verify compliance with requirements, standards, and
regulations, ensuring that the Library Management System meets the needs and expectations of
library staff and patrons.
Let’s look at some basic functions of the system that you would need to test.
Basic Functionality In The Library Management System :-
Once you have a list of functional test cases and non-functional test cases, you can combine them
to form the list of basic test cases. So, for that, let’s look at the basic functionality of Library
Management Systems.
User Registration and Authentication: Users should be able to register for an account
with the Library Management System. Authentication mechanisms should be in place to
ensure secure access to user accounts.
Cataloging and Inventory Management: The system should allow librarians to catalog
library materials such as books, journals, DVDs, etc. It should also manage the inventory
by tracking the availability, location, and status of each item.
Borrowing and Lending: Users should be able to borrow library materials using their
account. The system should manage loan periods, due dates, and renewals. Librarians
should be able to check out and check in items efficiently.
User Management: Librarians should have the ability to manage user accounts,
including adding new users, updating user information, and handling user requests such
as password resets or account deactivation.
Search and Discovery: Users should be able to search for library materials by title,
author, subject, or keywords. The system should provide accurate search results and
allow users to refine their searches.
Reservations and Holds: Users should have the option to place holds or reservations on
items that are currently checked out. The system should notify users when reserved items
become available for pickup.
Fines and Fees Management: The system should calculate fines or fees for overdue
items and manage payments from users. It should generate alerts for users with
outstanding fines and provide options for payment.
Reporting and Analytics: The system should generate reports on library usage,
circulation statistics, inventory levels, and other relevant metrics. These reports can help
librarians make informed decisions about collection management and resource allocation.
Communication and Notifications: The system should facilitate communication
between users and librarians through messaging or notification features. Users should
receive alerts for due dates, overdue items, reservation statuses, and other important
updates.
Accessibility and Usability: The system should be user-friendly and accessible to users
of all abilities. It should comply with accessibility standards and provide options for
customization to meet individual user preferences.
Test Cases For Library Management System:-
1. Login Interface
Verify that the login page is accessible.
Verify that the username and password fields are present.
Check that the “Login” button is present.
Test that a user can successfully login with valid credentials.
Verify that an error message is displayed for invalid login attempts.
Validate that the “Forgot Password” link is functional.
Test that the “Create Account” link is functional.
Test that the system redirects to the appropriate page after successful login.
Verify that the system displays appropriate error messages for missing credentials.
Ensure if the system allows logged in users to login again using the right credentials.
2. User Account Interface
Verify that user profile information is displayed correctly upon successful login.
Verify that users can update their profile information.
Check if the users can change their password within the account settings.
Check that users can view their borrowing history.
Verify that users can view their fines and fees status.
Ensure that users can renew borrowed books and the system updates this information
automatically.
Test if the users can place holds or requests for books.
Test that users can pay fines and fees online if they are late on returning a book
Verify if the users can request to extend the book return deadline through their account.
Verify that users can logout from their account.
Verify that users receive appropriate notifications for overdue books or holds.
Validate if the users can renew their library card or any other form of membership
through the account.
3. Book Issue Interface
Verify that librarians can search for books by title, author, or ISBN and get the right
information displayed.
Verify that librarians can view detailed book information.
Check if the librarians can check the availability of books based on its status.
Validate that librarians can issue books to users.
Validate that librarians can set due dates for issued books.
Check that librarians can generate and print receipts for book issues.
Check that librarians can handle holds or requests for books.
Test that librarians can override issue limits or restrictions.
Verify that librarians can handle special cases such as lost or damaged books.
Verify that the system updates inventory and user records accurately after book issuance.
Test if librarians receive notifications for overdue books and requests raised from user
accounts.
Test if the staff members have complete admin access.
4. Book Return Interface
Verify that users can select and initiate the book return process.
Check if the users can view return due dates for borrowed books.
Check that users receive notifications for overdue book returns.
Test that users can return multiple books in a single transaction.
Test that users can pay fines or fees associated with late returns.
Check that the system updates user records accurately after book returns.
Check that the system updates book availability status after returns.
Verify that users receive confirmation of successful book returns.
Verify that users receive reminders for pending book returns.
Ensure that users cannot return books that are already returned.
Test that users receive a confirmation prompt before completing the return process.
Test that the return process is logged in the system for auditing purposes.
Ensure that users receive notifications for successful book returns.
Verify that users can provide feedback or comments during the return process.
Test that the returned books are correctly shelved or sorted back into inventory.
Verify that users can view their complete borrowing history, including returned books.
5. Search Functionality Test Cases for Library Management System
Another one of the important features of the Library Management System is the search
functionality. Let’s look at some of the test cases for the search functionality you can create
and run.
Verify that users can search for books by title, by author, and by ISBN.
Test that users can search for books by category or genre.
Test if the users can perform an advanced search with multiple criteria and filters.
Check if the search results are displayed accurately and relevantly.
Verify that users receive the right notification or feedback for no search results found.
Test if the search functionality is case-insensitive.
Check that the search functionality supports partial or wildcard searches.
Test if a blank search provides an appropriate message.
6. Resources Inventory Test Cases for Library Management System
Let’s look at the resources inventory test cases for the Library Management System:
Test that the inventory includes all available books in the library.
Test that each book in the inventory has accurate metadata (title, author, ISBN, etc.).
Check if the inventory accurately reflects the availability status of each book (available,
checked out, on hold, etc.).
Verify that the inventory is updated in real-time when books are added or removed.
Verify that the inventory is organized logically by categories, genres, or sections.
Ensure that the inventory includes non-book resources such as DVDs, CDs, or
magazines.
Ensure that the inventory management system supports bulk updates or imports.
Check that librarians can easily locate and access items in the inventory.
Check if the inventory system generates accurate reports on stock levels, usage, and
trends.
Verify that the inventory system integrates with other library management modules
seamlessly.
7. Non-Functional Test Cases for Library Management System
Check if the system performance meets acceptable response times for search queries.
Check if the system can handle concurrent user loads without degradation in
performance.
Verify that the system is accessible and usable for users with disabilities (ADA
compliance).
Verify that the system is secure and protects sensitive user data from unauthorized access
or breaches.
Test if the system is scalable and can accommodate future growth in users or resources.
Check if the system is reliable and minimizes downtime or disruptions in service.
Check if the system is compatible with different web browsers and devices.
Verify that the system meets regulatory compliance requirements for data privacy and
security.
Verify that the system provides adequate logging and auditing capabilities for monitoring
user activity.
Ensure that the system is user-friendly and intuitive, requiring minimal training for users.
Verify that the system complies with data protection regulations such as GDPR.
Ensure that the system supports multiple languages for international users.
Ensure that the system provides adequate error handling and graceful degradation under
load.
Verify that the system’s UI is responsive and renders correctly on various screen sizes
and resolutions.
Verify that the system’s performance is consistent across different network conditions
(e.g., low bandwidth).
TEST RESULT (UNIT TESTING) :
LOGIN FORM:
SL.No Test Case Excepted Result Test Result
1 Enter valid name and Software should display Successful
password & click on login main window
button
2 Enter invalid Software should not successful
display main window
BOOK ENTRY FORM:
SL.No Test Case Excepted Result Test Result
1 On the click of ADD At first user have to fill all fields
button with proper data , if any Error
like entering text data instead of
successful
number or entering number
instead of text..is found then it
gives proper message otherwise
Adds Record To the Database
2. On the Click of This deletes the details of book Successful
DELETE Button by using Accession no.
3. On the Click of Modified records are Updated in Successful
UPDATE Button database by clicking UPDATE
button.
4. On the Click of Displays the Details of book for Successful
SEARCH Button entered Accession no.
Otherwise gives proper Error
message.
5. On the Click of Clears all fields Successful
CLEAR Button
6. On the Click of EXIT Exit the current book details successful
button form
7. On the Click of Display the next form successful
NEXT button
USER ACCOUNT FORM:
SL.No Test Case Excepted Result Test Result
1 On the click of ADD At first user have to fill all fields
button with proper data , if any Error
like entering text data instead of
successful
number or entering number
instead of text..is found then it
gives proper message otherwise
Adds Record To the Database
2. On the Click of This deletes the details of Successful
DELETE Button student by using Register no.
3. On the Click of Modified records are Updated in Successful
UPDATE Button database by clicking UPDATE
button.
4. On the Click of Displays the Details of book for Successful
SEARCH Button entered Register no. Otherwise
gives proper Error message.
5. On the Click of Clears all fields Successful
CLEAR Button
6. On the Click of EXIT Exit the current book details successful
button form
7. On the Click of Display the next form successful
NEXT button
BOOK ISSUE FORM:
SL.No Test Case Excepted Result Test Result
1 On the click of ADD At first user have to fill all fields
button with proper data ,if the
accession number book is
successful
already issued then it will giving
proper msg.
2. On the Click of This deletes the details of book Successful
DELETE Button by using Register no.
3. On the Click of Modified records are Updated in Successful
UPDATE Button database by clicking UPDATE
button.
4. On the Click of Displays the Details of issued Successful
SEARCH Button book..Otherwise gives proper
Error message.
5. On the Click of Clears all fields Successful
CLEAR Button
6. On the Click of EXIT Exit the current book details successful
button form
7. On the Click of Display the next form successful
NEXT button
BOOK RETURN FORM:
SL.No Test Case Excepted Result Test Result
1 On the click of ADD At first user have to fill all fields
button with proper data , if any Error
like entering text data instead of
successful
number or entering number
instead of text..is found then it
gives proper message otherwise
Adds Record To the Database
2. On the Click of Which deletes the details of Successful
DELETE Button book by using Register no.
3. On the Click of Modified records are Updated in Successful
UPDATE Button database by clicking UPDATE
button.
4. On the Click of Displays the Details of returned Successful
SEARCH Button book ... Otherwise gives proper
Error message.
5. On the Click of Clears all fields Successful
CLEAR Button
6. On the Click of EXIT Exit the current book details successful
button form
7. On the Click of Display the next form successful
NEXT button
EXPERIMENT-9
Aim: To design a Collaboration Diagram.
EXPERIMENT-10
Aim: To designs a Deployment Diagram.