Object Oriented Design Concepts
ORD introduces a new set of terminology notation and procedures for the derivation of a software design. In this section we review objects oriented terminology and introduce a few additional concepts that are relevant to design.
Object Operations and Messages
To accomplish object oriented design, we must establish a mechanism for (1) the representation of data structure (2) the specification of process, and (3) the invocation procedure.
An example typical objects might be machines commands files displays switches signals alphanumeric strings, or any other person place thing occurrence role or event. When an objects is mapped into its software relocation it consists of a private data structure and processes, called operations that may legitimately transform the data structure. Operation contain control and procedural constructs that may be invoked by a messages request to the objects to perform one of its operations.
The objects also has a shared part that is its interface. Massage move across the interface and specify what operation on the objects is descried, but not show the operation is to be performed. The objects that receives a message determines how the requested operation is to be implemented.
Objects and their operation provide inherent modularity that is software elements ( data and process ) are grouped together with a well defined interface mechanism ( in this case messages).
Design Issue
Bertrand Meyer suggests five criteria for judging a design method ability to achieve modularity and relates these to objects oriented design.
1. Decomposability : The facility with which a design method helps the designer to decompose a large problem into sub problems that are easier to solve.
2. Compos ability : The degree to which a design method ensures that program components modules, once designed and built, can be reused to create other systems.
3. Understand ability : The case with which a program component can be understood without reference to other information or other modules.
4. Continuity : The ability to make small changes in a program and have these changes manifest themselves with corresponding changes in just or a very few modules.
5. Protection : An architectural characteristic that will reduce the propagation of side effects if an error does occur in a given module.
From these criteria Meyer suggest that five basic design principle can be derived for modular architectures (1) linguistic modular units(2) few interface (3) small interfaces ( weak coupling) (4) explicit interfaces (5) information hiding.
The design criteria and principles presented in this section can be applied to any design method. As we will see however the objects oriented design methods achieve each of the criteria more efficiently than other approaches and results in modular architectures that allow us to meet each of the modularity criteria most effectively.
Classes Instances and Inheritance
Many objects in the physical world have reasonably similar characteristics and perform reasonably similar operations. If we look at the manufacturing floor of a heavy equipment manufacturer we see milling machines drill presses and jig forgers. Although each of these objects is different, all belong to a larger class that is called metal cutting toots. All objects in the metal cutting tools class have attributes in common and perform common operations ( e .g. cut start or stop). Therefore by categorizing a hobbler as member of the class metal cutting machines , we know something about its attributes and the operation it performs even if we don't know its detailed function is.
Software realizations of real world objects are categorized in much the same way. All objects are members of a large class and inherit the private data structure and operations that have been defined for that class. Stated another way a class is a set of objects that each has the same characteristics. An individual objects is therefore an instance of a larger class.
The use of classes subclasses and inheritance is crucially important in modern software engineering. Reuse of program components ( our ability to achieve composition ) is attained by creating objects ( instances ) that build on existing attributes and operation inherited from a class or subclass, we only need to specify how the new objects differs from the class rather than defining all the characteristics of the new objects.
Object Descriptions
A design description of an objects ( an instance of a class or subclass) can take one to two forms.
1. A protocol description that establishes the interface of an objects by defining each message that the objects can receive and the related operation that the objects performs, when it receives the message.
2. An implementation description that shows implementation details for each operation implied by a message that is passed by an object. Implementation details includes information about the objects private part that is internal details about the data structure and procedural details that describe operations.
The protocol description is nothing more than a set of messages and a corresponding comment for each message. An implementation of an objects provides the internal ( hidden) details that are required for implementation but are not necessary for invocation.
An implementation description is comprised of the following information.
Case Characteristics: The difference between the information contained in the protocol description and that contained in the implementation description in terms of users and suppliers of sieves . a user of the service provided by an object must be familiar with the protocol for invoking the service that is for specifying what is desired. The supplier of the service ( the objects itself) must be concerned with how the service is to be supplied to the user that is with implementation details.
An objects delivers encapsulation, whereby a data structure and a group of procedures for accessing it can be put into service such that the users of that capability can access it through a set of carefully documented, controlled and standardized interfaces. These encapsulated data structures, called objects ,amount to active data can be requested to do things by sending them messages.
Latest technology based Software Engineering Online Tutoring Assistance
Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Object Oriented Design Concepts homework help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Object Oriented Design Concepts, project ideas and tutorials. We provide email based Object Oriented Design Concepts homework help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Object Oriented Design Concepts. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Software Engineering homework help and assignment help services. They use their experience, as they have solved thousands of the software engineering assignments, which may help you to solve your complex issues of Object Oriented Design Concepts. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.
The aim of oil purification is to remove from it, all contaminants like water, carbon deposits, dirt, sludge, dissolved moisture and gases.
Modern Art Assignment Help is an effectual means to score your desired grades without putting your hands in complex tasks.
egulation of intracellular environment tutorial all along with the key concepts of Components of the Cellular Environment, Sub-cellular components, Membrane, Cytoskeleton, Genetic material
tutorsglobe.com xeric habitats characterization assignment help-homework help by online xerophytes tutors
Finish off your complex tasks and achieve academic success with Historiography in Art History Assignment Help.
tutorsglobe.com significance of factoring assignment help-homework help by online factoring tutors
www.tutorsglobe.com offers sample assignments and homework help for maximal assignment problem in operation research subject.
tutorsglobe.com mitochondria assignment help-homework help by online cell organelles tutors
Refraction through Prism tutorial all along with the key concepts of Angle of Deviation, Minimum Deviation of Prism, Maximum Deviation of Prism, Grazing Incidence, Grazing Emergence, Deviation by Small Angle Prism
Relativity of Mass tutorial all along with the key concepts of Variation of Mass with Velocity, Momentum and Force in Relativistic Mechanics, glancing collision
tutorsglobe.com phosphorus acid assignment help-homework help by online compounds of phosphorus tutors
tutorsglobe.com termination of polypeptide chain assignment help-homework help by online protein translation tutors
Theory and lecture notes of Concept of Construction with ruler and compass all along with the key concepts of construction with ruler and compass, Models of Computation, Theorem of ruler and compass. Tutorsglobe offers homework help, assignment help and tutor’s assistance on Construction with ruler and compass.
entropy of mixing tutorial all along with the key concepts of entropy changes in phase transitions, entropy changes in chemical reactions and standard entropy values
www.tutorsglobe.com offers The Cost of Prototyping homework help, assignment help, case study, writing homework help, online tutoring assistance by computer science tutors.
1930819
Questions Asked
3689
Tutors
1470492
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!