0% found this document useful (0 votes)
7 views

assignment 617

The document outlines the development stages of a financial simulation project, specifically a Portfolio Optimization Tool, detailing phases from planning to maintenance. It also compares Three-Tier Architecture and MVC Architecture, highlighting their roles and differences. Additionally, it provides a comparison of Python data structures, including lists, tuples, sets, and dictionaries, focusing on their mutability, uniqueness, and use cases.

Uploaded by

PG Zain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

assignment 617

The document outlines the development stages of a financial simulation project, specifically a Portfolio Optimization Tool, detailing phases from planning to maintenance. It also compares Three-Tier Architecture and MVC Architecture, highlighting their roles and differences. Additionally, it provides a comparison of Python data structures, including lists, tuples, sets, and dictionaries, focusing on their mutability, uniqueness, and use cases.

Uploaded by

PG Zain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

1

Atiya Sohail
B21120206011
PART A: APPLICATION DEVELOPMENT PROCESS

1. Real-World Financial Simulation Project & Development Stages

* Example: A real-world financial simulation project could be a "Portfolio Optimization Tool"


for investors. This tool would simulate different investment strategies to find the optimal balance
between risk and return.

* Development Stages Applied to This Project:

* 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.

* Feasibility study: Assess if the project is technically and financially viable.

* 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.

2. Three-Tier Architecture vs. MVC Architecture

* Three-Tier Architecture:

* Layers:

* Presentation Layer (UI): Handles user interaction and displays data.

* Application Layer (Business Logic): Contains the core logic of the application, including
business rules and data processing.

* Data Layer: Manages data storage and retrieval.

* Roles: Each layer has a specific role, promoting modularity, scalability, and maintainability.

* MVC Architecture:

* Components:

* Model: Represents the data and business logic.

* View: Presents the data to the user.

* 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.

* MVC can be seen as a specialization of the presentation tier in a three-tier architecture.

PART B: PROGRAMMING CONCEPTS

1. Python Data Structures (Concepts)

Here's the comparison table you requested:

feature Mutability Uniqueness Heterogeneity Order of Use Case


Elements
List Mutable Not Unique Yes Ordered Collections of items
that may need to be
modified
Tuple Immutable Not Unique Yes Ordered Collections of items
that should not be
modified
Set Immutable Unique Yes Unordered Collections of unique
items
Dictionary Mutable Unique Yes (Values) Ordered Key-value pairs for
Keys (from Python data storage and
3.7) retrieval

You might also like