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:
Computer programming and Database management systems.
The characteristics of OOP are:
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.
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:
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 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 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 is measured in terms a prerelease fault in certain classes' incidence. 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
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
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…
"Object-Oriented Database And Languages Used In Object-Oriented Database" (2010, December 07) Retrieved April 22, 2017, from http://www.paperdue.com/essay/object-oriented-database-and-languages-used-196703
"Object-Oriented Database And Languages Used In Object-Oriented Database" 07 December 2010. Web.22 April. 2017. < http://www.paperdue.com/essay/object-oriented-database-and-languages-used-196703>
"Object-Oriented Database And Languages Used In Object-Oriented Database", 07 December 2010, Accessed.22 April. 2017, http://www.paperdue.com/essay/object-oriented-database-and-languages-used-196703