Briefly summarize The Gaming Room client and their software requirements. Who was the client? What type of software did they want you to design?
The Gaming Room is a company looking to develop a web-based version of their current game, Draw It or Lose It, that serves multiple platforms. The Gaming Room required that the Draw It or Lose It game have the ability to have one or more teams involved as well as the the ability for each team to have multiple players assigned to it. The Gaming Room also required that team names be unique to allow users to check whether a name is already in use when choosing a team name and that only one instance of the game can exist in memory at any given time.
I feel that I used the research I conducted on developing applications for various operating systems to give The Gaming Room an educated recommendation of which OS to continue developing their game, Draw It or Lose It on. I kept The Gaming Room's software requirements in mind and referred to the evaluation section of the design document to suggest an operating system that I felt best aligned with their vision for Draw It or Lose It.
What about the process of working through a design document did you find helpful when developing the code?
Referring to the design document when developing the code was incredibly useful as it helped me to see the desired final product as a whole and influenced my programming choices by helping me understand how everything needed to work together in order for the game to be successful.
If you could choose one part of your work on these documents to revise, what would you pick? How would you improve it?
If I could pick one part of my work on these documents to revise, it would be my overall format. For a technical document, I feel my explanations were a bit lengthy and could've been more succinct and to the point.
How did you interpret the user’s needs and implement them into your software design? Why is it so important to consider the user’s needs when designing?
It's important to consider the user's needs when designing software because they will be the ones actually using the product and ultimately, will be the ones deciding whether the final product is successful or not. I interpreted the user's needs through The Gaming Room's overview of the Draw It or Lose It game and the software requirements they shared, such as that team names must be unique. To implement this requirement into my software design, I created unique identifiers for each instance of a team.
How did you approach designing software? What techniques or strategies would you use in the future to analyze and design a similar software application?
I approached designing the software by conceptualizing the entire system first and then dividing the work into multiple parts. As mentioned previously, visualizing the game as a whole first, really helped me to identify how each piece needed to work together to meet The Gaming Room's requirements. If I were to design a similar software application in the future, I'd try to find another game like the one I'm designing and see how the developer on that project put everything together; seeing the coding behind their program might give me creative solutions and new ideas to help develop my software in the most efficient way possible.