CS-230 covers alot of material revolving around system architectures, and the difference between different operating systems. This includes discussions regarding storage and memory management, security, programming languages, and much more. Included in CS-230 are dicussions and examples of software design patterns and templates - and how they might be utilized on different operating systems. Throughout the course we have been developing a software design document for a company called The Game Room for their application, Draw It or Lose It.
Draw It or Lose It will be a multiplayer, cross-platform application that needs to support games between multiple teams, each with multiple players. The game must be able to transfer a random image from a library of at least 200 images to a growing number of distributed users.
Creating the design document will allow development of the game to proceed efficiently and thoughtfully. It allows for more clarity durning the develpment process which should prevent unneccesary refactoring during the development process.
- Project 1 begins the process of creating the design document, and creating starter java code creating an Entity class as a base class, and other classes using the singleton and iterator patterns to provide a foundation for future development efforts. Project 1 also intoroduces UML diagrams that we use to model the application.
- Project 2 develops the design document further by evaluating how best to architect our application answering questions like: What Operating System, client-server design, etc.
- Project 3 finalizes the document by completing the Recomendations section.
The Project 3 guidelines requires the following:
Analyze the characteristics of and techniques specific to various systems architectures and make a recommendation to The Gaming Room. Specifically, address the following in the Recommendations section of the software design document:
- Operating Platform: Recommend an appropriate operating (server) platform that will allow The Gaming Room to expand Draw It or Lose It to other computing environments.
- Operating Systems Architectures: Describe the details of the chosen operating platform architectures.
- Storage Management: Identify an appropriate storage management system to be used with the recommended operating platform.
- Memory Management: Explain how the recommended operating platform uses memory management techniques for the Draw It or Lose It software.
- Distributed Systems and Networks: Knowing that the client would like Draw It or Lose It to communicate between various platforms, explain how this may be accomplished with distributed software and the network that connects the devices. Consider the dependencies between the components within the distributed systems and networks (connectivity, outages, and so on).
- Security: Security is a must-have for the client. Explain how to protect user information on and between various platforms. Consider the user protection and security capabilities of the recommended operating platform.
From the SNHU Rubric