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.
Transformation of alkenes tutorial all along with the key concepts of Conversion of alkenes to Epoxides, Conversion of alkenes to syn-1,2-diols, hydroxylation, Ozonolysis of alkenes and oxidative cleavage
tutorsglobe.com oxygen molecule assignment help-homework help by online molecular orbital energy level diagrams tutors
Theory and lecture notes of Understanding the Growth Model all along with the key concepts of understanding the growth model, growing economy, Growth of Capital per Worker, Capital-Output Ratio, Steady State Growth Path. Tutorsglobe offers assignment help and tutor’s assistance on Understanding the Growth Model.
tutorsglobe.com significance of financial management assignment help-homework help by online financial management tutors
Chemical Instrumentation in Environmental Sciences tutorial all along with the key concepts of Determination of Chloride, Determination of Sulphate, Determination of Fluoride, Determining Iron by Phenanthroline Method
tutorsglobe.com software designing assignment help-homework help by online software engineering tutors
www.tutorsglobe.com offers Coding Fundamentals homework help, assignment help, case study, writing homework help, online tutoring assistance by computer science tutors.
tutorsglobe.com medical bacteriology assignment help-homework help by online microbiology tutors
Performance targets based on economic value added (EVA®) offer another approach. This measure has been developed and trade marked by a US management consultancy firm, Stern Stewart.
It is all the time open to a company to get reserves of any type (irrespective of whether they are revenue or capital) and turn them into share capital.
www.tutorsglobe.com offers Priestman Production Bonus Plan homework help, assignment help, case study, writing homework help, online tutoring assistance by accounting tutors.
tutorsglobe.com facilitated application specification techniques assignment help-homework help by online requirement analysis tutors
tutorsglobe.com taysach’s disease assignment help-homework help by online inborn errors of metabolism tutors
tutorsglobe.com physiological effects of sleep assignment help-homework help by online sleep tutors
tutorsglobe.com cardio pulmonary resuscitation assignment help-homework help by online pulse rate tutors
1947075
Questions Asked
3689
Tutors
1473423
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!