Requirements And Design For Mini-Golf Scoring System
Requirements and Design for Mini-Golf Scoring System
This project involves designing a scoring system for a mini-golf course chain that automates the scoring process using networked card-swipe stations and a central computer. The system aims to streamline scoring, improve accuracy, and enhance the customer experience by reducing manual record-keeping and enabling quick score retrieval. The requirements encompass functional tasks like issuing swipe cards, recording scores after each hole, and printing final scorecards, as well as operational considerations like handling network outages. The design must incorporate detailed use-case descriptions, system requirements, and class structures, either through text, UML diagrams, or a combination thereof.
Use-Case Description
The primary use-case revolves around players participating in a round of mini-golf, utilizing swipe cards for scoring. When players pay for their game, they receive a disposable swipe card printed with their name. During the game, after each hole, players swipe their card at a designated station and input the number of strokes taken. The station displays their name and current score, aiding real-time tracking. Scores and player data are stored centrally, ensuring data persistence and integrity. After completing all holes, players return their swipe cards and request a printed scorecard, which may include discounts or promotional content. The system must account for possible network failures, allowing score entry and retrieval to be handled locally when connectivity is unavailable.
Functional Requirements
- Card Issuance: When a player pays, the system issues a disposable swipe card printed with the player's name. The card is linked to the player's session in the central database.
- Score Entry: After each hole, players swipe their card at the hole's station and input the number of strokes. The system records this score against the player's profile.
- Display Updates: The station displays the player's name and updated score relative to par, facilitating real-time feedback.
- Score Locking: Once a score is entered for a hole, it cannot be modified, ensuring data accuracy.
- Finish and Printout: Upon completing all holes, players can turn in their card and request a printed scorecard, which includes total strokes, score relative to par, and promotional material.
- Data Storage: Player names, scores, and session data are stored on the central computer, not on the swipe card itself.
- Network Failure Handling: The system must support offline operation, temporarily storing data locally and syncing with the central database once connectivity is restored.
Non-Functional (Operational) Requirements
- System Availability: The system should operate with 99.9% uptime, with failover mechanisms to handle network outages.
- Security: Player data and scores must be protected against unauthorized access, with encrypted communication between stations and the central server.
- User Interface: The swipe stations should display clear prompts and scores, accommodating users with minimal technical literacy.
- Performance: Score entry and retrieval should occur within 2 seconds under normal network conditions.
- Cost-effectiveness: Hardware and system design should be economical to ensure affordability for the mini-golf chain.
- Maintainability: The system should allow easy updates and troubleshooting procedures.
System Description and Technology Requirements
The system consists of multiple swipe stations connected via a network to a central computer server. The stations feature card readers, input keypads, and display screens. Communication protocols such as TCP/IP over Ethernet are recommended to ensure reliability and scalability. The central server hosts the database managing player profiles, scores, and session information. Data synchronization mechanisms are vital for handling offline scenarios, potentially utilizing local caching and batch updates upon reconnection.
Class Design
The class structure comprises core entities like Player, Score, GameSession, and Station. Key members include:
- Player: Attributes: playerID, name; Methods: createProfile(), updateProfile().
- Score: Attributes: holeNumber, strokes; Methods: recordScore(), getScore().
- GameSession: Attributes: sessionID, player, list of scores, startTime, endTime; Methods: startSession(), endSession(), getTotalScore().
- Station: Attributes: stationID, location; Methods: inputScore(), displayScore().
For visual clarity, UML class diagrams can be utilized to demonstrate relationships such as association between Player and GameSession, and composition of Scores within a GameSession.
Conclusion
This system design meets the functional goal of automating mini-golf scoring while considering operational stability, user experience, and cost-efficiency. The use-case analysis and class design serve as a foundation for further detailed implementation and testing. Emphasizing resilience in network design ensures continuous operation despite potential connectivity issues, aligning with best practices in distributed system development.
References
- Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems (7th ed.). Pearson.
- Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach (8th ed.). McGraw-Hill.
- Sommerville, I. (2016). Software Engineering (10th ed.). Pearson.
- Boehm, B. W. (1981). Software Engineering Economics. IEEE Software, 1(1), 61-71.
- ISO/IEC 25010:2011. Systems and software engineering — Systems and software quality requirements and evaluation (SQuaRE) — System and software quality models.
- Kruchten, P. (1995). The Rational Unified Process: An Introduction. IEEE Software, 12(2), 22-27.
- IEEE Standards Association. (2014). IEEE Standard for Software User Documentation. IEEE Std 829-2008.
- Schwaber, K., & Beedle, M. (2002). Agile Software Development with Scrum. Prentice Hall.
- Bass, L., Clements, P., & Kazman, R. (2012). Software Architecture in Practice (3rd ed.). Addison-Wesley.
- Deitel, P. J., & Deitel, H. M. (2014). C How to Program (8th ed.). Pearson.