Homework Assignment: Preparing for Object-Oriented Systems
Objective:
Prepare for upcoming discussions on object modeling, focusing on object identification, classification, and the use of UML for object-oriented design. This preparation is the next step in our class project of designing the software version of the game “Battleship.”
Tasks:
Watch:
- Classes and Objects with Python – Part 1 (Python Tutorial #9)https://www.youtube.com/watch?v=wfcWRAxRVBALinks to an external site.
- Classes and Objects with Python – Part 2 (Python Tutorial #10)https://www.youtube.com/watch?v=WOwi0h_-dfALinks to an external site.
- UML class diagrams https://www.youtube.com/watch?v=6XrL5jXmTwMLinks to an external site.
- This might be helpful in getting up to speed with Lucid (although it goes into features we will not use) –https://www.youtube.com/watch?v=kM1B-jQUeVILinks to an external site.
Do:
- Create a FREE account on https://lucid.co/Links to an external site.
- Create a new document
- Choose the option diagramming and flowcharts and click the button “start diagramming”
- Choose engineering and individual contributor if it asks you what your role is
- Choose UML diagrams
- First, choose a use case diagram
- Now create a use case for the RED player in the game Battleship
- When you are done, go to file -> export and export a PNG image file of your diagram
- Now choose the button on the left menu “Template gallery”
- Find the UML Class template
- Now create the basic models for the game Battleship — there are many ways to do this, but you should have at least 5 classes in your diagram with several parameters within each
- When you are done, go to file -> export and export a PNG image file of your UML classes
This exercise will help you explore the basics of object modeling in software design. Focus on understanding object identification, the role of entity, boundary, and control objects in system design, and provides an introduction to UML (Unified Modeling Language).
You will submit a single document of your work to Canvas, including:
- the use case diagram image you exported from Lucid above
- a few paragraphs explaining the use case — imagine I am a new jr. programmer on the team. What is the image you provided — what am I looking at?
- the UML class template image from Lucid above
- a few paragraphs explaining the classes and how we might use them.
This should be three-pages total and provide an introductory technical analysis of the “Battleship” game from an object-oriented perspective. Identify potential entity, boundary, and control objects you might encounter in the game’s software design. Discuss possible classes, their attributes, and methods that could be relevant to the game’s implementation.