0% found this document useful (0 votes)
15 views14 pages

SOFTWARE ENGINEERING LAB FILE (Sample)

Lab file

Uploaded by

himanigerg900
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)
15 views14 pages

SOFTWARE ENGINEERING LAB FILE (Sample)

Lab file

Uploaded by

himanigerg900
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/ 14

SRS (Software Requirements Specification)

The SRS includes the following components:


Introduction
Purpose : The purpose of this document is to define the functional, non-functional, and
technical requirements for the Mail Security Pin Management System.
To describe the security-focused web app for locking profile features, modeled after privacy
features like those on WhatsApp/Facebook.
The system ensures secure access by allowing users to generate, validate, and manage a
security pin for email-based verification.
Scope : The system enables users to:
• Register and authenticate securely.
• Generate and validate mail security pins.
• Log user login attempts for tracking purposes.
• Provide an admin panel for monitoring user activity.
The application is built using React for the frontend, Node.js for the backend, and
MySQL for data storage.
Definitions, Acronyms, and Abbreviations
• SRS: Software Requirements Specification
• Pin: Personal Identification Number
• MySQL: Relational Database Management System
References:
• Project documentation based on Create React App bootstrap setup.
• MySQL database schema and DFD diagrams.

Overall Description
Product Perspective
This is a standalone web-based system intended for secure authentication and tracking using
mail security pins. The frontend communicates with the backend API to process and validate
user actions.
Product Features
1. User Features:
o Registration and login.
o Request and validate mail security pins.
o View login history.
2. Admin Features:
o Monitor user activity logs.
o Reset user credentials.
3. System Features:
o Auto-expiry of mail pins.
o Secure hashing and storage of sensitive data.
User Characteristics
• End Users: General users with basic computer skills.
• Administrators: Experienced users managing system configurations.
Constraints
• Internet connection required for pin generation and validation.
• Compatibility with modern browsers (Chrome, Firefox, Edge).
Assumptions and Dependencies
• The mail server is assumed to be available for delivering pins.
• Users provide valid email addresses during registration.

Functional Requirement
User Registration
• Users must provide email, password, and name.
• Data validation ensures only valid email addresses and secure passwords are allowed.
Login
• Users authenticate using email and password.
• Failed login attempts are logged with timestamps.
Generate Mail Security Pin
• Users request a security pin through the app.
• The pin is sent to the registered email and stored in the database with an expiry
timestamp.
Validate Security Pin
• Users enter the pin for validation.
• If the pin matches and is not expired, access is granted.
• Failed attempts are logged.
Admin Monitoring
• Admin can view user activity logs, including login attempts and pin validation events.

Non-Functional Requirements
Performance Requirements
• The system must handle 50 concurrent users.
• Pin generation and validation must occur within 2 seconds.
Security Requirements
• All sensitive data (e.g., passwords, pins) must be hashed before storage.
• API communication must occur over HTTPS.
Usability Requirements
• The UI must be responsive and user-friendly, supporting both desktop and mobile
devices.
Availability
• The system should have 99.9% uptime.

System Design
Architecture
• Frontend: React-based single-page application.
• Backend: Node.js API with Express.
• Database: MySQL relational database for user and pin management.
Data Flow
• Users interact with the React frontend.
• Requests are sent to the Node.js backend for processing.
• Data is fetched or updated in the MySQL database.

Appendix
• References:
o React documentation: https://reactjs.org/
o Node.js documentation: https://nodejs.org/

USE CASE DIAGRAM

Actors
1. User:
oRegisters and logs in.
o Requests a mail security pin.
o Validates the pin for secure access.
o Views login history.
2. Admin:
o Monitors user activities and login attempts.
o Manages user accounts (e.g., resetting credentials, blocking accounts).

Use Cases in Project


1. User Registration:
o Actor: User
o Description: Allows new users to create an account by providing their email,
password, and name.
2. User Login:
o Actor: User
o Description: Authenticates users based on email and password.

3. Generate Mail Security Pin:


o Actor: User
o Description: Allows users to generate a mail security pin, which is sent to their
email for secure verification
4. Validate Mail Security Pin:
o Actor: User
o Description: Verifies the pin entered by the user with the database to grant access.

5. View Login History:


o Actor: User
o Description: Allows users to view their previous login attempts and related details.

6. Monitor User Activities:


o Actor: Admin
o Description: Admin reviews login attempts and security pin activity logs.

7. Manage User Accounts:


o Actor: Admin
o Description: Admin manages user accounts by resetting passwords if needed.
Diagram Layout
Key Visual Elements:
1. Actors: Represented as stick figures (User and Admin).
2. Use Cases: Represented as ovals with the name of the use case inside.
3. System Boundary: A rectangle that encompasses all the use cases, labeled Mail
Security App System.
4. Relationships: Lines connecting actors to their use cases.

Exceptional Scenarios for Mail Security Pin


1. Technical Issues :
• Scenario: The user is unable to receive the mail with the security pin.
o Description: The mail server may be down, or the email address is invalid.
o Steps to Handle:
▪ Display an error message explaining that the mail was not delivered.
▪ Offer the option to resend the security pin.
▪ Suggest the user check their email address for correctness their mail
service.
2. Lost Connection :
• Scenario: Internet connectivity is lost during the Mail Security Pin verification
process.
o Description: The app cannot validate the pin with the server due to a network
issue.
o Steps to Handle:
▪ Display an error message indicating that the network connection is
unavailable.
▪ Allow the user to retry the process after reconnecting.
▪ Offer an offline method for saving the entered pin temporarily for later
validation (if feasible).

Test Cases Of the Project

User Registration
• Test Case 1: Successful Registration
o Description: Verify that a user can register with valid credentials.
o Precondition: User is on the registration page.
o Input: Valid email, strong password, and name.
o Expected Result: Account is created successfully, and the user sees a
confirmation message.
• Test Case 2: Registration with Duplicate Email
o Description: Verify that the system prevents registration with an already
registered email.
o Input: Existing email, strong password, and name.
o Expected Result: Registration fails, and an error message is displayed.
• Test Case 3: Invalid Email Format
o Description: Verify that the system rejects invalid email formats during
registration.
o Input: Invalid email (e.g., "invalidemail").
o Expected Result: Registration fails, and a validation error message is
displayed.

User Login
• Test Case 1: Successful Login
o Description: Verify that a user can log in with valid credentials.
o Input: Registered email and correct password.
o Expected Result: User is redirected to the dashboard.
• Test Case 2: Login with Invalid Password
o Description: Verify that the system prevents login with an incorrect password.
o Input: Registered email and invalid password.
o Expected Result: Login fails, and an error message is displayed.
• Test Case 3: Login with Unregistered Email
o Description: Verify that the system prevents login with an unregistered email.
o Input: Unregistered email and any password.
o Expected Result: Login fails, and an error message is displayed

Generate Mail Security Pin


• Test Case 1: Successful Pin Generation
o Description: Verify that the system generates a security pin and sends it to the
user’s email.
o Precondition: User is logged in.
o Input: Request to generate a pin.
o Expected Result: Security pin is generated, stored in the database, and sent to
the user’s email.
• Test Case 2: Multiple Pin Generation Attempts
o Description: Verify that the system handles multiple requests for pin generation
within a short time.
o Input: Two pin generation requests within 1 minute.
o Expected Result: The second request is denied or throttled.
Validate Mail Security Pin
• Test Case 1: Successful Pin Validation
o Description: Verify that the system validates a correct security pin within the
expiry time.
o Precondition: A valid pin exists in the database.
o Input: Correct security pin.
o Expected Result: Validation succeeds, and the user is granted access.
• Test Case 2: Validation of Expired Pin
o Description: Verify that the system rejects a valid but expired security pin.
o Input: Expired pin.
o Expected Result: Validation fails, and an error message is displayed.
• Test Case 3: Validation of Incorrect Pin
o Description: Verify that the system rejects an incorrect pin.
o Input: Incorrect pin.
o Expected Result: Validation fails, and an error message is displayed.

View Login History


• Test Case 1: Successful Retrieval of Login History
o Description: Verify that a user can view their login history.
o Precondition: User is logged in.
o Input: Request to view login history.
o Expected Result: Login history is retrieved and displayed to the user.

Admin Monitoring
• Test Case 1: View User Activity Logs
o Description: Verify that the admin can view all user activity logs.
o Precondition: Admin is logged in.
o Input: Request to view activity logs.
o Expected Result: Activity logs are retrieved and displayed.
• Test Case 2: Reset User Credentials
o Description: Verify that the admin can reset a user’s password.
o Input: User ID and new password.
o Expected Result: Password is reset successfully, and the user is notified.

1. User :Represents users common to both Facebook and the Mail Security Pin System.
• Attributes:
o User_Id (PK)
o name
o email
o password
o phoneNumber
o profilePicture
o friendsList
o registrationDate
• Methods:
o register()
o login()
o updateProfile()
o sendFriendRequest()
o acceptFriendRequest()
o createPost()
o likePost()

2. MailSecurity : Manages the security pin functionality for Facebook user accounts.
• Attributes:
o securityPinId (PK)
o userId (FK)
o securityPin
o pinExpiry
o status (Active/Inactive)
• Methods:
o generateSecurityPin()
o validateSecurityPin()
o deactivatePin()

3. Post : Handles posts created by users in the Facebook system.


• Attributes:
o postId (PK)
o userId (FK)
o content
o createdAt
o likesCount
• Methods:
o addComment()
o likePost()

4. Comment : Represents comments made on posts.


• Attributes:
o commentId (PK)
o postId (FK)
o userId (FK)
o content
o createdAt
• Methods:
o editComment()
o deleteComment()

5. Message : Manages private messages between users.


• Attributes:
o messageId (PK)
o senderId (FK)
o receiverId (FK)
o content
o sentAt
o status (Read/Unread)
• Methods:
o sendMessage()
o markAsRead()

6. Notification : Handles notifications for user actions.


• Attributes:
o notificationId (PK)
o userId (FK)
o content
o createdAt
o type (e.g., Friend Request, Post Like)
• Methods:
o sendNotification()
o markAsRead()

7. LoginHistory : Tracks user login attempts.


• Attributes:
o loginId (PK)
o userId (FK)
o loginTimestamp
o status (Success/Failure)
o deviceDetails
o ipAddress
• Methods:
o recordLoginAttempt()
8. Admin : Manages user accounts and monitors activities.
• Attributes:
o adminId (PK)
o name
o email
o password
o role
• Methods:
o monitorUserActivity()
o resetUserPassword()
o blockUser()

Relationships in the Unified Diagram


1. User → MailSecurity:
o A user can have multiple security pins.

2. User → Post:
o A user can create multiple posts.

3. Post → Comment:
o A post can have multiple comments.

4. User → Comment:
o A user can create multiple comments.

5. User → Message:
o A user can send/receive multiple messages.

6. User → Notification:
o A user can receive multiple notifications.

7. User → LoginHistory:
o A user can have multiple login attempts.

8. Admin → User:
o An admin can manage multiple users.

9. Admin → LoginHistory:
o An admin can monitor multiple login attempts.
Activity Diagram
ER – DIAGRAM
DFD DIAGRAM

The Data Flow Diagram (DFD) for my project (MY BOOK) visually represents how
data flows through the system, including processes, data stores, and interactions with
external entities.

Level 0 DFD (Context Diagram)

• the entire system as a single process called “ MY BOOK”.it is also


Represents as main system.
• External Entities: User, Mail Server, Admin.
• Shows data flows:
o User : provides login credentials or requests a pin.
o Mail Server : sends the security pin.
o Admin : monitors activities.
Level 1 DFD

• Breaks the system into key processes:


o Login Process
o Generate Pin
o Validate Pin
o Log Activities
• Shows data stores (User Table, Pin Table, Login History Table).
• Illustrates the flow of data between processes, entities, and data stores.

You might also like