Verified Document

Object-Oriented Database And Languages Used In Object-Oriented Database Research Paper

Object Oriented Database and Languages Used in Object Oriented Database In this paper, we discuss the concept of object oriented databases and the languages using four different articles. We focus our discussion on the Object-Oriented design metrics for the purpose of optimizing code quality. These articles are papers/articles sourced from journals and recent conference papers. The articles we concentrate on are based on the languages Java, C ++, Python, Ruby and Jade. We then come up with summary key points regarding the concept of Object Oriented Programming.

This report evaluates whether software metrics can be used in the determination of the quality of design of object oriented software. Various metrics and metrics tools are used in this evaluation. An analysis of how the various source codes can be implemented in the already existing systems.

An overview of Object Oriented Programming (OOP)

Oracle (2010) defines Object-oriented programming as a "method of programming based on a hierarchy of classes, and well-defined and cooperating objects."

The concept of OOP is rapidly becoming significant a practical in the development of applications. This is because of its ability to adequately represent the various complex relationships that exists or rather required for the applications to be designed. The other aspect that makes it important is its ability to represent the otherwise complex relationships while representing the data in a consistent manner. The concept of OOP has been effectively implemented in various fields of software and computer engineering. These applications range from:

System analysis

System design

Operating system

Computer programming and Database management systems.

The characteristics of OOP are:

Encapsulation:

Encapsulation is an attribute of OOP that means that all of the data in the objects are contained and hidden inside the object and access to them is restricted only to the members of the given class. The various programming languages are never so strict in their granting of access to the objects at various levels. The following is an example of levels found in C++

Public: can be accessed by all objects

Protected: Access to the object is limited to members of the same class or their descendants.

Private: Access to the object is limited to members of a similar class.

Internal: Access to the object is limited to the current assembly.

Protected Internal: Access to the object is limited to the current assembly or types derived from the containing class.

Inheritance

This characteristic helps objects to work at together. It defines the relationship that exists among classes in the object-oriented language realm (Oracle, 2010).The ability of a certain object to inherit a certain data value as well as the method from another method. The advantage of inheritance is reusability as well as the systematic manner in which objects with similar attributes are grouped. The attributes are:

Data value

Behavior

These are grouped into one class which acts as a blueprint or rather temple to be used for object. An object is refers to an instance of a certain class. For example if a class A inherits attributes from another class B, we can conclude that class A is considered a subclass while class B is referred to a super class. This type of a class inheritance can proceed to several levels in order to form a class hierarchy

Composition/aggregation

Composition is a techniques used in "for building a new object from one or more existing objects that support some or all of the new object's required interfaces" (Free Online Dictionary of Computing,2010)

Certain objects may contain only data while others may contain objects and data. As an example a person class may contain within it the name, gender as well as address class

Association

Association is a form of relationship that exists among a certain class of multiple instances of a class or object (Oracle, 2010).

After this brief overview, we present the various literature/articles regarding Object oriented metrics.

Object oriented metrics and Java

The concept of programming metrics is so important that it is necessary to come up with methods of validating them. The work of El Grasberg et al. (2000) does this validation for commercial java applications. Their article titled "Validating Object-oriented Design Metrics on a Commercial Java Application"

The article focuses on the empirical validation of the metrics of object -- oriented design that were developed by Briand et al.,(1997) and Chidamber and Kemerer, (1994). The study was carried out using data sourced from various Java applications that are implemented on an XML editor. The measured external attributes for the study is reliability. This attribute is measured in various ways. It...

Parts of this document are hidden

View Full Document
svg-one

This is referred to as the fault-proneness of that particular class. Extant literature has been dedicated to the empirical validation of the metrics (Briand et al., 1997; Briand et al., 2000; and El-Emam et al.,2001). This article replicated the various studies so as to accumulate evidence regarding the validity of the metrics. It also makes number of additional; contributions to the existing literature. The article also does the following:
It presents a very detailed cognitive theory in order to justify the chosen metrics. On the basis of this theory, the article states a number of hypotheses that do relate to the various design metrics of the application's fault proneness. The existing evidence that support these hypotheses do suggests that there exists possible reasons as to why certain metrics are regarded as the leading indicators of the application's of fault-proneness. The authors of this articles state that to the best of their knowledge, the process marks the initial attempt in postulating a theory based on cognitive principles for object-oriented metrics. The article reveals that many object oriented metrics do have an association with an application's fault proneness

Object oriented metrics and C++

We use the article "Avalidation of object-oriented design metrics as quality indicators" by Basili et al. (1996).This concept is discussed using an article by Basili et al. (1996).Their paper presents an empirical study used in the investigation of the OO design metrics. Their goal is to assess the metrics as he chief predictors of the various fault-prone classes and in the process determine whether they can be used in as indicators of code quality. The same groups of metrics are utilized throughout the article in order to assess the frequencies of maintenance to the various classes. In order to accurately perform validation, the data used collected was collected from a spectrum of 8 medium sized data management systems that have the same requirements. All the eight systems were developed via a sequential life cycle model and C++ programming language.

Object oriented metrics and Jade

Metrics tools

We use an article by Xie et al. (2001) in order to show the need of metric tools for the purpose of quality and performance enhancement of various OOP applications. We use JBOOMT (Jade Bird Object-Oriented Metrics Tool).For this purpose we summarize the findings of an article titled JBOOMT: Jade Bird Object-Oriented Metrics Tool by Wanghong et al. (2001).

The main aim of the article is to bring a sharp focus on the need of software productivity as well as software control. The article makes it clear that there is a need to come up with specific software metrics technologies in order to improve the performance of OOP applications. The article further cites that the increasing importance of the object-oriented software platforms has made it necessary to conduct research on the various object-oriented software metrics as well as automated tools used in supporting the model of the metrics. As an example, Jade

Bird Object-Oriented Metrics Tool (JBOOMT) is used in the provision of effective and automated software metrics that support users and managers alike in the measurement of the design as well as the source code of the object-oriented applications and therefore providing an effective way of evaluating the quality of the developed software in accordance to a specified model that has hierarchical metrics. The article introduces the basic design of JBOOMT as well as a discussion of implementation that is inbuilt in the Jade Bird Program Analysis System

Object oriented metrics and Ruby

Feature-Oriented Programming

We use Ruby as an object oriented language in order to illustrate the existence of Feature-Oriented Programming. For this purpose we make use of an article that is conveniently titled "Feature-Oriented Programming with Ruby" by Gunther and Sunkle (2009).

Features are certain characteristics of software that are used in order to distinguish the members of a program family (Batory et al.,2004).program families on the other hand are to comparable with a certain Software Product Line (SPL).The SPL in this case is a specific set of a rather related programs having different characteristics. The features are however a reflection of the requirements of the stakeholders (Kang et al.,1990).The challenges addressed by the SPL is to address the a structure that's is considered an asset in a way that can improve productivity and reusability of the application under development (Czarnecki and Eisenecker,2000).Ruby's rbFeatures (an extension of Ruby) is used to show that features should be enabled in object-oriented programming in order to improve productivity and to achieve abstract modeling and a concrete implementation at the same abstraction level.

Conclusion

The conclusion we can derive from the articles above is that metric do have a…

Sources used in this document:
References

Aggregation. (n.d.)(2010). The Free Online Dictionary of Computing. Retrieved November 28, 2010, from Dictionary.com website: http://dictionary.reference.com/browse/aggregation

Basili, V.R., L.C. Briand and W.L. Melo, (1996). Avalidation of object-oriented design metrics as quality indicators. IEEE Trans. Software Eng.,22: 751-761. DOI: 10.1109/32.544352

Batory, D,. Sarvela, J. N and Rauschmayer. A. (2004) Scaling step-wise refinement. IEEE

Transactions on Software Engineering, 30:355-371
Db4o (2001)Java database management system, 2001. http:/ / www.db4o.com/
http://delivery.acm.org.library3.webster.edu/10.1145/1630000/1629721/p11-gunther.pdf?key1=1629721&key2=2518790921&coll=DL&dl=ACM&CFID=116323672&CFTOKEN=98528717
http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/oo.html#what
Release 1.0. August1998. Online version at http://www.spec.org/osg/jvm98/jvm98/doc/index.html.
http://people.engr.ncsu.edu/txie/publications/JBOOMT.pdf
Cite this Document:
Copy Bibliography Citation

Related Documents

Mathematics of Digital Photography
Words: 925 Length: 3 Document Type: Research Paper

Mathematics in Digital Photography The advances in both digital photography and computing have allowed more detailed and complex images to be shown on more realistic media than was ever previously possible. Through the use of more specialized equipment and digital imaging techniques the resulting photos of even the most novice user today can rival those of professionals from years before. This level of photographic precision could never have been achieved were

Mathematics As Creative Art P.K.
Words: 340 Length: 1 Document Type: Term Paper

if, as Halmos suggests, math is a creative art then math must also be the handmaid of science. Describing mathematics as a creative art helps students of math better understand the true roles of the mathematician. Numbers, while in many ways central to the art of math, do not comprise the whole lexicon of mathology. Mathematics does stem from "sheer pure intellectual curiosity," enabling students to perceive the world through

Mathematics Education the Objective of
Words: 677 Length: 2 Document Type: Term Paper

Balacheff (1987) described four levels of justification, which are those as follows: (1) Native empiricism; 2) Crucial experiment; 3) Generic example; and 4) Thought experiment. (Taflin, nd) Naive empiricism is stated to be "an assertion based on a small number of cases." (Taflin, nd) Crucial experiment is stated to be "an assertion based on a particular case, but the case was used as an example of a class of objects." (Taflin, nd) the

Mathematics From Conch Shells to
Words: 659 Length: 2 Document Type: Term Paper

Islamic art not only demonstrates the symbolic significance of geometric forms and their psychological, social, religious, and aesthetic functions. In addition to these purposes, Islamic art also demonstrates symmetry. Symmetry's appeal is well-known: babies tend to favor faces with symmetrical features over those with lop-sided noses or askew eyes. Although absolute symmetry is by no means a prerequisite for beauty, symmetry is usually perceived with pleasure. The Spirograph forms, explicated

Mathematics Assessment
Words: 1864 Length: 5 Document Type: Essay

Mathematics is closely connected to economics, commerce and business modelling, as well as systems for military weapons. Due to the widespread of its use, it was noted that students in the U.S. were beginning to perform a little worse in mathematics than children from other countries worldwide. Mathematical knowledge among citizens was considered a very important factor for a country to be a leading world power. Assessment activities have been

Mathematics Concepts in Profession Mathematics Concepts in
Words: 767 Length: 2 Document Type: Essay

Mathematics Concepts in Profession Mathematics Concepts in the Teaching Profession Mathematical concepts in professions My Profession and Applicable Math Concepts Mathematics is a branch of knowledge dealing with scientific notions of logical qualitative and quantitative arrangements. It extensively covers different aspects as well as having several subdivisions. It is a tool specially designed to handle and implement relative concepts, regardless of the kind of situational problem presented. Alongside the concepts, mathematics uses invented formulas

Sign Up for Unlimited Study Help

Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.

Get Started Now