Secure Systems Engineering, Spring 2024

Project Check-In 1

Introduction

Today we discussed the security considerations that go into electronic voting. Now that you have an idea of how voting works, it is now time to plan your own voting machine code. The questions below are designed to get you thinking about how your group is going to design and implement your code. For now, focus on the “honest” implementation – do not consider backdoors just yet. Think about what you need to do to get the minimal functionality ready.

Discuss each question with your group. Then, distill your discussion into 2-3 sentences, and write up a response. Submit your responses to all questions to Blackboard. Your responses to these questions are not binding, but give them some thought as you talk among each other.

Planning questions

  1. What is the architecture of your solution? Describe each part of your implementation, and how they connect to each other to provide the required functionality.
  2. How will you organize your code? What modules will you define for each functionality?
  3. What is the user interface for the project? Will it be a command line interface, terminal application, a graphical application, a website, or something else?
  4. What are the errors and edge cases that you need to handle
  5. How will you break down the implementation into smaller, more manageable tasks?
  6. Which members of your group have been assigned to each task?
  7. When do you expect each task to be completed? How will you track progress?
  8. Do you plan on adding any additional features into the voting machine? If so, what?
  9. How will you ensure that each group member contributes equally to the project?
  10. How will you test your code?

What to turn in

Upload the following to Blackboard before the due date above:

Only one submission per group is necessary. Blackboard is set up with your project groups for this check-in.