Module Five covers object oriented (OO) design, a new methodology that is distinctly different from traditional structured design. While OO design works well for agile projects using languages like Java, transitioning existing projects can be costly. As a systems analyst, it is important to remain open-minded and choose methodologies based on each project's specific needs and parameters.
Module Five covers object oriented (OO) design, a new methodology that is distinctly different from traditional structured design. While OO design works well for agile projects using languages like Java, transitioning existing projects can be costly. As a systems analyst, it is important to remain open-minded and choose methodologies based on each project's specific needs and parameters.
Module Five covers object oriented (OO) design, a new methodology that is distinctly different from traditional structured design. While OO design works well for agile projects using languages like Java, transitioning existing projects can be costly. As a systems analyst, it is important to remain open-minded and choose methodologies based on each project's specific needs and parameters.
Module Five covers the topic of object oriented (OO)
design, which is the new methodology. The OO design is
distinctly different from the structured or “traditional” design, which was covered in Module Four. As with all traditional models, there are new, different models created that some think are a much more improved way to the old way. In Modules Four and Five, these distinctly different models are presented because a systems analyst should be agnostic to a design methodology. There are projects that benefit from using structured designs and projects that benefit from using OO design. Most organizations have standardized on structured design methods. Considering the years of investment put into the process, the training, and the document templates, transitioning to OO design is typically not a good financial decision, as it is a very costly transition. This is especially true since there is not a business case that supports OO design being more cost effective, providing better system designs, etc. than existing structured design. The OO design methodologies are prevalent in newer companies because OO was the current model used as newer companies began building the IT system analysis processes.
Be aware, similar to many old and new ideas, there are
strong opinions on both sides of the argument. There is not one specific right way. The right way is really the entire system of processes, the documentation, the training, the skill development and other supporting business parameters that must occur. The right way is a comprehensive solution. As a systems analyst, stay open minded and flexible in choosing methodologies. Each is similar in purpose, just different in implementation.
Object Oriented (OO) Design
The OO design approach works well in agile project methodologies. The agile methodology is best suited for programming languages such as C#, VB Net, Python, Perl, and Java. The system is broken into objects. The objects can be reused in other system design, so that the objects are very modular.
The first step in OO design is to define the system objects.
The object is the noun: the person, the customer, the student, the car, etc. The object has attributes and methods. An attribute is something that describes the object. Consider the attribute the adjective. An attribute is a characteristic: an age, a color, a make, a model, a score, etc. The object also has methods. The methods are verbs that the object can perform. Examples of methods are: grade the test, drive the car, or buy the item.
Using the time reporting example from Module Four, the
objects include Employee and Supervisor. The attributes for Employee are Department and Supervisor. The Supervisor object has Department and Approver (y/n) attributes. The Employee and Supervisor have additional attributes that are the same, so each attribute can be considered a sub-class object, belonging to a class called Associate. There can also be a super class object called Person. The classes delineate when attributes are no longer common. So, Person super class has the attributes of Name, Gender, and Date of Birth (DOB). The Associate class can have Hire Date, Salary, and Fulltime (y/n).
Methods for the Employee are Enter Hours, Adjust Hours,
and Review Hours. The Supervisor methods are Approve Hours, Adjust Hours, Reject Hours, and Review Hours. Note that an actual person in the organization may map to both the Employee object and the Supervisor object. The Supervisor object does not have time entry for his/her time. This is only on the Employee object.
The next step in OO design is to define the messages that
invoke the methods. Messages specific to the Employee methods object is Add Time. The Employee and Supervisor objects have the same messages, but invoke different methods depending on the object. This is an example of polymorphism. The polymorphic messages are Resolve Time Issues and Review Time. The Supervisor object has the additional message of Approve Time, which is unique to this object.
For each of the messages, there are steps required to
complete the messages. Using the message, Review Time, the steps would be as follows:
1. Select Review Link
2. Select Time Period to Review 3. Select Employee to Review 4. Click Review Now Icon Once all elements are defined, the next step of OO methodology is to model and diagram use cases using these elements.
The Complete Project Management Exam Checklist: 500 Practical Questions & Answers for Exam Preparation and Professional Certification: 500 Practical Questions & Answers for Exam Preparation and Professional Certification