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 Installment
System 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 Installment
Database Structure
Tables:
EMI_Calculations:
- CalculationID (Primary Key, Auto-increment)
- LoanAmount (Decimal)
- InterestRate (Decimal)
- LoanTenure (Integer)
- EMIResult (Decimal)
- CalculationDate (DateTime)
Conclusion
This extended SRS document provides a more detailed overview of the EMI Calculator application, including the database structure and additional test cases. It should be reviewed and approved by relevant stakeholders before proceeding with the development phase.