Skip to content

ABtechy/CS230-Operating-Platforms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

CS230

The Gaming Hub software design- DRAW IT OR LOSE IT

Project Summary The Gaming Room sought to expand their successful Android-only game, Draw It or Lose It, into a scalable, web-based platform. The game involves four timed rounds where teams compete to render and guess images. To support this transition, the client requested a Java-based, object-oriented application that could run in modern browsers, support multiple teams and players, enforce unique names, and maintain performance and security across sessions.

What I Did Well Based on the client's needs, I developed a clear and organized design document that thoroughly addressed both functional and non-functional requirements. I paid close attention to modularity, scalability, and maintainability, ensuring that the architecture could grow with user demands. My domain model and evaluation sections were especially strong — I broke down platform comparisons in a way that was both technical and accessible, which helped justify the final recommendation of Linux.

What Helped Me Most The design document gave me a solid foundation before touching code. It helped me visualize the system architecture, clarify relationships between objects, and anticipate challenges like concurrency and data validation. By mapping out the domain model early, I was able to stay focused and avoid redundant logic during development.

What I’d Revise If afforded more time, I’d refine the System Architecture View. It wasn’t a requirement for this project, but I now see how a visual representation of tiers and communication flow could enhance clarity for future developers. I’d also expand the implementation strategy to include more detail on testing tools and deployment pipelines.

Interpreting and Implementing User Needs Considering user needs is critical because it ensures the software is not only functional but intuitive and reliable. Ignoring those needs risks building something technically sound but practically unusable.I interpreted the client’s needs by focusing on performance, fairness, and accessibility. The requirement for a single game instance in memory, unique team/player names, and real-time responsiveness shaped the entire design.

My Design Approach I approached the design with an Agile mindset, breaking the work into phases and focusing on iterative improvement. I used UML diagrams to model relationships and leaned on object-oriented principles to reduce redundancy and improve maintainability. In future projects, I’d continue using techniques like domain modeling, platform evaluation, and phased implementation planning. I’d also incorporate tools like Docker and CI/CD pipelines earlier to support scalability and smoother deployment.

About

The Gaming Hub software design

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published