Software Requirements Specification (SRS) for EMI Calculator
Introduction
Purpose:
The purpose of this document is to outline the requirements for the development of an EMI (Equated Monthly Installment) Calculator application.Scope:
The EMI Calculator will allow users to calculate monthly installment amounts for loans based on input parameters such as loan amount, interest rate, and loan tenure.Definitions, Acronyms, and Abbreviations:
EMI: Equated Monthly InstallmentSystem Overview
System Description:
The EMI Calculator will be a web-based application accessible through a browser. Users will input loan details, and the system will calculate the monthly installment.System Architecture:
The application will have a client-server architecture, with the client being the web browser and the server handling the calculation logic.Functional Requirements
Use Cases:
Calculate EMI:- Users can input the loan amount, interest rate, and loan tenure.
- The system will calculate and display the Equated Monthly Installment.
Functional Requirements:
Input:
The system shall accept the following input:- Loan Amount (in INR)
- Annual Interest Rate (in percentage)
- Loan Tenure (in months)
Calculation:
The system shall calculate the EMI using the following formula:- ���=�×�×(1+�)�(1+�)�−1
- EMI=
- (1+r)
- n
- −1
- P×r×(1+r)
- n
- where:
- �
- P is the Loan Amount
- �
- r is the monthly interest rate (annual rate divided by 12 and multiplied by 0.01 to convert percentage to decimal)
- �
- n is the Loan Tenure in months
Output:
- The system shall display the calculated EMI to the user.
Non-Functional Requirements:
- The system should provide a response time of under 2 seconds.
- The application should be accessible on common web browsers (Chrome, Firefox, Safari).
External Interface Requirements
User Interfaces:
- The user interface shall include input fields for loan amount, interest rate, and loan tenure, along with a “Calculate” button.
- The calculated EMI shall be displayed prominently.
Hardware Interfaces:
- The system should be compatible with standard computing hardware.
Software Interfaces:
- The application shall be developed using HTML, CSS, and JavaScript.
- The server-side logic can be implemented using a backend framework (e.g., Node.js, Django).
Communication Interfaces:
- The application will communicate with the server for the calculation and display of results.
Performance Requirements
Response Time:
The system should respond within 2 seconds for a typical user input.Throughput:
The application should handle at least 100 simultaneous users.System Constraints
Regulatory Requirements:
The application should comply with relevant financial regulations.Hardware Limitations:
The system should be compatible with devices with standard web-browsing capabilities.Security Requirements
Authentication:
The application may not require user authentication as it’s a public tool.Data Protection:
The system should not store or retain any user input data after the calculation.Quality Attributes
Reliability:
The application should produce accurate results based on the provided input.Maintainability:
The code should be well-documented for ease of maintenance.Usability:
The user interface should be intuitive, requiring minimal guidance.Testing Requirements
Test Cases:
Test cases should cover various input scenarios to ensure accurate calculations.Test Case 1:
- Inputs: Loan Amount = 100,000 INR, Interest Rate = 5%, Loan Tenure = 12 months.
- Expected Output: EMI ≈ 8,575.92 INR
Test Case 2:
- Inputs: Loan Amount = 200,000 INR, Interest Rate = 8%, Loan Tenure = 24 months.
- Expected Output: EMI ≈ 9,764.23 INR
Test Case 3:
- Inputs: Loan Amount = 300,000 INR, Interest Rate = 6.5%, Loan Tenure = 18 months.
- Expected Output: EMI ≈ 17,158.47 INR
Acceptance Criteria:
The application is considered successful if it produces correct EMIs based on the standard EMI calculation formula.Project Timeline
Milestones:
Design, Development, Testing, Deployment.Development Phases:
Frontend development, Backend development, Testing, Deployment.Glossary
EMI: Equated Monthly InstallmentDatabase Structure
Tables:
EMI_Calculations:- CalculationID (Primary Key, Auto-increment)
- LoanAmount (Decimal)
- InterestRate (Decimal)
- LoanTenure (Integer)
- EMIResult (Decimal)
- CalculationDate (DateTime)