1
LABORATORY FILE : SOFTWARE ENGINEERING .
SUBJECT CODE: UGCA: 1924
BACHELOR OF COMPUTER APPLICATIONS
SUBMITTED BY: SUBMITTED TO:
Sahil Kumar Dr.
COLLEGE ROLL NO: 226617
UNIVERSITY ROLL NO: 2200315
DEPARTMENT OF COMPUTER SCIENCE ENGINEERING
BABA BANDA SINGH BAHADUR ENGINEERING
COLLEGE FATEGARH SAHIB
2
1. Identify project scope and objective of given problem:-
a. College automation system.
Scope:
The college automation system aims to streamline and automate various administrative and academic
processes within a college or educational institution.
The scope of the project includes:-
Student Management: Managing student records, including admissions, enrollment, attendance, grades,
and personal information.
Faculty Management: Managing faculty records, including recruitment, assignments, attendance, and
performance evaluation.
Course Management: Managing course offerings, scheduling, curriculum, and class assignments.
Administrative Processes: Automating administrative tasks such as fee collection, library management,
inventory tracking, and resource allocation.
Communication: Facilitating communication between students, faculty, and administration through
messaging systems, announcements, and notifications.
Reporting and Analytics: Generating reports and analytics to track student performance, faculty
workload, resource utilisation, and overall institutional effectiveness.
Objectives:-
The primary objectives of implementing a college automation system are:-
Efficiency Improvement: Streamlining administrative processes to reduce manual effort and increase
operational efficiency.
Data Accuracy: Ensuring accuracy and integrity of student and faculty records through centralised
management and automation.
Enhanced Communication: Facilitating better communication and collaboration among stakeholders
within the college community.
Performance Monitoring: Providing tools for monitoring and analysing academic and administrative
performance to support data-driven decision-making.
Student Experience: Enhancing the overall experience of students by providing easy access to
information and services.
Resource Optimization: Optimising the allocation and utilisation of resources such as classrooms,
faculty, and facilities.
3
By achieving these objectives, the college automation system aims to modernise and improve the
functioning of the institution, ultimately enhancing its competitiveness and reputation in the education
sector.
4
1. Identify project scope and objective of given problem:
b. Banking Management System.
Scope:
A Banking Management System encompasses a comprehensive set of functionalities aimed at automating
and optimising various banking operations and services. The scope of such a system typically includes:
Customer Management: Managing customer accounts, profiles, transactions, and communication
channels. This involves account creation, updating customer information, account closures, and managing
customer inquiries.
Account Management: Handling various types of accounts such as savings accounts, checking accounts,
loans, and investments. This includes account opening, account maintenance, transaction processing,
interest calculations, and account closures.
Transaction Processing: Facilitating various banking transactions, including deposits, withdrawals, fund
transfers, bill payments, loan disbursements, and electronic transactions (e.g., online banking, mobile
banking, ATM transactions).
Credit Management: Managing credit-related activities such as loan origination, credit scoring, loan
approvals, collateral management, repayment schedules, and debt collection.
Risk Management: Identifying, assessing, and mitigating various risks associated with banking
operations, including credit risk, market risk, liquidity risk, operational risk, and compliance risk.
Security and Compliance: Ensuring the security and compliance of banking operations with regulatory
requirements, industry standards, and internal policies. This includes data security, fraud prevention,
anti-money laundering (AML) measures, Know Your Customer (KYC) procedures, and regulatory
reporting.
Reporting and Analytics: Generating reports and analytics to monitor key performance indicators
(KPIs), assess financial health, track customer behaviour, detect trends, and support decision-making
processes.
Customer Service and Support: Providing customer support services through various channels such as
phone banking, online chat, email support, and branch visits. This includes resolving customer queries,
handling complaints, and providing assistance with banking products and services.
Objectives:
The primary objectives of implementing a Banking Management System are:
Operational Efficiency: Streamlining banking processes, reducing manual effort, minimising errors, and
improving overall operational efficiency.
Customer Satisfaction: Enhancing the customer experience by providing convenient, reliable, and
personalised banking services, thereby increasing customer satisfaction and loyalty.
Risk Mitigation: Identifying and mitigating risks associated with banking operations to safeguard assets,
protect customer interests, and maintain financial stability.
5
Compliance and Regulatory Compliance: Ensuring compliance with regulatory requirements, industry
standards, and internal policies to uphold legal and ethical standards, mitigate compliance-related risks,
and maintain the trust of stakeholders.
Data Security: Implementing robust security measures to protect sensitive customer information, prevent
unauthorised access, and mitigate cybersecurity threats.
Business Growth and Profitability: Supporting business growth by expanding customer base,
increasing market share, introducing new products and services, and optimising revenue streams.
By achieving these objectives, a Banking Management System aims to enhance the competitiveness,
efficiency, and resilience of banking institutions, enabling them to adapt to changing market dynamics,
technological advancements, and regulatory requirements effectively.
6
2. Develop software requirements specification for (1 a.) and (1 b.) problem.
a. College automation system.
b. Banking Management System.
1. Introduction ➖
The College Automation System is designed to streamline and automate various processes within a
college environment, including student management, faculty management, course management, and
administrative tasks. This document outlines the functional and non-functional requirements of the
system.
2. Functional Requirements
2.1 Student Management
● Registration: The system should allow students to register for courses online.
● Profile Management: Students should be able to update their personal information, including
contact details and academic records.
● Course Enrollment: Students should be able to enrol in courses, view course schedules, and drop
courses if necessary.
● Attendance Tracking: The system should enable faculty to record and monitor student
attendance.
● Grading System: The system should facilitate the recording and calculation of grades for each
student.
2.2 Faculty Management ➖
● Profile Management: Faculty members should be able to update their personal information and
academic qualifications.
● Course Management: Faculty should be able to create, update, and manage course materials,
syllabi, and assignments.
● Grading: Faculty should be able to input and manage student grades for the courses they teach.
2.3 Course Management ➖
● Course Catalogue: The system should provide a catalogue of available courses with detailed
descriptions.
● Scheduling: The system should generate class schedules based on course offerings and faculty
availability.
● Resource Allocation: The system should allocate resources such as classrooms and equipment for
each course.
2.4 Administrative Tasks ➖
● User Management: Administrators should be able to create, modify, and delete user accounts for
students, faculty, and staff.
7
● Financial Management: The system should handle billing, fee collection, and financial aid
processing.
● Reporting: The system should generate various reports such as student transcripts, enrollment
statistics, and financial statements.
● Communication: The system should facilitate communication between students, faculty, and
administrators through announcements, notifications, and messaging features.
3. Non-Functional Requirements ➖
3.1 Performance ➖
● The system should be able to handle concurrent user access without significant degradation in
performance.
● Response time for user interactions should be minimal, typically within a few seconds.
3.2 Security ➖
● User authentication and authorization mechanisms should be implemented to ensure data
confidentiality and integrity.
● Access control should be enforced based on user roles and permissions.
3.3 Reliability ➖
● The system should have backup and recovery mechanisms to prevent data loss in case of system
failures.
● It should be highly available, with an uptime of at least 99%.
3.4 Usability ➖
● The user interface should be intuitive and user-friendly, requiring minimal training for users to
operate the system effectively.
● Accessibility features should be incorporated to ensure usability for users with disabilities.
3.5 Scalability ➖
● The system should be designed to accommodate future growth in terms of user base and data
volume.
● Scalability should be achieved through modular architecture and efficient resource utilisation.
4. Constraints ➖
● The system should comply with relevant laws and regulations, including data protection laws.
● It should be compatible with modern web browsers and mobile devices.
● The system should be developed using technologies that are widely supported and maintainable.
5. Assumptions ➖
● Users have access to compatible devices and internet connectivity.
● The college administration will provide necessary resources and support for system
implementation and maintenance.
➖
8
6. Glossary
● Student: An individual enrolled in courses offered by the college.
● Faculty: Academic staff responsible for teaching courses.
● Administrator: Personnel responsible for managing the system and overseeing administrative
tasks.
This Software Requirements Specification serves as a guideline for the development team to design and
implement the College Automation System effectively.
2 -> (1-b) ➖
1. Introduction ➖
The Banking Management System (BMS) is a software solution aimed at automating and enhancing
various banking processes to improve efficiency, accuracy, and customer service. This document outlines
the functional and non-functional requirements of the system to be developed.
2. Functional Requirements
2.1 Customer Management ➖
● Customer Registration: The system should allow new customers to register by providing
necessary identification details either through an online portal or at a bank branch.
● Customer Profile Management: Customers should be able to update their personal information,
contact details, and preferences through their online banking accounts.
● KYC Verification: The system should facilitate the verification of customer identity documents
according to regulatory requirements during the registration process.
● Account Creation: Bank staff should be able to create various types of accounts (e.g., savings,
current, fixed deposit) for customers upon successful registration.
2.2 Account Management ➖
● Account Overview: Customers should be able to view their account balances, transaction history,
and statements online.
● Transaction Processing: The system should support various types of transactions, including
deposits, withdrawals, transfers (between own accounts or to third parties), bill payments, and
standing orders.
● Interest Calculation: For interest-bearing accounts, the system should calculate interest accruals
based on predefined rules and update account balances accordingly.
● Account Closure: Customers should be able to request the closure of their accounts, subject to
approval from the bank.
2.3 Loan Management
9
Loan Application: Customers should be able to apply for loans (e.g., personal loans, mortgages) through
the online portal, with the option to upload necessary documents.
Loan Approval: Bank staff should be able to review loan applications, perform credit assessments, and
approve or reject loan requests within defined turnaround times.
Loan Repayment: The system should facilitate loan repayment processing, including instalment
scheduling, interest calculation, and penalty assessment for late payments.
2.4 Transaction Monitoring and Reporting ➖
● Real-time Transaction Monitoring: The system should monitor transactions in real-time for
suspicious activities and flag potential fraudulent transactions for further investigation.
● Transaction Reporting: Bank staff should be able to generate various reports, including daily
transaction summaries, monthly financial statements, and regulatory compliance reports.
3. Non-Functional Requirements
3.1 Performance
● The system should support a high volume of concurrent users and transactions without significant
degradation in performance.
● Response time for user interactions should be minimal, typically within a few seconds.
3.2 Security ➖
● Data encryption should be employed for all sensitive information, and secure authentication
mechanisms (e.g., multi-factor authentication) should be implemented to prevent unauthorized
access.
● The system should comply with industry-standard security protocols (e.g., PCI-DSS) and
regulatory requirements to ensure the confidentiality and integrity of customer data.
3.3 Reliability ➖
● The system should have backup and disaster recovery mechanisms in place to ensure data integrity
and minimise downtime in case of system failures.
● It should be highly available, with an uptime of at least 99.9%.
3.4 Usability ➖
● The user interface should be intuitive and easy to navigate for both bank staff and customers, with
clear instructions provided where necessary.
● Accessibility features should be incorporated to ensure usability for users with disabilities, in
compliance with accessibility standards.
3.5 Scalability ➖
● The system architecture should be designed to scale horizontally and vertically to accommodate
growing user bases and increasing transaction volumes.
● Load balancing mechanisms should be implemented to distribute workload efficiently across
servers during peak times.
➖
10
4. Constraints
● The system should comply with all relevant banking regulations and data protection laws
applicable in the jurisdiction(s) where it will be deployed.
● It should integrate seamlessly with existing banking infrastructure, including core banking
systems, payment gateways, and regulatory reporting systems.
5. Assumptions ➖
● Users have access to compatible devices (e.g., desktops, laptops, smartphones) with internet
connectivity to access the online banking services.
● The bank will provide the necessary resources, including hardware, software, and trained
personnel, for system implementation, maintenance, and support.
6. Glossary ➖
● KYC: Know Your Customer - A regulatory requirement for verifying the identity of customers to
prevent money laundering and financial fraud.
● PCI-DSS: Payment Card Industry Data Security Standard - A set of security standards designed to
protect cardholder data during payment transactions.
This Software Requirements Specification provides a comprehensive overview of the functional and
non-functional requirements for the Banking Management System, guiding the development process to
ensure the delivery of a secure, reliable, and user-friendly banking solution.
11
3. Develop UML Use case model for a problem.
A UML use case model is a diagram that shows the interactions between a system and its users. It is used
to capture the functional requirements of a system and to identify the actors who will interact with the
system.
To develop a UML use case model, you will need to: ➖
1. Identify the actors who will interact with the system.
2. Identify the use cases that the system will support.
3. Connect the actors to the use cases.
4. Add system boundaries.
5. Define relationships.
6. Review and refine.
7. Validate.
Here is an example of a UML use case model for a library system:
Actors: ➖
1. Librarian, Patron.
Use cases: ➖
1. Check out book
2. Check in book
3. Renew book
4. Search for book
5. Place hold on book
Relationships: ➖
1. Librarians can check out books, check in books, renew books, search for books, and place holds on
books.
2. Patrons can check out books, check in books, renew books, and search for books.
System boundary: ➖
The system boundary is the rectangle that surrounds the use cases. It represents the system that is being
modelled.
Relationships: ➖
The relationships between the actors and the use cases are shown by the lines that connect them. The
direction of the arrow indicates the direction of the interaction. For example, the line that connects the
Librarian actor to the Check out book use case indicates that the Librarian can check out books.
Review and refine: ➖
12
Once you have created a UML use case model, you should review it and refine it as needed. You may
need to add or remove actors, use cases, or relationships.
Validate: ➖
Once you have refined your UML use case model, you should validate it with the users of the system.
This will ensure that the model accurately reflects the requirements of the system.
UML use case models are a valuable tool for capturing the functional requirements of a system and
identifying the actors who will interact with the system. They can be used to improve communication
between users and developers, and to ensure that the system meets the needs of its users.
13
4. Develop Class diagrams .
What is a class diagram in UML?
The Unified Modeling Language (UML) can help you model systems in various ways. One of the more
popular types in UML is the class diagram. Popular among software engineers to document software
architecture, class diagrams are a type of structure diagram because they describe what must be present in
the system being modelled. No matter your level of familiarity with UML or class diagrams, our UML
software is designed to be simple and easy to use.
UML was set up as a standardised model to describe an object-oriented programming approach. Since
classes are the building block of objects, class diagrams are the building blocks of UML. The various
components in a class diagram can represent the classes that will actually be programmed, the main
objects, or the interactions between classes and objects.
Benefits of class diagrams ➖
Class diagrams offer a number of benefits for any organisation. Use UML class diagrams to: -
1. Illustrate data models for information systems, no matter how simple or complex.
2. Better understand the general overview of the schematics of an application.
3. Visually express any specific needs of a system and disseminate that information throughout the
business.
4. Create detailed charts that highlight any specific code needed to be programmed and implemented
to the described structure.
5. Provide an implementation-independent description of types used in a system that are later passed
between its components.
Basic components of a class diagram ➖
The standard class diagram is composed of three sections:
1. Upper section: Contains the name of the class. This section is always required, whether you are
talking about the classifier or an object.
2. Middle section: Contains the attributes of the class. Use this section to describe the qualities of the
class. This is only required when describing a specific instance of a class.
3. Bottom section: Includes class operations (methods). Displayed in list format, each operation
takes up its own line. The operations describe how a class interacts with data.
Member access modifiers
➖
All classes have different access levels depending on the access modifier (visibility). Here are the
access levels with their corresponding symbols:
1. Public (+)
2. Private (-)
3. Protected (#)
14
4. Package (~)
5. Derived (/)
6. Static (underlined)
Class diagram for a hotel management system
A class diagram can show the relationships between each object in a hotel management system, including
guest information, staff responsibilities, and room occupancy. The example below provides a useful
overview of the hotel management system.
How to make a class diagram ➖
In Lucidchart, creating a class diagram from scratch is surprisingly simple. Just follow these steps:-
1. Open a blank document or start with a template.
2. Enable the UML shape library. On the left side of the Lucidchart editor, click "Shapes." Once
you're in the Shape Library Manager, check "UML" and click "Save."
3. From the libraries you just added, select the shape you want and drag it from the toolbox to the
canvas.
4. Model the process flow by drawing lines between shapes while adding text.