What is Object Orientation?
It’s a way of thinking to understand the given problem by identifying various objects and their associations, interaction among the objects, to model and solve the problem. It’s a point of view where systems are constructed from objects, which themselves may be collection of smaller objects. It’s a system where computation occurs by means of objects communicating with each other by message passing.
Why OOA?
Looking from both management and technical perspective, OO offers numerous inherent benefits like high-quality programming and ease maintenance due to decoupled nature of the structure. Object technologies are easier to adopt and are easily scalable. But the most important benefit is the reuse facility and hence faster development process.
What are Objects?
Objects are defined as tangible entity that exhibits some well-defined behavior. Objects are real world entities as in they contain attributes and operations and they always represent a “state.” The behavior of an object is invoked by sending a message to that object. The object then executes the appropriate method (operation).
What are the benefits of ‘object’ approach?
An object becomes important in OOA because it is more than just a value or a record of values: it "knows" what it can do, or, in other words, it has an associated behavior. The reason why objects are necessary is that it is usually easy to model real world objects. They hide internal representation and expose only required functionality. Generalized objects can help in reduced maintenance as they are less dependant and reusable.
What is a class?
Class is the building block of object oriented system. It is a template for an object and it specifies the object’s structures and operations. It’s the blueprint from which individual objects are created. Class contains all the statements needed to create an object, its attributes, as well as the statements to describe the operations that the object will be able to perform.
A class has the following members: attributes and methods. A good example of a class is Human. A human class would have characteristics (attributes) of gender, hands, legs, age, and so forth. It would also have actions (methods) such as walking, eating, running, talking, and so on.
What are class instances?
Once a class is defined then as many objects as needed can be created. These objects are called instances of this class. All the instances created with a given class will have the same structure and behavior. They will only differ regarding their state, i.e regarding the value of their attributes.
For instance, in the real world, there are many individual objects all of the same kind. There may be thousands of cars in existence, all of the same make and model. Each car was built from the same set of blueprints and therefore contains the same components. In object-oriented terms, one particular car is an instance of the class of objects known as cars.
How do objects interact?
The object oriented approach really shows its worth in situations in which objects interact with each other. Aside from inheritance (about which we will talk in later paragraphs), there are other ways for objects to interact. For Instance, one object uses another object. Objects interact by passing messages that hold an operation (method) invocation request. These messages can be Synchronous (wait for a response) and Asynchronous (don’t wait for a response). The advantage OOA provides is low coupling, highly reusable and easy maintainable.
How does everyone benefit from OOA method?
OOA is all about determining the best way to divide a program into an economical set of classes. The result is speeding of the development time and proper class construction. Reuse results in far fewer lines of code, which translates to less bugs and lower maintenance costs. OOA ensures better quality, better maintenance due to decoupled nature of the structure and high productivity. The program becomes easily scalable and easier to adopt.
Why choose Stylus to develop your software?
The use of object oriented technology requires formal training in OOAD methods. A method of training that has produced desired results at Stylus is to initiate pilot projects, conduct formal classes, and conduct team reviews to properly train all the analysis and development staff as well as the program management team.
Technical management at Stylus Systems is aware that the maximum impact from OOAD is achieved when used with the goal of designing reusable software. Another very important knowledge is that for objects without significant reuse potential, OOAD techniques were more costly than traditional software development methodologies.
Check out Stylus technical management team undergoing training in our Bangalore campus here.
Learn about general OOAD methods and benefits.
|