160 likes | 372 Views
Database Complexity Metrics. Brad Freriks SWE6763, Spring 2011. Database Complexity Metrics. Why metrics for databases? No longer just simple files/tables with little complexity Now, a core part of development efforts What is a relational database? Entity-relationship diagram
E N D
Database ComplexityMetrics Brad Freriks SWE6763, Spring 2011
Database Complexity Metrics • Why metrics for databases? • No longer just simple files/tables with little complexity • Now, a core part of development efforts • What is a relational database? • Entity-relationship diagram • Entities (Tables) • Attributes (Columns) • Relationships (Primary Keys and Foreign Keys) • May include queries, forms, reports, functions, assertions, and complex data types
Database Complexity Metrics • Entity-relationship diagram
Database Complexity Metrics • Evolution of metrics • Bang metric by DeMarco • Emperical study by MacDonnel, Shepperd, and Sallis • Piattini, Calero, and Genero extended with formal validation framework • Jamil and Batool with SMARtS • Framework for defining and validating database metrics
Database Complexity Metrics • Metrics Definition • Account for specific database characteristics we want to measure • Based on experience of database designers and administrators • GQM • Theoretical Validation • Zuse (1998) – measurement theory-based framework • Briand (1996) – axiomatic based framework • Empirical Validatation • Strong focus of research efforts • Based on historical project of small and limited focus (mostly academic)
Database Complexity Metrics • Metric Definition • DRT - length of the longest referential path in the database schema • COS - sum of the square of the number of tables in each unrelated subgraph of the database schema.
Database Complexity Metrics • Zuse’s Formal Framework • Set of properties for measure, which characterize different measurement structures for determination of a metric's scale (nominal, ordinal, interval, ratio) • Ratio scale - satisfies the modified extensive structure • Ordinal scale - does not satisfy the modified extensive structure but does the independence conditions • Above the ordinal scale (interval, ratio) - satisfies the modified relation of belief
Database Complexity Metrics • Briand’s Formal Framework • Set of mathematical properties that characterize and formalize several important measurement concepts: size, length complexity, cohesion, and coupling
Database Complexity Metrics • Results of Formal Validation • NFK, DRT, and NA only satisfy axiom 1, 3, and 4 • COS satisfies all axioms
Database Complexity Metrics • Empirical Validation • MacDonnel, Shepperd, and Sallis • 70 small to medium database systems comprising database schema & 4GL applications • Projection of application code size based on database schema metrics • Linear relationship with strong correlation by Pearson & Spearman • ATTRIB (number of attributes) and NONMENU (non-menu functions) primarily defined size • Piattini, Calero, and Genero • 60 students • Hypothesized, tested, and performed statistical analysis • Concluded NFK (number of foreign keys) was a more solid indicator of schema understandability than DRT (depth of referential tree) • Pavlic, Kaluza, and Vrcek • DC – Database Complexity method • Sum of all relevant elements • Showed attributes had a significant effect on database complexity • Jamil and Batool (SMARtS: Software Metric Analyzer for Relational Database Systems) • Similar to MacDonnel et al - not only considered tables and relationships in the database schema, but an application layer consisting of queries, forms, and reports • Characteristics of these objects vary and are assigned a complexity determining factor (CDF) to more properly weight the actual effort for developing the applications
Database Complexity Metrics • Based on sum of CDF weights, classified as Simple, Average, or Complex • Complexity estimate using Database Points (DBP) metric • 8 projects resulted in 0.8 correlation suggesting high correlation for calculating real effort based on computed complexity
Database Complexity Metrics • Object-relational databases • Add object-oriented principles to a relational database • Classes and abstract data types create complex user-defined data types • Piattini, Calero, and Genero metrics • Schema size (SS) and table size (TS) with reference to simple and complex columns (taking into account the level of inheritance). • Justus & Iyakutti • Number of weighted methods per class (NWC) • Depth in the relational tree (DRT) • Referential degree (RD) • Number of involved classes (NIC) • Number of shared classes (NSC) • Coupling between object (CBO) • Cohesion between methods (COM) • Based on the "Metrics Suite for Object Oriented Design" from Chidamber and Kemerer
Database Complexity Metrics • Conclusion • Databases are becoming more complex and integral to application development • Projections needed for implementation and maintenance efforts • MacDonnel, Shepperd, and Sallis work expanded by Jamil and Batool • Best projection method found based on professional experience. • Tailored to individual environments by adjusted the CDF weights and complexity estimations in DBP metric • Estimates at early parts of the development cycle • Refined during design and coding phases • Object-relational databases are more recent • Fewer metrics • Existing OO metric suites can be applied with minor alterations • Empirical validation mostly focused on small systems development in academia • Does not fully extend into large system development in commercial enterprises • Opportunity for significantly more research into metrics for relational and object-relational database complexity
Database Complexity Metrics • Beckler, S. A. (2001). Developing Quality Complex Database Systems: Practices, Techniques, and Technologies. Hershey, PA: Idea Group Publishing. • Jamil, B. & Batool, A. (June 2010). SMARtS: Software Metric Analyzer for Relational Database Systems. Information and Emerging Technologies (ICIET) 2010 International Conference. • Justus, S. & Iyakutti, K. (2007). Accessing the Object-level Behavioral Complexity in Object Relational Databases. 2007 IEEE International Conference on Software-Science, Technology & Engineering, 48-56. • Pavlic, M., Kaluza, M., & Vrcek, N. (2008). Database Complexity Measuring Method. Central European Conference on Information and Intelligent Systems, CECIIS – 2008. Retrieved from http://www.ceciis.foi.hr/app/index.php/ceciis/2008/paper/view/84. • Piattini, M., Calero C., & Genero, M. (2001). Table Oriented Metrics for Relational Databases. Software Quality Journal, 9(2), 79-97.