Software Engineering Lab Manual
Software Engineering Lab Manual
Vision
Mission
M1: To impart established and contemporary technical knowledge.
M2: To synchronize concepts, logic and skills for effective decision making.
M3: To provide a conducive environment so as to achieve excellence in teaching-learning,
and research and development activities.
M4: To Develop professionals with application-oriented computing skills and ethical
practices.
Quality Policy
1. Promoting Innovation:
Encouraging creativity and innovation in software development, modeling, and design.
2. Ensuring Industry Relevance:
Aligning our lab practices, tools, and methodologies with the latest industry standards and
trends.
3. Fostering Skill Development:
Providing hands-on experience with modern software tools to enhance technical competence
and problem-solving abilities.
4. Maintaining Academic Excellence:
Adhering to best practices in teaching, evaluation, and continuous improvement of lab
activities to ensure high-quality learning outcomes.
5. Encouraging Professionalism and Ethics:
Instilling ethical practices, teamwork, and responsibility in students, preparing them for
professional challenges.
6. Ensuring Continuous Improvement:
Regularly reviewing and upgrading lab infrastructure, content, and methodologies to meet the
evolving demands of the software industry and academia.
Software Engineering Lab
1. PO1 (Foundation Knowledge): Apply knowledge of mathematics, programming logic and coding
fundamentals for solution architecture and problem solving.
2. PO2 (Problem Analysis): Identify, review, formulate and analyze problems for primarily focusing
on customer requirements using critical thinking frameworks.
3. PO3 (Development of Solutions): Design, develop and investigate problems as an innovative
approach for solutions incorporating ESG/SDG goals.
4. PO4 (Modern Tool Usage): Select, adapt and apply modern computational tools such as
development of algorithms with an understanding of the limitations including human biases.
5. PO5 (Individual and Teamwork): Function and communicate effectively as an individual or a
team leader in diverse and multidisciplinary groups. Use methodologies such as agile.
6. PO6 (Project Management and Finance): Use the principles of project management such as
scheduling, work breakdown structure and be conversant with the principles of Finance for profitable
project management.
7. PO7 (Ethics): Commit to professional ethics in managing software projects with financial aspects.
Learn to use new technologies for cyber security and insulate customers from malware
8. PO8 (Life-long learning): Change management skills and the ability to learn, keep up with
contemporary technologies and ways of working.
1. Students are advised to come to the laboratory at least 5 minutes before (to starting time), those
who come after 5 minutes will not be allowed into the lab.
2. Plan your task properly much before to the commencement, come prepared to the lab with
the synopsis / program / experiment details.
3. Student should enter in to the laboratory with:
a. Laboratory observation notes with all the details (Problem statement, Aim, Algorithm, Procedure,
Program, Expected Output, etc.,) filled in for the lab session.
b. Laboratory Record updated up to the last session experiments and other utensils (if any) needed in
the lab.
c. Proper Dress code and Identity card.
4. Sign in the laboratory login register, write the TIME-IN, and occupy the computer system allotted
to you by the faculty.
5. Execute your task in the laboratory, and record the results / output in the lab observation
notebook, and get certified by the concerned faculty.
6. All the students should be polite and cooperative with the laboratory staff, must maintain the
discipline and decency in the laboratory.
7. Computer labs are established with sophisticated and high-end branded systems, which should
be utilized properly.
8. Students / Faculty must keep their mobile phones in SWITCHED OFF mode during the lab
sessions. Misuse of the equipment, misbehaviors with the staff and systems etc., will attract severe
punishment.
9. Students must take the permission of the faculty in case of any urgency to go out; if anybody found
loitering outside the lab / class without permission during working hours will be treated seriously and
punished appropriately.
10. Students should LOG OFF/ SHUT DOWN the computer system before he/she leaves the lab after
completing the task (experiment) in all aspects. He/she must ensure the system / seat is keptproperly.
Objectives:
1. Requirement Analysis:
Learn to identify ambiguities, inconsistencies, and incompleteness in a requirements specification and
state functional and non-functional requirements effectively.
2. Use Case Development:
Understand and identify different actors and use cases from a problem statement and draw a use case
diagram, showcasing the relationships between use cases and actors.
3. Class Diagram Design:
Develop class diagrams by identifying classes and associations among them, categorizing them as
weak or strong.
4. UML Diagram Representation:
Gain expertise in graphically representing various UML diagrams (e.g., activity diagrams, sequence
diagrams, state charts) and understand their logical sequence and associations.
5. Modern Engineering Tools Utilization:
Use modern engineering tools to design, specify, implement, and test software systems.
6. Comprehensive System Understanding:
Visualize and document the system design comprehensively through SRS preparation, UML
modeling, and deployment diagrams.
WEEK 5: Performing the Design by using any Design phase CASE tools.
WEEK 6: Develop test cases for unit testing and integration testing.
WEEK 7: Develop test cases for various white box and black box testing techniques.
Sample Projects:
1. Passport automation System
2. Book Bank
3. Online Exam Registration
4. Stock Maintenance System
5. Online course reservation system
6. E-ticketing
7. Software Personnel Management System
8. Credit Card Processing
9. E-book management System.
10. Recruitment system
TEXT BOOKS:
1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 6th edition,
McGraw Hill International Edition.
2. Software Engineering-Sommerville, 7th edition, Pearson Education.
3. The unified modeling language user guide Grady Booch, James Rambaugh,
Ivar Jacobson, Pearson Education.
REFERENCE BOOKS:
1. Software Engineering, an Engineering approach- James F. Peters, Witold Pedrycz, John Wiley.
2. Software Engineering principles and practice-Waman S Jawadekar
COURSE OUTCOMES:
Ability to translate end-user requirements into system and software requirements
Ability to generate a high-level design of the system from the software requirements
Will have experience and/or awareness of testing problems and will be able to develop a
simple testing report
Understand and develop various structure and behavior UML diagrams.
Explain the knowledge of project management tool Demonstrate how to manage file
using Project Libre project management tool.
TABLE OF CONTENTS
6 Develop test cases for unit testing and integration testing 18-19
7 Develop test cases for various white box and black box testing techniques 20-22
WEEK 1
Problem Statement:
Statement of a current issue/problem that requires timely action to improve the situation.
Process Flow of Library Management System:
A Book Bank lends books and magazines to member, who is registered in the system.
Also it handles the purchase of new titles for the Book Bank.
Popular titles are brought into multiple copies.
Old books and magazines are removed when they are out or date or poor in condition.
A member can reserve a book or magazine that is not currently available in the book bank, so that when it is
returned or purchased by the book bank, that person is notified.
The book bank can easily create, replace and delete information about the tiles, members, loans and reservations
from the system.
Components:
Problem
Proposed Solution
Solution(s) and its implementation steps
b) Member:
Registered users
Search available books
Order & book return
c) System:
Notifications for overdue, availability of book etc.
I Inputs:
Author Name
Published Year
Price
Book ID
User details like id, password for logging in
Communication Details
Problems/Constraints:
Updating difficulties on account of adding of new books regularly.
Faster due date notification(s).
Internet Bandwidth
Unavailability of e-books
WEEK 2
AIM:
Preparation of Software Requirement Specification Document, Design Documents and Testing Phase Related
documents.
Preparation of Software Requirement Specification Document:
Users Characteristics:
Student: They are the people who desire to obtain the books and submit the information to the
database.
Librarian: He has the certain privileges to add the books and to approval of the reservation of books.
System Modules:
Log in: Secure registration of student and librarian by filling online registration form.
Book bank: Book bank contains all the books. New book added to the book bank with book no, title
name, author, edition, publisher name details to the database. Any book is deleted if damaged. Update
of the book information also done.
Operations: student and administrator perform their operations like add book, delete book, update
information, view book details are implemented in log in Web Pages.
Non-functional requirements:
Privacy: privacy maintained for each and every user by providing user credentials username
and password.
Portability: installation on multiple platforms and execution of software.
Design Document:
Algorithm, Data Structure, Architecture and other support Information is maintained in a design
document.
Diagrams:
a. Use Case:
System details summary & all users in the system.
b. Activity:
System behavior (inclusive of dynamic aspects).
c. Sequence:
Message flow with the time stamp.
d. Class:
System Structure (Name, Attributes, Operations).
e. State Chart:
States specific to components/objects of a system.
f. Deployment:
System architecture with respect to execution.
Test Plan Document:
Test plan document contains all the catalog information of test strategies, objectives, schedule,
estimations and resources required to complete the project.
A “Test Case” refers to the actions required to verify a specific feature or functionality in software
testing.
Test Case Design Template:
WEEK 3
AIM:
Preparation of Software Configuration Management and Risk Management related documents for library
management system.
Preparation of Software Configuration Management
Forms basis for End User License Agreement (EULA).
All the compatibilities of implementing the system can be known.
Software Requirements:
Hardware Requirements:
Processor: i3 or higher
RAM : 4 GB
Hard Disk drive: 500 GB
Risk Management:
Relates to the factors that have negative impact on the software project.
Categorized into
i. Known risks
Known risks are the “predictable” risks that can be easily categorized.
WEEK 4
AIM:
Study and usage of any Design phase CASE tool
StarUML is actively supporting the MDA (Model Driven Architecture). It supports the UML
profile concept and allowing it to generate code for multiple languages. It also provides a number
of bug fixes and improved compatibility with the modern versions of the Windows Operating
System.
StarUML is mostly used by the Agile and small development teams, professional persons and used
by the educational institutes.
Features of StarUML:
Week 5
Actors Involved:
1. Student
2. Librarian
3. Vendor
I) Usecase Name: Search Book_Details
The librarian initiates this use case when any member returns or request the book and checking ifthe
book is available.
Precondition: The librarian should enter all Book details.
Normal Flow: Build message for librarian who search the book.
Post Condition: Send message to respective member who reserved the book.
Activity Diagrams:
They are used to describe the business and operational step-by-step workflows of components in
a system.
An activity diagram shows the overall flow of control.
An activity is shown as a rounded box containing the name of the operation. This activity
diagram describes the behavior of the system.
Sequence Diagram:
A sequence diagram represents the sequence and interactions of a given USE-CASE or scenario.
Sequence diagrams can capture most of the information about the system.
Most object-to-object interactions and operations are considered events and events include signals, inputs,
decisions, interrupts, transitions and actions to or from users or external devices.
An event also is considered to be any action by an object that sends information. The event line represents
a message sent from one object to another, in which the “form” object is requesting an operation be
performed by the “to” object.
The “to” object performs the operation using a method that the class contains. It is also represented by the
order in which things occur and how the objects in the system send message to one another.
Collaboration Diagram:
Class Diagram:
The class diagram, also referred to as object modeling is the main static analysis diagram.
The main task of object modeling is to graphically show what each object will do in the
problemdomain.
The problem domain describes the structure and the relationships among objects.
1. Student
2. Book
3. Issue
4. Return
5. Vendor
6. Details
1) Student:
It consists of twelve attributes and three operations.
The attributes are enroll no, name, DOB, father name, address, dept name, batch and
book limits.
The operations of this class are addStInfo(), deleteStInfo(), modifyStInfo().
2) Book:
It consists of ten attributes and four operations.
This class is used to keep book information such as author, title, vendor, price, etc.
3) Issue:
It consists of eight attributes and two operations to maintain issue details such as, issuedate,
acc no of issued book, name of the student who borrowed book.
4) Return:
It consists of eight attributes and two operations to maintain issue details such as, issuedate,
acc no of issued book, name of the student who borrowed book.
5) Students:
The attributes of this class are name, dept, year, bcode no.
The operation is display students ().
6) Details:
The attributes of this class are book name, author, bcode no. The operations are delete
details().
It consists of state, events and activities. State diagrams are a familiar technique to describe the
behavior of a system. They describe all of the possible states that a particular object can get into and
how the object's state changes as a result of events that reach the object.
Week 6
Aim: To develop test cases for unit testing and integration testing.
Unit Testing:
It is a software development process in which the smallest testable parts of an application,
called “units”, are individually scrutinized for proper operation.
Software developers and sometimes QA staff complete unit tests during the development process.
Integration Testing:
It is a type of software testing where components of the software are gradually integrated and then
tested as a unified group.
Usually, these components are already working well individually, but they may
break when integrated with other components.
Week 7
Aim: To develop test cases for various white box and black box testing techniques.