0% found this document useful (0 votes)
11 views41 pages

Overview of Software Development Life Cycle

The document outlines the Software Development Life Cycle (SDLC), detailing its phases including planning, design, implementation, testing, deployment, and maintenance, emphasizing the importance of structured software development. It also discusses various software process models such as Waterfall, Agile, and Incremental, highlighting their characteristics and suitability for different projects. Additionally, the document introduces the COCOMO model for estimating project metrics, providing formulas for effort and time estimation across different project modes.

Uploaded by

Chess Infinity
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views41 pages

Overview of Software Development Life Cycle

The document outlines the Software Development Life Cycle (SDLC), detailing its phases including planning, design, implementation, testing, deployment, and maintenance, emphasizing the importance of structured software development. It also discusses various software process models such as Waterfall, Agile, and Incremental, highlighting their characteristics and suitability for different projects. Additionally, the document introduces the COCOMO model for estimating project metrics, providing formulas for effort and time estimation across different project modes.

Uploaded by

Chess Infinity
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

REGD. NO.

228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 01: Overview of SDLC: A Study

`
Date of the Session: 31/ 12/2024 Time of the Session: 10:20 to 1:00
Program Title: Overview of SDLC: A Study
Pre-Lab Task:
Answer the following question before entering into lab.
1. What is meant by SDLC?

SDLC (Software Development Life Cycle) refers to a structured process used by software developers to
design, develop, test, and maintain software applications. It outlines a series of phases, such as planning,
analysis, design, implementation, testing, deployment, and maintenance, to ensure the successful delivery of
high-quality software.

2. List the phases of SDLC.

1. Planning: Define project goals, scope, budget, and timeline.


2. System Design: Create system architecture and design specifications.
3. Implementation: Write the code and develop the system.
4. Testing: Verify and validate the software to ensure it meets requirements.
5. Deployment: Release the software to the production environment.
6. Maintenance: Monitor and update the software post-deployment.

3. What is the importance of SDLC process?

The Software Development Life Cycle (SDLC) process is important because it provides a structured
approach to software development, ensuring consistent, efficient, and high-quality outcomes. It helps
manage resources, timelines, and risks, improves communication among stakeholders, ensures alignment
with customer needs, and simplifies maintenance and scalability of the software.

4. What is the advantage of SDLC process?

The advantage of the SDLC (Software Development Life Cycle) process is that it provides a structured and
systematic approach to software development. It ensures clear project goals, defined stages, and efficient
resource management. This helps improve project quality, reduce risks, and ensure that the final product
meets user requirements.

5. What is the disadvantage of SDLC process?

The disadvantage of the SDLC (Software Development Life Cycle) process is that it can be rigid and
inflexible, especially in traditional models like the Waterfall approach. Changes in requirements during the
later stages of development can be costly and difficult to implement. Additionally, SDLC can be time-
consuming and may not adapt well to rapidly changing technologies or customer needs.

In Lab Task
Problem Description: Write about SDLC in detail.

Writing space for In lab(For Student’s use only)

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 1 |Page


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Software Development Life Cycle (SDLC)


The Software Development Life Cycle (SDLC) is a structured process used for planning, creating,
testing, and maintaining software systems. It outlines the entire process from the initial concept to the final
deployment and maintenance of software. The primary goal of SDLC is to produce high-quality software
that meets or exceeds customer expectations, is delivered on time, and stays within budget. The SDLC
consists of several distinct phases, each with specific activities and deliverables. The phases are often
iterative, meaning that some steps may be revisited as the software develops. Below is a detailed
explanation of each phase in the SDLC:
1. Planning (Feasibility Study)

The Planning phase is the first and crucial step in the SDLC. It involves defining the purpose of the
software, its scope, objectives, resources, risks, and time and budget constraints.
Key Activities:
 Requirement gathering: Identifying and documenting the user needs, business requirements, and
technical specifications.
 Feasibility study: Analyzing whether the project is technically and financially viable.
 Defining the scope: Establishing what the software will do and setting boundaries for the project.
Deliverables:
 Project plan
 Feasibility report
 Requirements specification
2. System Design

Once the requirements are defined, the next step is to create the system design. In this phase, the
architecture of the system is designed, and decisions are made about how the system will fulfill the
requirements.
Key Activities:
 High-level design: Creating an architectural blueprint for the system, such as defining modules, data
flow, interfaces, and interactions with external systems.
 Detailed design: The system is broken down into smaller components, and each one is designed in
detail. This includes database design, UI design, and technical specifications for each component.
Deliverables:
 High-level design documentation
 Database schema
 System architecture diagrams
3. Implementation (Coding/Development)

The actual code is written in the implementation phase. Developers follow the design specifications to
transform them into a working software product.
Key Activities:
 Coding: Writing the code according to the design specifications, using appropriate programming
languages and tools.
 Unit testing: Developers conduct initial tests to ensure each component works as expected.
Deliverables:
 Source code
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 2 |Page
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

 Unit test reports


 Development logs

4. Testing (Quality Assurance)

The Testing phase ensures that the software meets the specified requirements and is free of defects. It
involves various types of testing to validate the system.
Key Activities:
 Unit testing: Testing individual components to ensure they work correctly.
 Integration testing: Checking if the different components of the system work together as intended.
 System testing: Verifying that the entire system functions as expected and meets all the
requirements.
 User acceptance testing (UAT): The client or end-users test the system in a real-world environment
to ensure it meets their expectations.
Deliverables:
 Test plans and test cases
 Test reports (defects, issues)
 User feedback.
5. Deployment

Once the software passes all tests and is approved, it is deployed into the production environment, where
end-users can access and use it.
Key Activities:
 Deployment planning: Determining how the software will be deployed to users, including whether it
will be a phased rollout or a full release.
 Deployment execution: Installing the software on user machines or servers.
 Training and support: Providing users with training and offering technical support during the initial
use of the software.
Deliverables:
 Deployment packages
 User manuals and training materials
 Deployment checklist
6. Maintenance

The Maintenance phase begins after the software is deployed. This phase ensures that the software
continues to operate smoothly and meets user needs over time.
Key Activities:
 Bug fixes: Addressing defects or issues discovered after deployment.
 Updates and enhancements: Adding new features or functionality based on user feedback or
changing business requirements.
 Performance monitoring: Monitoring system performance to ensure it meets expectations and
optimizing where necessary.
Deliverables:
 Bug reports and fixes
 Updated software versions
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 3 |Page
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

 System performance reports


Models of SDLC

There are several models used to implement SDLC, each with its own advantages and suitability depending
on the project. Some of the most common models are:
1. Waterfall Model: A linear and sequential approach where each phase is completed before moving
to the next. It's best for projects with well-defined requirements.
2. Agile Model: An iterative and incremental approach where the development process is broken into
smaller cycles (sprints). It's ideal for projects where requirements evolve over time.
3. V-Model: A variation of the Waterfall model that emphasizes verification and validation at each
development stage.
4. Spiral Model: A risk-driven approach that combines iterative development with risk analysis,
allowing for flexible development and regular feedback.
5. Incremental Model: The software is developed in increments, with each release adding more
functionality.
Importance of SDLC

The SDLC is important for several reasons:


 Quality Assurance: It ensures that the software is thoroughly tested and meets the required
standards.
 Clear Communication: It helps in defining clear requirements, expectations, and deliverables,
improving communication among stakeholders.
 Risk Management: By identifying risks early in the process, SDLC helps mitigate potential issues
and improves the chances of project success.
 Efficiency: It provides a systematic approach, which helps save time, costs, and resources during the
software development process.
 Customer Satisfaction: By focusing on user needs and involving stakeholders early, SDLC helps
ensure that the final product meets the customer’s expectations.
Conclusion

The SDLC is an essential process in software development that provides a well-organized and efficient
approach to building software. By following the SDLC, teams can ensure that the software is of high
quality, meets user requirements, is completed on time, and remains maintainable. While there are several
models to implement SDLC, all share a common goal of producing a successful software product.

(For Evaluator’s use only)


Comment of the Evaluator (if Any) Evaluator’s Observation
Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 4 |Page


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 02: Comparing various Software Process models

Date of the Session:07/01/2025 Time of the Session: 10:20 to 1:00


Program Title: Comparing various Software Process models
Pre-Lab Task:
Answer the following question before entering into lab.
1. What is a process model?
A process model is a structured framework used to plan, execute, and manage software development.
2. List different software process models.
 Waterfall Model
 Incremental Model
 Spiral Model
 V-Model
 Agile Model
 RAD (Rapid Application Development) Model
3. Why do we need to process models?
Process models provide a systematic approach to software development, ensuring clarity, efficiency, and
quality throughout the lifecycle.
4. What is the difference between waterfall model and incremental process model?
 Waterfall Model: Linear and sequential; all phases are completed before moving to the next.
 Incremental Model: Develops software in small increments, delivering functionality in stages.
5. What is agile software development?
Agile software development is an iterative and collaborative approach focused on delivering small, working
increments of software quickly, with flexibility to adapt to changes.
6. List various agile process models.
· Scrum
· Kanban
· Extreme Programming (XP)
· Lean Development
· Crystal Methods
· Feature-Driven Development (FDD)
In lab Task:
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 5 |Page
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

1. Problem Description: Prepare a Comparative chart on different process models.


Writing space for In lab :( For Student’s use only)

Post Lab Task:


1. Problem Description: For the statement given below identify the appropriate process model to
be followed. Justify your answer.
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 6 |Page
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

To simplify the process of applying passport, software has been created by designing through rational rose
tool, using visual basic as a front end and Microsoft access as a back end. Initially the applicant login the
passport automation system and submits his details. These details are stored in the database and verification
process done by the passport administrator, regional administrator and police the passport is issued to the
applicant.
Writing space for Post lab work: (For Student’s use only)
Problem Description Analysis:
Statement Overview:
The task involves developing a software system for passport application automation. It involves:
1. Designing the system using Rational Rose tools (indicates modeling and analysis).
2. Front-end and back-end development with tools like Visual Basic and Microsoft Access.
3. A structured workflow involving applicants, administrators, and police verification.

Appropriate Process Model: Incremental Process Model

Justification:
1. Modular Development: The system can be developed in increments, with each increment
delivering a functional module (e.g., user login, database storage, verification, and final passport
issuance).
2. Flexibility for Changes: Each module can be designed, tested, and updated independently as per
user feedback or system requirements.
3. Clear Phases: The development can include clear phases of requirement analysis, design, coding,
and testing for each module.
4. Stakeholder Involvement: Increments allow stakeholders to review progress regularly and suggest
improvements, ensuring the system meets real-world needs.

Conclusion:

The Incremental Process Model is most suitable as it aligns with the need for modular development and
frequent verification, ensuring the software meets user and administrative requirements effectively.
(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 7 |Page


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 03: Estimation of Project Metrics using COCOMO model

Date of the Session: 21 /01/2025 Time of the Session: : 10:20 to 1:00


Program Title: Estimation of Project Metrics using COCOMO model

Pre-Lab Task: Answer the following questions before entering into lab.
1. What is COCOMO model?
The COCOMO (Constructive Cost Model) is a software cost estimation model developed by Barry W.
Boehm. It is used to estimate the effort, time, and cost required to develop a software system based on the
size of the software in KLOC (thousands of lines of code). It provides estimates for:
 Effort (person-months): The total work required to develop the software.
 Time (months): The development time.
 Staffing (persons): The number of personnel required.

2. What are the three modes of COCOMO model?


The COCOMO model has three modes, based on the characteristics of the software project:
1. Organic Mode: For small, simple projects with a well-understood and familiar development
environment. Teams are experienced, and requirements are stable.
2. Semi-Detached Mode: For medium-sized projects with mixed levels of complexity and experience.
3. Embedded Mode: For large, complex projects that are tightly coupled with hardware or have strict
constraints and standards.

3. What is the formula used for the cost estimation of for the basic COCOMO model? ( Write for all
3 modes)
The Basic COCOMO model provides a simple formula to estimate effort (E) and development time (T). The
formulas for all three modes are:
Effort (in person-months): E=a×(KLOC)bWhere:
 a and bare constants that vary for each mode.
 KLOC = Number of thousands of lines of delivered source code.
Development Time (in months):T=c×E^d => T = c*E^d *T
Where:c and d are constants that vary for each mode, E = Effort (calculated above).

4. What is the formula used for the cost estimation of for the Intermediate COCOMO model?
( Write for all 3 modes).
E=EAF×a×(KLOC)^b
Constants for the three modes:
1. Organic Mode (for small, simple projects):
o a = 2.4, b = 1.05
2. Semi-detached Mode (for medium-sized, more complex projects):
o a = 3.0, b = 1.12
3. Embedded Mode (for large, complex projects):
o a = 3.6, b = 1.20
5. What is the formula to calculate effort in COCOMO?

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 8 |Page


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

The formula to calculate effort in COCOMO (Constructive Cost Model) is


Effort=a×(KLOC)^b
Where:
• Effort is the estimated effort in person-months.
• KLOC is the size of the software in thousands of lines of code (KLOC).
• a and b are constants that depend on the project mode (Organic, Semi-detached, or Embedded).

6. What is the formula to development time (in months) in COCOMO?


The formula to calculate the development time (in months) in COCOMO is:
Development Time=c×(Effort)d
Where:
• Development Time is the estimated time to complete the project in months.
• Effort is the estimated effort in person-months (calculated using the formula from the previous
answer).
• c and d are constants that depend on the project mode (Organic, Semi-detached, or Embedded).

In Lab Task:

Problem Description: Using System Star software, perform the following tasks for a project which
has an estimate named "Example", which has a size of 3,000 SLOC, and the ACAP Cost Driver is
set to Very High.

1. Use COCOMO II model to estimate cost, generate a detailed report


2. Estimate SLOC(source lines of code)
3. Perform number of trials
4. Generate reports with Monte Carlo simulations
5. Estimate probability of finishing your project using Cumulative Probability Distribution
6. Estimate probability of finishing your project using Probability Distribution histogram
7. Generate risk report.
Writing space for In lab: (For Student’s use only)
Steps:
1. Identify the tool (e.g., IDE, version control).
2. Search for the official website of the tool.
3. Download the installer for your operating system.
4. Verify system requirements (RAM, OS version).
5. Download any required dependencies (e.g., JDK, Python).
6. Run the downloaded installer.
7. Accept the license agreement and terms.
8. Choose installation options (folder, components).
9. Complete the installation process.
10. Launch the software from the Start menu or shortcut.
11. Perform initial setup (configure SDK, credentials).
12. Start your project and begin coding or designing.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 9 |Page


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 10 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 11 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Post Lab Task:

Problem Description:
1. A software company needs to develop a project that is estimated as 1000 function points and is
planning to use JAVA as the programming language whose approximate lines of code per function
point is accepted as 50. Considering a=1.4 as multiplicative factor, b=1.0 as exponential factor for
the basic COCOMO effort equation and c=3.0 as multiplicative factor, d=0.33 as exponential factor
for the basic COCOMO duration equation, calculate approximately how long does the project take
to complete?

2. A company needs to develop a digital signal processing software for one of its newest inventions.
The software is expected to have 40000 lines of code. The company needs to determine the effort in
person-months needed to develop this software using the basic COCOMO model. The multiplicative
factor for this model is given as 2.8 for the software development on embedded systems, while the
exponentiation factor is given as 1.20. What is the estimated effort in person-months?
Writing space for Post lab: (For Student’s use only)

1. Given Data:
• Function points: 1000
• Lines of code per function point: 50
• a (Effort Multiplicative Factor): 1.4
• b (Effort Exponential Factor): 1.0
• c (Duration Multiplicative Factor): 3.0
• d (Duration Exponential Factor): 0.33
Calculations:
[Link] Lines of Code (LOC):
LOC=Function Points×Lines of Code per Function
LOC=1000×50=50,000 LOC
[Link] (Person-Months): Using the Basic COCOMO Effort Equation:
Effort=a×(KLOC)^b
where KLOC=LOC/1000,
KLOC=50,000/1000=50
Substituting the values:
Effort=1.4×(50)^1.0=1.4×50=70 Person-Months
[Link] (Time in Months): Using the Basic COCOMO Duration Equation:
Duration=c×(Effort)^d
Substituting the values:
Duration=3.0×(70)^0.33
Approximating 700.33≈4.09:
Duration=3.0×4.09≈12.27 Months
Result:
• Effort: 70 Person-Months.
• Duration: 12.27 Months (approximately 12 months and 8 days)
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 12 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

2. Effort Calculation for Embedded Systems:


Given Data:
• Lines of Code (LOC): 40,000
• a (Effort Multiplicative Factor): 2.8
• b (Effort Exponential Factor): 1.20
Calculations:
Convert LOC to KLOC:
KLOC=LOC/1000=40,000/1000=40
Effort (Person-Months): Using the Basic COCOMO Effort Equation:
Effort=a×(KLOC)^b
Substituting the values:
Effort=2.8×(40)^1.20
Approximating40^(1.20)≈63.1:
Effort=2.8×63.1≈176.68 Person-Months
Result:
• Effort: 176.68 Person-Months (approximately 177 months)

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 13 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 04: Identifying the Software Requirement from problem


statements
Date of the Session: 28 /01 /2025 Time of the Session: 10:20 to 1:00
Title of the Program: Identifying the Software Requirement from problem statements and draw
requirements diagram.

Pre-Lab Task:
Answer the following question before entering into lab

1. Name different types of software requirements.


 Functional Requirements
 Non-functional Requirements
 User Requirements
 System Requirements
 Interface Requirements
2. What are functional requirements?
Describe the specific behaviors, functions, and features that a system must perform.
3. What are Non- functional requirements?
Define the system's quality attributes, such as performance, security, scalability, and reliability.
4. What is a requirements diagram?
A graphical representation that shows relationships and dependencies among different requirements.
5. What is the purpose of a requirements diagram?
To visually organize and clarify the structure and connections between various requirements, improving
understanding and communication.
6. What are the elements of a Requirement diagram?
 Requirements: Represent individual requirements (functional or non-functional).
 Relationships: Show how requirements are related, such as dependencies or associations.
 Packages: Group related requirements for better organization.
 Actors: Represent users or systems interacting with the requirements.
 Stereotypes: Special markers to classify or add more detail to requirements (e.g., <<include>>,
<<extend>>).
In Lab Tasks:
1. Problem Description Develop a requirements diagram for automobile system given below.

Writing space for In lab: (For Student’s use only)


[Link] of Requirements:
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 14 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

 Passenger and Baggage Load


 Vehicle Performance:
o Maximum Acceleration (e.g., "0 to 60 mph in less than 8 seconds")
o Top Speed
o Braking Distance
o Turning Radius
 Riding Comfort
 Emissions
 Fuel Efficiency (e.g., "At least 25 miles per gallon under stated driving conditions")
 Production Cost
 Vehicle Reliability
 Occupant Safety
[Link] for Each Requirement:
 Unique Identification
 Text Description
 Additional Properties:
o Verification Status
o Risk Level
Diagram Structure:
 Main Node: Automobile System
 Subnodes:
o Passenger and Baggage Load
o Vehicle Performance (further
divided into Maximum Acceleration, Top Speed, Braking Distance, Turning Radius)
o Riding Comfort
o Emissions
o Fuel Efficiency
o Production Cost
o Vehicle Reliability
o Occupant Safety
 Suggested Approach:
Use a tree diagram or hierarchical structure with the Automobile System as the [Link] labels and
descriptions to nodes for clarity.

Post lab task:


1. Problem Description:
Identify functional and non-functional requirements for the problem statement given below.
Due to the autonomy given to then Indian Universities, These institutions have developed their own annual
academic calendars. The students wanting to get admissions in other institutions need to wait for the results
of the previous course. Students of those Institutions who complete their examinations and get results early
have the opportunity to select the course of their choice and move to the University of choice while those
whose results are declared late have no (Or) less options of courses and colleges available for them.
Students also have to travel to each of these colleges to get information, apply and get admitted and so on.
This results in huge cost and loss of time to students in their academic career. In order to provide level
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 15 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

playing grounds for all the students there is a need for effective implementation of a common uniform
calendar in all the colleges and Universities across the Nation.
Objective: To develop an integrated annual academic calendar for all the Indian universities"

Writing space for Post Lab: (For Student’s use only)


Functional Requirements:
1. Uniform Academic Calendar: The system should create and manage a common academic
calendar that all universities can adopt.
2. Course Selection and Admission Process: The system should allow students to view available
courses across different universities based on the academic calendar.
3. Result Tracking: The system should track and display when results are released and the timelines
for admission and selection.
4. University Information Portal: A feature to display relevant details about different universities,
including course offerings, admission dates, and procedures.
5. Student Registration: Allow students to register their profiles and track application statuses to
different universities.
6. Application Submission: Enable students to apply for courses at multiple universities from a single
platform.
Non-functional Requirements:
1. Usability: The platform should be user-friendly and easy to navigate for students of all technical
skill levels.
2. Performance: The system should handle high traffic loads, especially during peak admission
periods, ensuring fast response times.
3. Security: Secure storage and transmission of student data, including personal and academic details.
4. Scalability: The system should support integration with all existing and new universities in India,
even as the number of institutions grows.
5. Reliability: The platform must be available 24/7 and ensure consistent uptime with minimal
downtime during updates or maintenance.
6. Interoperability: The system should be able to integrate with existing university databases and
admission systems seamlessly.
7. Accessibility: The platform should be accessible across multiple devices (desktops, tablets,
smartphones) and comply with accessibility standards for disabled users.

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

(For Evaluator’s use only)

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 16 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 05: Project Planning

Date of the Session:04 /02 /25 Time of the Session: 10:20 to 1:00

Title of the Program: : Project Planning

In Lab Tasks:
1. Problem Description

Assume that you are the project manager with an event management for you have the following activities to
be planned before starting the program
1. Fixing the suitable time with artist.
2. Identifying and finalizing terms with auditorium.
3. Co-coordinating with the media.
4. Placing the advertisement.
5. Getting the tickets printed.
6. Selling the tickets.
Perform the following tasks

1. Creating your first project


2. Task Breakdown, Resources
3. Assigning Resources, Calculating Costs
4. Create Project Baseline, Calendar
5. Generate Reports

Writing space for In lab: (For Student’s use only)


Step 1: Click on start button and select project libre tool and click on Create Project to create a new project.

Step 2: To make a task breakdown and create resources click on Resource tab & select resource button.
To create resources follow the below image.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 17 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

In this way the resources can be created and the task breakdown can be viewed by clicking the Task tab &
select task usage button to view the task breakdown.

Step 3: To assign the resources to the particular task click on Task pane and select gantt chart to view
the set of tasks and on that select one task & click on assign resources button to assign the resources to
the task.

To calculate the costs of the following event click on task pane and select WBS button to view the costs
of the tasks.

Step 5: To generate reports click on view pane and select report button to generate the reports. The

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 18 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

reports are attached as follows:


Project Details Report:

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 19 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Post lab task:


Problem Description: Identify any one project management tools and discuss its features in brief .
Project Libre is a free and open-source project management software that provides a range of
features and tools to help users manage their projects effectively. The software was initially created
as an open- source alternative to Microsoft Project and has since become a popular choice for
businesses, organizations, and individuals looking for a powerful yet affordable project management
[Link] of the key advantages of Project Libre is its ease of use. The software features a user-
friendly interface that is intuitive and easy to navigate, even for those who are new to project
management. The software provides a range of project planning tools such as Gantt charts, task lists,
and timelines that enable users to create and manage projects with [Link] Libre also offers a
variety of resource management tools that help users to allocate resources such as people,
equipment, and materials to specific tasks and track their availability. This enables users to
effectively manage their resources and ensure that they are being utilized effectively throughout the
[Link] notable feature of Project Libre is its collaboration tools. The software enables teams
to collaborate on projects in real-time, share files and documents, and communicate through
discussion forums. This helps to improve team communication and ensures that everyone is on the
same page throughout the [Link] Libre also provides a range of reporting options that enable
users to track the progress of their projects and identify any potential issues. The software offers a
variety of pre-built reports such as task status, resource allocation, and cost reports, as well as the
ability to create custom reports based on specific project requirements.
Features of Project Libre are:
Project Planning: Project-Libre allows users to create project plans by defining tasks, assigning
resources and setting timelines.
Gantt Charts: The software provides Gantt charts that visually display the tasks, dependencies,
and timelines of a project.
Resource Management: The tool allows users to allocate resources such as people, equipment,
and materials to specific tasks and manage their availability.
Cost Management: Project Libre provides cost management tools that help users to track project
expenses and manage budgets.
Collaboration: Project Libre enables teams to collaborate on projects in real-time, share files and
documents, and communicate through discussion forums.
Reporting: The software provides a variety of reporting options including task status, resource
allocation, and cost reports

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 20 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 06: Capturing use case and modelling use case diagram
for the given problem

Date of the Session: 11/02/2025 Time of the Session: 10:20 to 1:00


Program Title: Capturing use case and modeling use case diagram
Pre-Lab Task:
1. Define Use case?
A use case is a specific interaction between a user (actor) and a system to achieve a goal. It represents a
functional requirement of the system.
2. Define use case diagram.
A use case diagram is a visual representation of the interactions between users (actors) and a system,
showing how different use cases fulfill system requirements.

3. Define actor in the context of use case? How do we represent them on a use case diagram? Explain

An actor is an external entity (user, system, or device) that


interacts with the system to achieve a goal.
Representation in Use Case Diagram:
 Actors are represented using stick figures.
 They are connected to use cases with lines indicating
interaction.

4. List the different types of relationships represented in Use Case Diagram.

 Association: A direct link between an actor and a use case.


 Include: One use case always invokes another (mandatory dependency).
 Extend: A use case optionally extends another based on conditions.
 Generalization: Represents inheritance among actors or use cases.

5. Explain In detail how a Use Case Diagram used in UML.

 Defines system functionality from the user's perspective.


 Helps identify system requirements and interactions.
 Used in requirement gathering and system design.
 Provides a high-level view of the system behavior.
 Aids communication between stakeholders, developers, and designers.

In Lab task: PASSPORT AUTOMATION SYSTEM

Problem Description: To simplify the process of applying passport, software has been created by
designing through rational rose tool, using visual basic as a front end and Microsoft access as a back
end. Initially the applicant login the passport automation system and submits his details. These details

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 21 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

are stored in the database and verification process done by the passport administrator, regional
administrator and police the passport is issued to the applicant.

Writing space for In lab : (For Student’s use only)


For the Passport Automation System, the Use Case Diagram should represent the interaction between
different actors and the system, highlighting the process
flow.
Actors in the System
1. Applicant – The user who applies for a passport.
2. Passport Administrator – Responsible for
processing applications.
3. Regional Administrator – Responsible for
approving the passport after verification.
4. Police – Conducts background verification of the
applicant.
Use Cases and Interactions
1. Login
o Actors Involved: Applicant, Passport
Administrator, Regional Administrator.
o Description: Users (Applicants and Administrators) must log in to access the system.
2. Submit Details
o Actor Involved: Applicant.
o Description: The applicant submits personal details, such as name, address, date of birth,
and supporting documents.
3. Check Status
o Actor Involved: Applicant.
o Description: The applicant can check the status of their passport application.
4. Get Details
o Actors Involved: Passport Administrator, Regional Administrator, Police.
o Description: Officials retrieve applicant details for verification and processing.
5. Verify
o Actors Involved: Police, Passport Administrator, Regional Administrator.
o Description: The verification process ensures that the applicant has no criminal record and
that all submitted details are valid.
6. Store Verification
o Actors Involved: Passport Administrator, Regional Administrator.
o Description: After verification, the results are stored in the system.
7. Issue Passport
o Actors Involved: Regional Administrator.
o Description: Once verification is successful, the passport is approved and issued to the
applicant.
Key Relationships in the Diagram

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 22 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

 Association: Each actor is connected to their relevant use cases through straight lines.
 Interaction Flow:
o The Applicant logs in and submits details.
o The Passport Administrator and Regional Administrator retrieve these details for verification.
o The Police verify the applicant's background.
o If verification is successful, the Regional Administrator stores the verification results and issues
the passport.
o The Applicant can check their application status at any time.

Post Lab task: Air and Water Quality Care System

Problem Description: Real time data of various air/water quality parameters in the selected urban and
rural area and the river flow (major Indian rivers) information will be extracted through web/cloud-
based tools.

Based on the expertise developed by CSIR (CSIR-IITR) over four decades on air and water quality
monitoring and assessment, data analytical methods will be developed to quantify source apportionment
to protect human health and environmental pollution/quality. A smart support system will be developed
by collecting and comparing available past years’ data for those localities to provide preventive
solutions.

Writing space for Post lab: (For Student’s use only)


1. Objective of the System
The Air and Water Quality Care System aims to monitor, analyze, and improve environmental conditions
by collecting real-time data on air and water quality parameters from urban and rural areas. It uses data
analytics and cloud-based tools to assess pollution sources and provide solutions to protect human health
and the environment.
2. Key Components of the System

1. Data Collection
 Uses web/cloud-based tools to extract real-time data.
 Monitors parameters like PM2.5, PM10, CO2, NO2, SO2 for air quality.
 Collects pH level, turbidity, dissolved oxygen (DO), BOD, COD for water quality.
 Monitors river flow levels in major Indian rivers.
2. Data Storage and Processing
 Stores past and real-time data in a cloud database.
 Uses data analytical methods for quantifying pollution sources.
 Utilizes CSIR expertise in air and water quality assessment.
3. Analysis and Reporting
 Compares current data with past records to identify trends.
 Assesses pollution sources through source apportionment methods.
 Uses machine learning algorithms for predictive analysis.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 23 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

4. Smart Decision Support System


 Provides preventive solutions based on historical data.
 Alerts government authorities and the public about critical
pollution levels.
 Suggests policy recommendations and mitigation measures.

3. Expected Outcomes

 Improved environmental monitoring using real-time data.


 Better pollution control through data-driven insights.
 Enhanced public health protection by identifying pollution
sources.
 Smart preventive measures to reduce long-term environmental
damage.

4. Technologies Used

 Cloud Platforms: AWS, Azure, Google Cloud for data


storage.
 IoT Sensors: For real-time data collection on air and water quality.
 Big Data Analytics: Hadoop, Spark for large-scale data processing.
 Machine Learning Models: For pollution trend prediction.
 Web-Based Dashboards: To display real-time data for decision-makers.

5. UML Use Case Diagram (Key Interactions)

Actors:
1. Government Agencies – Use reports to implement policies.
2. Environmental Scientists – Analyze pollution sources.
3. Public Users – Access reports on pollution levels.
4. IoT Sensors – Collect real-time air/water quality data.
Use Cases:
 Collect real-time data from cloud-based tools.
 Analyze pollution trends using data analytics.
 Generate reports and alerts based on air/water quality levels.
 Suggest preventive solutions for environmental improvement.

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator


VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 24 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 07: Capturing Class and modeling Class diagram for the
given problem

Date of the Session: 18/02/24 Time of the Session:10:20 to 1:00


Program Title: Capturing Class and modelling Class diagram
Pre-Lab Task:
1. Define class.
A class is a blueprint or template for creating objects in object-oriented programming. It defines a set of
attributes and methods that the objects created from the class will have. Classes encapsulate data and
behavior, enabling modular and reusable code.

2. Define class diagram?

A class diagram is a type of structural diagram in UML (Unified Modeling Language) that visually
represents the classes in a system and their relationships. It provides an overview of the system's structure
by illustrating classes, their attributes, operations, and the associations between them.

3. List the three main elements of class diagram used in UML

The three main elements of a class diagram are classes, which represent the blueprint of objects; attributes,
which define the properties of a class; and methods, which specify the behavior of a class. These elements
collectively describe the static structure of a system.

4. List the different Relationships among the Classes.

The different types of relationships among classes in UML include association (a link between two or more
classes), aggregation (a whole-part relationship where the part can exist independently), composition (a
stronger whole-part relationship where the part cannot exist independently), inheritance (a relationship
where one class derives from another), and dependency (a weaker connection where one class uses another).

5. State Object?

An object is an instance of a class, representing a concrete entity in a system. It encapsulates both data
(attributes) and behavior (methods), interacting with other objects through defined interfaces. Objects serve
as the building blocks of object-oriented systems.

In Lab task: BOOK BANK SYSTEM

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 25 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Problem Description: 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.
The Book Bank System manages lending, purchasing, and removal of
books and magazines.

Book Bank Management System

The Book Bank System efficiently manages books, magazines,


members, and transactions, including lending, reservations, purchases,
and removals.
1. Membership Management
Members must register in the system to borrow or reserve books/magazines.
Each member has a unique ID and personal details stored in the system.
Membership allows access to book borrowing and reservation services.
2. Lending & Reservations
Members can borrow books or magazines based on availability.
If a title is unavailable, members can reserve it.
Upon return or new purchase, the reserved member is notified for collection.
The system tracks due dates, overdue books, and generates alerts for returns.
3. Inventory Management
The Book Bank purchases new books and magazines to expand the collection.
Popular titles are acquired in multiple copies based on demand.
Old or damaged books/magazines are periodically removed from the collection.
The system maintains records of purchases and removals for tracking inventory.
4. Database Operations
The system enables Create, Read, Update, and Delete (CRUD) operations on:
Titles – Add, update, or remove books/magazines.
Members – Register, update, or delete member records.
Loans – Issue, return, and track borrowed books.
Reservations – Manage reservations and notifications.

Post Lab task: EXAM REGISTRATION SYSTEM


Problem Description: Exam Registration [Link] used in the effective dispatch of registration form to all of the
students. This system adopts a comprehensive approach to minimize the manual work and schedule resources, time in
a cogent manner. The core of the system is to get the online registration form (with details such as name, [Link] etc.,)
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 26 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

filled by the student whose testament is verified for its


genuineness by the Exam Registration System with
respect to the already existing information in the database
Exam Registration System
The Exam Registration System automates the process of
student exam registration, ensuring efficiency, accuracy,
and resource optimization.
🔹 Online Registration
Students fill out the registration form with details like
name, registration number, course, and exam details.
The system validates the provided details against the
existing database for authenticity.
🔹 Automated Verification
Cross-checks student information with the institution’s
records to prevent fraudulent registrations.
Sends confirmation notifications upon successful verification.
🔹 Scheduling & Resource Management
Allocates exam slots based on availability and eligibility criteria.
Reduces manual work by automating scheduling and registration tracking.
🔹 Database Operations (CRUD)
Create, Read, Update, Delete operations on:
Student details (registration number, course, exam eligibility).
Exam schedules (dates, venues, allotted students).
Payment records (if applicable).
🔹 Notification & Tracking
Sends registration confirmation, hall ticket issuance, and exam reminders to students.
Allows students to track their registration status online.

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 27 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 08: Capturing State chart and modelling State Transition
diagram for the given problem

Date of the Session: 25/02/2025 Time of the Session:10:20 to 1:00

Program Title: Capturing State chart and modelling State Transition diagram
Pre-Lab Task:

1. Define Events, States, and Transitions?

Event: A trigger that causes a change in the system (e.g., button click).
State: A condition an object is in at a specific time.
Transition: The movement from one state to another due to an event.

2. Discuss about State chart Diagrams?

 A UML diagram that represents the different states of an object and how it transitions between them.
 Used to model dynamic behavior of a system.
 Includes states, transitions, events, and initial/final states.

3. Write Short notes on

a.) Transition
b.) State
c.) Initial state
d.) Composite state
a) Transition
 The movement from one state to another due to an event.
 Represented by an arrow in a state chart diagram.
b) State
 A specific condition of an object at a given time.
 Represented as a rounded rectangle in UML.
c) Initial State
 The starting point of an object in a state diagram.
 Represented as a filled black circle (●).
d) Composite State
 A state that contains sub-states inside it.
 Helps model complex behaviors within a state.

In Lab task: STOCK MAINTENANCE

Problem Description: The stock maintenance system must take care of sales information of
the company and must analyze the potential of the trade. It maintains the number of items that are
added or removed. The sales person initiates this Use case. The sales person is allowed to update
information and view the database.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 28 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

States – Represent different conditions of an object.


Example: Order Placed, Order Shipped, Order Delivered
Initial State (Start State) – The starting point of the system.
Represented by a filled black circle (●).
Final State (End State) – The termination of the process.
Represented by a black circle with an outer boundary (◎).
Transitions – Arrows that show the movement from one state to
another due to an event.
Events (Triggers) – Actions or conditions that cause state changes.
Example:
User logs
in, Payment is made, Order is canceled
Guards/Conditions – Constraints that must be
met for a transition to occur.
Example: if (password == correct) → transition
to Login Successful state
Composite State – A state containing sub-states,
representing nested behavior.
Forks & Joins – Used for parallel processing or
concurrent activities.
 Fork: Splits a state into multiple concurrent
states.
 Join: Merges multiple states into one.

Post Lab task: Mechanization of parcel sorting at parcel processing centers

Problem Statement: The Departmental sorting facilities have traditionally been aligned to handling
documents and small packets. The existing parcel sorting happens manually either on floor area or on conveyer
belts at select locations. The entire parcel processing does not have any Standard Operating Procedure (SOP)
which brings down the sorting efficiency. Expected Scenario: The Department is in the process of mechanizing
the sorting of parcels at its sorting facilities. Mechanization has commenced with use of conveyor belts, pin
code based primary sorting (through back-end integration with barcode) and DWMS (Dimension and Weight
Measuring System). At the primary sort level, articles are sorted into groups of range of PIN codes to be sorted

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 29 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

further (secondary sort) and bagged for destination hubs. The secondary sort requires a skilled sorter to find the
correct destination bag. Can the secondary sorter be guided by the system itself as to which bag the article has
to be dropped? Can the article be scanned and a light over the appropriate bag come on using PTL (Put to
Light) solution? A prototype solution may be provided which should be scalable for number of sorts that may
range from 30-90 destinations.

Writing space for Post lab: (For Student’s use only)


Each state represents a phase in the sorting process. The main states include:
1. Parcel Arrived → A new parcel is received.
2. Barcode Scanned → The system scans the barcode.
3. Primary Sorting → The parcel is sorted based on the PIN code.
4. Secondary Sorting → The system guides the worker via PTL (light
indicator).
5. Bagging → The parcel is placed in the correct bag.
6. Dispatched → The parcel leaves the sorting center.
Identify Transitions
Each event triggers movement from one state to another:
 Parcel Received → Moves to Barcode Scanned.
 Barcode Scanned → Moves to Primary Sorting.
 Primary Sorting Completed → Moves to Secondary Sorting.
 Light Indicator Guides the Sorter → Moves to Bagging.
 Bagging Done → Moves to Dispatched.

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 30 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 09: Interaction diagrams: Sequence and collaboration


diagrams and Flow of events and activity diagram.

Date of the Session: 04/03/25 Time of the Session: 10:20 to 1:00


Program Title:
Pre-Lab Task:
1. Discuss about Activity Diagram.
A UML diagram that represents workflow in a system, showing sequential and parallel activities. It includes
actions, decisions, forks, joins, and swimlanes to illustrate process flow.

2. Write about Interaction Diagram


Shows object interactions in a system through message exchanges. It includes:
 Sequence Diagram (focuses on message order over time).
 Communication Diagram (emphasizes object
relationships).

3. Write short note on
a. Activity
[Link]
[Link]
[Link]
(a) Activity – A task or operation in a workflow.
(b) Fork – Splits one flow into multiple parallel flows.
(c) Join – Merges multiple parallel flows into one.
(d) Swimlane – Divides responsibilities among different actors.

In Lab task: ONLINE COURSE RESERVATION SYSTEM

Problem Description: The requirement form the customer is got and the requirements about the course
registration are defined. The requirements are analyzed and defined so that is enables the student to
efficiency select a course through registration system. The project scope is identified and the problem
statement is prepared.
Writing space for In lab: (For Student’s use only)

1. Collaboration Diagram
A Collaboration Diagram (also called a Communication Diagram) represents interactions between objects in
a system, emphasizing their relationships and message flow.
Key Features:
Shows objects, links, and messages exchanged.
Emphasizes structural organization of objects.
Messages are numbered to indicate the sequence.
Use Case:
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 31 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Helps in understanding object interactions.


Used in designing complex workflows.
2. Sequence Diagram
A Sequence Diagram illustrates the chronological order of
message exchanges between system components. It
represents objects, lifelines, and interactions over time.
Key Features:
Objects (Actors, System Components) interact via
messages.
Lifelines show object existence.
Arrows indicate messages and their flow.
Synchronous & asynchronous messages are represented.
Use Case:
Helps in visualizing step-by-step execution of a process.
Used in designing use case realizations.

3. Activity Diagram
An Activity Diagram is a flowchart-like representation of
workflows in a system. It models sequential and parallel
activities, decisions, and conditions.
Key Features:
Represents workflow of a system or process.

Includes activities, decisions, forks, joins, and swimlanes.


Highlights business logic and control flow.
Use Case:
Used for business process modeling.
Helps in defining detailed process flows.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 32 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Post Lab task: Case Management Software for Women Helpline

Problem Description: 181 Women Helpline is currently functional in 23 States/UTs. This will be scaled
up to cover all States/UTs in the near future to make it a universal number for women. 181 provides 24
hours emergency response to women in distress through referral (linking with appropriate authority such
as police, one stop centre, hospital etc.) as well as information about women related government schemes.
181 numbers across the country receive a large number of calls a day. User friendly case management
software is required for staff to maintain details of all incoming cases. Such software will further help in
easier reporting through auto-populated tables. It should lend itself to integration with OSC and other
software at a later date. General problem statement: i) At present the complaints or requests reported by
women are manually entered by WHL staff and no software is there to log and track the complaint ii)
Cases are thus tedious to track at the WHLlevel iii) Hard copy of case details have to be sent outside the
WHL when a case is referred to a lawyer, doctor, One Stop Centre etc. iv) As the Nirbhaya dashboard for
central level monitoring is implemented, each WHL will have to manually input total numbers of
registered, resolved and pending cases v) This also leads to lack of transparency within the system which
reduces the accountability of the administration vi) 23 states has set up help lines, with all to be covered
soon. System users: i) The women that register for help. They can be given a case ID no. ii) The WHL
staff who register the complaint/query. A summary of the case should be downloadable for easy
forwarding outside the OSC via email. iii) At a later stage, if a State or National level monitoring system
is implemented, this software should be able to integrate with it Technology that can address this issue
partially. i) An online portal or an app for case management or process management to track the status of
complaints of women. ii) The data sets should be generated to make them look real iii) This system should
be loosely coupled so that it can integrate with any system in operation iv) This system should also
support dash boarding and analytics to generate reports or tables instantly v) This system should be able to
send in alerts (SMS/ Emails)whenever a case is logged to the required official or referral Desired
Outcome: i) A transparent system that will track the complaint status of women with case specific details
that can be viewed by OSC staff through log in. ii) This system will help track all the complaints of
women and would make it affective tool to provide help to affected women. iii) This system will help in
improving transparency, increase accountability, help in providing right care in time. iv) This system will
also serve with analytics for the state or the country once integrated and can populate various reports
&amp; dashboards at National/ State/ UT level.

Writing space for Postlab: (For Student’s use only)

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 33 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

1. Sequence Diagram
The sequence diagram represents how different system users interact with the system over time.
Actors:
1. Woman (Complainant) – Registers a complaint and tracks status.
2. WHL Staff – Logs complaints, updates statuses, and forwards cases.
3. External Authorities (Police, Hospitals, OSC, Legal Support) – Receive case details for action.
4. System (CMS) – Manages cases, generates reports, and sends notifications.
Main Flow:
1. Woman registers a complaint via the portal or app.
2. System assigns a unique Case ID.
3. WHL Staff logs and updates complaint details.
4. System sends SMS/Email notification to the relevant external authority.
5. External Authority processes the case and updates the status.
6. WHL Staff verifies case resolution and closes the complaint.
7. System updates dashboards and generates reports.

2. Collaboration Diagram
The collaboration diagram illustrates the interaction between system components.
Objects & Interactions:
 Woman (Complainant)
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 34 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

o Sends complaint request to the WHL Staff.


 WHL Staff
o Logs complaint into the Case Management System.
o Refers case to External Authorities.
o Updates case status in the CMS.
 Case Management System
o Generates unique Case ID.
o Sends notifications to External Authorities (Police, Hospital, OSC, etc.).
o Provides a dashboard for real-time tracking.
o Generates analytics and reports.
 External Authorities
o Receive and process complaints.
o Update case status in the CMS.

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 35 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 10: Component and Deployment diagrams

Date of the Session: 11/03/25 Time of the Session: 10:20 to 1:00

Program Title:
Pre-Lab Task:
1. Define Component.
A component is a modular, reusable, and self-contained unit of a system that encapsulates implementation
and exposes functionality through interfaces. It represents a physical part of a system, such as a library,
module, or service.
2. Discuss Component Diagram.
A component diagram in UML (Unified Modeling Language) visually represents the organization and
dependencies among software components. It shows how components interact via interfaces and connectors,
aiding in understanding system architecture and modularization.
3. Define Deployment.
Deployment refers to the process of making a software system operational in a specific environment,
including installation, configuration, and execution on hardware or cloud infrastructure.
4. Discuss Deployment Diagram.
A deployment diagram in UML depicts the physical arrangement of hardware nodes, software components,
and their relationships. It shows how software applications are distributed across servers, devices, or
networks.
5. Distinguish between Class and Component
 Class: Represents a blueprint for objects, defining attributes and behaviors in object-oriented
programming.
 Component: Represents a modular and replaceable part of a system, focusing on physical
implementation and encapsulation

In Lab task: Develop a component and deployment diagram for E-TICKETING given below

Problem Description: In the E-Ticketing system the main process is a applicant have to login the database
then the database verifies that particular username and password then the user must fill the details about
their personal details then selecting the flight and the database books the ticket then send it to the applicant
then searching the flight or else cancelling the process.

Component Diagram for E-Ticketing System


1. User Interface Component – Handles user authentication, form submission, and interaction.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 36 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

2. Authentication
Component – Verifies
login credentials with the
database.
3. Flight Selection
Component – Manages
flight search and
selection.
4. Booking Component – Processes ticket booking requests.
5. Payment Component – Handles transaction processing.
6. Database Component – Stores user details, flight details, and booking information.
7. Notification Component – Sends booking confirmation or cancellation updates.
Deployment Diagram for E-Ticketing System
The deployment diagram represents the physical architecture of the system, including hardware and
software nodes.
Nodes in the Deployment Diagram:
1. Client Device (User's System)
o Web Browser / Mobile App
2. Application Server
o Manages authentication, booking, and flight search services.
o Hosts business logic (e.g., Java-based backend).
3. Database Server
o Stores user data, flight details, and booking records (e.g., Oracle DB).
4. Payment Gateway
o External service to handle transactions securely.

Post Lab task: Development of a component and deployment diagram for multilingual Mobile App
for deep sea fishermen
Problem Description:A mobile App MKrishi@fishereis has been developed by the ICAR-Central Marine
Fisheries Research Institute, Kochi to aid marine fishermen of the country. The App provides multilingual
information on Potential Fishing Zone (PFZ), sea surface temperature, weather and also helps the
fishermen in knowing the wind speed and direction and wave heights. However, this Mobile App has some
limitations as it can be used only up to a range of 30 km radius from the shore line and the deep sea

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 37 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

fishermen who normally venture farther into the ocean are unable to get real time information during
fishing operations in the deeper waters of Indian EEZ. This Mobile App can be further enhanced by
increasing the range of operation so that it can be made use of by the deep sea fishermen of the country
who venture into deeper and farther areas from the coast. The Mob App should also include additional
information like Global Positioning System (GPS) indicating real time position, movement and distance
covered by the vessel and should provide a means of communication so that the fishermen are able to have
regular contact with other boats and shore for their safety.

A Component Diagram shows the software architecture of the system. In our case, the main components
are:

Mobile App UI → The user interface that fishermen interact with.

Fishing Data Processing Module → Processes information like fishing zones and sea temperature.

Weather & Navigation Module → Fetches real-time weather, GPS tracking, and wave heights.

Communication Module → Allows fishermen to communicate with other boats anSatellite System →
Provides real-time location, movement tracking, and weather updates.

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator


VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 38 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

Lab Session 11: Software Testing

Date of the Session: 01/04/2025 Time of the Session:10:20 to 1:00

Program Title: Software Testing


Pre-Lab Task:
1. Differentiate between Whitebox Testing and Blackbox Testing

2. Feature Whitebox Testing Blackbox Testing

Access Requires internal code knowledge No need for internal code knowledge

Testing Focus Logic, structure, and code flow Functional behavior of the system

Performed By Developers, testers with coding skills Testers, end-users

Techniques Path testing, branch testing Equivalence partitioning, BVA

Examples Unit testing, Integration testing System testing, User acceptance testing
Discuss about Cyclomatic complexity?

Cyclomatic complexity is a metric used to measure the complexity of a program by counting the number of
independent paths in the control flow graph. It is given by:
V(G)=E−N+2PV(G) = E - N + 2PV(G)=E−N+2P
Where:
 EEE = Number of edges
 NNN = Number of nodes
 PPP = Number of connected components
A higher value indicates more complexity and requires more rigorous testing.

3. Discuss about Graph Matrices

Graph matrices represent software programs as adjacency matrices, where:


 Nodes represent statements or blocks of code.
 Edges represent control flow between statements.
Each cell in the matrix holds a value indicating connectivity, helping in analyzing complexity,
dependencies, and test coverage.
4. Differentiate between Equivalence partitioning and boundary Value Analysis

Feature Equivalence Partitioning Boundary Value Analysis

Divides input into valid & invalid


Concept Tests values at the boundary of input ranges
partitions

Reduces test cases by grouping similar


Purpose Identifies errors at boundary limits
inputs
VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 39 | P a g e
REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

In Lab task: Design test case for following problem using path testing

A mobile service provider calculate the bill payment of a customer as follows


 If the number of calls are 120 then minimum payment is 300
 Plus Re 1 for each call for the next 70 calls
 Plus Re 0.82 for each call for the next 50 calls
 Plus Re 0.45 for each call for more than 240 calls

Control Flow Graph Node Description


1. Node 1: Start - Input number of calls
2. Node 2: Decision - Check if calls ≤ 120
3. Node 3: Process - Calculate bill as Rs. 300 (Path 1)
4. Node 4: Decision - Check if calls ≤ 190
5. Node 5: Process - Calculate bill as Rs. 300 + (calls-120) × 1 (Path 2)
6. Node 6: Decision - Check if calls ≤ 240
7. Node 7: Process - Calculate bill as Rs. 300 + 70 × 1 + 50 × 0.82 + (calls-240) × 0.45 (Path 4)
8. Node 8: Endq

Test Path Input Nodes Traversed Expected Result

Path 1 120 1→2→3→8 Rs. 300

Path 2 150 1→2→4→5→8 Rs. 330

Path 3 215 1→2→4→6→7→8 Rs. 390.5

Path 4 300 1→2→4→6→7→8 Rs. 438

Post Lab task: Design test case for following problem using path testing

Design test case for following problem using path testing


o Teacher plays a game with the students.
o If the teacher says a number between 10 to 20 the student has to clap once.

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 40 | P a g e


REGD. NO.228W1A0581 20CS6353 SOFTWARE ENGINEERING LABORATORY ACADEMIC YEAR:2024-2025

o If the teacher says a number between 20 to 30 the student has to clap twice.
o If the teacher says a number between 30 to 40 the student has to clap thrice.

IF number >= 10 AND number <= 20 THEN


PRINT "Clap Once"
ELSE IF number >= 21 AND number <= 30 THEN
PRINT "Clap Twice"
ELSE IF number >= 31 AND number <= 40 THEN
PRINT "Clap Thrice"
ELSE
PRINT "No Clap"
ENDIF

Node 1: Start - Input number

Node 2: Decision - Check if number >= 10 AND


number <= 20

Node 3: Decision - Check if number >= 21 AND


number <= 30

Node 4: Decision - Check if number >= 31 AND


number <= 40

Node 5: Process - Print "Clap Once" (from Node 2)

Node 6: Process - Print "Clap Twice" (from Node 3)

Node 7: Process - Print "Clap Thrice" (from Node 4) OR Print "No Clap" (default case)

Node 8: End

(For Evaluator’s use only)

Comment of the Evaluator (if Any) Evaluator’s Observation


Marks Secured:_______ out of ________

Signature of the Evaluator

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE 41 | P a g e

You might also like