Lab Exp2 Merged
Lab Exp2 Merged
Experiment no 2
1.1 Objective
The purpose of this document is to specify the requirements for the Passport Automation
System (PAS). This system aims to streamline the process of passport application, renewal,
and management by automating manual tasks and improving efficiency.
1.2 Scope
The PAS will automate the following processes:
Application submission
Document verification
Payment processing
Status tracking
Printing and distribution of passports
1.4 References
ISO/IEC 27001: Information security management systems
National Passport Guidelines [Country-specific guidelines]
2. Overall Description
2.1 Product Perspective
The PAS will be a web-based application integrated with a backend database and document
management system. It will provide interfaces for applicants, administrative staff, and
government officials.
1
2.2 Product Functions
The system will support the following functions:
User registration and authentication
Passport application submission and tracking
Document upload and verification
Payment gateway integration
Passport issuance and printing
3. Specific Requirements
3.1 Functional Requirements
3.1.1 User Registration and Authentication
Users must be able to register with personal information and verify their identity.
The system should support password recovery and multi-factor authentication.
2
3.1.2 Passport Application Submission
Users can fill out and submit passport applications online.
The system should allow users to upload required documents in various formats.
3.1.3 Document Verification
Administrative staff should be able to review and verify uploaded documents.
Integration with third-party verification services for authenticity checks.
3.1.4 Payment Processing
Integration with a secure payment gateway for processing fees.
Users should receive confirmation of payment.
3.1.5 Status Tracking
Applicants should be able to track the status of their application in real-time.
Notifications via email or SMS for status updates.
3.1.6 Passport Issuance and Printing
System-generated passport documents must meet government standards.
Integration with printers for passport issuance.
3
4. External Interface Requirements
4.1 User Interfaces
Web-based user interface with responsive design.
Admin dashboard with tools for managing applications and user accounts.
4.2 Hardware Interfaces
Integration with passport printers.
Scanners for document verification.
4.3 Software Interfaces
APIs for payment gateway integration.
Integration with existing government databases.
4.4 Communications Interfaces
Support for email and SMS notifications.
Secure communication protocols for data exchange.
5. Other Requirements
5.1 Legal and Regulatory Requirements
Compliance with national and international passport regulations.
Adherence to data protection laws and standards.
5.2 Documentation
User manuals for applicants and administrative staff.
Technical documentation for system maintenance and upgrades
4
Software Engineering and Testing Methodologies - (R1UC502B)
Lab Experiment 1:
Prepare a Software Requirement Specification (SRS) document in line with the IEEE
recommended standards for Airline Reservation System.
1. Introduction
1.1 Purpose
The purpose of this Software Requirements Specification (SRS) document is to provide a
comprehensive description of the Airline Reservation System (ARS). This document will serve
as a guide for the development, validation, and maintenance of the ARS, ensuring all
stakeholders have a clear understanding of the system's requirements.
1.2 Scope
The Airline Reservation System is designed to manage flight reservations, ticketing, and
passenger information. It will support functionalities for booking flights, checking flight
availability, managing user accounts, and generating reports. The system will be used by airline
staff and passengers.
1.4 References
- IEEE Std 830-1998: IEEE Recommended Practice for Software Requirements Specifications
- Airline industry standards and guidelines
1
1.5 Overview
This document is organized into the following sections:
- Introduction
- Overall Description
- Specific Requirements
- Appendices
2. Overall Description
2
2.4 Operating Environment
- **Client**: Web browsers (Chrome, Firefox, Safari, Edge)
- **Server**: Web server (Apache, Nginx), Application server (Java EE, .NET)
- **Database**: Relational DBMS (MySQL, PostgreSQL, Oracle)
3. Specific Requirements
3
3.1.4 Payment Processing
- The system shall integrate with a payment gateway to handle transactions.
- The system shall provide secure payment processing and generate payment receipts.
3.1.5 Reporting
- The system shall generate reports on bookings, cancellations, and revenue.
- Reports shall be available in various formats (e.g., PDF, CSV).
3.2.1 Performance
- The system shall support up to 10,000 concurrent users.
- Response time for flight search queries shall be under 3 seconds.
3.2.2 Security
- The system shall implement SSL encryption for data transmission.
- User data shall be stored securely with access control mechanisms in place.
3.2.3 Usability
- The system shall have an intuitive and user-friendly interface.
- The system shall provide help documentation and customer support features.
3.2.4 Reliability
- The system shall have an uptime of 99.9% and provide backup and recovery solutions.
3.2.5 Maintainability
- The system shall be designed for easy maintenance and updates.
- Code shall follow standard coding practices and be documented thoroughly.
4
3.3 Interface Requirements
4. Appendices
4.1 Glossary
- **Booking Confirmation**: An email or notification sent to users confirming their flight
reservation.
- **Seat Allocation**: The process of assigning a specific seat to a booked flight.
5
4.3 Issues
- Potential issues related to integration with third-party systems.
- User feedback and system performance monitoring.
This SRS document provides a comprehensive outline of the Airline Reservation System's
requirements. Each section ensures that all stakeholders have a clear understanding of
the system's capabilities, constraints, and interfaces.
6
Lab Experiment 4:
Draw the data flow diagrams at level 0 and level 1 for GU Examination Board.
Tools:
Microsoft Visio
DFD
In Software engineering DFD (data flow diagram) can be drawn to represent the system
of different levels of abstraction.
It is a graphical representation of data flow in any system.
It is capable of illustrating incoming data flow, outgoing data flow and store data.
Data flow diagram describes anything about how data flows through the system.
1-Level provides a more detailed view of the system by breaking down the major
processes identified in the level 0 Data Flow Diagram (DFD) into sub-processes.
1
3-Level Data Flow Diagram (DFD)
3-Level is the most detailed level of Data Flow Diagram (DFDs), which provides a
detailed view of the processes, data flows, and data stores in the system.
Session management
Examination
management
system
Student management System user
management
Login management
2
Student management Generate Student
report
Examination
management
system
Branch management Generate branch
report
3
4
Experiment No:5
Title Design the Use case diagram, Class Diagram, Activity diagram, Sequence diagram for
ATM Operations.
Objective To draw Use case diagram, Class Diagram, Activity diagram & Sequence diagram of the
project assigned to you.
Software Online Visual Paradigm/ IBM Rational Rose XDE
Algorithm/ A use case diagram in UML helps to show the various ways in which a user could interact with
Theory a system. For ATM, the use case diagram helps visualize the interactions between users (actors)
and the system’s functionalities (use cases). This diagram provides a clear, simplified way to
understand how the system operates and what it offers to its users.
1. Actor: Actors are external entities that interact with the system. These can include users,
other systems, or hardware devices. In the context of a Use Case Diagram, actors initiate
use cases and receive the outcomes.
2. Use Case: Use cases are like scenes in the play. They represent specific things your
system can do.
3. System Boundary: The system boundary is a visual representation of the scope or limits
of the system you are modeling. It defines what is inside the system and what is outside.
We will understand about designing the use case diagram for the ATM system. Some scenarios
of the system are as follows.
• Step-1:
The user is authenticated when enters the plastic ATM card in a Bank ATM. Then enters
the user’s name and PIN (Personal Identification Number). For every ATM transaction,
a Customer Authentication use case is required and essential. So, it is shown as include
relationship.
Example of use case diagram for Customer Authentication is shown below:
Step-2:
User checks the bank balance as well as also demands the mini statement about the bank
balance if they want. Then the user withdraws the money as per their need. If they want
to deposit some money, they can do it. After complete action, the user closes the session.
Example of the use case diagram for Bank ATM system is shown below:
Step-3:
If there is any error or repair needed in Bank ATM, it is done by an ATM technician.
ATM technician is responsible for the maintenance of the Bank ATM, upgrades for
hardware, firmware or software, and on-site diagnosis.
Example of use case diagram for working of ATM technician is shown below:
Class diagrams are generally used for conceptual modeling of static view of a software
application, and for modeling translating models into programming code in a detailed manner.
At time of developing or construction software systems, a class diagram is widely used. They
are also used for data modeling. It is used to show classes, relationships among them, interface,
association, etc. Class in a class diagram simply is a blueprint of an object. It simply describes
and explains different type of objects in system, and different types of relationships that exist
between them.
The activity diagram used to describe flow of activity through a series of actions. Activity
diagram is a important diagram to describe the system. The activity described as an action or
operation of the system.
Tools:
Microsoft Visio / LucidChart.
ER Model:
An Entity-Relationship Model represents the structure of the database with the help of
a diagram.
ER Modelling is a systematic process to design a database as it would require to analyze
all data requirements before implementing the database.
1
2
1. ER Diagram for Student Management System
3
2. ER Diagram for Examination Process
4
3. ER Diagram for University Management System
5
Experiment No:7
Title Design the Use case diagram, Class Diagram, Activity diagram, Sequence diagram,
Component diagram, Deployment Model for railway reservation system.
Objective To draw Use case diagram, Class Diagram, Activity diagram & Sequence diagram of the
project assigned to you.
Software Online Visual Paradigm/ IBM Rational Rose XDE
Algorithm/ A use case diagram in UML helps to show the various ways in which a user could interact
Theory with a system. For our project, the use case diagram helps visualize the interactions between
users (actors) and the system’s functionalities (use cases). This diagram provides a clear,
simplified way to understand how the system operates and what it offers to its users.
Use Case Diagram, referred to as a Behavior model or diagram. It simply describes and
displays the relationship or interaction between the users or customers and providers of the
application service or the system. It describes different actions that a system performs in
collaboration to achieve something with one or more users of the system. A use-case diagram
is used a lot nowadays to manage the system.
1. Actor: Actors are external entities that interact with the system. These can include
users, other systems, or hardware devices. In the context of a Use Case Diagram,
actors initiate use cases and receive the outcomes.
2. Use Case: Use cases are like scenes in the play. They represent specific things your
system can do.
The activity diagram used to describe flow of activity through a series of actions. Activity
diagram is an important diagram to describe the system. The activity described as an action or
operation of the system.
Use Case Diagram, referred to as a Behavior model or diagram. It simply describes and displays
the relationship or interaction between the users or customers and providers of the application
service or the system. It describes different actions that a system performs in collaboration to
achieve something with one or more users of the system. A use-case diagram is used a lot
nowadays to manage the system.
1. Actor: Actors are external entities that interact with the system. These can include
users, other systems, or hardware devices. In the context of a Use Case Diagram, actors
initiate use cases and receive the outcomes.
2. Use Case: Use cases are like scenes in the play. They represent specific things your
system can do.
3. System Boundary: The system boundary is a visual representation of the scope or
limits of the system you are modeling. It defines what is inside the system and what is
outside.
1. Actors:
• User (Staff or Student)
• Librarian
2. Use Cases:
• Register New User
• Issue Library Card
• Request New Book
• Reserve Book
• Renew Book
• Pay Fine
• Fill Feedback Form
• Manage Records
• Delete Records
• Update Database
3. System Boundary:
• The system boundary will encompass all the use cases mentioned above.
We will understand the designing use case diagram for the library management system. Some
scenarios of the system are as follows:
1. User who registers himself as a new user initially is regarded as staff or student for the
library system.
• For the user to get registered as a new user, registration forms are available that
is needed to be fulfilled by the user.
• After registration, a library card is issued to the user by the librarian. On the
library card, an ID is assigned to cardholder or user.
2. After getting the library card, a new book is requested by the user as per there
requirement.
3. After, requesting, the desired book or the requested book is reserved by the user that
means no other user can request for that book.
4. Now, the user can renew a book that means the user can get a new due date for the
desired book if the user has renewed them.
5. If the user somehow forgets to return the book before the due date, then the user pays
fine. Or if the user forgets to renew the book till the due date, then the book will be
overdue and the user pays fine.
6. User can fill the feedback form available if they want to.
7. Librarian has a key role in this system. Librarian adds the records in the library database
about each student or user every time issuing the book or returning the book, or paying
fine.
8. Librarian also deletes the record of a particular student if the student leaves the college
or passed out from the college. If the book no longer exists in the library, then the record
of the book is also deleted.
9. Updating database is the important role of Librarian.
In Object – Oriented modelling , the main building block generally represents different objects
in a system, their attributes, their different functions, and relationships among objects. These
building blocks are known as Class Diagram.
Class diagrams are generally used for conceptual modeling of static view of a software
application, and for modeling translating models into programming code in a detailed manner.
At time of developing or construction software systems, a class diagram is widely used. They
are also used for data modeling. It is used to show classes, relationships among them, interface,
association, etc. Class in a class diagram simply is a blueprint of an object. It simply describes
and explains different type of objects in system, and different types of relationships that exist
between them.
Aggregation and Multiplicity are two important points that need to take into consideration while
designing a Class Diagram. Let us understand in detail.
1. Aggregation – Aggregation simply shows a relationship where one thing can exist
independently of other thing. It means to create or compose different abstractions
together in defining a class. Aggregation is represented as a part of relationship in class
diagram. In diagram given below, we can see that aggregation is represented by an edge
with a diamond end pointing towards superclass. The “Library Management System” is
superclass that consists of various classes. These classes are User, Book, and Librarian
as shown in diagram. Further, for “Account” class, “User” is a superclass. All of these,
share a relationship and these relationships are known as aggregate relationships.
Class Diagram for Library Management System simply describes structure of Library
Management System class, attributes, methods or operations, relationship among objects.
Classes of Library Management System:
The activity diagram used to describe flow of activity through a series of actions. Activity
diagram is a important diagram to describe the system. The activity described as a action or
operation of the system.
Sequence Diagram
Next, the librarian will check the system to see if the book is available. This means an interaction
with the Book object in the library management system. Again, we’ll use a labeled arrow and
the Book object will automatically be created.
Librarian-check availability->Book
If the book is available, the Book object sends a message back to the Librarian object.
Book-available->Librarian
The librarian now needs to validate whether the member can borrow the book from the library.
This is a two-step process of validating membership and also checking the number of books
already issued.
Librarian-validate->Member
Librarian-check no. of issued books->Member
If the member is authorized to borrow the book, the librarian can now issue it.
Librarian-issue a book->Member
The librarian also needs to record the transaction in the library management system, and that
brings us to our final object, Transaction. The Librarian sends a “create” message to Transaction.
The message adds the member and book details to that transaction and it is stored in the database
so that it can be used to check up on the member or book later.
Librarian-<<create>>->Transaction
Librarian-add member and book details->Transaction
The librarian next needs to update the book’s status in the system, so it’s clear that it has been
borrowed and isn’t available until returned. The librarian also needs to update the member’s
record, to indicate that they have borrowed an additional book. That gives us the final lines in
our simple library management sequence diagram.
Final
Conclusion: Use case diagram, Class Diagram, Activity diagram & Sequence diagram of the
project was drawn successfully by following the steps described above.