Patrick Valencia's Portfolio
- 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 Game Room client is a game developer in which they want to branch out to a bigger audience by creating a web-based version of their android game app Draw It or Lose It. Their requirements involve having their game have the ability to have one or more teams. Each team will have multiple players assigned to them, and the game and team names must be unique to allow users to check whether a name is in use when choosing a team name. Finally one of the most important ones is that only one instance of the game can exist in memory at any given time.
- What did you do particularly well in developing this documentation?
I believe that for this documentation I did an exceptionally well job in keeping the documentation organized and well thought out. All the topics within the documentation flow well and have a general purpose in the way they are structured.
- What about the process of working through a design document did you find helpful when developing the code?
Working with this documentation in order to help develop code was incredibly helpful. The documentation made it easier to streamline code development as well as helped in finding potential problems that might arise with each operating system. Additionally, the organization of each topic helped guide code development in reminding the developer of what the client wants for their game application.
- If you could choose one part of your work on these documents to revise, what would you pick? How would you improve it?
One part of the document that I would choose to revise would be the Recommendations section of the document. So far it is very informative and does give the client the best options from each section in order to make the web-based game a success. But I would've liked to add some more details in each recommended sections, or at the very least have given more reasons as to why I choose each of these applications and for their uses in order to give the client a better sense of how important these things are.
- 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?
I tried my best within this documentation to interpret and implement the user's needs into this software design. The way I tried to interpret the user's needs was to put myself into their shoes. Every action and step I took was something that a user would do if they had no idea on how the program works. I would make sure to try and break said program and try to find out how they exactly think. In addition its important to consider the user's needs when designing said program because they are the ones that will be using the program the most and it should be enjoyable for them.
- How did you approach designing software? What techniques or strategies would you use in the future to analyze and design a similar software application?
For designing the software, my approach was to break it down into smaller chunks and then take it from the top. In addition when choosing which topics to work on from the bigger chunks, I would choose the more important ones and more time consuming ones and then work from there. This is a very sound strategy as it provides a divide and conquer mentality and helps focus on getting important tasks done within a timely manner. I would also use this approach for future applications as it is incredibly effective and efficient.