HW1‐PartA: Formulating Software Requirements - UTDClassroomOrg/RushilPatel-Individual-HW1 GitHub Wiki

List of Formulated Functional Requirements:

FR Description Priority (1-10): Ranking by dependencies
FR1 The game must allow players to choose between three predefined difficulty levels: Easy, Normal, and Hard, which modify enemy health (+10% per level), enemy speed (+5% per level), and wave frequency (-1 second per level). 1
FR2 The game must allow players to place cybersecurity-related blockers, such as firewalls, intrusion detection systems (IDS), and antivirus scanners, to defend against incoming cyber threats. These towers must have different effects, such as slowing down, blocking, or eliminating cyber threats. 2

List of Formulated Non-functional (Quality) Requirements:

(Non-functional requirements focus on aspects such as usability, performance, and user experience. These must be converted into functional requirements for implementation.)

NFR Description (Clarification) What does it mean? (Operationalization) Map to FR - Traceability between NFR and FRs
NFR1 The game must provide clear visual differentiation between different tower types and cyber threats. Players should be able to quickly identify which towers are deployed and which threats they are facing through distinct colors, animations, or icons. FR3: The game must implement unique sprites, color schemes, and animations for each tower and enemy type.
NFR2 The game must display a real-time score and performance feedback to keep players informed of their progress. Players should see their current score, number of enemies defeated, and cybersecurity question accuracy in real-time during gameplay. FR4: The game must display a dynamic score counter and progress tracker that updates after every enemy defeated or cybersecurity question answered.

Constraints:

(Constraints typically refer to limitations imposed by the system's environment, hardware, or other external factors that may impact the design and implementation of the system. They are not FR and NFR!)

  • C1. The game must be fully developed using the Java programming language and Greenfoot framework.
  • C2. The game must not exceed a total file size of 100MB to ensure smooth deployment on lower-end devices.