Skip to content

rscook1219/SoftwareDesignTemplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

SoftwareDesignTemplate

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 was a mobile app game creator with experienced success launching a puzzle competition game on the Android platform. The client wanted to develop a web-based version of its current Android app to make the game available across multiple platforms and devices.

What did you do particularly well in developing this documentation? I wrote a comprehensive recommendation section outlining key areas for the client’s consideration including the host operating system (OS), memory and storage management solutions on host servers, the API framework, security, and the benefits of leveraging serverless architecture to launch the product. I made a strong case as to why a cloud platform was the best choice for the client and their goal.

What about the process of working through a design document did you find helpful when developing the code? Analyzing the domain model depicted as a UML class diagram proved beneficial in understanding the structure of and relationship between entities representing the app components. This helped in developing concise classes with straightforward methods that leveraged other entities in direct fashion to form a clean prototype.

If you could choose one part of your work on these documents to revise, what would you pick? How would you improve it? The evaluation section comparing and contrasting popular OSs (i.e. Mac, Windows, Linux) and mobile platforms could be improved with a deeper dive into the nuances between the platforms on the client side. The web browser is the main client-side concern, as it's the main engine running the app for the client. Research into the nuances between OSs for web-based solutions returned limited insight. OS favor toward particular browsers (i.e. Windows to Edge, Mac to Safari, etc.) could be analyzed in more depth to see if non-favored browsers introduce technical or performance constraints.

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? Key needs to consider for the user when developing web based apps are speed and intuitiveness (i.e. usability). Quality characteristics (i.e. look and feel) are also important, but less so when compared to speed and usability. A user may continue to use the app if they don’t care for the look, but will leave the site if functionality is ambiguous or slow. User needs are of paramount consideration because, as the product’s consumer, they are the ultimate source of revenue for the client.

How did you approach designing software? What techniques or strategies would you use in the future to analyze and design a similar software application? To design software, start vague and work toward preciseness. Take high level objectives and work them through varying iterations to turn them into the final solution. For example, a client’s business objectives can be broken down into functional requirements outlining the key pieces of functionality needed to meet those objectives. Functional requirements can be further broken down into technical requirements that outline the technical approach to functional fulfillment. Technical requirements can then be translated into design documents, architecture, and code that fulfills those requirements and delivers the final solution.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published