bobby-rust / CS-230-Operating-Platforms---The-Gaming-Room-Documentation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CS-230-Operating-Platforms---The-Gaming-Room-Documentation

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 with a game called Draw It or Lose It which is a popular game available only on Android devices. They wanted to take make their game available and accessible to more players by creating a Web based version of their game using a distributed environment in which players from multiple different platforms could play together.

What did you do particularly well in developing this documentation?

I was very comfortable with the Domain Model section where I went over and described each class used in the application. The application was written in Java, so an OOP based design was used for development. The Domain Model section goes over each class in depth, including its member variables and methods used as well as what OOP concepts were to be used to accomplish the development task.

What about the process of working through a design document did you find helpful when developing the code?

The UML diagram created was referenced thoroughly throughout the development of the application. Planning each piece of the application that was going to be needed and how it was going to be implemented streamlined the development process. The UML diagram that was created provides a simple, organized, and easily readable way to stay on track while developing by separating the planning process from implementation, which essentially modularizes the development process itself.

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 improve the Design Constraints section. I could have went into more detail about why and how the requirements influenced influenced the design constraints, and other potential solutions that would have been applicable but were not chosen.

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?

Focusing on the user's needs when designing a software application ensures that a developer's priorities are in order. Each user need can be broken down into one or many user stories, which a developer then implements. This ensures that progress is being made and the most important parts of the software are being thought about the most, because the user experience is ultimately what matters once the product ships.

How did you approach designing software? What techniques or strategies would you use in the future to analyze and design a similar software application?

Using an object-oriented approach gave an elegant way to reason about different parts of the software and what its purpose was. In future development projects, I will create UML diagrams prior to implementation to keep the entire development process organized and efficient. A well-designed software application is essential for complex projects.

About