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...

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

Object Oriented Vs. Relational Database
Words: 2917 Length: 10 Document Type: Term Paper

This is one of the greatest limitations of this technology. A second major disadvantage of RDBMS-based systems is their lack of support for image- and spatial-based databases that include Computer-Aided Design (CAD) drawings, 3D rendering and model-based data. Their table-based structure is inefficient in defining the attributes of these data types and lacks the necessary data tagging and data types to manage imaging and CAD-based design files and data

Database Technology Administration Database Technology
Words: 4402 Length: 15 Document Type: Essay

" "STUDENT INFORMATION TABLE" ( "STUDENT ID" CHARACTER (4) NOT NULL, NAME CHARACTER (25) NOT NULL, "STREET NUMBER" CHARACTER (10) NOT NULL, "STREET NAME" CHARACTER (25) NOT NULL, CITY CHARACTER (25) NOT NULL, STATE CHARACTER (10) NOT NULL, EMAIL CHARACTER (25) NOT NULL, "PHONE NUMBER" CHARACTER (15) NOT NULL ); CONNECT RESET; SQL FOR Book_Information CONNECT TO LIBRARY; CREATE TABLE "USER"; CREATE TABLE BookInformation ( "BookISBN" CHARACTER (10) NOT NULL; "AUTHOR" CHARACTER (25) NOT NULL; "TITLE" CHARACTER (50) NOT NULL; "PRICE" CHARACTER (10) NOT NULL; CONNECT RESET; SQL STATEMENT FOR

Database What Is a Database
Words: 1421 Length: 5 Document Type: Term Paper

These factors further accelerate the value and TCO of databases over time. Describe the features, tools, and utilities of Structured Query Language (SQL). How can tasks be automated with SQL? SQL has specifically been designed with features, tools and utilities to enable programmers to support nth-tier data architectures in addition to legacy client-server computing scenarios. The development and continual improvement of the features, tools and utilities of SQL for automating tasks

Databases and Regulatory Compliance Challenges
Words: 3434 Length: 13 Document Type: Research Paper

Databases and Regulatory Compliance Challenges The advent of technology has increased the popularity of database usage in firms, yet the legislation regulating the field has yet to be finalized. The changing nature of the IT sector, coupled with the legislative traits, creates several situations in which the companies find it difficult to comply with the regulations. This paper recognizes some of those difficulties, and also proposes some solutions. Databases Regulatory challenges for databases No

Database Marketing, Sales Force Automation and Virtual
Words: 2511 Length: 8 Document Type: Term Paper

Database marketing, sales force automation and virtual reality are three of the newest trends in technology to impact the way company's market to their customers. All three technologies offer specific advantages and disadvantages for their use. The appropriate use of the technology must be based solidly on the type of product, costs incurred, and the nature of relationship with clients. When used in a judicious way, all three technologies can

ELL Language Acquisition in English
Words: 9381 Length: 30 Document Type: Term Paper

First, Spanish sounds different from English in terms of vowel sounds, sentence stress, and timing. (Shoebottom, 2007, Spanish). In addition, Spanish speakers can confront grammar problems when learning English, "although Spanish is a much more heavily inflected language than English, there are many aspects of verb grammar that are similar. The major problem for the Spanish learner is that there is no one-to-one correspondence in the use of the

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