assignment 617
assignment 617
Atiya Sohail
B21120206011
PART A: APPLICATION DEVELOPMENT PROCESS
* Planning:
* Define the project's scope: What types of assets will be included (stocks, bonds, etc.)?
What risk/return metrics will be used? Who is the target user?
* Gather requirements: Determine data sources for asset prices, economic indicators, etc.
Decide on the simulation algorithms.
* Analysis:
* Model the financial environment: Define the mathematical and statistical models that will
drive the simulation (e.g., Monte Carlo simulations).
* Design the system architecture: Choose the technology stack, database, and user interface
(UI) components.
* Design:
* UI/UX design: Create wireframes and mockups of the user interface, focusing on data
visualization and user interaction.
* Database design: Define the structure of the database to store historical data, simulation
results, and user portfolios.
* Algorithm design: Develop the specific algorithms for portfolio optimization, risk
assessment, and scenario analysis.
* Implementation:
* Coding: Write the code for the simulation engine, UI, and database interactions.
2
* Testing: Conduct unit tests, integration tests, and system tests to ensure the accuracy and
reliability of the simulation.
* Deployment:
* Set up the production environment: Deploy the application to a server or cloud platform.
* User training: Provide documentation and training for users on how to use the tool.
* Maintenance:
* Monitor performance: Track the tool's performance, identify and fix bugs, and optimize the
code.
* Update data: Regularly update the asset price data and economic indicators.
* Enhancements: Add new features and improve existing functionality based on user
feedback and market changes.
* Three-Tier Architecture:
* Layers:
* Application Layer (Business Logic): Contains the core logic of the application, including
business rules and data processing.
* Roles: Each layer has a specific role, promoting modularity, scalability, and maintainability.
* MVC Architecture:
* Components:
* Controller: Handles user input and updates the model and view.
* Roles: MVC separates the application's concerns into three interconnected parts. The Model
manages data, the View displays it, and the Controller acts as an intermediary.
3
* Comparison:
* Three-tier is a broader architectural pattern, while MVC is a specific type often used for the
presentation tier.