


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to object-oriented analysis and design (ooad) concepts, focusing on classes, inheritance, encapsulation, and polymorphism. Ooad is a methodology used to design software systems based on real-world objects and their interactions. The document uses the example of a customer database to explain these concepts, including the definition of classes, objects, attributes, methods, inheritance, and encapsulation. Polymorphism is also discussed as a derived concept from greek meaning 'having multiple forms'. The document also introduces business process reengineering (bpr) as a technique to improve business processes and gain a competitive edge.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



Object Oriented Analysis and Design
There are some terms important to explaining the concept object oriented analysis and design.
26.1 Object
An object can be defined as “A concept, abstraction, or thing with crisp boundaries and meaning of the problem at hand. Objects serve two purposes, they promote understanding of the real world and provide a practical basis for computer implementation.” Rumbaugh et al. (1991)
26.2 Classes
A class is defined as “The purpose of a class is to specify a classification of objects and to specify the features that characterize the structure and behavior of those objects.”
Attributes & Methods
Attributes are the characteristics of object / class and methods are the operations related to the object / class.
In order to explain concepts of Class, Object, Attribute, Method, etc, let's consider an example. A company may be interested in creating a database for better customer relationships. For this purpose the company may plan to create a database in the following manner.
Example
26.3 Inheritance
Inheritance is usually identified by the phrase "is a kind of.” For example, the term “automobile " is a generalization of “van”, “car“, “truck", and many others. Conversely, we can say that since cars are automobiles so they inherit all the properties common to all the automobiles e.g. engine, steering, etc. but capacity and type of engine, size of steering will be different from each class, based on these differences sub-classes are created. Two concepts are used in relation to inheritance; generalization and specialization.
Classification is hierarchical in nature, a vehicle may be classified as truck or car, a car may further be Sub-
classified as hatchback or sedan or sports or SUV. Moving up the hierarchy is terms as generalization and down the hierarchy is referred to as specialization.
A real customer such as “ABC Company" is an object/instance of the class of customers. If you have different kinds of customers, such as domestic, commercial and industrial, you can create three new classes of customers that are derived from of the Customer class. These derived classes use inheritance to gain access to all of the common customer class attributes and methods. Special attributes which are unique to each class can also be defined.
Message-Passing
Several objects may collaborate to fulfil each system action. For example, “Record CD sale” is a process, which could involve a CD stock item, a sales transaction, a sales assistant, etc. These objects involved in the process of CD sale communicate by sending each other message.
26.4 Encapsulation
Encapsulation means information hiding. For instance, when the Play Button is pressed, the tape is played. However the actual process of how the tape is played is not visible. Another example can be given of banking software. The banking software contains an option of computation of profit, when the option is activated the amount is computed as and when required, however, the actual steps when performed remain invisible to the user.
26.5 Polymorphism
Following example will help understand the concept in a better manner.
More general (Classes)
More specialized (subclasses)
More general
More specialized (subclasses)
Vehicle
Truck Car
Sedan Sports
More general (Classes)
More specialized (subclasses)
More general (Classes)
More specialized (subclasses)
More general
More specialized (subclasses)
Vehicle
Truck Car
Sedan Sports
more efficient to deliver on time becomes critical, industrial customers placing regular huge volume orders in accordance with theirs own plans. You as the supplier need this information to input into your own planning.
Competitive Advantage
One of the main goals of introducing BPR is to provide a competitive edge to the business and that can only be achieved by providing a better product in a timely fashion to the customers in accordance with their needs. For Example, a petroleum company might be faced with issues such as, the product is being tampered with before delivery to points of sale, and the gasoline is not being delivered on time to the points of sale, the issues to be dealt at the dealer-owned-petrol pumps. Question: Why should it be worried, if at all?
The company may after the process review resolve the above stated issues such as redefining the design of the containers/tanker, installing tracking devices on the delivery vehicles, setting up Company owned points of sale, eliminating storage depots and ensuring timely direct deliveries to POS, etc.
While use of BPR helps an organization in gaining competitive advantage in the use of processes, effectiveness and efficiency should also be kept in mind.
Effectiveness
By effectiveness, it is meant that how effective is the manner in which the product or service is offered to the customer? This may include packaging, advertising, creating customer loyalty, timely availability in the market, understanding customer needs & requirements related to the particular product or service being offered.
Efficiency
The concept relates to not only how efficiently a quality product is manufactured, packed, stored and delivered to customers/points of sale but also how quickly are customer complaints responded to, in what manner are they removed, what is the cost of not doing so as to be compared to the cost of not doing so, and how it can be made more efficient. Efficiency is not just about being efficient at the production floor level but the decision making at management level also has to be efficient. Customer might not be able to see all of the process but he can see the efficiency coming out of it.
Major steps in BPR
Senior managers may begin the task of process alignment by a series of BPR steps. These steps develop a self-reinforcing cycle of commitment, communication, and culture change. The steps may include gaining commitment to change through the formulation of the top team, developing a shared vision and mission of the business and of what change is required, defining the measurable objectives, which must be agreed by the team, as being the quantifiable indicators of success in terms of the mission, identify the Critical Success Factors (CSF’s) based on the mission of the organization. Following steps should be followed to implement BPR.