A-Level Computer Science NEA
Abdul-Rahman Yahaya | Candidate No. 2632 | Centre No. 56635
,1. Analysis .........................................................................................................................2
1.1 Identifying the Problem ..............................................................................................3
1.2 Stakeholder Investigation ...........................................................................................3
1.2.1 Primary Stakeholder - Ria .....................................................................................3
1.2.2 Secondary Stakeholder - Phillip ............................................................................3
1.2.3 Questionnaire Results .........................................................................................4
1.2.4 Focus Group Session...........................................................................................6
1.3 MoSCoW Requirements .............................................................................................6
1.4 Similar Systems Research ..........................................................................................7
1.4.1 Wall Street Raider ...............................................................................................7
1.4.2 AdVenture Capitalist ...........................................................................................8
1.4.3 Capitalism II .......................................................................................................9
1.4.4 Investopedia Stock Simulator ............................................................................. 11
1.4.5 Trading 212 ....................................................................................................... 11
1.5 Research Summary ................................................................................................. 12
1.6 Computational Approach ......................................................................................... 13
1.6.1 Why a Computational Solution is Appropriate ...................................................... 13
1.6.2 Thinking Abstractly ............................................................................................ 13
1.6.3 Decomposition ................................................................................................. 13
1.6.4 Thinking Ahead ................................................................................................. 14
1.6.5 Thinking Procedurally ........................................................................................ 14
1.7 Technical Requirements .......................................................................................... 14
1.8 Limitations of the Proposed Solution ......................................................................... 15
1.9 Success Criteria ...................................................................................................... 15
2. Design & Architecture ................................................................................................... 17
2.1 Development Approach ........................................................................................... 18
2.2 System Architecture ................................................................................................ 18
2.2.1 The Manager Pattern - Decomposition Justification .............................................. 18
2.2.2 Singleton Pattern - Design Justification................................................................ 19
2.2.3 System Flowchart ............................................................................................. 20
2.2.4 System Topology - Data Flow .............................................................................. 21
2.3 UI & UX Design ........................................................................................................ 21
2.3.1 Initial Design Sketches ...................................................................................... 21
2.3.2 Dashboard Layout Design .................................................................................. 21
2.3.3 Fitts's Law - Button Size Justification ................................................................... 21
2.3.4 Canvas Structure .............................................................................................. 21
, 2.3.5 The Atomic Prefab Approach .............................................................................. 21
2.4 Data Models & Algorithm Design ............................................................................... 21
2.4.1 Data Dictionary ................................................................................................. 21
2.4.2 Algorithm Design - Market Price Simulation ......................................................... 21
2.4.3 Event System Design ......................................................................................... 21
2.5 Pre-Development Test Plan ...................................................................................... 21
Transaction ledger evidence (T09) ............................................................................... 21
Trace tables ................................................................................................................. 21
Trace Table — Test Event A ......................................................................................... 21
Trace Table — Test Event B ......................................................................................... 21
Trace Table — Test Event C (Part 1) ............................................................................. 21
Trace Table — Test Event C (Part 2) ............................................................................. 21
3. Development & Implementation .................................................................................... 21
3.2 Prototype 1 - Main Menu & Scene Foundation ............................................................ 21
3.2.1 Goal................................................................................................................. 21
3.2.2 Implementation ................................................................................................ 21
3.2.3 Problems Encountered ...................................................................................... 21
3.2.4 Prototype 1 Test Table ....................................................................................... 21
3.2.5 Prototype 1 Review ............................................................................................ 21
3.3 Prototype 2 - Market Logic & Core Data Structures ..................................................... 21
3.3.1 Goal................................................................................................................. 21
3.3.2 Implementation ................................................................................................ 21
3.3.3 Problems Encountered ...................................................................................... 21
3.3.4 Prototype 2 Test Table ....................................................................................... 21
3.3.5 Prototype 2 Review ............................................................................................ 21
3.4 Prototype 3 - UI Layer, Trading System & Navigation .................................................... 21
3.4.1 Goal................................................................................................................. 21
3.4.2 Implementation ................................................................................................ 21
3.4.3 Problems Encountered ...................................................................................... 21
3.4.4 Prototype 3 Test Table ....................................................................................... 21
3.4.5 Prototype 3 Review ............................................................................................ 21
3.5 Prototype 4 - GPU Graph & Performance Optimisation ................................................ 21
3.5.1 Goal................................................................................................................. 21
3.5.2 Implementation ................................................................................................ 21
3.5.3 Performance Benchmark Results ....................................................................... 21
3.5.4 Problems Encountered ...................................................................................... 21
3.5.5 Prototype 4 Test Table ....................................................................................... 21
3.5.6 Prototype 4 Review ............................................................................................ 21
, 3.6 Technical Optimisations .......................................................................................... 21
3.6.1 Event-Driven UI Architecture .............................................................................. 21
3.6.2 GPU Mesh Rendering ......................................................................................... 21
3.6.3 Big-O Complexity Analysis ................................................................................. 21
4. Testing ........................................................................................................................ 21
4.1 Post-Development Test Results ................................................................................ 21
4.2 Usability Testing ...................................................................................................... 21
5. Evaluation.................................................................................................................... 21
5.1 Success Criteria Evaluation ...................................................................................... 21
5.2 Unmet & Partially Met Requirements ......................................................................... 21
5.2.1 Save/Load System - Not Met .............................................................................. 21
5.2.2 Tutorial - Implemented ...................................................................................... 21
5.3 Usability Evaluation ................................................................................................. 21
5.4 Maintenance & Extensibility ..................................................................................... 21
5.4.1 Adding a New Asset Class - and the scaling limit .................................................. 21
5.4.2 Adding a New News Event - and the coverage gap ................................................ 21
5.4.3 Known Technical Debt ....................................................................................... 21
5.5 Final Reflection ....................................................................................................... 21
Glossary ......................................................................................................................... 21
Appendix ......................................................................................................................... 21
MarketEngine.cs ........................................................................................................... 21
TurnManager.cs ........................................................................................................... 21
PortfolioManager.cs ..................................................................................................... 21
NewsManager.cs .......................................................................................................... 21
SimpleGraph.cs ........................................................................................................... 21
UIDataBinder.cs ........................................................................................................... 21