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

Se PR Pra

Uploaded by

PRANAV AGARWAL
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)
34 views47 pages

Se PR Pra

Uploaded by

PRANAV AGARWAL
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

Software Engineering(3510711) 220090107190

PRACTICAL-1

AIM- Write a practical to list down all SDLC Models.


● Write in brief about each model (along with diagram)
● Analyze in which environment, which model is most suitable.

The SDLC Models are listed below:


1. Waterfall Model
2. RAD Model
3. Spiral Model
4. V Model
5. Incremental Model
6. Agile Model
7. Iterative Model

❖ WATERFALL MODEL

The Waterfall model is a linear, sequential software development methodology consisting of the
following phases:

1. Requirements Analysis: Gather and document all software requirements.


2. System Design: Create system architecture and design based on requirements.
3. Implementation: Write and develop the actual code.
4. Integration and Testing: Test the software for bugs and verify it meets requirements.

1
Software Engineering(3510711) 220090107117

5. Deployment: Release the software to users.


Advantages:

1. Simple and Easy to Understand: Its linear and structured approach is straightforward,
making it easy to manage and follow.
2. Well-Defined Stages: Each phase has specific deliverables and deadlines, which can help
in clear project planning and tracking.

Disadvantages:

1. Inflexibility: Once a phase is completed, going back to make changes is difficult and can
be costly. This rigidity makes it challenging to adapt to new requirements or changes.
2. Late Testing: Testing occurs only after the development phase is completed, which means
issues may not be identified until late in the project.

● Two common applications of the Waterfall model:


1. Healthcare Systems: Implementing electronic health records (EHR) systems
where regulatory compliance and clear requirements are crucial.

2. Government Contracts:Developing systems for government projects with fixed


requirements and budget constraints, such as record management systems.

❖ RAD MODEL

2
Software Engineering(3510711) 220090107117


The Rapid Application Development (RAD) model is a software development approach focused
on quick delivery and iterative refinement.
Rapid Prototyping: Develops prototypes quickly for user feedback.
● User Involvement: Continuous engagement with users throughout the development
process.
● Iterative Development: Iterates on designs based on feedback, allowing for adjustments
and improvements.
● Time-Boxed Phases: Phases are completed within fixed time periods for faster progress.

Advantages:

1. Faster Delivery: Accelerates development through prototypes and iterative cycles.


2. Improved User Alignment: Frequent feedback ensures the product meets user needs.
3. Flexibility: Adapts to changes and new requirements quickly.

Disadvantages:

1. Less Formal Documentation: Focus on speed can lead to less thorough documentation.
2. Scope Creep: Continuous changes can lead to expanding project scope.
3. Resource Intensive: Requires active and ongoing user participation.

● Two common applications of the Rapid Application Development (RAD) model:

1. Web Application Development: RAD is often used for developing web


applications where quick iterations and user feedback are crucial. The ability to rapidly
prototype and adjust based on user input makes it ideal for creating dynamic, user-centric
websites and web services.

2. Business Process Automation: In projects that aim to automate business


processes, RAD allows for rapid prototyping of automation solutions. This ensures that
the automated workflows meet the specific needs of the business and can be quickly
adjusted based on feedback from end-users.
❖ SPIRAL MODEL

3
Software Engineering(3510711) 220090107117

The Spiral model is an iterative software development approach that focuses on risk management
and continuous refinement.

● Iterative Cycles: Involves repeated phases of planning, risk analysis, engineering, and
evaluation.
● Risk Management: Emphasizes identifying and mitigating risks early in each cycle.
● Prototyping: Builds prototypes to refine requirements and design based on user
feedback.

Advantages:

1. Risk Reduction: Early risk identification and management.


2. Flexibility: Adaptable to changes and new requirements.
3. User Involvement: Continuous feedback ensures alignment with user needs.

Disadvantages:

1. Complexity: Managing iterative cycles can be complex.


2. Cost: Resource-intensive due to ongoing iterations and risk management.
Two common applications of the Spiral model:

1. Large-Scale Software Projects: Suitable for complex projects with evolving


requirements, such as enterprise resource planning (ERP) systems, where continuous
refinement and risk management are crucial.

4
Software Engineering(3510711) 220090107117


2. Research and Development (R&D): Ideal for projects focused on new
technologies or innovative solutions, where iterative development and frequent
adjustments based on findings are necessary.

❖ V-MODEL:

Phases:

● Requirements Analysis: Define and document what the software should do.
● System Design: Create high-level design and architecture.
● Detailed Design: Develop detailed design specifications.
● Implementation: Code the software according to design specifications.
● Unit Testing: Test individual components or units.
● Integration Testing: Test the integration of components.
● System Testing: Test the entire system against the requirements.
● Acceptance Testing: Validate the system with end-users to ensure it meets their needs.
Advantages:

1. Early Testing: Ensures issues are identified early through integrated testing.
2. Structured Approach: Provides clear, systematic development and testing processes.

5
Software Engineering(3510711) 220090107117

Disadvantages:

1. Inflexibility: Difficult to accommodate changes once development has started.


2. Late Feedback: Testing occurs after development phases, potentially delaying issue
identification.

● Two common applications of the V-Model:


1. Regulated Industries: Used in fields like aerospace or healthcare, where rigorous
validation and verification are crucial to meet strict regulatory standards and ensure
safety.
2. Embedded Systems Development: Applied in the development of embedded systems,
such as those found in automotive or industrial control systems, where precise
requirements and thorough testing are essential.

❖ INCREMENTAL MODEL

The Incremental model is a software development approach where the system is built in small,
manageable sections or increments. Each increment adds functionality to the existing system
until the complete system is developed.
Incremental Development: The project is divided into smaller parts or increments, each
delivering a portion of the complete system.
● Iterative Refinement: Each increment is developed, tested, and integrated into the
existing system.

6
Software Engineering(3510711) 220090107117


● User Feedback: Early increments provide basic functionality that allows for user
feedback and refinement in subsequent increments.

Advantages:

1. Early Delivery: Functional parts of the system are delivered early and can be used or
tested by users.
2. Flexibility: Allows for changes and adjustments based on feedback from each increment.
3. Risk Management: Issues can be identified and addressed in smaller increments,
reducing overall risk.

Disadvantages:

1. Integration Complexity: Integrating increments can become complex as the system


grows.
2. Potential for Scope Creep: Frequent changes based on feedback can lead to expanding
project scope.
3. Planning Overhead: Requires careful planning and management of increments and their
integration.

● Two common applications of the Incremental model:


1. Web Development: Often used for developing websites or web applications where core
functionality can be released in stages. Early increments might include basic features,
with additional functionalities added based on user feedback and evolving requirements.
2. Software Upgrades and Enhancements: Applied to enhance or upgrade existing
software systems. New features or improvements are delivered in increments, allowing
users to start benefiting from updates while ongoing development continues.
❖ AGILE MODEL

7
Software Engineering(3510711) 220090107117

The Agile model is an iterative and flexible software development approach that focuses on
delivering small, incremental improvements through regular cycles.

● Iterative Development: Builds software in small, manageable increments or sprints.


● Continuous Feedback: Regularly incorporates user and stakeholder feedback.
● Adaptive Planning: Adjusts plans and priorities based on ongoing feedback and
changes.

Advantages:

1. Flexibility: Adapts to changing requirements and feedback.


2. Frequent Delivery: Delivers functional software regularly, allowing early user feedback.
3. Enhanced Collaboration: Encourages strong communication among team members and
stakeholders.

Disadvantages:

1. Scope Creep: Frequent changes can lead to expanding project scope.


2. Less Predictable: Can be challenging to estimate final costs and timelines.

● Two common applications of the Agile model:

8
Software Engineering(3510711) 220090107161

1. Software Development Projects: Agile is widely used for developing software where
requirements frequently change, such as web and mobile applications. It allows teams to
adapt to evolving user needs and deliver incremental improvements quickly.
2. Product Management and Design: Agile is applied in product development and design
processes where iterative feedback and rapid prototyping are essential.

❖ ITERATIVE MODEL

The Iterative model is a software development approach that builds the system through repeated
cycles or iterations.

● Repeated Cycles: Develops the software in iterative phases, each adding functionality.
● Incremental Refinement: Each iteration involves planning, development, and testing,
refining the software based on feedback.
● User Feedback: Incorporates feedback from users to improve and adjust the software in
each cycle.

Advantages:

1. Early Deliverables: Provides working software early and allows for user feedback.
2. Flexibility: Adapts to changes and new requirements throughout development.
3. Continuous Improvement: Each iteration refines and enhances the product.

Disadvantages:

1. Scope Creep: Frequent changes can lead to scope creep.

9
Software Engineering(3510711) 220090107161

2. Resource Intensive: Requires continuous design, development, and testing efforts.


3. Potential Fragmentation: Must ensure consistency and cohesion across iterations.

● Two common applications of the Iterative model:


1. Software Prototyping: Used for developing software prototypes where initial versions
are quickly created and refined based on user feedback.
2. Product Development: Applied in developing complex products or systems where
requirements evolve over time.

➢ This iterative and flexible approach makes the Agile model well-suited for developing a
RESTAURANT MANAGEMENT SYSTEM.

10
Software Engineering(3510711) 220090107161

PRACTICAL-2

AIM- Write about functional and nonfunctional requirements, identify


functional and non-functional requirements for your problem statement.

● FUNCTIONAL REQUIREMENTS:

Functional requirements define a function that a system or system element must be qualified to
perform and must be documented in different forms. The functional requirements describe the
behavior of the system as it correlates to the system's functionality.

Functional requirements should be written in a simple language, so that it is easily


understandable. The examples of functional requirements are authentication, business rules, audit
tracking, certification requirements, transaction corrections, etc.

● NON-FUNCTIONAL REQUIREMENTS:

Non-functional requirements are not related to the software's functional aspect. They can be the
necessities that specify the criteria that can be used to decide the operation instead of specific
behaviors of the system. Basic non-functional requirements are - usability, reliability, security,
storage, cost, flexibility, configuration, performance, legal or regulatory requirements, etc.

FUNCTIONAL REQUIREMENTS FOR RESTAURANT MANAGEMENT


SYSTEM:

1.Online Reservations:

● Booking Form: Provide a user-friendly online form for customers to select date, time,
party size, and contact information.
● Real-Time Availability: Show real-time table availability to avoid overbooking.
● Special Requests: Allow customers to enter special requests or preferences (e.g., window
seat, high chair).

2.Walk-In Management:

● Waitlist System: Manage a digital waitlist with estimated wait times and notifications for
available tables.

3.Reservation Analytics:

11
Software Engineering(3510711) 220090107161

● Booking Trends: Analyze peak booking times and days to optimize staffing and seating
arrangements.
Cancellation Rates: Track and analyze cancellation rates to
improve reservation policies.

4. Table-side Ordering:

● Digital Menus: Provide tablets or mobile devices for staff to take orders at the table.
● Order Modification: Allow staff to modify orders in real-time if customers make
changes.

5.Order History:

● Detailed Logs: Maintain detailed logs of past orders, including timestamps and staff
involved.
● Reorder Capability: Allow quick reordering of previous orders for repeat customers.

6.Split Bills:

● Multiple Payment Options: Facilitate splitting bills by items, percentages, or equal


amounts.
● Custom Payment Methods: Support different payment methods for each part of the bill.

7.Integrated Tipping:

● Tip Suggestions: Offer suggested tip amounts based on a percentage of the total bill.
● Custom Tips: Allow customers to enter custom tip amounts.

8.Refunds and Voids:

● Transaction Management: Process refunds and voids with appropriate authorization and
documentation.
● Receipt Updates: Update receipts to reflect refunds or voided transactions.

9.Inventory Valuation:

● Cost Tracking: Track the cost of inventory items and calculate total inventory value.
● Profit Margins: Analyze profit margins based on inventory costs and sales prices.

10.Payroll Integration:

12
Software Engineering(3510711) 220090107161

● Hours Tracking: Sync employee hours with payroll systems for accurate calculations.
● Tax Calculations: Automate tax calculations and deductions based on employee
earnings.

11.Training Modules:

Onboarding Materials: Provide new staff with training materials and resources.
● Skills Development: Offer training modules for skills development and role-specific
knowledge.

12.Personalized Marketing:

● Targeted Campaigns: Create and send targeted marketing campaigns based on customer
preferences and behavior.
● Promotional Offers: Deliver personalized promotional offers and discounts to loyal
customers.

13.Birthday and Anniversary Alerts:

● Automated Messages: Send automated messages or special offers for birthdays and
anniversaries.
● Customer Preferences: Record customer preferences for personalized celebratory
messages.

14.Customer Segmentation:

● Behavioral Segmentation: Segment customers based on purchasing behavior, frequency,


and preferences.
● Demographic Segmentation: Segment customers based on demographics such as age,
location, and spending habits.

15.Revenue Forecasting:

● Historical Data Analysis: Use historical sales data to predict future revenue trends.
● Seasonal Trends: Analyze seasonal trends to adjust forecasts and business strategies.

16.Cost Analysis:

● Food Cost Percentage: Calculate food cost percentages to monitor and control costs.
● Labor Cost Analysis: Analyze labor costs in relation to sales to optimize staffing levels.

13
Software Engineering(3510711) 220090107161

17.Customer Insights:

● Purchase History: Analyze customer purchase history to identify popular items and
trends.
● Feedback Analysis: Review customer feedback to improve service and offerings.

18.Table management:

Table Configuration: Adjust table configurations for different group sizes and event
types.
● Occupancy Monitoring: Monitor table occupancy and status in real-time to manage
seating efficiently.

19.Kitchen Display System (KDS):

● Order Display: Display incoming orders on screens in the kitchen for efficient
processing.
● Order Status Updates: Update order statuses on the KDS as they progress through
preparation.

20.Cloud Backup:

● Automated Backups: Schedule automated backups to the cloud to ensure data safety.
● Disaster Recovery: Implement disaster recovery plans for data restoration in case of
system failure.

21.Event Booking:

● Reservation System: Manage bookings for private events, including catering and venue
rental.
● Event Details: Record and manage event details such as date, time, and requirements.

14
Software Engineering(3510711) 220090107161

NON-FUNCTIONAL MANAGEMENT FOR RESTAURANT


MANAGEMENT SYSTEM:

1.Response Time:

● Order Entry: Orders should be processed and displayed within 2 seconds to ensure quick
service.
● Report Generation: Reports should be generated within 5 seconds to minimize wait time for
managers.

2.Throughput:

● Concurrent Users: Support at least 100 simultaneous users (staff and customers) without
performance degradation.
● Transaction Volume: Handle a high volume of transactions, such as 500 orders per hour,
during peak times.

3.Redundancy:

● Failover Systems: Implement failover mechanisms to switch to backup systems in case of


primary system failure.
● Data Replication: Use data replication to ensure data availability across multiple servers or
locations.

4.Error Handling:

● Graceful Degradation: Ensure that the system continues to operate in a limited capacity if
certain components fail.
● Error Notifications: Provide real-time notifications to administrators for critical errors or
failures.

5.User Interface:

● Intuitiveness: Design interfaces to be intuitive for staff with minimal training required.
● Customization: Allow users to customize dashboards and interface layouts based on their role
and preferences.

6.Data Protection:

● Encryption: Use AES-256 encryption for data at rest and TLS for data in transit to protect
sensitive information.
● Data Masking: Mask sensitive data in logs and reports to prevent unauthorized access.
7.Audit Trails:

● Detailed Logging: Maintain logs of all user activities, including login attempts, data changes,
and system access.

15
Software Engineering(3510711) 220090107161

● Audit Reports: Provide tools to generate and review audit reports for compliance and security
monitoring.

8.Platform Support:

● Operating Systems: Ensure compatibility with major operating systems such as Windows,
macOS, and Linux.
● Web Browsers: Support modern web browsers, including Chrome, Firefox, Safari, and Edge.

9.Integration:

● Third-Party Systems: Provide APIs and integration points for connecting with third-party
applications (e.g., accounting software, payment gateways).
● Data Formats: Support common data formats like CSV, XML, and JSON for importing and
exporting data.

10.Reporting:

● Performance Reports: Generate regular performance reports to review system usage,


performance metrics, and any issues encountered.
● Trend Analysis: Analyze performance trends over time to identify
areas for improvement and optimize system performance.

11.Localization:

● Regional Settings: Adapt system settings for different regions, including date formats,
currency, and measurement units.
● Cultural Adaptations: Ensure that the system accommodates cultural differences and local
customs.

16
Software Engineering(3510711) 220090107161

PRACTICAL:3

AIM: Requirement Analysis and Specification: Prepare the Software


Requirement Specification (SRS) document for your problem statement

Table of Contents

1. Introduction
1.1 Purpose
1.2 Document Conventions
1.3 Intended Audience and Reading Suggestions
1.4 Project Scope
1.5 References

2. Overall Description
2.1 Product Perspective
2.2 Product Features
2.3 User Classes and Characteristics
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 User Documentation
2.7 Assumptions and Dependencies

3. System Features
3.1 System Feature 1
3.2 System Feature 2 (and so on)

4. External Interface Requirements


4.1 User Interfaces
4.2 Hardware Interfaces
4.3 Software Interfaces
4.4 Communications Interfaces

17
Software Engineering(3510711) 220090107161

5. Other Nonfunctional Requirements


5.1 Performance Requirements
5.2 Safety Requirements
5.3 Security Requirements
5.4 Software Quality Attributes

6. Other Requirements

Appendix A: Glossary

Appendix B: Analysis Models

Appendix C: Issues List

18
Software Engineering(3510711) 220090107161

1. INTRODUCTION

1.1 Purpose
This document presents a detailed explanation of the objectives, features, users, interfaces, and
applications of the Banking Management System in real life. It will also describe how the system will
perform and under which conditions it must operate. The document will also include user interfaces.
The main purpose of this SRS is to outline both the functional and non-functional requirements of the
Banking Management System. The primary audience of this SRS document will be the developers, and
the secondary audience will be the stakeholders and bank staff.

1.2 Document Conventions


● Main Heading Titles:
Font: Calibri
Face: Bold black
Size: 18
● Subheading titles:
Font: Calibri
Face: Bold black
Size: 16
● Hyper links:
Font: Calibri(Body)
Face: blue, underlined
Size: 14
● Other text explanations:
Font: Calibri
Face: Normal black
Size: 14
➔SRS - Software Requirements Specification
➔DBMS - Database Management System
➔LAN - Local Area Network
➔IP - Internet Protocol
➔TCP - Transmission Control Protocol
➔UDP - User Datagram Protocol 3

1.3 Intended Audience and Reading Suggestions


The primary audience of this SRS document will be the development team employed to implement the
specified Banking Management System. It will provide an extensive capacity for project planning and
progress assessment while assisting with stakeholder interactions. The secondary audience comprises
the stakeholders of the project, including bank managers, employees, and customers. This SRS should
19
Software Engineering(3510711) 220090107161

convey and confirm the required functionality and represent a contractual agreement between the
involved parties.
1.4 Project Scope
In modern banking environments, customers often face challenges with traditional banking methods
such as long queues and manual processes for transactions and account management. The Banking
Management System aims to replace these outdated methods with an electronic platform that
streamlines operations, enhances customer experience, and provides real-time access to banking
services. The system will facilitate account management, transaction processing, loan management, and
reporting, thereby modernizing banking operations.

1.5 References
IEEE Xplore: Banking Management System
ResearchGate: Software Requirements Specification for Banking System
(PDF) Software Requirements Specification for Banking Management System | John
Doe - Academia.edu

2. OVERALL DESCRIPTION

20
Software Engineering(3510711) 220090107161

2.1 Product Perspective


The software described in this SRS is the comprehensive Banking Management System. This system
integrates various hardware and software elements while also interfacing with external systems such as
payment gateways and regulatory bodies. It relies on a number of external interfaces for transaction
processing, account management, and customer interactions, and it effectively interfaces with users via
secure online and mobile platforms.

2.2 Product Features


 User Registration and Management: Enable secure account creation, authentication, and profile
management for customers.
 Account Management: Allow users to view account balances, transaction history, and manage
multiple accounts.
 Fund Transfer: Facilitate intra-bank and inter-bank fund transfers, including scheduled and
recurring payments.
 Loan Management: Enable users to apply for, track, and manage loans, including payment
schedules and interest calculations.
 Transaction Alerts: Provide real-time notifications for transactions, account changes, and
suspicious activities via SMS/email.
 Bill Payments: Allow users to pay bills directly through the application with reminders for due
dates.
 ATM Locator: Integrate a map feature to help users find nearby ATMs.
 Customer Support: Offer a support ticket system for users to resolve issues and provide feedback.
 Security Features: Implement multi-factor authentication, encryption, and fraud detection
mechanisms.
 Financial Reporting: Generate reports on account activity, spending patterns, and budget analysis.
 User Account History: Maintain a history of past transactions for users.
 Integration with Third-party Services: Support integration with payment gateways and financial
advisory services.

2.3 User Classes and Characteristics


The Banking Management System involves several user classes:
Customers: Access the system to manage their accounts, make transactions, and view statements
through secure login.
Bank Staff: Employees responsible for overseeing account operations, customer service, and loan
approvals.
Administrators: Manage system security, user accounts, and oversee compliance with regulatory
requirements. Together, these actors interact with the Banking Management System, which facilitates
secure transactions, account management, and customer support.

2.4 Operating Environment


21
Software Engineering(3510711) 220090107161

 The system should operate on various platforms, including Windows, Linux, and macOS.
 A reliable internet connection is essential for all users to access banking services.
 Users should have up-to-date antivirus software installed for enhanced security.
 The application should be available as a mobile app for both iOS and Android devices, providing a
user-friendly experience.

● 2.5 Design and


Implementation
Constraints
● ❖ This can be
implemented either
as a web application
or a mobile
● application .
● ❖ To develop as a
web application, the
primary requirements
are Html, Css,
22
Software Engineering(3510711) 220090107161

● Javascript, web
server, remote
database, Php,
Python, Django.
● ❖ Using the API’s for
several purposes like
order tracking, e.t.c..
● ❖ 3D modeling for
representing 3D
menus
● 2.5 Design and
Implementation
Constraints

23
Software Engineering(3510711) 220090107161

● ❖ This can be
implemented either
as a web application
or a mobile
● application .
● ❖ To develop as a
web application, the
primary requirements
are Html, Css,
● Javascript, web
server, remote
database, Php,
Python, Django.

24
Software Engineering(3510711) 220090107161

● ❖ Using the API’s for


several purposes like
order tracking, e.t.c..
● ❖ 3D modeling for
representing 3D
menus .
2.5 Design and Implementation Constraints
 The system can be implemented as either a web application or a mobile application.
 To develop the web application, the primary requirements are HTML, CSS, JavaScript, a web
server, and a backend language like PHP, Python, or Java.
 APIs will be utilized for various functionalities, including transaction processing and real-time
notifications.
 The design must adhere to industry standards for security and regulatory compliance.
 A robust database management system is required to handle user data and transaction records.

2.6 User Documentation


The application will be designed with a focus on user-friendliness, featuring an intuitive graphical user
interface (GUI) that simplifies navigation and transactions. Comprehensive user manuals and video
tutorials will be provided to guide users through basic functionalities and help them resolve common
issues.

2.7 Assumptions and Dependencies


Assumptions:
 Users have internet access and possess basic knowledge of banking operations.
 Users have devices compatible with the application (smartphones, tablets, computers).
 The banking system's servers will maintain high uptime and reliability.
 All data provided by users is accurate and complete.
 The system complies with all relevant banking regulations and standards.

Dependencies:
 Integration with secure payment gateways for online transactions.

25
Software Engineering(3510711) 220090107161

 A robust database management system for storing user and transaction data.
 Compliance with financial regulations and security standards.
 Reliable internet service providers to ensure continuous access.
 User feedback and testing will be crucial for system refinement and updates.
 Training for bank staff to utilize the system effectively.

3. SYSTEM FEATURES

3.1 System Feature 1


3.1.1 Feature: Online Reservations
Description and Priority:
 Description: Allows customers to create and manage their banking accounts
online, ensuring secure access and control over their finances.
 Priority: High
3.1.2 Stimulus/Response Sequences:
1. Customer accesses the account management section.
o System displays options for account creation, login, and password recovery.
2. Customer selects "Create Account."
o System prompts for personal information and account details.
3. Customer submits the form.
o System confirms account creation and sends a verification email.
3.1.3 Functional Requirements:
 REQ-1: Provide a secure user registration form.
 REQ-2: Enable password recovery options.
 REQ-3: Implement secure authentication methods (e.g., multi-factor authentication).

3.2 System Feature 2


3.2.1 Feature: Fund Transfer
Description and Priority:
 Description: Facilitates users in transferring funds between accounts, both within
the bank and to other banks, ensuring efficient financial transactions.
 Priority: High
3.2.2 Stimulus/Response Sequences:
1. Customer selects "Transfer Funds."
o System prompts for the source account, destination account, amount, and
transfer date.
26
Software Engineering(3510711) 220090107161

2. Customer submits the transfer request.


o System verifies account details and availability of funds.
3. Transfer is completed.

3.2.3 Functional Requirements:


 REQ-4: Allow users to initiate transfers between accounts.
 REQ-5: Enable inter-bank transfer capabilities.

3.3 System Feature 3


3.3.1 Feature: Loan Management
Description and Priority:
 Description: Enables users to apply for and manage loans, including tracking
application status and payment schedules.
 Priority: Medium
3.3.2 Stimulus/Response Sequences:
 Customer selects "Apply for Loan."
System displays loan options and eligibility criteria.
 Customer submits the loan application.
System processes the application and provides an estimated response time.
 Customer checks loan status.
System shows the current status of the application and upcoming payment details.
o

3.3.3 Functional Requirements:


 REQ-6: Provide a loan application form with necessary details.
 REQ-7: Implement status tracking for loan applications.

4. EXTERNAL INTERNAL REQUIREMENTS

4.1 User Interfaces

 Customer-Facing UI: The frontend interface that users interact with to access banking services,
including account management, fund transfers, loan applications, and transaction history. It should
be intuitive, secure, and responsive across devices.
 Bank Employee UI: A dashboard for bank employees to manage customer accounts, process
transactions, and assist users with their inquiries.
 Admin UI: An administrative interface for system administrators to oversee user accounts, manage
security settings, and generate system reports.

4.2 Hardware Interfaces

 Servers and Data Centers: Hosting for web applications, databases, and backup systems.
 Network Interfaces: Routers, switches, and firewalls to ensure secure and efficient network
connectivity.
 User Devices: Desktops, laptops, smartphones, and tablets for customers to access banking services.
27
Software Engineering(3510711) 220090107161

 Payment Processing Hardware: Secure terminals and card readers for processing payments and
transfers.
 Printers and Displays: For printing statements, transaction receipts, and internal reports.
 ATM Interfaces: Connections to ATMs for cash withdrawal and deposit functions.
 Mobile Devices for Bank Staff: Tablets or smartphones for staff to manage operations and customer
support on-the-go.
 Internet Connection: Reliable high-speed internet for real-time access to banking services.
 Security Hardware: Surveillance cameras and access control systems for securing physical
locations.
 Emergency Power Supplies: Uninterruptible Power Supply (UPS) for maintaining operations during
power outages.
 Environmental Control Systems: Systems for regulating temperature and humidity in server rooms.

4.3 Software Interfaces

 APIs: Facilitate integration with third-party services for payment gateways, identity verification,
and financial analytics.
 Database Interface: Manages data storage and retrieval through a Database Management System
(DBMS).
 Integration Interfaces: Connects with external services such as credit bureaus and financial data
providers.
 Communication Interfaces: Handle email notifications, SMS alerts, and internal messaging
between users and bank representatives.
 Analytics and Reporting Interfaces: Generate insights and reports on customer transactions and
system performance.
 Security Interfaces: Ensure secure user authentication, data encryption, and compliance with
regulations.
 Mobile App Interfaces: Enable communication between mobile banking applications and backend
systems.

4.4 Communications Interfaces

The Banking Management System will utilize a Local Area Network (LAN) for communication
between devices. To ensure compatibility and reliability, the system will employ standard IP protocols,
such as TCP/IP. All devices, including desktops, tablets, ATMs, and payment terminals, will be
equipped with standard Ethernet-compatible network cards for seamless communication with the
server.
For wireless devices, devices will adhere to the IEEE 802.11b/g standards, employing WPA2-PSK
encryption for secure data transmission. This approach guarantees that all interactions within the
system are secure and efficient.

5. Other Nonfunctional Requirements

5.1 Performance Requirements


 Response Time: Define acceptable response times for user interactions (e.g., under 2 seconds).
 System Availability: Establish minimum uptime percentage (e.g., 99.9%) during operating hours.
 Scalability: Describe how the system will accommodate increased user loads (e.g., horizontal
scaling).
 Concurrent Users: Specify maximum supported concurrent users (e.g., 1,000 users).

28
Software Engineering(3510711) 220090107161

 Database Performance: Define expected query response times (e.g., under 1 second) and efficiency
metrics.
 Reservation Confirmation Time: Set limits for sending reservation confirmations (e.g., within 30
seconds).
 Table Availability Updates: Ensure real-time updates to table availability with minimal latency.
 Mobile Responsiveness: Specify performance benchmarks for mobile devices (e.g., load times
under 3 seconds).
 Search and Filter Responsiveness: Set expectations for search and filtering speed (e.g., under 2
seconds).
 Data Retrieval Efficiency: Define acceptable retrieval times for customer data (e.g., under 1
second).
 Payment Processing Speed: Specify transaction processing times (e.g., under 5 seconds).
 Error Handling: Describe acceptable error response times (e.g., under 2 seconds for user-facing
errors).
 Integration Performance: Set expectations for performance when interacting with external services
(e.g., response time under 3 seconds).
 Backup and Recovery: Set expectations for data backup and recovery times (e.g., backups every 24
hours, recovery within 4 hours).

5.2 Safety Requirements


 Data Protection: Encrypt sensitive data both in transit and at rest to protect user information.
 Access Control: Ensure only authorized users can access and modify sensitive data through role-
based access.
 Audit Trails: Maintain logs of user activities for monitoring and auditing purposes.
 Backup and Recovery: Establish comprehensive data backup and disaster recovery plans to protect
against data loss.
 Security Measures: Implement firewalls, intrusion detection systems, and secure coding practices.
 Payment Security: Adhere to payment security standards (e.g., PCI DSS) to protect transaction data.
 Privacy Compliance: Follow relevant data protection regulations and obtain user consent for data
collection.
 Incident Response: Develop a plan for handling security breaches and unauthorized access.
 User Training: Provide training for staff on security best practices and awareness.
 Physical Security: Ensure secure access to hardware and data centers with appropriate measures.
 Third-Party Evaluation: Assess and monitor the security of third-party services integrated into the
system.
 Documentation: Maintain records to demonstrate compliance with security standards and
regulations.

5.3 Security Requirements


 User Authentication: Ensure secure user login processes, including options for multi-factor
authentication.
 Access Control: Clearly define user roles and access levels to different parts of the system.
 Data Encryption: Protect sensitive data during transit and while stored using encryption protocols.
 Secure Coding: Follow coding best practices to prevent vulnerabilities such as SQL injection and
XSS.
 Security Testing: Conduct regular assessments, including penetration testing and vulnerability
scans.
 Logging and Auditing: Implement logging mechanisms to track user activities and system events
for accountability.
 Security Updates: Regularly update system components to incorporate the latest security patches.
 Intrusion Detection: Monitor the system for potential intrusions and take action to block malicious
activities.
 Incident Response: Have a predefined plan for addressing security incidents and breaches.
29
Software Engineering(3510711) 220090107161

 Backup and Recovery: Ensure regular backups and establish a recovery plan to restore operations
after incidents.
 Vulnerability Management: Continuously identify, assess, and manage system vulnerabilities.
 Regulatory Compliance: Ensure adherence to relevant data protection regulations and industry
standards.
 API Security: Implement security measures for APIs, including authentication and monitoring
usage.
 User Training: Educate staff on best practices for maintaining security and safeguarding data.
 Physical Security: Protect hardware and data centers with restricted access and monitoring.

5.4 Software Quality Attributes


 Security: Implement robust measures for data protection, user authentication, and regulatory
compliance.
 Availability: Define uptime requirements and establish mechanisms to minimize downtime (e.g.,
redundancy).
 Maintainability: Specify coding standards, documentation practices, and update procedures for ease
of maintenance.
 Scalability: Address the system's ability to manage growth in data volume and user count
efficiently.
 Transferability/Conversion: Include requirements for data migration and system deployment.
 Performance: Set expectations for acceptable response times and overall system responsiveness.
 Reliability: Specify acceptable error rates, fault tolerance measures, and recovery mechanisms.
 Usability: Focus on enhancing user experience through intuitive design and accessibility features.
 Compliance: Ensure adherence to legal and regulatory standards, particularly regarding data
protection laws.

6. OTHER REQUIREMENTS
 User Roles: Define user roles such as customer, staff, and admin, along with their respective
permissions to ensure appropriate access control and functionality.
 Reservation Workflow: Describe the detailed processes for making reservations, including the steps
for confirmation and notification to users.
 Table Management: Specify how tables will be allocated and the arrangement of seating to optimize
restaurant capacity and customer experience.
 Menu Integration: Detail how menu items will be integrated into the system, including pricing
updates and item descriptions.
 Notifications: Define the types of notifications that will be sent to users, including reservation
confirmations and alerts for changes or updates.
 Payment Processing: Specify the payment methods supported (e.g., credit/debit cards, digital
wallets) and outline security measures for handling transactions.
 Feedback and Reviews: Explain the mechanism for collecting user feedback and reviews, including
how they will be displayed and managed.
 Reporting: Describe the system’s capabilities for generating reports related to reservation statistics
and other relevant analytics.
 Availability Calendar: Outline how the system will display open and reserved times to users for
better planning.

Appendix A: Glossary

 Booking Form: An online form that customers fill out to make reservations.
 KDS (Kitchen Display System): A digital display system used for managing orders in the kitchen.
 Real-Time Availability: The current status of table availability at any given moment.
30
Software Engineering(3510711) 220090107161

 Waitlist System: A digital queue management system for managing walk-in customers.
 Order History: A record of past customer orders for reference and analysis.
 Split Bills: A feature that allows the total bill to be divided among multiple payers.
 Integrated Tipping: A feature that enables customers to add tips during the payment process.
 Inventory Valuation: The process of assessing the value of inventory and calculating profit margins.
 Personalized Marketing: Targeted marketing efforts based on customer behavior and preferences.
 Cloud Backup: Automated data backup to cloud storage for enhanced security and recovery.

Appendix B: Analysis Models

 Data Flow Diagram (DFD): A visual representation showing the movement of data through the
system, illustrating inputs, processes, and outputs.
 Entity-Relationship Diagram (ERD): A diagram that outlines the relationships between different
entities within the system, detailing how they interact.
 Class Diagram: A diagram that outlines the classes within the system and their relationships,
showcasing the system architecture.

Appendix C: Issues List

 TBD: Define the specific user interface elements needed for making reservations.
 Pending Decision: Determine how to handle situations involving overbooked tables effectively.
 Information Needed: Clarify the requirements for integrating the payroll system with the restaurant
management system.

31
Software Engineering(3510711) 220090107161

PRACTICAL-4: DESIGN ANALYSIS


AIM: Draw following diagrams based on Approaches of Requirement Modelling/ Elements of
Analysis Model for your project/problem statement.

4.1 Scenario based:

 Use-case diagram:

32
Software Engineering(3510711) 220090107161

FIG 4.1(a) USE- CASE DIAGRAM

 ACTIVITY DIAGRAM:

33
Software Engineering(3510711) 220090107161

FIG. 4.1 ACTIVITY DIAGRAM

 SWIMLANE DIAGRAM:

34
Software Engineering(3510711) 220090107161

FIG 4.1(C) SWIMLANE DIAGRAM

4.2 Class based :

 CLASS DIAGRAM:

FIG 4.2(a) CLASS DIAGRAM

35
Software Engineering(3510711) 220090107161

 CLASS RESPONSIBILITY COLLABORATORS (CRC) INDEX CARD (for main


class for your system)

FIG. 4.2(b) CRC CARD

4.3 Data based :

● ER Diagram:

FIG 4.3(a) ER DIAGRAM


4.4 Flow Based:
 DFD LEVEL DIAGRAM:
36
Software Engineering(3510711) 220090107161

FIG 4.4(b) DFD LEVEL 1 DIAGRAM

4.5 Behaviour Based:

● STATE DIAGRAM:

FIG 4.5(a) STATE DIAGRAM

37
Software Engineering(3510711) 220090107161

 SEQUENCE DIAGRAM:

FIG 4.5(b) SEQUENCE DIAGRAM

PRACTICAL-5

38
Software Engineering(3510711) 220090107161

5.1 Implementation:

FIG 5.1(a) IMPLEMENTATION

 Here customer can scan the barcode and view menu of the restaurant. Then if customer want to give
an order he should enter his details and login in the application.

 Here customer can select any items he want to order and can add more items in it.

39
Software Engineering(3510711) 220090107161

 Here customer can view their final order and can change the order. Here one more facility of add
note if customer want to add something in it.

 This is the page layout for the chef and managers system so they can view customers order and
make food according to it.

40
Software Engineering(3510711) 220090107161

5.2 Study various code review tools and prepare a comparative analysis for the same (for at least
two).

1. Raxis:

Raxis does one better than automated tools that often discover false findings that waste time and effort.
Raxis scopes an amount of time that works best for your company’s code and assigns a security
focused former developer to analyze your code for both general security and business-logic
vulnerabilities.
Raxis communicates throughout to be sure your input is used within the code review, and they provide
a report that details each finding with screenshots and remediation advice. A high-level summary that
can be provided to management and a debriefing call are also included.

Advantages:
 Specialized Security Focus: In-depth penetration testing and vulnerability assessments.
 Expert Team: Access to experienced security professionals for insights.
 Compliance Support: Aids in meeting regulatory requirements.

Disadvantages:
 Narrow Scope: Limited emphasis on overall code quality.
 Requires Expertise: Needs skilled professionals to interpret results.
 Higher Cost: Typically more expensive due to service-based model.

2) SonarQube:

SonarQube is a household name in Code Quality and Code Security, empowering all developers to
write cleaner and safer code. With thousands of automated Static Code Analysis rules in more than 25
programming languages, while integrating directly with your DevOps platform, SonarQube is your
teammate to enhance your development workflow and guide your teams.
SonarQube fits with your existing tools and proactively raises a hand when the quality or security of
your codebase is at risk.

Advantages:
 Continuous Code Quality: Integrates easily into CI/CD pipelines for real-time feedback.
 Comprehensive Analysis: Supports multiple languages and offers detailed reports.
 Strong Community: Large user base and extensive plugin support.
Disadvantages:
 Limited Security Depth: May not cover all security vulnerabilities as thoroughly as dedicated tools.
 Complex Setup: Initial configuration can be challenging.
 False Positives: May produce false positives requiring manual review
41
Software Engineering(3510711) 220090107161

FEATURE RAXIS SONARQUBE


Vulnerability Scanning Yes(Web Apps, Network) Limited(Focuses on quality code)
Code Analysis No Yes
Reporting Security Report Qualtiy and Security Report
Integration Limited CI/CD Integration Strong CI/CD Integration
User Interface Security focused dashboard Developer friendly interface
Language Support Not language specific Supports multiple languages
Real Time Feedback No Yes
Fig.5.2 COMPARATIVE ANALYSIS

42
Software Engineering(3510711) 220090107161

PRACTICAL-6:

6.1 Write perform testing for your project and prepare test cases along with results (at least for
two modules) (As per the format attached)

FIG.6.1(a) TEST CASE

43
Software Engineering(3510711) 220090107161

FIG.6.1(a) TEST CASE

44
Software Engineering(3510711) 220090107161

6.2 Study various testing tools (Eg: Win runner, Load runner) and prepare a comparative
analysis.
1. Load Runner

LoadRunner is a software testing tool from Micro Focus. It is used to test applications, measuring
system behaviour and performance under load. LoadRunner can simulate thousands of users
concurrently using application software, recording and later analyzing the performance of key
components of the application.
LoadRunner simulates user activity by generating messages between application components or by
simulating interactions with the user interface such as keypresses or mouse movements.
 Features of LoadRunner:
1. Interactive User Transaction Simulation.
2. Interactive User Transaction Simulation.
3. Mobile Testing.
 Advantages:
1. Determines root cause of application performance issues
2. Accurate detection of system, end user, and code-level bottlenecks
3. Minimizes cost of application downtime stemmed from performance issues
4. Allows performance testing of existing legacy applications with new technologies

 Disadvantages:
1. Debugging capability needs improvement
2. Extremely expensive
3. Uses a lot of memory and crashes if the system cannot meet its computing requirements
4. May have compatibility issues

2. WinRunner:

HP WinRunner software was an automated functional GUI testing tool that allowed a user to record
and play back user interface (UI) interactions as test scripts.
As a functional test suite, it worked with HP QuickTest Professional and supported enterprise quality
assurance. It captured, verified and replayed user interactions automatically, in order to identify defects
and determine whether business processes worked as designed.

 Features of WinRunner:
1. Functionality testing tool

45
Software Engineering(3510711) 220090107161

2. Supports C/s and web technologies such as (VB, VC++, D2K, Java, HTML, Power Builder,
Delphe, Cibell (ERP))
3. To Support .net, xml, SAP, Peoplesoft, Oracle applications, Multimedia we can use QTP.

 Advantages:
1. Reduces time consumption and tediousness.
2. Reduces the amount of investment in human resources.
3. Roots out most of the serious bugs.

 Disadvantages:
1. Doesn't apply for stress, load, or scalability testing.
2. Doesn't support .NET programming.
Requires testers to have programming knowledge/experience

FEATURE LOADRUNNER WINRUNNER


Testing Focus Performance testing Functional testing
Virtual User Simulation Yes No
Protocol Support Extensive Primarily GUI Application
Load Testing Yes No
Scripting Language C-like language TSL
Reporting Comprehensive functional reports Functional test reports
Real Time Feedback No Yes

FIG.6.2 COMPARATIVE ANALYSI

46

You might also like