Professional Documents
Culture Documents
Database Systems
Abstract—Software complexity has a strong impact on We have collected eight projects out of which six projects
development effort and maintainability. Measurement of are small scale student projects and rest two are business
complexity can help managers in project planning and cost applications. To evaluate the authenticity of proposed weights
estimation. A number of metrics exist to measure the complexity we have calculated the complexity using SMARtS and
for procedural and object oriented applications. In this paper we analyzed computed complexity and real effort using
present a model to compute the complexity for small scale correlation analysis. Obtained results suggest that there is high
relational database applications. Our model is based on different correlation between computed complexity and actual effort.
relational database objects. Complexity of each database object is
computed by assigning suitable weights to its complexity This paper is organized as follows: Section 2 describes
determining factors. To evaluate our model, we have applied literature review; Section 3gives the detailed introduction of
correlation analysis on computed complexity and actual effort. major database objects; Section 4 presents the architecture of
The results indicate a strong correlation between the effort and SMARtS; Section 5 presents categorization of objects; Section
complexity computed by our model. 6 describes the results and section 7 concludes the paper and
proposes future directions.
Complexity Determining Factors; Categorization Ranges;
Complexity Weights, Database Application Complexity Estimation; II. LITERATURE REVIEW
I. INTRODUCTION Software metrics has been promoted since early 1970s.
Initially SLOC were proposed to compute work effort but it
Measurement of certain attributes during software was imprecise in most of the cases. Function points by
development process is one of the most important activities in Albrecht were well suited to scientific and engineering
software project management. Measurements enable project applications [8]. Another attempt in this regard was done by
manager to determine the impact of improvement efforts McCabes who used flow graphs to compute the complexity of
towards software development process [2]. Software metrics code [11]. Flow graphs mainly focus control statements to
are measurement based techniques that are helpful for project compute complexity.
manager in estimating some necessary information like
budget, schedule, effort and other resources at initial level [1]. Most of the proposed metrics are mainly suitable for the
Using measurements large number of software metrics has procedural languages while ignoring relational database
been proposed to estimate the above stated parameters. applications. Bang model by DeMarco was the first model
based on data model but its validation has not been proved by
Most commonly used metrics are LOC, function points by any means [6]. In [12] Mario Piattini proposed a metric that
Albrecht, cyclomatic complexity by McCabes, COCOMO by was based upon tables, attributes in table and its degree. As
Boehm and Information flow by Henry and Kafura. All of the this model ignored all other objects so its results were not
above specified metrics are well suited to applications accurate.
developed in procedural and object-oriented languages [2].
However there are no such studies that compute complexity Another attempt in this regard was a proposed metric to
metric of relational database systems based on detailed compute the complexity and effort of a small scale relational
features of database objects such as for a table, constraints like database application that is presented in [2]. This metric was
assertion and triggers increase its implementation effort. In based upon the complexity level of each of the database
this paper we propose architecture for Software(S) Metric (M) object.
Analyzer (A) for Relational(R) Database (t) Systems(S)
(SMARtS) to compute the complexity of relational database III. OBJECTS OF THE RELATIONAL DATABASE SYSTEMS
applications. The complexity is computed on the basis of The complexity of the conventional database systems
weights assigned to complexity determining factors of each developed in any relational DBMS depends upon the five
database object. The proposed SMARtS system is developed major database objects: tables, relationships, queries, forms
using VC++ 6 and MS Access. and reports. These objects can be classified as simple, average
or complex [1]. Characteristics of these objects vary on the
Forms provide easiest and more accurate way of entering Simple report 0.25
the data in the database [2]. The forms can be simple data Grouped report 0.50
entry forms, custom dialogue boxes, suforms, switchboards
and customized forms. Some of the forms contain special Report using expressions 0.75
effects. Sub report 0.75
A simple data entry form is used for adding, viewing, Custom report 0.75
editing, and deleting existing data in one table. Custom
dialogue boxes are used for prompting user for any action.
Subforms are used for viewing, editing, and deleting existing IV. PROPOSED ARCHITECTURE FOR SMARTS
data in more than one table. Switchboards are used as menu
for simplifying the process of starting the different reports and The proposed Software Metric Analyzer for Relational
forms in a database and easing navigation around the database. Database Systems (SMARtS) is comprised of three layers;
Customized forms are the forms that are modified to change Presentation Layer, Processing Layer and Repository Layer.
the appearance and functionality of forms. The architecture of SMARtS is shown in Fig 1.
B. Classification of Relationships
Relationship classification is based on cardinality and
degree of relationship. User enters cardinality and degree for
each relationship. If degree is other than ternary or n-ary its
weight (Wo) is obtained from matrix shown in table 2
otherwise Wo is 0.75. Relationship is classified using ranges
given in Table 8.
C. Classification Of Queries, Forms And Reports TABLE XI. COMPLEXITY VS. EFFORT
User enters the number of each the CDF (Nf) for Complexity Using Effort in
Project Name
corresponding object (query, form, report). The types of CDF Database Points person days
of query, reports and forms and their static weights are PUCIT System,
275 25
mentioned in table 3, 4, 5 respectively. Nf is multiplied by Sargodha
corresponding static weight (Wi) to calculate computed weight Daewoo Bus System 159 6
for each factor (Cw). Weighted sum is obtained by summation
Voting System 48 1
of all Cw using formula given below:
Hospital System 261 10
Ws = ∑ (4) Students Info System 130 5
TABLE IX. CATEGORY RANGES FOR REPORTS. We have applied correlation analysis between computed
complexity and actual efforts that is 0.8. This suggests that a
Category Simple Average Complex high correlation exists between computed complexity and real
Range of Ws 0.25 - 0.49 0.50 - 0.74 0.75 ++
effort. We have chosen the weights on the basis of our
significance tests that also verify that our proposed model is
D. Complexity Estimation well suited to small database applications.
Once all the database objects are classified the complexity The correlation chart between computed complexity and
estimation is done using Database Points (DBP) metrics. DBP real effort of all projects is shown in Fig 4.
is database points computed through DBP metric [6] in Table
10. 350
300
TABLE X. DBP METRIC.
250
200 Database
Category Simple Average Complex
150 Points
Table *7 + * 10 + * 15 = 100 Effort
Relationships *2 + *3+ *5 = 50
0
Queries *5 + *7+ * 10 =
1 2 3 4 5 6 7 8
Forms *4 + *5+ *7 =
Database Projects
Reports *4 + *5+ * 15 =
DBP (Sum)
Figure 4. Effort vs. Database Points
Number of each object for each category is obtained
through classifier and values are set in the metric accordingly. Fig. 4 suggests that a project having greater Database Points
These numbers are multiplied by their corresponding weights needs more effort to develop it.
to get weight for each object (Cw). DBP Sum is obtained as
VII. CONCLUSION AND FUTURE WORK
DBP (sum) = ∑ Cw (5)
In this paper we have proposed a model to compute the
complexity of small relational database application developed
These Database points can be used to compute complexity. in MS Access. The model was built using different database
Greater the DBP sum greater will be the complexity. objects. These objects were categorized based upon the basis
VI. EVALUATION of weights assigned to their complexity determining factors.
We have implemented our model in a tool called SMARtS.
We have taken eight projects developed in MS Access and
the real effort required to develop them.
We used our model to compute complexity of eight [4] Elmasri and Navathe. (2006) Fundamentals of Database Systems,
database projects. To evaluate our model, we analyzed the Addison Wesley; 5th edition.
calculated complexity and actual effort. We found that our [5] Kautz K. 1999, "Making sense of measurement for small
organizations", IEEE Software, March / April 1999, pp.14-20.
model successfully captured the complexity of different
[6] Stephen G MacDonell, Martin J. Shepperd, and Philip J. Sallis (1997)
database projects. Correlation analysis has shown that “Metrics for Database Systems: An Empirical Study”, IEEE
complexities computed by SMARtS and the actual efforts are International Symposium on Software Metrics, 1997, PP 99-107.
strongly correlated. [7] Mario Piattini, Coral Calero and Marcela Genero,(2001) “Table
Oriented Metrices For Relational Databases”, Software Quality Journal,
In future we want to enhance the functionality of SMARtS 9, 79–97, 2001
to incorporate ERD so that complexity can be automatically
[8] Albrecht A.E. and Gaffney J.E. 1983, "Software function, lines of code,
computed from the design documents. and development effort prediction: a software science validation", IEEE
Transactions on Software Engineering, 9(6), pp. 639-647.
REFERENCES [9] McCabe T.J. 1976, "A Complexity Measure", IEEE Transaction on
[1] Sana Abiad, Ramzi A Haraty, and Nashat Mansour., (2000) “Software Software Engineering, 2(4), pp. 308-320.
Metrics for Small Database Applications”, ACM SAC’00 Como, Italy, [10] Matson J., Barrett B., and Mellichamp J. 1994, "Software Development
March 19-21 2000, PP. 866-870. Cost Estimation Using Function Points", IEEE Trans. Software
[2] Justus S, Lyakutti K,( 2007) “Assessing the Object-level Behavioral Engineering, Vol. 20, No_4, April 1994, pp. 275-287.
Complexity in Object Relational Databases” IEEE International [11] McCabe T.J. 1976, "A Complexity Measure", IEEE Transaction on
Conference on Software-Science, Technology and Engineering. 30-31 Software Engineering, 2(4), pp. 308-320.
Oct. 2007 PP. 48 - 56
[12] Mario Piattini, Coral Calero and Marcela Genero,(2001) “Table
[3] Microsoftfice Online viewed on19 November 2008, Oriented Metrices For Relational Databases”, Software Quality Journal,
www.office.microsoft.com/en- 9, 79–97, 2001
us/access/HA102330311033.aspx?pid=CH100645701033