Portfolio for SNHU's CS-230 Operating Platforms, taken May-June 2021, focused on Operating Systems & Java.
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 software company The Gaming Room had developed a successful web-based game, called "Draw It or Lose It", that they wanted to produce a mobile app version for to expand their potential customer base.
What did you do particularly well in developing this documentation? The Domain Model was the portion I believe I did best with, by creating an earlier UML model and writing an explanation of what all classes, attributes, and methods were.
What about the process of working through a design document did you find helpful when developing the code? The domain model helped me visualize all the needed methods and how they related to each other, and the class they were in or would be inherited too.
If you could choose one part of your work on these documents to revise, what would you pick? How would you improve it? I would like to revise the evaluations section. Given more time I would have like to re-read all the related textbook sections and do some additional research. I struggled with some of the concepts that would have allowed me to better write this section in particular. This section in particular needs addition details and explanation.
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? By figuring out which of the client’s wants are design constraints and which are features, one can find where to start working on the application, and what technologies may be best to fulfill the client’s needs. This can help further design the software and help the client understand the potential cost of developing and maintaining the software post-launch.
How did you approach designing software? What techniques or strategies would you use in the future to analyze and design a similar software application? By dividing the needs of the application into design constraints and features, I can focus on the areas of the application that are critical first and then create the features to fulfill the vision of the application. The design constraint help establish a minimal viable product, whereas features help grow the work into the client’s full vision. Through the use of documentation and UML models, I can make and record decisions while also growing the application to maintain forward momentum in the project rather than repeating work or wasting effort.