FOUNDATION IN APPLICATION DEVELOPMENT:

  • Java Object Oriented Programming

Project1 - Create a Pseudocode and Flowchart along with a basic class for Pet to show format understanding and structure of referenced class by crosschecking with associated UML diagram.

Project2 - to create a system menu to generate animals into a database that listed animal rescues. origination of country, details on animals, reservations for animals, and status of training.

Added Java files using operators to calculate Surface area and paint amount required to cover it.

Added a course administration program I created to practice basic search.


OPERATING PLATFORMS:

  • CS-30406: Utilize software design templates and patterns to efficiently solve a problem
  • CS-30407: Analyze the characteristics of and techniques specific to various systems architectures
  • CS-30408: Evaluate the characteristics, advantages, and weaknesses of various platforms
  • Briefly summarize The Gaming Room client and their software requirements. Who was the client? What type of software did they want you to design?
  • What did you do particularly well in developing this documentation?
  • What about the process of working through a design document did you find helpful when developing the code?
  • If you could choose one part of your work on these documents to revise, what would you pick? How would you improve it?
  • 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?
  • How did you approach designing software? What techniques or strategies would you use in the future to analyze and design a similar software application?

The Gaming Room is a client who wanted me to design a new multiplayer game called "Draw It or Lose It" that could be played on multiple platforms. The game involved players competing with each other by drawing objects and guessing what other players have drawn. The client requested a software design document that detailed the recommended operating platform, operating systems architecture, storage management, memory management, distributed systems and networks, and security measures for the game.

In developing this documentation, I made sure to thoroughly analyze and research each aspect of the software design, ensuring that all recommendations were appropriate and feasible for the project. I also used clear and concise language, making the document easy to understand and follow.

Working through the design document was helpful in developing the code as it allowed me to identify potential issues and dependencies early on, reducing the likelihood of encountering major problems during the coding process.

If I could revise one part of my work on these documents, I would focus on providing more detailed examples of how the recommended technologies and techniques could be implemented within the Draw It or Lose It game.

Interpreting the user's needs was crucial in designing the software as it allowed me to create a product that met their specific requirements and goals. Considering the user's needs is important as it ensures that the final product is user-friendly, efficient, and effective.

To approach designing software, I use a combination of research, brainstorming, and prototyping techniques. In the future, I would continue to analyze and research each aspect of the software design, considering potential issues and dependencies early on in the process. Additionally, I would prioritize creating a user-friendly and efficient product by continuously testing and improving the software.


SOFTWARE DEVELOPMENT LIFECYCLE:

  • How do I interpret user needs and implement them into a program? How does creating “user stories” help with this?
  • How do I approach developing programs? What agile processes do I hope to incorporate into my future development work?
  • What does it mean to be a good team member in software development?

Interpreting user needs and implementing them into a program is an essential part of software development. One approach to understanding user needs is to create user stories. User stories are short, simple descriptions of a feature or requirement from the perspective of an end-user. They are often written in a specific format, such as "As a [user], I want [goal], so that [reason]." User stories help to clarify what the user wants, why they want it, and how it fits into the larger context of the software system.

When creating a program, it's important to approach the development process systematically. One common methodology is agile development, which emphasizes collaboration, flexibility, and iterative development. Some agile processes that developers may incorporate into their work include Scrum, Kanban, and Extreme Programming (XP). Scrum involves short, focused development sprints with regular check-ins and feedback, while Kanban emphasizes continuous flow and visual management. XP emphasizes teamwork, communication, and frequent testing and feedback.

Being a good team member in software development involves several key qualities. First and foremost, communication is critical. Good team members communicate clearly and effectively with their colleagues, stakeholders, and end-users. They listen actively and seek feedback to ensure they understand what is needed. Collaboration and teamwork are also essential, as software development is typically a team effort. Good team members are supportive and work collaboratively to achieve shared goals. Additionally, good team members are flexible and adaptable, able to respond to changing requirements or unexpected challenges. Finally, good team members are committed to producing high-quality work, taking pride in their work and striving for excellence.