Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using the simplified OOD methodology: 1.Write down a detailed description of the

ID: 3659846 • Letter: U

Question

Using the simplified OOD methodology: 1.Write down a detailed description of the problem. 2 .Identify all the (relevant) nouns and verbs. 3. From the list of nouns, select the objects. Identify the data components of each object. 4. From the list of verbs, select the operations. Your local police department wants to design new software to keep track of people, property, and criminal activity. List at least three classes you think should be in the design. For each class, identify some data members and methods.

Explanation / Answer

Remember that in OOD (Object Oriented Design), you need to have a properly formulated problem statement. I'll illustrate using an example:

Problem: Police department wants to keep track of people, property and criminal activity.

Step 1: Detailed Description

Police Department (say NYPD) wants to make a software that will keep track of all citizens in their jurisdiction. The people have unique IDs which can be tracked. The NYPD have observers and cameras which send reports on people at regular intervals. Also, the property office has an officer who informs the police about all new deals.

Step 2: Identify all nouns and verbs (This is for listing the use cases and actors)

Nouns:
Police
People ---> Object1
Property ---> Object 2
Criminal Activity ----> Object 3 (possibly attribute of Object 1 and 2)

Verbs:
Track ---> Function of the classes

Lets create 3 basic classes:
1. Class InformationGatherer

a. This class gathers all info sent by the classes which track people and property
b. This class also flags criminal activity

Members:
a. Report (obtained from People and Property class)
b. Notifier (reports criminal activity to Police)

Methods:
a. getInfo (get info from People and Property class)
b. isCriminal (check if report indicates criminal activty)

2. Class People
//Each person is an instance of this class
Members:
a. Name
b. UID
c. Address
d. ActivityList

Methods:
a. sendReport
b. track

3. Class Property
Members:
a. propertyAddress
b. BuyerID
c. SellID
d. DealAmount
e. DealDate

Methods:
a. SendInfo
b. track