Object Oriented Design Concepts

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.

  • A specification of the objects name and reference to a class.
  • A specification of private data structure with an indication of data items and types:
  • A procedural description of each operation or alternatively pointer to such procedural descriptions

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.

©TutorsGlobe All rights reserved 2022-2023.