COMP10082 Foundations of Computing Technology Assignment Sample

Explore a complete COMP10082 assignment sample covering system design, use case diagrams, class diagrams, testing, and expert critique.

  • 72780+ Project Delivered
  • 500+ Experts 24x7 Online Help
  • No AI Generated Content
GET 55% OFF + EXTRA 10% OFF
- +
55% Off
£ 8.89
Estimated Cost
£ 4
Prices Start From
GBP 4.00GBP 9.00
5 Pages 1267 Words

COMP10082 Design Of Foundations of Computing Technology Assignment

The Voting Analysis System design is done to process and analyze the election data in google colab with proper emphasis on key entities, which include MP, Party, and Constituency. The defined interaction among the entities ensures that all the election data relevant to it are retrieved without causing any trouble. The system takes an object-oriented approach to define classes and ensure proper responsibility of each class.

Assignment deadlines piling up? Let Assignment Help UK ease your burden with expert Assignment Help in UK tailored for student success.

Use Case Descriptions

Use Case Diagram

Figure 1: Use Case Diagram

View Party Vote Percentage: This use case allows the user to provide the name of a party and to find out what percentage of votes that party got in different constituencies (Sallal et al. 2023). The system calculates it as a percentage against the total number of votes polled and reflects it back in an easily understandable format.

Menu Options

Figure 2: Menu Options

  • View Constituency Details: The user can query the system by the name of a constituency. This, in return, the system will retrieve and display information regarding the details of that constituency, such as name of the Member of Parliament, their party affiliation, total number of votes and invalid votes.
  • View MP Statistics: This feature enables the user to access statistics regarding MPs, such as the total number of MPs, the number of female MPs, and the gender distribution within the MP population(Rathee et al. 2021). This use case also calculates and displays additional statistics related to MPs' performance across constituencies.
  • Save Data to CSV: Users can download the election data into a CSV file. This aspect ensures that processed results-included data on constituencies, party votes, and MP statistics-will be saved for latter use or analysis.
  • Process Election Data: The system allows users to upload election data stored in CSV files. Once uploaded, the data is processed into structured formats that can be queried for analysis. This use case forms the core of the data analysis functionality.

Class Diagram

Class Diagram

Figure 3: Class Diagram

  • MP Class: This class describes a single Member of Parliament. It holds variables first_name, last_name, party, votes_cast and methods for retrieval and modification of these variables.
  • Party Class: This Party class is an aggregator for the data of every political party. Variables used here include party_name, total_votes and num_candidates. It also contains methods that give the overall statistics of a party.
  • Constituency Class: The Constituency class serves to store name, region, electorate information, among others, pertaining to the constituency. It would also work to manage and relate constitutencies in relation to MPs and Parties(Tanwar et al. 2024). Those classes will now work interdependently within a highly cohesive and highly functional structure, with individual components always modular and adaptable for both extension and, if deemed necessary, modification.

Table of Tests

The Voting Analysis System is thoroughly tested during development so that all functionalities are in the expected working condition(Daramola and Thebus, 2020). All of the test cases given below were designed to test specific parts of the functionality of the system.

Test Case Description Expected Result Actual Result Pass/Fail
Test 1 Load data from CSV file Data should be correctly loaded and processed into the system Data loaded successfully without errors Pass
Test 2 Calculate total votes across constituencies The system should display the correct total number of votes cast Total votes calculated correctly Pass
Test 3 Calculate party vote percentage The system should display the correct percentage of votes for a given party Party vote percentage correctly calculated Pass
Test 4 Save data to CSV Data should be saved in CSV format without corruption Data saved correctly in CSV format Pass
Test 5 View constituency details Constituency details, such as MP, party, and votes, should be displayed Constituency data displayed as expected Pass
Test 6 View statistics on MPs Total number of MPs and the number of female MPs should be accurate MP statistics are displayed correctly Pass

Critique

What Worked: The system met all requirements specified in the project description, and it processed and analyzed the election data. An object-oriented design was used so that the system could easily maintain modularity, especially clear class responsibilities for MPs, parties, and constituencies. The system is capable of loading CSV files, calculating party vote percentages, displaying detailed constituency information, and providing various statistics of MPs. Another important functionality was export to CSV, whereby results were saved for sharing and further processing(Daraghmi et al. 2024). One of the strengths in the system was the handling of large quantities of data sets with efficiency. Using pandas on reading and processing of the CSV file meant that the system could handle significant amounts of election data processing. Although user interface was basic, in general, it was rather easy to navigate through the list of existing functionalities.

What Didn’t Work: Although the system proved to work fine when formatted data was inputted into it, it could not handle invalid or incomplete data well. The system fails to provide meaningful error messages and does not have any mechanism in place for handling malformed or missing data in the CSV files that it reads. This reduces the robustness of the system, especially when dealing with messy, real-world data. The other drawback was that the system had no GUI. Although a text-based interface was sufficient to carry out the task, a user who is unfamiliar with the command-line interface will find it inconvenient. With the inclusion of GUI, it would be much easier to visualize the data and to interact with the system.

What Could Have Been Improved

  • Error Handling and Data Validation:Implementing strong error handling for invalid or the incomplete data improves the reliability of the system with a notification to the users when their input is incorrect.
  • Graphical User Interface (GUI): Moving away from a text-based interface to a graphical user interface would make the system more amenable and accessible to a lot of people(Chaabane et al. 2022). A web-based interface built using frameworks like Flask or Django could allow users to use their browsers to interact with the system.
  • Data Visualization: Adding visualization of data capabilities would really drive the user experience on a higher level. For instance, the vote shares of parties can be visualized using bar charts, pie charts, or line graphs, while MP statistics and constituency details can be represented. Libraries such as Matplotlib or Plotly can be incorporated for this functionality.
  • Extensibility: Further improvement of the system may add support for additional election-related analyses, like following how results change over time or comparisons of voter turnout by constituencies. The implementation of these improvements may further fortify the system as it may be made more robust, user friendly, and rich in feature, thereby offering a much better experience in the handling of election data to its users.

Reference List

Journals

  • Rathee, G., Iqbal, R., Waqar, O. and Bashir, A.K., 2021. On the design and implementation of a blockchain enabled e-voting application within iot-oriented smart cities. IEEE Access, 9, pp.34165-34176.
  • Tanwar, S., Gupta, N., Kumar, P. and Hu, Y.C., 2024. Implementation of blockchain-based e-voting system. Multimedia Tools and Applications, 83(1), pp.1449-1480.
  • Daraghmi, E., Hamoudi, A. and Abu Helou, M., 2024. Decentralizing Democracy: Secure and Transparent E-Voting Systems with Blockchain Technology in the Context of Palestine. Future Internet, 16(11), p.388.
  • Chaabane, F., Ktari, J., Frikha, T. and Hamam, H., 2022. Low power blockchained e-vote platform for university environment. Future Internet, 14(9), p.269.
  • Sallal, M., de Fréin, R. and Malik, A., 2023. Pvpbc: Privacy and verifiability preserving e-voting based on permissioned blockchain. Future Internet, 15(4), p.121.
  • Daramola, O. and Thebus, D., 2020, May. Architecture-centric evaluation of blockchain-based smart contract e-voting for national elections. In Informatics (Vol. 7, No. 2, p. 16). MDPI.
Get flat 55% off on your first order

×
Securing Higher Grades Costing Your Pocket? Book Your Assignment At The Lowest Price Now!
X