Software Requirements Specification (SRS) for Cost of Living Calculator
Introduction
Purpose:
The purpose of this document is to define the requirements for the development of a Cost of Living Calculator. This web-based application aims to help users assess the cost of living in different cities and plan accordingly.
Scope:
The Cost of Living Calculator will provide users with an interface to input details such as current city, desired city, and lifestyle preferences. The application will calculate and display the estimated cost of living in the desired city based on the provided information.
System Overview
System Description:
The system will be a client-server application. Users will access the Cost of Living Calculator through a web browser. The server will handle the logic for cost of living calculations.
System Architecture:
The application will follow a three-tier architecture: presentation layer (client-side browser), application layer (server-side processing), and data layer (storage and retrieval of data).
Functional Requirements
Use Cases:
Assess Cost of Living:
- Users can input details such as current city, desired city, and lifestyle preferences.
- The system will calculate and display the estimated cost of living in the desired city based on the provided information.
- Users can customize lifestyle preferences to get a more accurate cost estimate.
Functional Requirements:
Input:
The system shall allow users to enter the following details:
- Current City
- Desired City
- Lifestyle Preferences (e.g., housing type, transportation mode, dining habits)
Calculation:
- The system shall calculate the estimated cost of living in the desired city based on standard parameters and user-input lifestyle preferences.
Output:
- The system shall display the calculated cost of living estimate to the user.
External Interface Requirements
User Interfaces:
- The user interface shall consist of dropdown menus or input fields for current city, desired city, and lifestyle preferences, along with a “Calculate” button.
- The calculated cost of living estimate shall be displayed prominently.
Hardware Interfaces:
- The system should be compatible with standard computing hardware.
Software Interfaces:
- The application will be developed using HTML, CSS, and JavaScript for the frontend.
- The backend can be implemented using a server-side framework (e.g., Node.js, Django) with a database for data storage.
Communication Interfaces:
- The application will communicate with the server for cost of living calculations.
Performance Requirements
Response Time:
The system should provide a response time of under 5 seconds for a typical user input.
Throughput:
The application should handle at least 50 simultaneous users.
System Constraints
Regulatory Requirements:
The application should comply with relevant data protection and privacy regulations.
Hardware Limitations:
The system should be compatible with devices supporting standard web browsers.
Security Requirements
Authentication:
User authentication may be implemented to personalize cost of living estimates.
Data Protection:
User data, if stored, should be securely protected.
Quality Attributes
Reliability:
The application should provide accurate cost of living estimates based on the entered details and preferences.
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 scenarios with different current cities, desired cities, and lifestyle preferences to ensure accurate cost of living estimates.
Test Case 1:
- Inputs: Current City = Mumbai, Desired City = Bangalore, Lifestyle Preferences = Apartment, Public Transportation, Regular Dining Out.
- Expected Output: Estimated Cost of Living ≈ 20,000 INR per month.
Test Case 2:
- Inputs: Current City = New York, Desired City = San Francisco, Lifestyle Preferences = House, Own Car, Occasional Dining Out.
- Expected Output: Estimated Cost of Living ≈ $6,000 per month.
Test Case 3:
- Inputs: Current City = Delhi, Desired City = Chennai, Lifestyle Preferences = Shared Accommodation, Bike, Home-Cooked Meals.
- Expected Output: Estimated Cost of Living ≈ 15,000 INR per month.
Acceptance Criteria:
The application is considered successful if it produces correct cost of living estimates based on the provided details and lifestyle preferences.
Project Timeline
Milestones:
Design, Development, Testing, Deployment.
Development Phases:
Frontend development, Backend development, Testing, Deployment.
Glossary
None
Database Structure
Tables:
CostOfLiving_Calculator_Records:
- RecordID (Primary Key, Auto-increment)
- CurrentCity (String)
- DesiredCity (String)
- LifestylePreferences (Text)
- EstimatedCostOfLiving (Decimal)
- CalculationDate (DateTime)
Conclusion
This SRS document outlines the requirements for the Cost of Living Calculator. It serves as a guide for the development team and ensures that the application meets the specified criteria. Review and approval by relevant stakeholders are essential before proceeding with the development phase.