Skip to content

eeish111/CS-230

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

CS-230

CS-230 Operating Platforms (The Gaming Room)

The Client and Requirements

The client for this project was The Gaming Room, a company that developed an Android-only game called Draw It or Lose It. They wanted to expand the game to run across multiple platforms, including Windows, Mac, Linux, and mobile devices, by moving to a web-based solution. Their requirements included ensuring that games, teams, and players had unique identifiers, limiting the system to one game instance in memory at a time, and supporting multiple players and teams in a scalable, secure environment.

What I Did Well

I think I did particularly well at organizing the software requirements and translating them into clear sections of the design document. I made sure to explain how object-oriented principles like inheritance and encapsulation supported the client’s needs, and I also included operating platform evaluations that compared costs, scalability, and licensing. This helped create a professional document that could guide both the client and the development team.

Helpful Parts of the Process

Working through the design document step by step was very helpful when it came time to think about the code. For example, writing about constraints around memory and storage made me more aware of how the system would need to manage image rendering and scaling. Mapping out requirements and constraints also gave me a clear picture of what had to be built, which made the code implementation less overwhelming.

What I Would Revise

If I could revise one part of my work, I would improve the detail in the Design Constraints section. My initial submission focused too heavily on repeating requirements instead of identifying operating system challenges. After receiving feedback, I learned how important it is to explain memory, storage, and security concerns in terms of platform-specific limitations. If I redid this section, I would be more detailed about differences between Linux, Mac, and Windows server environments.

Interpreting User Needs

I interpreted the client’s needs by looking carefully at the prompt and focusing on what was explicitly requested rather than making assumptions. For example, when the client asked for a web-based system that supports multiple platforms, I researched server-side scalability and client-side browser compatibility. Considering user needs is important because if the final product does not meet what the client asked for, the software may fail to deliver value even if it is well-written technically.

Approach to Designing Software

My approach to designing software was to break down the requirements into smaller, manageable sections (executive summary, constraints, evaluation, and recommendations). I used a mix of OOP principles, platform research, and industry practices like using UML diagrams and singleton/iterator design patterns. In the future, I would continue using this structured approach but also add more diagrams or visual aids earlier in the process to better communicate my ideas. I would also rely more heavily on in-text citations to tie my design choices to research and readings.

About

CS-230 Operating Platforms (The Gaming Room)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors