Update Functional requirements authored by Hardo Post's avatar Hardo Post
......@@ -3,3 +3,85 @@ Break the functionality of the product into a set of functional requirements, at
Prioritize the requirements as must-have, should-have, could-have, or won't-have.
"Functional requirements - High level" should be written as a separate entry in the Wiki.
**General**
**1.Store data in a database**
- Who: As a user
- What: I need my transactions to be stored in a database
- Why: So I they can be quickly retrieved and used for vizualization.
**2.Display transactions**
- Who: As a user
- What: I need view, where all my transactions are displayed as a graph
- Why: So I could have a better overview of how the flows.
**3.Visualize companies (and individuals) as nodes**
- Who: As a Financial Manager
- What: I want companies involved in the transactions with different customer id-s to be represented as separete nodes in the graph
- Why: So I can view cash flows aggregated accounts at company level, providing a general overview of the financial performance of the company.
**4. Visualize Node as an account**
- Who: As a Financial Manager
- What: I want a node to represent an account within an company
- Why: So I can drill down from the higher level on a company to analyze the cash flows and performance of individual accounts.
**5.Visualize Outgoing Cash Flows with Outgoing Edges**
- Who: As a Financial Manager
- What: I want outgoing edges in the visualization to represent outgoing cash flows.
- Why: So I can clearly track where the company’s money is being spent and manage outflows effectively.
**6.Visualize Incoming Cash Flows with Incoming Edges**
- Who: As a Financial Manager
- What: I want incoming edges in the visualization to represent incoming cash flows.
- Why: So I can easily see where the company is receiving money from and monitor cash inflows for effective financial management.
**7. Visualize Cash Flows in Different Currencies**
- Who: As a Financial Manager
- What: I want every incoming and outgoing edge to show the currency in which the payment was made.
- Why: So I can easily identify which currencies are being used for both incoming and outgoing payments, helping me manage foreign exchange risk and track multi-currency flows accurately.
**Aggregated and detailed views**
**8.Switch from Aggregated to Detailed View**
- Who: As a Financial Manager
- What: I want to switch from an aggregated view to a detailed view of transactions.
- Why: So that I can get a broad understanding of overall trends and then focus on specific details as needed, improving strategic decision-making.
**9. Switch from Detailed to Aggregated View**
- Who: As a Financial Manager
- What: I want to switch from a detailed view back to an aggregated view of transactions.
- Why: So that I can return to the big picture after examining the details, helping me maintain a clear understanding of both granular and overall trends.
**10. Default View with Highest Level of Aggregation**
- Who: As a Financial Manager
- What: I want the default view of the visualization to display nodes and edges at the highest level of aggregation.
- Why: So the visualization is easier to follow, allowing me to focus on the overall picture and expand specific areas when more detailed analysis is needed.
**11. Visualize Cash Flows with Edge Thickness Based on Flow Size **
- Who: As a Financial Manager
- What: I want the thickness of edges in the visualization to represent the size of the cash flows.
- Why: So I can quickly identify and focus on the largest cash flows, enabling more effective financial analysis and decision-making.
**Filtering
**12. Set Custom Date Ranges**
- Who: As an Accountant
- What: I want to set custom start and end dates for filters.
- Why: So that I can focus on specific financial periods that are important to me, helping to analyze relevant financial events more accurately.
**13. Visualize Internal Cash Flows**
- Who: As a Financial Manager
- What: I want to visualize cash flows between our company's internal accounts.
- Why: So that I can track internal financial movements, optimize resource allocation, and ensure efficient liquidity management within the company.
**14. Visualize Cash Flows with Vendors (Suppliers)**
- Who: As a Financial Manager
- What: I want to visualize cash flows between our company and vendors (suppliers).
- Why: So that I can monitor payments to suppliers, ensuring effective cash outflow management and improving vendor relationship planning.
..to be continued
\ No newline at end of file