0% found this document useful (0 votes)
66 views47 pages

Se Practicle

Krunal_SEpracticle

Uploaded by

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

Se Practicle

Krunal_SEpracticle

Uploaded by

kp9156311
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

FACULTY OF ENGINEERING AND TECHNOLOGY

BACHELOR OF TECHNOLOGY

SOFTWARE ENGINEERING LABORATORY


(303105254)

V SEMESTER

COMPUTER SCIENCE & ENGINEERING DEPARTMENT

LAB MANUAL
SESSION:2024-2025
CERTIFICATE

This is to certify that

Mr./Ms.....................................................................................................

with enrolment no ............................................................................. has

successfully completed his/her laboratory experiments in the

SOFTWARE ENGINEERING LABORATORY (303105254) from

the department of COMPUTER SCIENCE & ENGINEERING

during the academic year 2024-2025.

Date of Submission: ......................... Staff In charge: ...........................

Head Of Department: ...........................................


TABLE OF CONTENT

Page No
Sr. Date of Date of Marks
Experiment Title Sign
No Start Completion (out of 10)

From To

1. Project Definition and objective of


the specified module and Perform
Requirement Engineering Process.
2. Identify Suitable Design and
Implementation model from the
different software engineering
models.
3.
Prepare Software Requirement
Specification (SRS) for the
selected module.
4.
Develop Software project
management planning (SPMP) for
the specified module.
5.
Do Cost and Effort Estimation
using different Software Cost
Estimation models.
6. Prepare System Analysis and
System Design of identified
Requirement specification
using structure design as
DFD with
data dictionary and Structure
chart for the specific module.
7.
Designing the module using
Object Oriented approach
including Use case Diagram with
scenarios, Class Diagram and
State Diagram, Collaboration
Diagram, Sequence Diagram and
Activity Diagram.
8.
Defining Coding Standards and
walk through.
9.
Write the test cases for the
identified module.
10.
Demonstrate the use of different
Testing Tools with comparison.
11. Define security and quality
aspects of the identified module.
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
Experiment 1

Aim: Project Definition and objective of the specified module and Perform
Requirement Engineering Process.

Project Definition and Objective:

Aim: The aim of this project is to develop a Public Safety Management App, leveraging advanced
technologies such as artificial intelligence (AI) and data analytics to enhance community safety and
emergency response. The app will provide real-time information, alerts, and guidance to users, facilitating
efficient management of public safety incidents, crime prevention, disaster response, and community
engagement.

Public Safety Management App:

Definition: A Public Safety Management App is a comprehensive record or journal that documents the
progress, activities, and milestones of the Public Safety Management App project. It serves as a
chronological account of the project's journey, including planning, research, design, development, testing,
deployment, and user feedback. This diary captures key events, challenges, decisions, and outcomes
related to the project, providing a detailed overview of its evolution and serving as a reference for
stakeholders. The diary plays a crucial role in tracking progress, reflecting on lessons learned, and
guiding future development and improvement efforts.

Features:

1. Entry Creation: Document project activities, milestones, and achievements with detailed diary entries.

2. Date and Time Stamps: Maintain a chronological record of progress throughout the project.

3.Attachment Support: Attach relevant files, documents, or resources to entries for added context and
clarity.

4. Categorization and Tagging: Organize entries by categories or tags to facilitate easy searching and
filtering.

5. Search Functionality: Quickly locate specific entries or information using a search feature.

6. Collaboration and Sharing: Share the diary with team members and stakeholders for effective
collaboration and input.

7. Privacy and Security: Ensure the confidentiality and protection of sensitive data and project
information.

8. Editing and Updating: Modify and update diary entries as the project evolves and new information
becomes available.

9.Export and Printing: Export diary entries in various formats or print them for offline reference.

Subject - Software Engineering


Subject Code - 303105253 Page 1
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

10. Notifications and Reminders: Set reminders for creating, updating, or reviewing entries to keep the
diary current.

11. Integration with Project Management Tools: Sync the diary with project management software for
seamless coordination and tracking.

Functions:

1. Documentation: Record and document all activities, milestones, and progress related to the Public
Safety Management App.

2. Organization and Structure: Provide a structured format for organizing project-related information
systematically.

3. Tracking Progress: Monitor the development and implementation progress of the Public Safety
Management App.

4. Reflection and Analysis: Facilitate reflection on the project’s progress, analyze outcomes, and
identify lessons learned.

5. Communication and Collaboration: Support effective communication and collaboration among


project team members and stakeholders.

6. Knowledge Transfer: Capture and share insights and knowledge gained throughout the project to
benefit future initiatives.

7. Decision Making: Offer a reference for past actions and decisions to inform current and future
strategies.

8. Accountability and Transparency: Enhance accountability and transparency within the project team
and among stakeholders.

9. Evaluation and Assessment: Evaluate project outcomes, assess effectiveness, and identify areas for
improvement.

10. Future Planning and Reference: Guide future development efforts and serve as a valuable reference
for ongoing and future public safety management projects.

This revised content aligns with the goals and functionalities of a public safety management app,
emphasizing its role in enhancing community safety and emergency response.

Subject - Software Engineering


Subject Code - 303105253 Page 2
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

Experiment 2

Aim: Identify Suitable Design and Implementation model from the different software
engineering models.

To identify a suitable design and implementation model for the "GreenAlert" Android Application, we can
consider several software engineering models based on the project's requirements and characteristics:
1. Waterfall Model:
• Advantages:
o Simple and easy to understand and use.
o Phases are processed and completed one at a time.
o Works well for smaller projects where requirements are very well understood.
• Disadvantages:
o Not flexible; once a phase is completed, going back is difficult.
o Not ideal for complex and ongoing projects as it doesn't accommodate changes easily.
2. V-Model (Validation and Verification):
• Advantages:
o Each development phase has a corresponding testing phase.
o High chances of success due to verification and validation steps at each stage.
• Disadvantages:
o Similar to the Waterfall Model, it is not very flexible with changes.
o Can be costlier and time-consuming due to the simultaneous testing process.
3. Iterative Model:
• Advantages:
o Development can start without all the requirements being known at the beginning.
o It is easier to manage risk as it develops the system incrementally.
• Disadvantages:
o Requires good planning and design.
o Potentially higher costs due to repeated cycles.
4. Agile Model:
• Advantages:
o Highly flexible and adaptable to changing requirements.
o Focuses on customer collaboration and satisfaction.
o Continuous feedback, improvement, and early delivery of functional software.
• Disadvantages:
o Requires strong team collaboration and communication.
o Less predictability in terms of time and cost.
5. Spiral Model:

Subject - Software Engineering


Subject Code - 303105253 Page 3
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
• Advantages:
o Combines elements of the iterative model with risk management.
o Suitable for large, complex, and high-risk projects.
• Disadvantages:
o Requires expertise in risk assessment.
o Can be more costly and time-consuming.

The Spiral Model is a risk-driven approach to software development that combines iterative development
with systematic risk assessment. It is well-suited for complex projects like a Public Safety Management
App due to its emphasis on iteration and risk management.

Here’s a tailored Spiral Model Design and Implementation Plan for your Public Safety Management App:
A typical Spiral Model diagram for your Public Safety Management App would look like this:

1. Planning Phase – Outer ring, indicating initial planning and requirements gathering.
2. Risk Analysis Phase – Next ring, showing risk identification and mitigation.
3. Engineering Phase – Subsequent ring, involving prototyping and design.
4. Development Phase – Inner ring, depicting development and testing.
5. Evaluation Phase – Center ring, representing feedback and performance evaluation.
6. Deployment Phase – Deployment and initial support.
7. Maintenance Phase – Ongoing updates and support.
8. Iteration – Continuous refinement through subsequent cycles.

This iterative approach ensures that your Public Safety Management App evolves based on user feedback
and changing requirements, ultimately leading to a robust and reliable system.

Subject - Software Engineering


Subject Code - 303105253 Page 4
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

Experiment 3

Aim: Prepare Software Requirement Specification (SRS) for the selected module.

Software Requirement Specification (SRS) for GreenAlert Application:


Creating a Software Requirement Specification (SRS) document for your public safety management app
is a crucial step in the software development process. An SRS provides a detailed description of the app's
functionality, performance, interface, and other requirements. Below is an outline of what an SRS
document for your project might include, along with examples of how to fill out each section.

1. Introduction:
1.1 Purpose: The purpose of this SRS document is to describe the requirements for the development of
a Public Safety Management App. This document outlines the functional and non-functional
requirements, user interfaces, and constraints for the app, which aims to enhance public safety through
real-time
monitoring, reporting, and emergency communication.
1.2 Scope: This app is designed to serve as a comprehensive public safety management tool. It will be
used by both citizens and authorities to report incidents, track safety concerns, receive alerts, and
coordinate emergency responses.
1.3 Definitions, Acronyms, and Abbreviations:
- SRS: Software Requirement Specification
- GPS: Global Positioning System
- API: Application Programming Interface
- UI/UX: User Interface/User Experience

2. Overall Description:
2.1 Product Perspective: The Public Safety Management App is part of a broader initiative to enhance
public safety. The app will integrate with existing systems, such as emergency services and local law
enforcement databases.
2.2 Product Functions:
- Incident Reporting: Users can report incidents, such as crimes or accidents, in real-time.
- Emergency Alerts: Users receive alerts about ongoing public safety issues.
- Location Tracking: The app uses GPS to track users' locations in emergencies.
- Communication: Facilitates communication between users and authorities.
Subject - Software Engineering
Subject Code - 303105253 Page 5
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
2.3 User Characteristics:
- Citizens: General public who use the app to report incidents and receive alerts.
- Authorities: Police, fire department, and other emergency responders who use the app to monitor
reports and respond to emergencies.
2.4 Constraints:
- Regulatory: Must comply with data privacy laws.
- Performance: The app must function on both iOS and Android devices.
- Security: User data must be securely stored and transmitted.
2.5 Assumptions and Dependencies:
- The app will require internet access for real-time functionality.
- Integration with third-party services, such as GPS and messaging APIs.

3. Specific Requirements:
3.1 Functional Requirements:
- User Registration and Authentication:
- The app shall allow users to register using their email or phone number.
- The app shall provide secure login functionality.
- Incident Reporting:
- The app shall allow users to report incidents by filling out a form with details such as location, type
of incident, and description.
- The app shall allow users to upload photos or videos with the report.
- Emergency Alerts:
- The app shall send real-time alerts to users based on their location.
- The app shall allow users to customize the types of alerts they receive.
- Location Tracking:
- The app shall use GPS to track the user's location in real-time.
- The app shall provide location-sharing options during emergencies.
- Communication:
- The app shall allow users to communicate directly with emergency services through a chat or call
function.

Subject - Software Engineering


Subject Code - 303105253 Page 6
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
3.2 Non-Functional Requirements:
- Performance:
- The app shall load within 5 seconds on a standard 4G network.
- The app shall support up to 10,000 simultaneous users.
- Usability:
- The app shall have an intuitive user interface that requires minimal training.
- Security:
- The app shall use encryption to protect user data.
- The app shall require two-factor authentication for accessing sensitive features.
3.3 Interface Requirements:
- User Interface:
- The app shall have a clean, modern design with easy-to-navigate menus.
- The app shall be accessible to users with disabilities.
- Hardware Interface:
- The app shall interface with device cameras, GPS, and communication hardware.
- Software Interface:
- The app shall integrate with external APIs for GPS, messaging, and data storage.
3.4 System Features:
- Scalability:
- The app shall be scalable to accommodate additional features in the future.
- Reliability:
- The app shall have 99.9% uptime, ensuring it is available during emergencies.

4. Other Requirements:
4.1 Legal and Regulatory Requirements:
- The app must comply with data protection regulations, such as GDPR.
- The app must ensure that user data is only accessible to authorized personnel.
4.2 Data Requirements:
- The app shall store user data securely in a cloud-based database.

Subject - Software Engineering


Subject Code - 303105253 Page 7
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
- The app shall log all user interactions for audit and reporting purposes.
4.2 Environmental Requirements:
- The app shall function effectively in both urban and rural environments.
- The app shall be optimized for low-power consumption on mobile devices.

5. Appendices:
This section can include any additional information, such as data flow diagrams, UI mock-ups, or a
glossary of terms.

This is a general template. You can customize the content to fit your specific project requirements. Let me
know if you need help filling out any specific section in more detail!

Subject - Software Engineering


Subject Code - 303105253 Page 8
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

Experiment 4

Aim: Develop Software project management planning (SPMP) for the specified module.
Creating a Software Project Management Plan (SPMP) document is essential for organizing and guiding
the development of your public safety management app. The SPMP outlines how the project will be
executed, monitored, and controlled. Below is a template that you can use to create your SPMP
document, along with guidance on what each section should include.

Software Project Management Plan (SPMP) for Public Safety Management App:

1. Introduction:

1.1 Purpose of the SPMP: The purpose of this Software Project Management Plan is to define the
approach that will be taken to manage the development of the Public Safety Management App. This
document outlines the project’s goals, objectives, scope, assumptions, constraints, deliverables,
schedule, and resource
requirements.

1.2 Scope of the Project: The Public Safety Management App is designed to enhance public safety by
providing real-time incident reporting, emergency alerts, and communication tools between citizens
and authorities. The project will involve the development of a mobile application compatible with both iOS
and Android platforms.

1.3 Project Objectives:

Objective 1: Develop a mobile app that allows users to report incidents and emergencies in real-time.

Objective 2: Implement a system for authorities to receive, manage, and respond to reports.

Objective 3: Ensure the app is secure, scalable, and user-friendly.

Objective 4: Launch the app within the current academic semester.

1.4 Assumptions and Constraints:

Assumptions: The necessary technologies (e.g., GPS, internet connectivity) will be available and
functional.

Team members will have the required skills and access to development tools.

1.4.1.1 Constraints:

1.4.1.1.1 The project must be completed within the semester's timeline.

1.4.1.1.2 The app must comply with data privacy regulations.

Subject - Software Engineering


Subject Code - 303105253 Page 9
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
1.5. Project Deliverables

1.5.1. Deliverable 1: Functional mobile application for iOS and Android.

1.5.2. Deliverable 2: User and technical documentation.

1.5.3. Deliverable 3: Final project report and presentation.

2. Project Organization:

2.1. Organizational Structure: The project team will consist of the following roles:

- Project Manager: Responsible for overall project coordination.

- Lead Developer: Oversees the technical development of the app.

- UI/UX Designer: Designs the user interface and user experience.

- Quality Assurance (QA) Tester: Ensures the app meets quality standards.

- Documentation Specialist: Prepares user manuals and technical documentation.

2.2. Roles and Responsibilities:

- Project Manager:

- Manage the project schedule and resources.

- Communicate with stakeholders and team members.

- Lead Developer:

- Develop the core functionality of the app.

- Integrate third-party APIs and services.

- UI/UX Designer:

- Create wireframes and design the app interface.

- Conduct user testing and iterate on the design.

- QA Tester:

- Develop and execute test plans.

- Report bugs and ensure issues are resolved.

Subject - Software Engineering


Subject Code - 303105253 Page 10
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
- Documentation Specialist:

- Document the app’s features and how-to guides.

- Prepare the final project report.

3. Project Phases and Milestones:

3.1. Project Phases:

The project will be completed in the following phases:

- Phase 1: Project Planning

- Define requirements, create project plan, and assign roles.

- Phase 2: Design

- Develop wireframes, UI designs, and initial prototypes.

- Phase 3: Development

- Implement the app’s core functionality.

- Phase 4: Testing

- Conduct unit, integration, and user acceptance testing.

- Phase 5: Deployment

- Deploy the app to app stores and deliver final documentation.

3.2. Milestones:

- Milestone 1: Completion of project plan and SRS (Week 2).

- Milestone 2: Approval of UI/UX design (Week 4).

- Milestone 3: Completion of app development (Week 8).

- Milestone 4: Successful testing and bug fixing (Week 10).

- Milestone 5: Final deployment and presentation (Week 12).

4. Project Schedule:

4.1. Work Breakdown Structure (WBS):

Subject - Software Engineering


Subject Code - 303105253 Page 11
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
The WBS will outline tasks for each phase:

- Task 1: Requirement gathering and SRS documentation.

- Task 2: UI/UX design creation.

- Task 3: Backend and frontend development.

- Task 4: Integration of APIs and services.

- Task 5: Testing and quality assurance.

- Task 6: Final deployment and project presentation.

5. Resource Requirements:

5.1.Personnel:

- 1 Project Manager

- 2 Developers (Frontend and Backend)

- 1 UI/UX Designer

- 1 QA Tester

- 1 Documentation Specialist

5.2. Tools and Technologies:

- Development Tools: IDEs, version control (Git), build tools.

- Design Tools: Adobe XD, Figma.

- Testing Tools: Selenium, JUnit.

- Deployment: Google Play Store, Apple App Store.

5.3. Budget: Estimate the cost of tools, software licenses, and any other resources.

6. Risk Management:

6.1. Risk Identification: Potential risks include:

6.1.1. Technical Risk: Integration issues with third-party services.

Subject - Software Engineering


Subject Code - 303105253 Page 12
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

6.1.2. Schedule Risk: Delays in design or development.

6.1.3. Resource Risk: Key team members becoming unavailable.

6.2. Risk Mitigation:

6.2.1. Technical Risk: Conduct early integration testing.

6.2.2. Schedule Risk: Use buffer time in the project schedule.

6.2.3. Resource Risk: Cross-train team members on essential tasks.

7. Quality Management:

7.1. Quality Objectives:

7.1.1. Ensure the app meets all functional requirements.

7.1.2. Achieve high user satisfaction through intuitive design.

7.1.3. Maintain high performance and reliability.

7.2.Quality Control Activities:

7.2.1. Conduct code reviews and peer testing.

7.2.2. Perform user acceptance testing (UAT) before final deployment.

8. Communication Plan:

8.1. Communication Methods:

8.1.1. Weekly Meetings: To discuss progress and resolve issues.

8.1.2. Email Updates: For regular communication with stakeholders.

8.1.3. Project Management Software: (e.g., Trello, Jira) for tracking tasks and progress.

8.2. Reporting:

8.2.1. Status Reports: Weekly updates on project progress.

8.2.2. Final Report: Comprehensive report detailing project outcomes and lessons learned.

Subject - Software Engineering


Subject Code - 303105253 Page 13
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

9. Project Closure:

9.1. Project Review:

Conduct a project review meeting to assess what went well and identify areas for improvement.

9.2. Documentation:

Compile all project documentation, including the final report and user manuals, and archive themfor
future reference.

This template provides a comprehensive framework for your SPMP document. You can tailor each
section to fit the specifics of your public safety management app project. Let me know if you need
more details on any particular section!

Subject - Software Engineering


Subject Code - 303105253 Page 14
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

Experiment 5

Aim: Do Cost and Effort Estimation using different Software Cost Estimation models.

Software cost and effort estimation is crucial for understanding the time, resources, and expenses required to
develop an application like a Public Safety Management App. There are different models to estimate cost
and effort, such as COCOMO II, Function Point Analysis (FPA), and Use Case Points (UCP). Below, I'll
outline how these models can be applied to your app.
1. COCOMO Constructive Cost Model II):
COCOMO Basic: A simplified version that estimates effort and cost based on the size of the project in
Kilo Source Lines of Code (KSLOC).

COCOMO Intermediate: Considers various project attributes like product, hardware, personnel, and
project characteristics.

COCOMO II: An advanced version that includes considerations for modern software development
practices like reuse and non-linear software development.

2. Function Point Analysis (FPA):


FPA measures the size of the software based on the number of functions it performs, broken down into
five components:
External Inputs: User inputs, such as incident reports.

External Outputs: Reports and notifications to authorities.

External Inquiries: Queries to retrieve data, like reports or user info.

Internal Logical Files: Stored data (e.g., incidents, user details).

External Interface Files: Interaction with external systems, such as emergency responder systems.

3. Use Case Points (UCP):


UCP is based on the number and complexity of use cases in the system. The total effort is derived from
the system's actors and use cases.

4. Expert Judgment:
Involves consulting experienced professionals to estimate the cost and effort based on their expertise in
similar projects.
Subject - Software Engineering
Subject Code - 303105253 Page 15
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
5. Analogy-Based Estimation:

Uses historical data from similar past projects to estimate the current project’s cost and effort.

6. Parametric Models:

Uses mathematical equations and statistical techniques to predict project costs based on input parameters
like project size, complexity, and developer skills.

Basic COCOMO Model:


The basic COCOMO model gives an approximate estimate of the project parameters The basic
COCOMO estimation model is given by the following expressions
Effort = a₁ * (KLOC) a2 PM
Tdev = b₁ * (Effort)b2 Months
▪ KLOC is the estimated size of the software product expressed in Kilo Lines of Code,
▪ a1, a2, b₁, b₂ are constants for each category of software products,
▪ Tdev is the estimated time to develop the software, expressed in months,
▪ Effort is the total effort required to develop the software product, expressed in person months (PMs).

Every line of source text should be calculated as one LOC irrespective of the actual number of
instructions on that line .
If a single instruction spans several lines (say n lines), it is considered to be nLOC
The values of a1, a2, b1, b2 for different categories of products (i.e. organic, semidetached, and
embedded) as given by Boehm

To estimate the cost for your public safety management app using Function Point Analysis (FPA),
we canadapt the process as follows:

Cost Estimation Breakdown :

1. Software Development Costs


• Number of Developers: 2
• Average Developer Salary per Month: ₹60,000
• Project Duration: 3 months
• Total Cost for Developers:
2 developers×₹60,000per month×3months=₹3,60,000

Subject - Software Engineering


Subject Code - 303105253 Page 16
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

2. Designing Costs (UI/UX Design) :


• UI/UX Designer: 1
• Salary per Month: ₹50,000
• Duration: 1 month
• Total Cost for Designer:
1designer×₹50,000=₹50,000

3. Testing Costs :
• Number of Testers: 1
• Salary per Month: ₹40,000
• Duration: 1 month
• Total Cost for Tester:
1tester×₹40,000=₹40,000

4. Project Management Costs:


• Project Manager: 1
• Salary per Month: ₹70,000
• Duration: 3 months
• Total Cost for Project Management:
1manager×₹70,000×3months=₹2,10,000

5. Software & Infrastructure Costs


• Software Licenses and Tools (Android Studio, APIs): ₹20,000
• Cloud Hosting (for 3 months): ₹10,000
• Miscellaneous: ₹10,000
• Total Infrastructure Cost:
₹20,000 + ₹10,000 + ₹10,000 = ₹40,000

6. Maintenance Costs
• Assume Maintenance for 3 months post-launch :
₹40,000 (approx.)

Total Estimated Cost :

• Development Costs: ₹3,60,000


• Designing Costs: ₹50,000
• Testing Costs: ₹40,000
• Project Management: ₹2,10,000
• Software & Infrastructure: ₹40,000
• Maintenance (post-launch): ₹40,000

Total Cost:
₹3,60,000+₹50,000+₹40,000+₹2,10,000+₹40,000+₹40,000=₹8,40,000
Thus, the estimated cost for the project is ₹8,40,000. This estimate can vary based onadditional
features, team size, or delays in the development process.

Subject - Software Engineering


Subject Code - 303105253 Page 17
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315

Experiment 6

Aim: Prepare System Analysis and System Design of identified Requirement


specification using structure design as DFD with data dictionary and Structure chart
for the specific module.

Creating a comprehensive system analysis and design involves breaking down the identified requirements
into a structured approach using Data Flow Diagrams (DFD), a Data Dictionary, and a Structure Chart.
Below is an outline and example for your Public Safety Management App.

1. System Analysis:

Goal: To define the detailed requirements and system components for the Public Safety Management App.
1.1. Functional Requirements

• User Registration & Login: Citizens and Admin register and log in.
• Incident Reporting: Citizens can report safety incidents.
• Incident Management: Admin manages the reported incidents.
• Alert Dispatching: System dispatches alerts to Emergency Responders.
• Response Monitoring: Admin monitors the status of the response.
• Data Storage: The system stores user details, incident reports, and response data.
• Notification System: Citizens and Admin receive notifications and status updates.

1.2. Non-Functional Requirements

• Performance: The system should handle multiple reports concurrently.


• Security: Encrypted storage for sensitive user data.
• Scalability: Ability to scale for multiple users and incidents.
• Usability: Intuitive user interface for both citizens and admin.

2. System Design:

The design phase provides the structure of how these functional requirements are implemented.

2.1.Data Flow Diagram (DFD): Data Flow Diagrams are used to represent the flow of data within a system,
showing how inputs are transformed into outputs through processes. We will create a Level 0 (Context
Diagram) and a Level 1 DFD for your Public Safety Management App.

Level 0 (Context Diagram):

- Entities:
Subject - Software Engineering
Subject Code - 303105253 Page 18
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
- User (Citizen)

- Emergency Services (Authorities)

- Admin (System Administrator)

- Processes:

- P0: Public Safety Management System

- Data Stores:

- D1: Incident Reports Database

- D2: User Database

- D3: Alert and Notification Database

- Data Flows:

- User → P0: Incident Details

- P0 → Emergency Services: Incident Reports

- P0 → User: Alerts/Notifications

- Admin → P0: Manage System Data

- P0 → D1: Store Incident Reports

- P0 → D2: Store User Data

- P0 → D3: Store Alerts and Notifications

DFD Level 0:

Level 1 DFD (Breaking Down the Context Diagram):

P1: User Module:

- P1.1: Register User

- P1.2: Login User

- P1.3: Submit Incident Report

- P1.4: Receive Alerts

P2: Incident Management Module:


- P2.1: Receive Incident Report
Subject - Software Engineering
Subject Code - 303105253 Page 19
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
- P2.2: Validate Incident

- P2.3: Forward to Emergency Services

P3: Admin Module:

- P3.1: Manage User Data

- P3.2: Manage Incident Data

- P3.3: Manage Alerts and Notifications|

2.1 Structure Chart:

A Structure Chart shows the hierarchical organization of the modules in the system, indicating the
relationship between different modules.

Top-Level Modules:

1. User Management:

- Register User

- Login User

- Submit Incident

- View Alerts

2. Incident Management:

- Receive Incident

- Validate Incident

- Notify Emergency Services

3. Admin Management:

- Manage Users

- Manage Incidents

- Manage Notifications

2.2 Module Descriptions:

Each module in the Structure Chart is described below:

1. User Management Module:

- Register User: Captures user details and stores them in the User Database.
Subject - Software Engineering
Subject Code - 303105253 Page 21
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050315
- Login User: Authenticates users and grants access to the system.

- Submit Incident: Allows users to report an incident, capturing relevant details.

- View Alerts: Displays emergency alerts and notifications to the user.

2. Incident Management Module:

- Receive Incident: Collects the incident report from the user.

- Validate Incident: Confirms the authenticity of the report before processing.

- Notify Emergency Services: Sends validated reports to the appropriate emergency services.

3. Admin Management Module:

- Manage Users: Allows the admin to add, update, or delete user data.

- Manage Incidents: Provides tools for admins to monitor and manage incident reports.

- Manage Notifications: Allows the admin to create and send alerts or notifications to users.

2.3 Data Dictionary:


Defines al l data elements and flows identified in the DFD.

Data Item Description Type


CitizenInfo Contains citizen details (name, contact) Record
IncidentReport Incident details (location, description) Record
AdminInfo Admin details for system management Record
EmergencyAlert Notification sent to responders Message
IncidentStatus Status of the incident Text
ResponseUpdate Update from responders about incident Message
LoginDetails User credentials for authentication Record

1. Incident Reporting
Incident Report

Subject - Software Engineering


Subject Code - 303105253 Page 21
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
Incident Status Update

2. Notifications
Notification

3. User Management
User

4.Location Management:
Location

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
4. System Management
System Log

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

This System Analysis and Design document breaks down the requirements into a structured approach
using Data Flow Diagrams, a Data Dictionary, and a Structure Chart. This structured design approach
will help ensure that the Public Safety Management App is well-organized, scalable, and easy to
maintain.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Experiment 7
Aim: Designing the module using Object Oriented approach including Use case
Diagram with scenarios, Class Diagram and State Diagram, Collaboration Diagram,
Sequence Diagram and Activity Diagram.

Class Diagram: A Class diagram which is a type of static structure diagram that describes the structure of
a system by showing the system's classes, their attributes, operations (or methods), and the relationships
among objects.

Use Case Diagram: A use case diagram is a graphical depiction of a user's possible interactions with a
system. A use case diagram shows various use cases and different types of users the system has and will
often be accompanied by other types of diagrams as well. The use cases are represented by either circles or
ellipses.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

State Diagram: A state diagram is a type of diagram used in computer science and related fields to
describe the behaviour of systems. State diagrams require that the system described is composed of a finite
number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction.

Sequence Diagram: A sequence diagram is a Unified Modeling Language (UML) diagram that illustrates
the sequence of messages between objects in an interaction. A sequence diagram shows the sequence of
messages passed between objects. Sequence diagrams can also show the control structures between object.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Activity Diagram: The process begins by fetching the user's profile, then fetching item data, applying the
recommendation algorithm, and finally generating a list of recommended items.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Collaboration Diagram: In UML (Unified Modeling Language), a Collaboration Diagram is a type of


Interaction Diagram that visualizes the interactions and relationships between objects in a system.

Conclusion:
Designing the module using Object Oriented approach including Use case Diagram
with scenarios, Class Diagram and State Diagram, Collaboration Diagram, Sequence
Diagram and Activity Diagram.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Experiment 8

Aim: Defining Coding Standards and walk through.

# Coding Standards for Women Safety Management Application

Why Coding Standards Are Important?

1. Compliance with Industry Standards: Ensures that the application adheres to recognized standards
(e.g., ISO) for security and usability.
2. Consistent Code Quality: Guarantees uniform quality across the codebase, facilitating collaboration
among multiple developers.
3. Software Security:Promotes secure coding practices essential for safeguarding user data and privacy.
4. Reduced Development Cost and Time: Enhances readability and maintainability, ultimately
minimizing development time and long-term maintenance costs.

# Common Aspects of Coding Standards:

1. Naming Conventions:
- Classes and Methods: Should follow PascalCase (e.g., SafetyAlert, UserProfile).
- Variables:
- Local variables should use camelCase (e.g., userLocationData).
- Global variables should start with a capital letter (e.g., GlobalSettings).
- Constants should be in all capital letters with underscores (e.g., MAX_ALERTS).

2. File and Folder Organization:


- Use descriptive folder names (e.g., controllers/, models/, services/, utils/).
- Each class or module should have its own dedicated file.

3. Formatting and Indentation:


- Use 4 spaces for indentation.
- Ensure consistent brace usage:
- Opening braces `{` should be placed on a new line.

4. Commenting and Documentation:


- Use clear, concise comments to explain the logic of methods, classes, and complex code blocks.
- Include a standard header for each file/module with the following information:
- Module Name: Name of the module (e.g., User Authentication).
- Creation Date: Date when the module was created.
- Author: The author of the code.
- Modification History:A list of modifications to the code with dates.
- Global Variables Accessed: Any global variables modified by the module.

### Additional Considerations for Women Safety Management Application:

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
- User Data Privacy: Prioritize user data protection; follow guidelines for handling sensitive
information.
- Error Handling: Implement comprehensive error handling to ensure the application gracefully handles
unexpected situations.
- Accessibility Standards:Adhere to accessibility guidelines (e.g., WCAG) to ensure the application is
usable for all women, including those with disabilities.
- Testing Practices: Employ rigorous testing standards, including unit tests and user acceptance testing,
to ensure application reliability and user satisfaction.

Example Header:
Java:

/*
* Module: EmergencyAlertSystem
* Created On: 01/10/2024
* Author: Katta Eshwar
* Description: This module implements the emergency alert functionality for users.
* Modification History:
* 01/11/2024 - Integrated location tracking feature.
* Global Variables Accessed: None
*/

Classes and Functions:


1. Single Responsibility Principle (SRP):
o Ensure that each class has a single responsibility relevant to user safety (e.g., UserProfile,
AlertNotification).
2. Method Clarity:
o Methods should be concise, clear, and focused on a single task (e.g., sendEmergencyAlert()).
3. Naming Conventions:
o Method names should clearly describe their action (e.g., generateUserReport()).
Error Handling and Exception Handling
1. Appropriate Error Messages:
o Use clear error messages that help users understand what went wrong, especially in critical
situations.
2. Graceful Exception Handling:
o Catch and handle exceptions effectively to ensure the application remains functional and logs
errors without disrupting user experience.

Testing
1. Unit Tests:
o Write unit tests for each function to ensure they work as intended, especially for critical features
like alert notifications and user data management.
2. Automated Testing Tools:
o Utilize automated testing tools such as JUnit or pytest to maintain code quality and reliability.

Limited Use of Global Variables


1. Minimization:
Subject - Software Engineering
Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
o Minimize the use of global variables to prevent unintended side effects that could compromise
safety features.
2. Documentation:
o Properly document any necessary global variables to clarify their purpose and usage.

Coding Style
1. Simplicity:
o Avoid complex, hard-to-understand code. Keep logic straightforward to facilitate maintenance
and troubleshooting.
2. Modular Approach:
o Follow a modular design to maintain clear flow and organization, making it easier to implement
new features or updates.

Code Walkthrough :
A code walkthrough is a collaborative review of the code aimed at identifying bugs, enhancing
quality, and improving readability.

Process of Code Walkthrough:

1. Preparation:
o The team should review the code for modules like EmergencyAlertSystem, UserAuthentication,
and LocationTracking.
o Identify areas that can be optimized or simplified to enhance user experience and safety.
2. Walkthrough Guidelines:
o Ensure Naming Conventions: All variables, methods, and classes should adhere to naming
guidelines (e.g., avoid single-letter variable names).
o Verify Indentation: Confirm that all code uses the prescribed indentation standard of 4 spaces.
o Review Comments and Documentation: Ensure comments clearly explain the logic and intent
of the code.
o Review Error Handling: Check that appropriate exception handling mechanisms are in place,
especially in user-facing features.

# 3. Testing

- Unit Tests:
Unit tests should be written for all major components, including user authentication,
emergency alert systems, and location tracking.

- Deployment Checks:
Ensure that all test cases pass before proceeding with deployment to guarantee functionality
and reliability.

# 4. Security Considerations

- Data Encryption:
Verify that sensitive data, such as user credentials and location information, is properly
encrypted and stored securely to protect user privacy.

- Vulnerability Checks:
Check for vulnerabilities, including:
Subject - Software Engineering
Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
- SQL Injection: Ensure that database queries are parameterized to prevent injection attacks.
- Cross-Site Scripting (XSS): Sanitize user inputs to protect against XSS attacks.

# Example Code Walkthrough for Emergency Alert Generation

```java
public class EmergencyAlertSystem {
private UserProfile userProfile;
private List<Alert> generatedAlerts;

// Constructor
public EmergencyAlertSystem(UserProfile userProfile) {
this.userProfile = userProfile;
}

// Method to generate emergency alerts


public List<Alert> generateEmergencyAlerts() {
generatedAlerts = new ArrayList<>();

// Fetch user safety preferences


String safetyPreferences = userProfile.getSafetyPreferences();

// Fetch alerts based on user preferences and current location


generatedAlerts = fetchAlertsBasedOnPreferences(safetyPreferences);

// Return generated alerts


return generatedAlerts;
}

// Private method to fetch alerts based on preferences


private List<Alert> fetchAlertsBasedOnPreferences(String preferences) {
// Fetch alerts from the AlertDatabase based on user preferences
List<Alert> alertList = new ArrayList<>();

// Example of database query logic


// ... Database query logic here

return alertList;
}
}
```

# Explanation of Code Walkthrough

1. Class Definition:
- The `EmergencyAlertSystem` class handles the generation of emergency alerts for users.

2. Constructor:
- Takes a `UserProfile` object as a parameter to access user-specific information.

3. generateEmergencyAlerts Method:
Subject - Software Engineering
Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
- Initializes the `generatedAlerts` list.
- Fetches user safety preferences.
- Calls the `fetchAlertsBasedOnPreferences` method to retrieve alerts based on the user's preferences
and current location.
- Returns the list of generated alerts.

4. fetchAlertsBasedOnPreferences Method:
- Fetches alerts from a hypothetical `AlertDatabase` based on the user’s safety preferences.
- This method would include the actual database query logic to retrieve relevant alerts.

Best Practices for Code Review Techniques

1. Instant Code Review (Pair Programming):


This technique is particularly useful for complex sections of the Women Safety Management
Application, such as implementing the emergency alert system or location tracking features. Two
developers can collaborate in real-time, sharing knowledge and solving issues more efficiently.

2. Ad-hoc (Over-the-Shoulder) Review:


This method is ideal for quickly reviewing smaller code changes. For instance, after completing the
`send Emergency Alert()` method, a reviewer can provide immediate feedback on potential
optimizations or security improvements, ensuring that critical safety functions are robust.

3. Meeting-Based Review:
While less frequent, this approach can be beneficial for larger teams working on new features, such as
integrating a new user interface for reporting incidents. The team can gather to discuss the feature,
review the implementation, and ensure it meets user needs and safety requirements.

4. Tool-Based Code Review:


Utilize automated tools like SonarQube or ESLint to check code quality, identify vulnerabilities, and
ensure compliance with coding standards. This is especially beneficial for asynchronous reviews in
larger teams, allowing for a systematic approach to catching potential issues related to user data security
and application stability.

Conclusion

Adhering to coding standards significantly enhances the readability, maintainability, and security of the
Women Safety Management Application. A systematic code walkthrough ensures that the code aligns
with best practices, minimizes bugs, and improves overall software quality. By following established
naming conventions, documentation guidelines, and error-handling protocols, the application becomes
easier to maintain and scale, ultimately providing a more reliable and effective tool for user safety. This
commitment to quality not only fosters collaboration among developers but also enhances user trust and
satisfaction in the application’s capabilities.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
Experiment 9:

Aim: Write the test cases for the identified module.

Introduction to Test Cases


The testing process is crucial in ensuring the correctness and reliability of software. Test cases are
designed to verify that the Women Safety Management Application functions as intended. Each test
case specifies the conditions under which the system is evaluated, along with the expected outcomes.
Results are marked as "Pass" or "Fail" based on whether the actual output aligns with the expected
output.

Test Cases for Women Safety Management Application


Below are test cases for key functionalities of the Women Safety Management Application. These test
cases cover user login, emergency alert generation, and location tracking features.

Test Case 1: User Login


Id:001
Objective: To verify if users (Admin/User) can log in successfully with correct credentials.
Description: The login function should direct users to the main dashboard upon entering valid
credentials.

Input Expected Output Result

Enter valid login User should be directed to Pass


credentials and click their dashboard
"Login"
Enter invalid credentials User should see an error Pass
and click "Login" message "Invalid
Credentials."

Test case 2: Generate Recommandation


Test id:002 i
Objective: To check if the system can generate emergency alerts based on user actions.
Description: The alert system should send notifications based on user-triggered emergencies.

Input Expected Output Result


User clicks "Send An emergency alert Pass
Emergency Alert" should be sent to
while in danger predefined contacts.
User clicks "Send User should see a Pass
Emergency Alert" message prompting
without GPS to enable location
location services.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
Testcase3:
Objective: To verify that the system accurately tracks and updates the user's location.
Description: The location tracking feature should provide real-time updates to the user's current
position.

Input Expected Output Result


User logs in and enables The system should pass
location tracking display the user's current
location on the map.
User disables location The system should stop pass
tracking updating the user's
location and display a
relevant message.

Test Case 4: View Item Details


Test Case ID: TC_004
Objective: To check if the user can view the details of a recommended item. Description: The system
should display item information when the user clicks on an item from the recommendations.

Input Expected Output Result


Click on a Detailed Pass
recommended information about
item the item should be
displayed (e.g.,
description,
rating, category)

Test Case 5: Check Item Search


Test Case ID: TC_005
Objective: To check if the user can search for items by name or category. Description: The search
functionality should return a list of items based on the search criteria entered by the user.

Input Expected Output Result


Enter a valid item name or The system should display a Pass
category in the search bar list of matching items
and click "Search"
Enter an invalid or empty The system should display a pass
search term message "No items found"

Test Case 6: Check Profile Update


Test Case ID: TC_006
Objective: To verify that the user can update their profile information. Description: Users should be able
to modify their profile details such as preferences.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
Input Expected Output Result
Update user preferences The profile should be pass
and click "Save" updated with the new
preferences
Leave mandatory fields An error message should pass
blank and click "Save" be displayed, and the
profile should not be
updated

Conclusion:
In this experiment, we defined a series of test cases for the Women Safety Management Application to
validate its functionality. Each test case focuses on a key feature of the application, such as user login,
emergency alert generation, location tracking, and user feedback. These test cases ensure that the
application performs as expected and maintains a high level of quality and reliability. Each test result is
compared to the expected outcome to determine if the test case passes or fails, thereby confirming the
effectiveness of the application's critical safety features. This rigorous testing process is essential to
providing users with a trustworthy tool for their safety and security.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Experiment :10

Aim: Demonstrate the use of different Testing Tools with comparison

Objective:
The objective of testing the Women Safety Management Application is to ensure that the application
effectively provides essential safety features and functionalities to users. Testing should cover:
• User login and authentication.
• Emergency alert generation based on user actions.
• Location tracking accuracy and responsiveness.
• Feedback collection system for user experiences and suggestions.
• Scalability and performance of the application to handle multiple users and data efficiently.
Testing should guarantee that the application is secure, efficient, and delivers consistent, reliable safety
services based on user input and behaviors.

Testing Tools :
1. Selenium:
o Pros:
▪ Free and open-source.
▪ Flexible, supporting multiple programming languages (Java, Python, etc.).
▪ Ideal for testing user interactions (login, alert sending, etc.) on the web interface.
o Cons:
▪ Requires coding knowledge.
▪ Lacks built-in reporting features.
o Use in Women Safety Management Application:
▪ Selenium can automate the testing of user login, emergency alert features, and location tracking
functionality, ensuring a seamless user experience.
2. Katalon Studio:
o Pros:
▪ Free version available.
▪ User-friendly interface.
▪ Supports both web and mobile testing.
▪ Suitable for testers with limited coding skills.
o Cons:
▪ Limited features in the free version.
▪ Scripting is required for more complex tests.
o Use in Women Safety Management Application:
▪ Katalon can be employed to test the integration of web components, ensuring that emergency alert
generation and location tracking processes work as expected.
3. UFT (Micro Focus):
o Pros:
▪ Comprehensive features for web, mobile, and API testing.
▪ User-friendly interface.
o Cons:
▪ Paid tool with limited scripting support (VBScript).
o Use in Women Safety Management Application:
▪ UFT can be utilized for thorough testing across various platforms, ensuring all features related to user
safety and emergency management function smoothly.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

4. TestComplete (SmartBear):
• Pros:
o Supports various application types (web, mobile, desktop).
o User-friendly interface with keyword-driven testing and recording capabilities.
• Cons:
o Paid tool.
o Requires scripting for complex tests.
• Use in Women Safety Management Application:
o TestComplete can be used to evaluate the application's behavior under various conditions, simulating
different user profiles and emergency scenarios to ensure the system responds appropriately.
5. Tricentis Tosca:
• Pros:
o Comprehensive tool supporting Agile and DevOps workflows.
o Provides model-based testing for web, mobile, and API applications.
• Cons:
o Expensive.
o Complex to learn initially.
• Use in Women Safety Management Application:
o Tosca can be utilized to automate tests across different layers of the application, from API interactions
to user interface functionalities, ensuring efficient testing in Agile environments and rapid iterations.
6. Ranorex:
• Pros:
o Codeless automation with visual recording.
o Supports web, mobile, desktop, and API testing.
• Cons:
o Paid tool.
o Requires scripting for advanced tests.
• Use in Women Safety Management Application:
o Ranorex can automate tests related to user interactions with the application’s interface, such as sending
emergency alerts and updating user settings, making it easier to verify the effectiveness of these critical
features.
7. Watir:
• Pros:
o Free and open-source.
o Simple and lightweight Ruby library for web testing.
• Cons:
o Limited feature set compared to other frameworks.
• Use in Women Safety Management Application:
o Watir can perform lightweight, basic testing of the web interface, ensuring that core functionalities like
user login, emergency alert sending, and feedback collection operate as expected.

Comparison Table for Testing Tools for Smart Recommendation System:


Tool pros Cons Best use cases
Selenium Free, flexible, Requires coding Automating user
supports knowledge, no interactions and
multiple reporting functional
languages testing
Katalon Studio User-friendly, Limited features Testing
supports web in free version integration and
Subject - Software Engineering
Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
and mobile user experience
with minimal
coding
UFT Comprehensive Paid tool, Extensive
features, user- limited scripting testing across
friendly support web, mobile,
and API
platforms
TestComplete Supports various Paid tool, Evaluating app
app types, user- requires behavior under
friendly scripting different user
profile
Tricentis Tosca Supports Expensive, Automating tests
Agile/DevOps, complex to learn across multiple
model-based layers for rapid
testing iterations
Ranorex Codeless Paid tool, Automating user
automation, requires interactions with
visual recording scripting the application
interface
Watir Free, lightweight
Limited feature Basic testing of
Ruby library
set web interface
functionalities

Steps to Test Using Selenium:

1. Installation:
- Download Selenium from the official website: Selenium.dev.

2. Check Browser Version:


- In Chrome, go to Help -> About Google Chrome and note the version.

3. Download ChromeDriver:
- Visit the ChromeDriver page and download the version that matches your Chrome version.

4. Set Path:
- Place `chromedriver.exe` in a local folder (e.g., `C:\webdriver\chromedriver.exe`).

5. Selenium Setup:
- Open Eclipse IDE or any Java IDE.
- Create a Maven Project.
- Write test scripts to automate user login, emergency alert generation, and location tracking in the
Women Safety Management Application.

6. Running the Test:


- Execute the Selenium code and validate the results (e.g., verify that the application correctly
processes emergency alerts and displays user location).

---
Subject - Software Engineering
Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Latest AI-Powered Testing Tools

1. Functionize:
- Description: Uses AI to automate complex tests across web and mobile platforms.
- Use Case: Automating the emergency alert generation process for different user profiles without
repetitive scripting.

2. TestCraft:
- Description: AI-powered automation that reduces test maintenance.
- Use Case: Testing the dynamic user interface of the Women Safety Management Application to
ensure elements are accurately identified and verified.

3. Applitools:
- Description:AI-powered visual testing.
- Use Case:Ensuring that the layout of emergency alerts and user interface elements render correctly
across multiple devices and screen sizes.

4. Mabl:
- Description: Codeless, AI-driven test automation with adaptive capabilities.
- Use Case: Testing the application’s emergency features by learning user interactions and generating
tests automatically based on actual system usage.

5. Testim.io:
- Description: AI-powered testing for web and mobile applications.
- Use Case:Identifying potential issues in the emergency alert system and suggesting improvements to
test cases based on AI analysis.

Conclusion:

Testing the Women Safety Management Application with various tools ensures the system’s reliability,
accuracy, and security. Selenium and Katalon are effective for testing user interactions and emergency
features, while tools like Tricentis Tosca and TestComplete provide comprehensive testing capabilities
for complex functionalities. AI-powered tools like Functionize and Applitools offer advanced solutions
for dynamic user interactions and visual consistency across devices. Selecting the appropriate tool
depends on the complexity of the application, team expertise, and budget constraints. This strategic
approach to testing helps ensure that the application delivers a trustworthy and effective safety resource
for users.

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163

Experiment :11

Aim: Define security and quality aspects of the identified module.

Security Aspects of Women Safety Management Application

1. Emergency Alert Security:


- Objective: Ensure that users’ emergency alerts are securely transmitted to prevent unauthorized
access.
- Implementation:se Transport Layer Security (TLS) to encrypt sensitive alert data during
transmission. Implement industry standards for emergency communications to enhance security.

2. Data Privacy:
- Objective: Protect users' personal data (e.g., location information, interaction history) from
unauthorized access.
- Implementation: Implement data encryption (AES) to secure sensitive user information. Comply
with privacy laws such as GDPR and CCPA to safeguard user rights.

3. Secure Transactions:
- Objective: Ensure all transactions (e.g., sending alerts, updating personal information) are processed
securely.
- Implementation: Use HTTPS for secure communication between the user’s device and the server.
Apply encryption protocols to prevent data tampering during interactions.

4. Authentication and Authorization:


- Objective: Verify that only authorized users can access their accounts and emergency features.
- Implementation: Implement multi-factor authentication (MFA) and role-based access control
(RBAC) to limit access based on user roles (e.g., regular user, admin).

5. Secure Communication:
- Objective:Safeguard communication between users and the system, preventing data interception.
- Implementation: Use end-to-end encryption (E2EE) to secure all communication channels, ensuring
privacy during data transmission.

6. Fraud Prevention:
- Objective:Detect and prevent fraudulent activities (e.g., fake alerts, abusive behavior).
- Implementation: Use fraud detection algorithms to identify suspicious activity. Integrate machine
learning models to flag anomalies in user behavior and interactions.

7. Cybersecurity:
- Objective: Protect the application against cyberattacks such as malware, phishing, or denial-of-
service (DoS) attacks.
- Implementation:Deploy firewalls, intrusion detection systems (IDS), and antivirus software to
monitor and defend the application from external threats. Conduct regular security audits and patch
management to mitigate risks.

Quality Aspects of Women Safety Management Application

Subject - Software Engineering


Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
1. Emergency Response Accuracy:
- Objective:Ensure that emergency alerts and responses are relevant and tailored to user needs.
- Implementation:Utilize location-based services and algorithms to ensure rapid and accurate
responses based on the user's current situation and preferences.

2. Performance and Scalability:


- Objective: Ensure that the application performs efficiently under varying loads and can scale to
accommodate an increasing number of users and data.
- Implementation: Conduct load testing to assess performance under stress. Use scalable architectures
(e.g., microservices) to manage growing user demand and data processing.

3. Timeliness:
- Objective: Ensure that emergency alerts and feedback are generated and displayed quickly, with
minimal delay.
- Implementation:Optimize backend processes and implement caching mechanisms to reduce response
time for alerts and user requests.

4. Data Accuracy:
- Objective:Ensure that user data and emergency information are accurate and reflect real-time
changes.
- Implementation: Conduct both manual and automated testing to verify the accuracy of location
tracking and emergency response algorithms.

5. User Feedback and Support:


- Objective: Provide responsive support to address user issues related to emergency features, account
management, or feedback submission.
- implementation: Implement a feedback collection mechanism that allows users to report issues and
ensure prompt resolution. Enable users to rate the effectiveness of alerts and support responses, which
will feed into continuous improvement efforts.

6. Hygiene and Safety:


- Objective: Ensure that data processing complies with privacy and safety regulations, safeguarding
user data from potential breaches.
- Implementation:Ensure compliance with data privacy laws like GDPR and CCPA. Conduct regular
data audits and implement secure data storage practices.

7. Customization and Flexibility:


- Objective: Allow users to customize their emergency preferences based on changing needs or
situations.
- Implementation: Provide options for users to manually adjust their settings for alerts and
notifications, allowing for real-time customization based on individual circumstances.

8. Reliability:
- Objective: Ensure the application is reliable, with minimal downtime or service interruptions.
- Implementation: Utilize robust cloud infrastructure and failover mechanisms to ensure high
availability and resilience to failures, providing users with constant access to safety features.

Different Security Areas in Women Safety Management Application

1. User Authentication and Authorization:


- Secure Login:Implement multi-factor authentication (MFA) for user accounts to add an extra layer
Subject - Software Engineering
Subject Code - 303105253 Page
Faculty of Engineering and Technology
Institute - Parul Institute of Technology
Department - Computer Science & Engineering
Enrollment - 2203051050163
of security, ensuring that only authorized users can access their profiles and emergency features.
- Role-Based Access Control (RBAC): Restrict access to sensitive data and functionalities based on
user roles (e.g., regular users, administrators) to prevent unauthorized access to critical information.

2. Data Encryption:
- Transport Layer Security (TLS): Ensure all communication between users and the application is
encrypted using TLS to prevent eavesdropping and data tampering during emergency alerts and
interactions.
- End-to-End Encryption (E2EE): Secure personal information and emergency data throughout the
entire transaction lifecycle, ensuring that only authorized parties can access this sensitive information.

3. Data Privacy and Compliance:


- Privacy Policies: Implement clear privacy policies that inform users how their data will be used and
ensure compliance with relevant regulations like GDPR and CCPA to protect user privacy.
- Data Access Controls: Utilize strong access control mechanisms to limit data access to authorized
personnel only, ensuring that user data remains confidential and secure.
Platform Security:
4.
- Regular Security Audits: Conduct regular audits to detect vulnerabilities and address them
proactively, ensuring that the application remains secure against potential threats.
- Security Updates and Patches:Ensure prompt application of updates and patches to address
vulnerabilities and protect the system from emerging security threats.

5. Cybersecurity Measures:
- Intrusion Detection Systems (IDS): Monitor the application for suspicious activities, such as
unauthorized access attempts or potential malware attacks, to protect user data and application integrity.
- Firewalls and Antivirus Software:Deploy firewalls and antivirus software to safeguard the
application from external threats and ensure the security of user data and communications.

Conclusion:

The Women Safety Management Application necessitates a comprehensive approach to both security
and quality to ensure user data is protected while delivering effective and timely safety features. The
outlined security measures safeguard the application from potential threats, while the quality aspects
ensure users have a reliable, personalized, and seamless experience when accessing safety resources.

To maintain high standards in both areas, the application should undergo regular security audits and
performance testing. This will not only enhance user trust but also ensure that the application adapts to
evolving safety needs and technologies, ultimately providing users with a dependable resource for their
safety and well-being.

Subject - Software Engineering


Subject Code - 303105253 Page

You might also like