Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 1 Evaluation of a Business Application Framework Using Complexity.

Slides:



Advertisements
Similar presentations
FPA – IFPUG CPM 4.1 Rules.
Advertisements

Function Point Measurement from Java Programs
Prediction of fault-proneness at early phase in object-oriented development Toshihiro Kamiya †, Shinji Kusumoto † and Katsuro Inoue †‡ † Osaka University.
Figures – Chapter 24.
Nov R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity* Comment percentage Length of identifiers Depth of conditional.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Software engineering for real-time systems
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object-Oriented Metrics
NJIT More GRASP Patterns Chapter 22 Applying UML and Patterns Craig Larman Prepared By: Krishnendu Banerjee.
March R. McFadyen1 Software Metrics Software metrics help evaluate development and testing efforts needed, understandability, maintainability.
Software Process and Product Metrics
C++ fundamentals.
Metrics.
Lecture 17 Software Metrics
Chapter 9: Coupling & Cohesion Omar Meqdadi SE 273 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
Chapter 6 : Software Metrics
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Paradigm Independent Software Complexity Metrics Dr. Zoltán Porkoláb Department of Programming Languages and Compilers Eötvös Loránd University, Faculty.
Software Measurement & Metrics
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15b: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1 Chapter 15 Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
1 Estimation Function Point Analysis December 5, 2006.
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Lecture 4 Software Metrics
Cohesion and Coupling CS 4311
Systems Analysis and Design in a Changing World, 3rd Edition
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Technology and Science, Osaka University Dependence-Cache.
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
1 Metrics and lessons learned for OO projects Kan Ch 12 Steve Chenoweth, RHIT Above – New chapter, same Halstead. He also predicted various other project.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Classification.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Source Code Elements for Comprehending Object- Oriented.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Object Oriented Metrics. Objectives 1.To describe the distinguishing characteristics of Object-Oriented Metrics. 2.To introduce metrics.
Chapter 9: Coupling & Cohesion Omar Meqdadi SE 273 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Metric-based Approach for Reconstructing Methods.
Internal Logical Files (ILF) An internal logical file (ILF) is a user identifiable group of logically related data or control information maintained within.
Course Notes Set 12: Object-Oriented Metrics
Design Characteristics and Metrics
Software Engineering (CSI 321)
Lecture 2 of Computer Science II
Object-Oriented Metrics
Design Metrics Software Engineering Fall 2003
A Pluggable Tool for Measuring Software Metrics from Source Code
Design Metrics Software Engineering Fall 2003
Mei-Huei Tang October 25, 2000 Computer Science Department SUNY Albany
Predicting Fault-Prone Modules Based on Metrics Transitions
Software Metrics “How do we measure the software?”
Software Design Lecture : 9.
Software metrics.
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 15 Product Metrics for Software copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 8: Design: Characteristics and Metrics
Presentation transcript:

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 1 Evaluation of a Business Application Framework Using Complexity and Functionality Metrics Hikaru Fujiwara †, Shinji Kusumoto †, Katsuro Inoue †, Toshifusa Ootsubo ‡, Katsuhiko Yuura ‡ † Graduate School of Engineering Science, Osaka University, Japan. ‡ Business Solution Systems Division, Hitachi Ltd. This research is partially supported by International Information Science Foundation

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 2 1. Background 2. Approach 2.1 Purpose 2.2 Reuse 3. Evaluation Method 4. Case Study 4.1 Case Study Case Study 2 5. Conclusion Contents 1. Background

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 3 1. Background (1/4) It becomes important to develop high-quality software cost-effectively. Reuse is one of the most famous techniques to attain it. In object-oriented software development, developers reuse a particular library called framework. A framework is a collection of classes that provide a set of services for a particular domain.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 4 1. Background (2/4) A department of Hitachi Ltd. develops application software for many local governments. The developers have been using the original reuse technique based on a conventional module-based reuse.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 5 1. Background (3/4) 47 prefectures in Japan local governments, 671 cities, 1991 towns, 567 villages. A department of Hitachi Ltd. develops application software for many local governments. The requirement of the application is different depending on local ordinance.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 6 1. Background (4/4) The department is going to introduce the framework in order to improve the efficiency. It is difficult to transfer the new framework to the development. To motivate the developers, we need to show the benefit of using framework quantitatively.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 7 1. Background 2. Approach 2.1 Purpose 2.2 Reuse 3. Evaluation Method 4. Case Study 4.1 Case Study Case Study 2 5. Conclusion Contents 1. Background

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 8 2. Approach 2.1 Purpose We evaluate the usefulness of the framework quantitatively from two viewpoints. –saving cost –improving software quality We conducted two case studies to evaluate it. –Application : Applications for local governments –Language : Java

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Reuse Conventional module-based reuse (1/2) An application consists of a main module and some screen control modules. The main module controls business logics and screen transitions of the application. Each screen control module corresponds to one screen. A : Database renewal program X 1 : Data Inquiry Y 1 : Showing the Inquiry Result Z 1 : Updating the Record (a) Health insurance application for a local government A Screen transition controller

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Reuse Conventional module-based reuse (2/2) A : Database renewal program X 1 : Data Inquiry Y 1 : Showing the Inquiry Result Z 1 : Updating the Record (a) Health insurance application for a local government A Screen transition controller X 2 : Data Inquiry Y 2 : Showing the Inquiry Result Z 2 : Updating the Record (b) Health insurance application for a local government B B : Database renewal program Screen transition controller

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Reuse Framework-based reuse The framework is intended to reuse the processing of the transition of the screens in addition to module-based reuse. –Typical transitions of screens are prepared. data inquiry, data renewal, data addition, data removal, etc. Database Renewal Program A Database renewal Framework Data Inquiry Showing the Inquiry Result Updating the Record F 1 : Framework Specific Parameters to a Local Government A Specific Parameters to a Local Government B Database Renewal Program B

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Background 2. Approach 2.1 Purpose 2.2 Reuse 3. Evaluation Method 4. Case Study 4.1 Case Study Case Study 2 5. Conclusion Contents 1. Background

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Evaluation Method We compare the framework-based reuse with the conventional module-based reuse from the viewpoints of cost and quality. (Case Study 1) Developing applications that have the same functions. Specification of function f a framework-based reuse conventional reuse CaCa FW PaPa FW : framework

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Evaluation Method (Case Study 2) Adding functions to the existing application. Specification of function f a CaCa FW PaPa framework-based reuse conventional reuse Specification of function f b C a+b FW P a+b Specification of function f c C a+b+c FW P a+b+c

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Evaluation Method Metrics used in the case studies We could not collect the actual effort and the number of faults. We used following metrics to indirectly evaluate the productivity and quality. –OOFP (Object-Oriented Function Point) measures functionality. productivity. –C&K metrics (Chidamber and Kemerer’s metrics) measure complexity. quality.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Evaluation Method OOFP ( Object Oriented Function Points § ) OOFP is an adaptation of FP(Function Point) to enable the measurement of object-oriented analysis and design specifications. –FP is measured from logical files(Internal Logical Files:ILFs, External Interface Files:EIFs) and transactions (inputs, outputs, inquiries). –OOFP is measured from logical files (ILF, EIF) and transactions (Service Requests:SRs). Classes correspond to logical files Methods correspond to transactions §:G.Caldiera, G.Antoniol, R.Fiutem, C.Lokan, “Definition and Experimental Evaluation of Function Points for Object-Oriented Systems”, IEEE, Proc. of METRICS98, pp (1998).

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Evaluation Method C&K metrics (Chidamber and Kemerer’s metrics) viewpointsmetricshow to calculate metrics of a class C inheritanceDITthe depth of C in the inheritance tree NOCthe number of immediate sub-classes subordinated to C couplingCBOthe number of couplings between C and any other class RFC (the number of the methods in C) + (the number of the methods called by C) methodWMCthe sum of the complexity of the methods in C LCOM Assume that methods M 1...M n ∈ C, I i is a set of instance variables used in M i, (the number of pairs (M k, M l ) such that I k ∩I l = φ) - (the number of pairs (M k, M l ) such that I k ∩I l ≠φ)

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Background 2. Approach 2.1 Purpose 2.2 Reuse 3. Evaluation Method 4. Case Study 4.1 Case Study Case Study 2 5. Conclusion Contents 1. Background

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 4.1 Case Study 1 Four applications C a, C b, C c, C d are developed using the framework-based reuse. Four applications P a, P b, P c, P d are developed using the conventional reuse. C i and P i (i = a,b,c,d) implement the same function f i. framework-basedconventional function fafa CaCa PaPa fbfb CbCb PbPb fcfc CcCc PcPc fdfd CdCd PdPd

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 1 We compared C i with P i from the viewpoints of productivity and quality. We measured OOFP and C&K metrics from newly developed part of each application. FW : framework : newly developed Specification of function f a CaCa FW PaPa framework-based reuse conventional reuse FW : framework

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 1 Result of case study 1 number of classes OOFPCBORFCWMCLCOM CaCbCcCdCaCbCcCd PaPbPcPdPaPbPcPd C&K metrics are the average values per class

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 1 Analysis of OOFP framework- based (C) conventional (P) function fafa fbfb fcfc fdfd OOFP(C i ) < OOFP(P i ) Application development using framework reduces the effort of development.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 1 Analysis of OOFP To develop the framework, initial investment (effort) is needed. The OOFP of the framework FW is The framework-based reuse is about 2.5 times more effective than the conventional reuse. The department develops the similar applications repeatedly. It will save the effort after three or four applications have been developed, whereas the investment for the framework was spent.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 1 Analysis of CBO and RFC average CBOaverage RFC framework- based (C) conventional (P) framework- based (C) conventional (P) function fafa fbfb fcfc fdfd CBO(C i ) > CBO(P i ), RFC(C i ) > RFC(P i ) All of the methods called by C i are included in the framework. If the framework is high quality, the complexity does not affect the quality of the overall application program.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 1 Analysis of WMC and LCOM average WMCaverage LCOM framework- based (C) conventional (P) framework- based (C) conventional (P) function fafa fbfb fcfc fdfd WMC(C i ) > WMC(P i ), LCOM(C i ) > LCOM(P i ) There are many simple methods, that set/get the values of the attribute. The complexity does not affect the quality of the overall application program.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Background 2. Approach 2.1 Purpose 2.2 Reuse 3. Evaluation Method 4. Case Study 4.1 Case Study Case Study 2 5. Conclusion Contents 1. Background

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 2 At first, application C a and P a are developed. Function f b, f c, f d are continuously added to C a and P a. C i and P i (i = a,a+b,a+b+c,a+b+c+d) implement the same function f i. framework- based conventional function fafa CaCa PaPa f a+b C a+b P a+b f a+b+c C a+b+c P a+b+c f a+b+c+d C a+b+c+d P a+b+c+d

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 2 We compared the differences between the two successive applications from the viewpoint of productivity and quality. We measured OOFP and C&K metrics from newly developed part of each application. Specification of function f a CaCa FW PaPa framework-based reuse conventional reuse Specification of function f b C a+b FW P a+b Specification of function f c C a+b+c FW P a+b+c

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 2 Result of case study 2 number of classes OOFPCBORFCWMCLCOM C a C a+b C a+b+c C a+b+c+d P a P a+b P a+b+c P a+b+c+d C&K metrics are the average values per class

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 2 Analysis of OOFP framework- based (C) conventional (P) function fafa f a+b f a+b+c f a+b+c+d OOFP(C a+b+c - C a+b ) > OOFP(P a+b+c - P a+b ) The adaptability of the framework to the function f c is not good. It is necessary to add new components for the functions like f c to the framework.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 2 Analysis of OOFP OOFP(C a+b+c+d ) < OOFP(P a+b+c+d ) framework- based (C) conventional (P) function fafa f a+b f a+b+c f a+b+c+d The framework-based reuse is more effective to reduce the effort of development than the conventional reuse.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Case Study 2 Analysis of CBO and RFC average of CBOaverage of RFC framework- based (C) conventional (P) framework- based (C) conventional (P) function fafa f a+b f a+b+c f a+b+c+d RFC(C a+b+c - C a+b ) > RFC(P a+b+c - P a+b ) C a+b+c calls a lot of methods included in the framework, in order to handle many data items in the function f c. If the framework is high quality, the complexity does not affect the overall application program.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Background 2. Approach 2.1 Purpose 2.2 Reuse 3. Evaluation Method 4. Case Study 4.1 Case Study Case Study 2 5. Conclusion Contents 1. Background

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University Conclusions We have experimentally evaluated the usefulness of the framework quantitatively from the viewpoints of quality and saving cost. As the result of the case studies, the framework-based reuse is more effective than the conventional reuse. In order to show the usefulness of the framework, we are going to apply the framework to many software development projects in future.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 35

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 36 Appendix How to measure OOFP(1) OOFP=OOFP ILF +OOFP EIF +OOFP SR For each ILF, OOFP ILF is measured using DETs (Data Element Types) and RETs (Record Element Types). For each EIF, OOFP EIF is measured using DETs and RETs. For each SR, OOFP SR is measured using DETs and FTRs (File Types Referenced). Finally, OOFP is calculated by summing up OOFP ILF, OOFP EIF and OOFP SR.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 37 Appendix How to measure OOFP (2) To calculate OOFP from Java source code, we suppose that the concepts in Java correspond to ones in OOFP as follows. OOFPJava Logical filesILFsClasses within the application. EIFsClasses outside of the application. DETsNumber of simple attributes (such as integers, strings) RETsNumber of complex attributes (such as objects) TransactionsSRsMethods within the application. DETsNumber of simple arguments, instance variables and class variables. FTRsNumber of complex arguments, instance variables, class variables and objects.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 38 Appendix Case Study 2; Analysis of WMC and LCOM (1) average of WMCaverage of LCOM framework- based (C) conventional (P) framework- based (C) conventional (P) function fafa f a+b f a+b+c f a+b+c+d LCOM(C a+b+c - C a+b ) > LCOM(P a+b+c - P a+b ) There are a lot of set/get methods in C a+b+c, in order to handle many data items in the function f c.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 39 Appendix Case Study 2; Analysis of WMC and LCOM (2) average of WMCaverage of LCOM framework- based (C) conventional (P) framework- based (C) conventional (P) function fafa f a+b f a+b+c f a+b+c+d LCOM(C a+b+c+d - C a+b+c ) < LCOM(P a+b+c+d - P a+b+c ) There are complex transitions of the screens in function fd. In P a+b+c+d, the LCOM values of the classes implement these transactions are high.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 40 Appendix Case Study 2; Analysis of WMC and LCOM (3) average of WMCaverage of LCOM framework- based (C) conventional (P) framework- based (C) conventional (P) function fafa f a+b f a+b+c f a+b+c+d WMC(C i ) > WMC(P i ), LCOM(C i ) > LCOM(P i ) We examined the classes of C i that have high WMC and LCOM values. It is found that there are many simple methods, that set/get the values of the attribute.

Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 41 Appendix Process of Case Study Development of the framework Case Study1 –Two developers –Develop C a, C b, C c, C d –Develop P a, P b, P c, P d Case Study2 –Two developers –Develop C a, C a+b, C a+b+c, C a+b+c+d –Develop P a, P a+b, P a+b+c, P a+b+c+d Apply the metrics to the applications. Analysis