Applying Reverse Engineering Techniques to Verify the Estimation of Software Code Size using COSMIC Full Function Point
|
|
- Heather Perry
- 7 years ago
- Views:
Transcription
1 Applying Reverse Engineering Techniques to Verify the Estimation of Software Code Size using COSMIC Full Function Point DOWMING YEH, YI-HONG CHEN, CHIH-YING YANG Department of Software Engineering National Kaohsiung Normal University No.62, Shenzhong Rd., Yanchao Dist., Kaohsiung TAIWAN {e007926, Abstract: - Software size estimation is an important task for a successful software development. There are a number of systematic methods to estimate the size of software systems, in which the function point analysis has achieved wide acceptance. Among various function point analysis methods, COSMIC-FFP is a relatively new approach and its application is also relatively easier than most methods. The estimation is based on requirement analysis artifacts such as use cases, sequence diagrams, or class diagrams. However, these artifacts are often insufficient to verify the precision of the estimation methods, let alone adjust these methods to different domains and organizations. In this study, we develop a tool that reverse engineers the Java source code to retrieve information in the level of detailed sequence diagrams and calculates the function points. Then regression analyses are applied to verify the applicability of function point estimation methods to a particular system. Key-Words: Software Size Estimation, Function Points, Reverse Engineering, Regression Analysis. 1 Introduction Software size estimation is an important task for a successful software development. It provides the starting point for other tasks such as cost estimation, development arrangement and human resource allocation in the early beginning of a project [1]. Software size estimation is almost always dependent on the experiences of the estimating engineers from similar projects in which they were involved. However, estimate approaches guided by human intuition or without concrete historical data can easily lead to inaccurate estimation of the size. There are a number of systematic methods to estimate the size of software systems, in which the function point analysis has achieved wide acceptance in estimating the scale of enterprise information systems. Function point analysis is a size estimation method that breaks down a software system into various parts that correspond to the definition of function points. Such decomposing process usually proceeds iteratively to reach the abstraction level of function points. Each component then is assigned a function point value based on its complexity and function type. Some analysis methods such as IFPUG then multiply the summation of function point with an influence adjustment factor to produce the final function points. The usage of function point is promoted by many industry experts for its advantages over approaches based on lines of code since it is independent of implementation details such as programming language. Based on the size estimation, function point analysis can also predict the human resource cost and duration of the project. Although there are standard methods, considerable experience is often required to apply these methods to calculate the estimated function point value with some precision from requirement specification [2]. Therefore, academia and industry are working to propose all sorts of methods and develop tools so that even a novice can follow certain steps to carry out the estimation work and still get fairly reliable results without extensive experience. Besides obtaining a count of function points with some accuracy and reliability, it is often necessary to transform the function point value into the number of lines of code (LOC) of the targeted software. To estimate the effort for building a software system, most models such as COCOMO take LOC as the unit of software size instead of function points. In embedded software, function points must also be converted to LOC to estimate the amount of memory needed. ISBN:
2 Such conversion is not straight forward. The factors affecting the LOC corresponding to a function point unit include the experience of the development team, programming language, application domain, and development method [3]. The sources of these methods are outcomes from requirement analysis, mostly use cases, sequence diagram or class diagram. During the requirement analysis phase, these artifacts may not be complete or sufficiently refined to support rigor measurement and analysis of function points [4]. Even when the project is completed, some of the artifacts may still be incomplete or insufficiently refined, making the postmortem analysis difficult to proceed. So how to construct these artifacts thoroughly in more details is the key to validate these methods. Since the class diagrams, sequence diagrams obtained from reverse engineering the source code contain more lower-level details than that generated in the requirement phase, we can use these diagrams to retrieve relevant information to calculate the associated function point size. In this work, a tool was developed to apply reverse engineering techniques on the source code of object-oriented systems to retrieve information in the level of sequence diagrams. The tool, then, based on specific rules, calculates the function points from the recovered information, and apply regression analysis to verify the applicability of function point estimation methods and learn the extent of possible deviation of the application of a function point size estimation method on the system. 2 Function Points Analysis A function point analysis method commonly used in the early days is the Use Case Points, proposed by Karner [5]. Some tools have been developed to compute Use Case Points, but they can only be produce basic IFPUG function points from Unified Modeling Language use cases [6]. The complexity classification of function points still must be completed manually. There are other function point size measurement procedures, and most of them are not yet augmented with automated tools [7] [8] [9] [10] [11]. Worse still, estimation results from most of these methods are not analyzed quantitatively so that the reliability and the accuracy of their results cannot be verified. Among various function point analysis methods, COSMIC-FFP (The Common Software Measurement International Consortium Full Function Points) is a relatively new approach and its application is also relatively easier than most methods. Moreover, it reliability or reproducibility by different estimators is reported in several studies [8] [12]. COSMIC-FFP is based on the experience of earlier function point analysis method and is intended to apply to a wider application spectrum other than traditional information systems, for example, real-time systems. The calculation of COSMIC-FFP is quite simple and straightforward. COSMIC-FFP exhibits object-oriented traits by looking at the system from the data aspect as well as the function aspect. Its definition of a data unit is called data group, which is equivalent to the normalized entity in information systems. One can also use a more elaborated data unit called attribute and it is equivalent to the normal definition of attribute in information systems. System function is modeled through functional processes, which can be further divided into two sub-processes: data movement and data manipulation sub-processes. Data movement subprocess is the main subject for function point computation. It can be divided into four categories: Entry data movement from a user to a function process; Exit data movement from a function to a user; Read data movement from a persistent storage to a function process. The persistent storage must be a part of the system; Write data movement from a functional process to a persistent storage. Again, the persistent storage must be a part of the system. In a functional process, the numbers of data group movement for the aforementioned four categories is presented as the function points, in a unit called Cfsu (COSMIC functional size unit). For functional process involves complex computation, it is suggested to count additional function points for the data manipulation sub-process. But there is no precise instruction on how to calculate such additional function points. All in all, the principle of this method is quite intuitive and simple, but the premise is a functional specification with certain details. To deal with estimation in the initial stage, it is recommended to first find out all functional processes, categorize them according to their complexity, and then set their function point value to the average size of a functional process obtained from historical statistics. In this research, we use COSMIC-FFP method to do the function points estimation. ISBN:
3 3 Reverse Engineering To constructed fine-grained sequential diagram or class diagram of an object-oriented systems (sequence diagram), we need the detailed structure and behavior information of the system. Without such information, one can only resort to reverse engineering the source to obtain as much information available as possible. Many CASE tools are equipped with some reverse engineering capabilities to extract basic static object-oriented architecture of the system, such as class diagrams. However, there are still some details need a breakthrough, such as how to distinguish the aggregation relationship from a general association relationship [13]. In terms of size estimation, sequence diagrams provide more important information than class diagrams since they describe the functional behavior of a system [8] [9] [10]. Compared to the reverse engineering of system structures, reverse engineering of the system behavior is more difficult. There are two major challenges, one for detecting control flow that corresponds to two major interaction operator, alt and loop, in the sequence diagram and the other for the merger of various execution trace [14] [15]. The detection of control flows can be determined statically by analyzing the control structure in the source code. Merging execution trace analysis can also be analyzed in a static manner, but the results are not complete [16]. As we aim to achieve the information related to estimating function point size rather than a concise sequential diagram, there is actually no need to overcome this challenge as described in the following sections. 2.1 Generating Sequence Diagrams A message in a sequence diagram corresponds to a method invocation in the source code. Therefore, if call graphs among various classes of objects are established, we can choose some methods in the source, say m, as the first message in a sequential diagram, produce a series of message interactions from method invocation, and the result is a sequence diagram describing the sequence of messages after the first message m. The call graphs can be constructed statically, for example, from the pointsto method by Rountev [17]. Let us illustrate through the following code as an example: class X {... class A { public void m(x a, int b) { a.p1(); X c = this.m2(a); c.p4(); X d = this.m4(); d.p6(); X e = d; if (b > 0) { e = new X(); e.p7(); e.p8(); public X m2(x f) { f.p2(); X q = this.m3(f); return q; public X m3(x g) { g.p3(); return g; public X m4() { this.fld.p5(); return this.fld; private X fld = new X(); Assuming that all methods of class X do not call any other method, and the method m was chosen as the starting point for analysis of a sequence diagram, the generated diagram is shown in Fig. 1. The opt part marked in Fig. 1 represents the optional behavior under certain condition. This can be generated by statically analyzing the conditional structure in the source code. From the purpose of calculating function points, such structure need not be distinguished since function point values in different options are summed up to account for the final function point value. Fig. 1 Converted sequence diagram (source: [13]). ISBN:
4 The sequential diagram in Fig. 1 is not entirely correct. Under further examination, one can find that objects a, f, g, c are in fact the same, and object fld, d can also be merged into one object. But from the view-point of functional point computing, merging or not and will not cause different results because the only concern is the number of messages transmitted in the sequence diagram and the recipients of messages are of no difference. Therefore, there is no need for complex analysis to merge different object name. The analysis simply uses the names of objects in the source code directly as this example shows to compute the size of function points. 2.1 Calculating Function Point Values The calculation of function point values from sequence diagram is based on that proposed by Jenner. Arrows directing from actors to interface objects correspond to the Cosmic FFP entries; while Arrows emitting from interface objects to actors correspond to the Cosmic FFP exits. Arrows between the objects in the system corresponds to the reads or the writes, but arrows representing returning values will not be considered. Let's take the sequence diagram in Fig. 1 to illustrate. There are one entries, twelve reads or write. Therefore, the total number of the Cosmic FFP is 13 Cfsus (Cosmic Functional Size Unit). That is, disregarding different categories of functional sub-process, the total number of the Cosmic FFP is the number of messages in the sequence diagram (except those returning messages). Finally, a regression analysis is performed on calculated function point values and the corresponding lines of source code from various sequence diagrams. The result from the analysis would reveal how many numbers of LOC are approximately equal to one unit of Cosmic-FFP and the possible deviation from such an approximation. 4 Design and Implementation The system architecture of the tool is shown in Fig. 2. The function point analysis tool is implemented in Ruby for its strong regular expression processing capability. Currently, only systems implemented in Java can be analyzed by our tools. The Java source code is first analyzed by the SFIM module to generate profiles for all methods. The profile of a method includes its name, the return type, argument types, lines of code of its body (without comments), as well as what class and package the method belongs to. Fig. 2 System architecture. Then, the engineer selects one of the functional processes (system functionalities, if you will), inputs the starting method and the associated class to the function point analysis tool. The function point analysis module then starts counting all the function points in the functional process. During the process of counting function points, the LOC of each called method are also summed up by consulting the profile of the method. The analysis result consists of the total function points in the process, and the total LOC in the process. There is, however, a complication in the function point analysis that results from the polymorphism feature in Java. That is, for polymorphic methods, the called method cannot be determined statically. It depends on the instantiation of the object at the run time. To deal with polymorphic methods, we sum up all the function points of these polymorphic methods since polymorphism is actually a selection mechanism that evokes an appropriate method based on the class type of the current object. After collecting sufficient analysis results, RAM module performs statistical analysis to build a regression model. The function point values serve as independent variables in the regression analysis, and the value of LOC is the dependent variable. The model represents a regression model of software size based on COSMIC-FFP. 5 Case Studies The first case study is a complexity analysis tool from another project in our laboratory. The data for the regression analysis consist of 13 records of functional processes in the tool, which were collected by the process described in the previous section. Next, we perform regression analysis on these values. The intercept constant is set to zero since no function point means no LOC. The F test examines the validity of the overall regression model with the Analysis of Variance (ANOVA). If the P-Value of the F test is less than a designated significant level, usually 0.05, then there is a linear relationship between independent variables and the dependent variables. On the other ISBN:
5 hand, if the P-value is greater than or equal to 0.05, the linear regression relationship is not supported. The regression model is shown in Table 1. The P-value of the F test is 9.34E-05, less than So, the linear relationship of the model is established. The coefficient of determination, which indicates the goodness of fit for the model, is The slope coefficient is 39.08, which means that a function point could be estimated to be equal to 39 LOC for the first case. Table 1 The First Regression Model. coefficient standard error t test P-value intercept 0 #N/A #N/A #N/A X E-05 The second case study is an open-source online chat system from SourceForge. The P-value of the F test is 9.337E-05, less than So, the linear relationship of our model is established. We are not familiar with the system, so we randomly select 24 methods as the starting method to perform the analysis. The regression model is shown in Table 2. The P-value of the F test is 1.32E-28, less than Again, the linear relationship is established. The coefficient of determination is , and a function point is estimated to around 24 LOC. Table 2 The Second Regression Model. coefficient standard error t test P-value intercept 0 #N/A #N/A #N/A X E-29 The results of two case studies suggest that different kinds of applications can influence the residuals between actual software code size and estimated software code size shall significantly. The software in the first case study involves complex decisions and computations. In such case, it is suggested to count additional function points. Our results confirm the necessity of adjustment. However, there is no precise instruction on how to calculate additional function points [18]. Therefore, our static analysis fails to account for this part, thus the precision of the estimated values can only reach about 75%. On the other hand, there is no complex decision and computation in second system and the precision of the estimated values reach a high value of 99.6%. The correlation between Cosmic function point and actual software code size is noted by Lind and Heldal [3]. They develop a linear model to estimate software code size from function point. However, their function point calculation is based on component diagrams which cannot convey behavior specification as sequence diagram, and thus fails to capture function points inside a component. As a result, the number of LOC for a function point, 148, is much higher in their case. However, the subject of their study is electronic control units of a distributed network in a vehicle which may be more isolated and simpler in behavior. They also find that different development teams would affect software code size by investigating another development team that develops software components of different electronic control units. Although there is also high correlation for the second team, it is also clear that the linear model developed for one development team will not perform well for the other development team, just as in our case. 6 Conclusions Among various function point analysis methods, COSMIC-FFP is an approach more suitable for object-oriented systems and its estimation is simple and straightforward. However, it is based on outcomes from requirement analysis which may be incomplete or insufficiently refined, making the postmortem analysis difficult to proceed. We develop a tool to apply reverse engineering techniques on the source code of object-oriented systems to retrieve information in the level of sequence diagrams. The tool, then, based on specific rules, calculate the function points from the recovered information. Then, function points and the corresponding numbers of LOC are analyzed to produce regression models. Two study cases are presented to verify the effectiveness of our method. The result shows that different kinds of applications can influence the accuracy of the COSMIC-FFP method significantly. For systems without complex decision and computation, the goodness of fit for the model reaches a very high value, and such information can be consulted to adjust the estimation when applied to a new but similar system. The estimation of systems involves complex decisions and computations may suffer from the lack of a mechanism which adjusts the weighting of function points. In the future, we plan to establish a model combining a software size estimation model combining COSMIC-FFP function points with some complexity factors. Acknowledgements This work was supported in part by the R.O.C. Ministry of Science and Technology under Grant MOST E ISBN:
6 References: [1] Fenton, N., Software measurement: A necessary scientific basis.software Engineering, IEEE Transactions on, 20(3), [2] Jeng, B., Yeh, D., Wang, D., Chu, S. L., Chen, C. M., A Specific Effort Estimation Method Using Function Point. Journal of Information Science and Engineering, 27(4), [3] Lind, K., Heldal, R., Estimation of realtime software code size using COSMIC FSM. In Object/Component/Service-Oriented Real- Time Distributed Computing, ISORC'09. IEEE International Symposium on (pp ). IEEE. [4] Bévo, V., Lévesque, G., Abran, A., UML notation for functional size measurement method. In Proc. 9th International Workshop on Software Measurement, Canada (pp ). [5] Karner, G., Resource estimation for objectory projects. Objective Systems SF AB, 17 [6] Clemmons, R. K., Project estimation with use case points. The Journal of Defense Software Engineering, [7] Bertolami, M. A., Oliveros, A., Estimate of the functional size in the requirements elicitation. Journal of Computer Science & Technology, 5. [8] Condori-Fernández, N., Abrahão, S., Pastor, O., On the estimation of the functional size of software from requirements specifications. Journal of Computer Science and Technology, 22(3), [9] Habela, P., Głowacki, E., Serafinski, T., Subieta, K Adapting the Use Case Model for COSMIC FFP-Based Measurement. COSMIC Function Points: Theory and Advanced Practices,204. [10] Jenner, M. S., COSMIC-FFP and UML: Estimation of the Size of a System Specified in UML Problems of Granularity. In Proc. the Fourth European Conference on Software Measurement and ICT Control (pp ). [11] Tavares, H., Carvalho, A., Castro, J., Function points measurement from requirement specification. In Proc. 5th Workshop Engineering Requirements, Valency, Spain (pp ). [12] Top, O. O., Demirors, O., Ozkan, B., Reliability of COSMIC functional size measurement results: A multiple case study on industry cases. In Software Engineering and Advanced Applications, SEAA'09. 35th Euromicro Conference on (pp ). IEEE. [13] Yeh, D., Sun, P. C., Chu, W., Lin, C. L., Yang, H., An empirical study of a reverse engineering method for the aggregation relationship based on operation propagation. Empirical Software Engineering, 12(6), [14] Lo, D., Maoz, S., Khoo, S. C., Mining modal scenario-based specifications from execution traces of reactive systems. In Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering (pp ). ACM. [15] Ziadi, T., Da Silva, M. A. A., Hillah, L. M., Ziane, M., A fully dynamic approach to the reverse engineering of UML sequence diagrams. In Engineering of Complex Computer Systems (ICECCS), th IEEE International Conference on (pp ). IEEE. [16] Rountev, A., Milanova, A., Ryder, B. G., Points-to analysis for Java using annotated constraints. In ACM SIGPLAN Notices (Vol. 36, No. 11, pp ). ACM. [17] Rountev, A., Connell, B. H., Object naming analysis for reverse-engineered sequence diagrams. In Proceedings of the 27th international conference on Software engineering (pp ). ACM. [18] Dowming Yeh, Yi-Hong Chen, Chih-Ying Yang, Li-Wei Chen, Ying-Hsiu Wang, and Kai- Wei Chen, Applying reverse engineering and complexity analysis to refine a cost estimation model based on function point. International Computer Symposium 2014, Taichung, Taiwan. ISBN:
Functional Size Measurement of Multi-Layer Object- Oriented Conceptual Models
Functional Size Measurement of Multi-Layer Object- Oriented Conceptual Models Geert Poels 1, 2 1 Department of Management Information, Operations Management, and Technology Policy Faculty of Economics
More informationUsing Productivity Measure and Function Points to Improve the Software Development Process
Using Productivity Measure and Function Points to Improve the Software Development Process Eduardo Alves de Oliveira and Ricardo Choren Noya Computer Engineering Section, Military Engineering Institute,
More informationRose/Architect: a tool to visualize architecture
Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California
More informationUsing COSMIC-FFP to Quantify Functional Reuse in Software Development
Using COSMIC-FFP to Quantify Functional Reuse in Software Development Vinh T. Ho, Alain Abran, Serge Oligny Dept. of Computer Science, Université du Québec à Montréal, Canada vho@lrgl.uqam.ca, abran.alain@uqam.ca,
More informationEvaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
More informationA Specific Effort Estimation Method Using Function Point
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 27, 1363-1376 (2011) A Specific Effort Estimation Method Using Function Point BINGCHIANG JENG 1,*, DOWMING YEH 2, DERON WANG 3, SHU-LAN CHU 2 AND CHIA-MEI
More informationFunction Point Measurement from Java Programs
Function Point Measurement from Java Programs Shinji Kusumoto, Masahiro Imagawa, Katsuro Inoue Graduate School of Engineering Science Osaka University Toyonaka, Osaka, Japan {kusumoto, imagawa, inoue}@icsesosaka-uacjp
More informationUsability metrics for software components
Usability metrics for software components Manuel F. Bertoa and Antonio Vallecillo Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga. {bertoa,av}@lcc.uma.es Abstract. The need to select
More informationMEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS
International Journal of Software Engineering and Knowledge Engineering World Scientific Publishing Company MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS CARLOS MONSALVE CIDIS-FIEC, Escuela
More informationComponent visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu
More informationVISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
More informationHow to Estimate Software Size and Effort in Iterative Development 1 Aleš Živkovič, Marjan Heričko
How to Software Size and Effort in Iterative Development 1 Aleš Živkovič, Marjan Heričko University of Maribor, Faculty of Electrical Engineering and Computer Science, Smetanova 17, SI-2000 Maribor, Slovenia
More informationAn Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)
An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) Rosziati Ibrahim, Siow Yen Yen Abstract System development life cycle (SDLC) is a process uses during the development of any
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationVerifying Business Processes Extracted from E-Commerce Systems Using Dynamic Analysis
Verifying Business Processes Extracted from E-Commerce Systems Using Dynamic Analysis Derek Foo 1, Jin Guo 2 and Ying Zou 1 Department of Electrical and Computer Engineering 1 School of Computing 2 Queen
More informationQuality prediction model for object oriented software using UML metrics
THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. UML Quality prediction model for object oriented software using UML metrics CAMARGO CRUZ ANA ERIKA and KOICHIRO
More informationRequirements Traceability. Mirka Palo
Requirements Traceability Mirka Palo Seminar Report Department of Computer Science University of Helsinki 30 th October 2003 Table of Contents 1 INTRODUCTION... 1 2 DEFINITION... 1 3 REASONS FOR REQUIREMENTS
More information1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.
* ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes
More informationComparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications
Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications Rouven Kreb 1 and Manuel Loesch 2 1 SAP AG, Walldorf, Germany 2 FZI Research Center for Information
More informationApplication of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: aman.kaur@kcl.ac.uk Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
More informationA Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
More informationQuantitative and qualitative methods in process improvement and product quality assessment.
Quantitative and qualitative methods in process improvement and product quality assessment. Anna Bobkowska Abstract Successful improvement of the development process and product quality assurance should
More informationSimple linear regression
Simple linear regression Introduction Simple linear regression is a statistical method for obtaining a formula to predict values of one variable from another where there is a causal relationship between
More informationCreating a Campus Netflow Model
Creating a Campus Netflow Model HUNG-JEN YANG, MIAO-KUEI HO, LUNG-HSING KUO Department of industry technology Education National Kaohsiung Normal University No.116, Heping 1st Rd., Lingya District, Kaohsiung
More informationTraceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
More informationModeling Practices in Open Source Software
Modeling Practices in Open Source Software Omar Badreddin 1, Timothy C. Lethbridge 1, Maged Elassar 2 1 University of Ottawa 800 King Edward 2 IBM Ottawa Laboratories 770 Palladium Dr. Ottawa, Ontario,
More informationA UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
More informationProcess-Family-Points
Process-Family-Points Sebastian Kiebusch 1, Bogdan Franczyk 1, and Andreas Speck 2 1 University of Leipzig, Faculty of Economics and Management, Information Systems Institute, Germany kiebusch@wifa.uni-leipzig.de,
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationChapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
More informationObject Oriented Programming. Risk Management
Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling
More informationAn introduction to Value-at-Risk Learning Curve September 2003
An introduction to Value-at-Risk Learning Curve September 2003 Value-at-Risk The introduction of Value-at-Risk (VaR) as an accepted methodology for quantifying market risk is part of the evolution of risk
More informationHow To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
More informationComparing Methods to Identify Defect Reports in a Change Management Database
Comparing Methods to Identify Defect Reports in a Change Management Database Elaine J. Weyuker, Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 (weyuker,ostrand)@research.att.com
More informationProgram Visualization for Programming Education Case of Jeliot 3
Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu firstname.lastname@cs.joensuu.fi Abstract:
More informationMapping from Business Processes to Requirements Specification
Extended abstract 1/5 Mapping from Business Processes to Requirements Specification Svatopluk Štolfa, Ivo Vondrák Department of Computer Science, VŠB - Technical University of Ostrava, 17.listopadu 15,
More informationUPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,
More informationEXTENDED ANGEL: KNOWLEDGE-BASED APPROACH FOR LOC AND EFFORT ESTIMATION FOR MULTIMEDIA PROJECTS IN MEDICAL DOMAIN
EXTENDED ANGEL: KNOWLEDGE-BASED APPROACH FOR LOC AND EFFORT ESTIMATION FOR MULTIMEDIA PROJECTS IN MEDICAL DOMAIN Sridhar S Associate Professor, Department of Information Science and Technology, Anna University,
More informationA Stock Pattern Recognition Algorithm Based on Neural Networks
A Stock Pattern Recognition Algorithm Based on Neural Networks Xinyu Guo guoxinyu@icst.pku.edu.cn Xun Liang liangxun@icst.pku.edu.cn Xiang Li lixiang@icst.pku.edu.cn Abstract pattern respectively. Recent
More informationDesign principles in Test Suite Architecture
Design principles in Test Suite Architecture InSTA 2015 (International workshop on Software Test Architecture) Graz, Austria 2015/4/13(Mon) Nishi, Yasuharu The University of Electro-Communications, Japan
More informationSoftware Cost Estimation: A Tool for Object Oriented Console Applications
Software Cost Estimation: A Tool for Object Oriented Console Applications Ghazy Assassa, PhD Hatim Aboalsamh, PhD Amel Al Hussan, MSc Dept. of Computer Science, Dept. of Computer Science, Computer Dept.,
More informationAn Experiment on the Effect of Design Recording on Impact Analysis
An Experiment on the Effect of Design Recording on Impact Analysis F. Abbattista, F. Lanubile, G. Mastelloni, and G. Visaggio Dipartimento di Informatica University of Bari, Italy Abstract An experimental
More informationUsing Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting
Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes
More informationKeywords: Dynamic Load Balancing, Process Migration, Load Indices, Threshold Level, Response Time, Process Age.
Volume 3, Issue 10, October 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Load Measurement
More informationSoftware Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...
Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled
More informationModule 5: Multiple Regression Analysis
Using Statistical Data Using to Make Statistical Decisions: Data Multiple to Make Regression Decisions Analysis Page 1 Module 5: Multiple Regression Analysis Tom Ilvento, University of Delaware, College
More informationAdvanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design
Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design Dionisis X. Adamopoulos 1, Constantine A. Papandreou 2 1 University of Piraeus, Greece and Centre for Communication
More informationUnderstanding Web personalization with Web Usage Mining and its Application: Recommender System
Understanding Web personalization with Web Usage Mining and its Application: Recommender System Manoj Swami 1, Prof. Manasi Kulkarni 2 1 M.Tech (Computer-NIMS), VJTI, Mumbai. 2 Department of Computer Technology,
More informationHathaichanok Suwanjang and Nakornthip Prompoon
Framework for Developing a Software Cost Estimation Model for Software Based on a Relational Matrix of Project Profile and Software Cost Using an Analogy Estimation Method Hathaichanok Suwanjang and Nakornthip
More informationA Hybrid Load Balancing Policy underlying Cloud Computing Environment
A Hybrid Load Balancing Policy underlying Cloud Computing Environment S.C. WANG, S.C. TSENG, S.S. WANG*, K.Q. YAN* Chaoyang University of Technology 168, Jifeng E. Rd., Wufeng District, Taichung 41349
More informationChange Pattern-Driven Traceability of Business Processes
Proceedings of the International MultiConference of Engineers and Computer Scientists 2014 Vol I,, March 12-14, 2014, Hong Kong Change Pattern-Driven Traceability of Business Processes Watcharin Uronkarn
More informationUnderstanding SOA Migration Using a Conceptual Framework
Understanding SOA Migration Using a Conceptual Framework Maryam Razavian and Patricia Lago Department of Computer Science, VU University Amsterdam, the Netherlands m.razavian@few.vu.nl, patricia@cs.vu.nl
More informationSoftware Estimation: Practical Insights & Orphean Research Issues
Software Estimation: Practical Insights & Orphean Research Issues Alain Abran École de Technologie Supérieure, University of Québec, Montréal, Canada alain.abran@etsmtl.ca 9 th International Conference
More informationDesign of Network Educating Information System Based on Use Cases Driven Shenwei Wang 1 & Min Guo 2
International Symposium on Social Science (ISSS 2015) Design of Network Educating Information System Based on Use Cases Driven Shenwei Wang 1 & Min Guo 2 1 College of Electronic and Control Engineering,
More informationGeneral Flow-Sensitive Pointer Analysis and Call Graph Construction
General Flow-Sensitive Pointer Analysis and Call Graph Construction Endre Horváth, István Forgács, Ákos Kiss, Judit Jász and Tibor Gyimóthy University of Szeged 4D Soft Ltd. Aradi Vértanúk tere 1. Soroksári
More informationAn Automated Model Based Approach to Test Web Application Using Ontology
An Automated Model Based Approach to Test Web Application Using Ontology Hamideh Hajiabadi, Mohsen Kahani hajiabadi.hamideh@stu-mail.um.ac.ir, kahani@um.ac.ir Computer Engineering Department, Ferdowsi
More informationUtilizing Domain-Specific Modelling for Software Testing
Utilizing Domain-Specific Modelling for Software Testing Olli-Pekka Puolitaival, Teemu Kanstrén VTT Technical Research Centre of Finland Oulu, Finland {olli-pekka.puolitaival, teemu.kanstren}@vtt.fi Abstract
More informationKarunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
More informationThis unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.
Algebra I Overview View unit yearlong overview here Many of the concepts presented in Algebra I are progressions of concepts that were introduced in grades 6 through 8. The content presented in this course
More informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
More informationFull Function Points for Embedded and Real-Time Software. UKSMA Fall Conference
Full Function Points for Embedded and Real-Time Software UKSMA Fall Conference London (UK) Oct. 30-31, 1998 Software Engineering Management Research Laboratory Université du Québec à Montréal & Software
More informationUML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
More informationFlorida Math for College Readiness
Core Florida Math for College Readiness Florida Math for College Readiness provides a fourth-year math curriculum focused on developing the mastery of skills identified as critical to postsecondary readiness
More informationManaging Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie
More informationUser-Interaction Supported Data-Retrieving Engine for Distributed Multimedia Presentations
User-Interaction Supported Data-Retrieving Engine for Distributed Multimedia Presentations Chun-Chuan Yang Multimedia and Communications Laboratory Department of Computer Science and Information Engineering
More informationThe importance of using marketing information systems in five stars hotels working in Jordan: An empirical study
International Journal of Business Management and Administration Vol. 4(3), pp. 044-053, May 2015 Available online at http://academeresearchjournals.org/journal/ijbma ISSN 2327-3100 2015 Academe Research
More informationThe Role of Requirement Engineering in Software Development Life Cycle 1
The Role of Engineering in Software Development Life Cycle 1 Abhijit Chakraborty, 2 Mrinal Kanti Baowaly, 3 Ashraful Arefin, 4 Ali Newaz Bahar 1, 2 Department of Computer Science and Telecommunication
More informationA SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
More informationGuide to Writing a Project Report
Guide to Writing a Project Report The following notes provide a guideline to report writing, and more generally to writing a scientific article. Please take the time to read them carefully. Even if your
More informationChapter 23 Software Cost Estimation
Chapter 23 Software Cost Estimation Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Software cost estimation Predicting the resources required for a software development process
More informationThe application of image division method on automatic optical inspection of PCBA
1 1 1 1 0 The application of image division method on automatic optical inspection of PCBA Min-Chie Chiu Department of Automatic Control Engineering Chungchou Institute of Technology, Lane, Sec. 3, Shanchiao
More informationExperiment #1, Analyze Data using Excel, Calculator and Graphs.
Physics 182 - Fall 2014 - Experiment #1 1 Experiment #1, Analyze Data using Excel, Calculator and Graphs. 1 Purpose (5 Points, Including Title. Points apply to your lab report.) Before we start measuring
More informationCOMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS
COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,
More informationA UPS Framework for Providing Privacy Protection in Personalized Web Search
A UPS Framework for Providing Privacy Protection in Personalized Web Search V. Sai kumar 1, P.N.V.S. Pavan Kumar 2 PG Scholar, Dept. of CSE, G Pulla Reddy Engineering College, Kurnool, Andhra Pradesh,
More informationAdaptive Context-sensitive Analysis for JavaScript
Adaptive Context-sensitive Analysis for JavaScript Shiyi Wei and Barbara G. Ryder Department of Computer Science Virginia Tech Blacksburg, VA, USA {wei, ryder}@cs.vt.edu Abstract Context sensitivity is
More informationInternational Journal of Computer Engineering and Applications, Volume V, Issue III, March 14
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14 PREDICTION OF RATE OF IMPROVEMENT OF SOFTWARE QUALITY AND DEVELOPMENT EFFORT ON THE BASIS OF DEGREE OF EXCELLENCE
More informationCurrent Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary
Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationAppendix B Data Quality Dimensions
Appendix B Data Quality Dimensions Purpose Dimensions of data quality are fundamental to understanding how to improve data. This appendix summarizes, in chronological order of publication, three foundational
More informationVHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
More informationWhat Leads to Innovation? An Analysis of Collaborative Problem-Solving
What Leads to Innovation? An Analysis of Collaborative Problem-Solving Randy M. Casstevens Department of Computational Social Science George Mason University Fairfax, VA 3 rcasstev@gmu.edu January 3, Abstract
More informationRegression III: Advanced Methods
Lecture 16: Generalized Additive Models Regression III: Advanced Methods Bill Jacoby Michigan State University http://polisci.msu.edu/jacoby/icpsr/regress3 Goals of the Lecture Introduce Additive Models
More informationUnderstanding and Supporting Intersubjective Meaning Making in Socio-Technical Systems: A Cognitive Psychology Perspective
Understanding and Supporting Intersubjective Meaning Making in Socio-Technical Systems: A Cognitive Psychology Perspective Sebastian Dennerlein Institute for Psychology, University of Graz, Universitätsplatz
More informationAutomated Modeling of Legacy Systems Using the UML
Automated Modeling of Legacy Systems Using the UML by Pan-Wei Ng Software Engineering Specialist Rational Software Singapore Poor documentation is one of the major challenges of supporting legacy systems;
More informationThe Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationAxiomatic design of software systems
Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.
More informationA Case Study of Calculation of Source Code Module Importance
A Case Study of Calculation of Source Code Module Importance Takaaki Goto 1, Setsuo Yamada 2, Tetsuro Nishino 1, and Kensei Tsuchida 3 1 Graduate School of Informatics and Engineering, The University of
More informationFrom Control Loops to Software
CNRS-VERIMAG Grenoble, France October 2006 Executive Summary Embedded systems realization of control systems by computers Computers are the major medium for realizing controllers There is a gap between
More informationTotal Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)
Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011
More informationIdentifying User Behavior in domainspecific
Identifying User Behavior in domainspecific Repositories Wilko VAN HOEK a,1, Wei SHEN a and Philipp MAYR a a GESIS Leibniz Institute for the Social Sciences, Germany Abstract. This paper presents an analysis
More informationAn Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
More informationThe Development of Practical Asset Management System for an Urban Expressway Network
The Development of Practical Asset Management System for an Urban Expressway Network Motohiko Nishibayashi, Hanshin Expressway Company Limited 1. Introduction Hanshin Expressway is an urban expressway
More informationMerging of Data Flow Diagram with Unified Modeling Language
International Journal of Scientific and Research Publications, Volume 2, Issue 8, August 2012 1 Merging of Data Flow with Unified Modeling Language Kirti Tiwari, Alpika Tripathi, Shipra Sharma, Vandana
More informationMeasurement for improving accuracy of estimates: the case study of a small software organisation
Measurement for improving accuracy of estimates: the case study of a small software organisation Sylvie Trudel May 9th, 7 Content Introduction Company Process Product Project estimation Improving estimation
More informationSoftware Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model
Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model Iman Attarzadeh and Siew Hock Ow Department of Software Engineering Faculty of Computer Science &
More informationMulti-objective Design Space Exploration based on UML
Multi-objective Design Space Exploration based on UML Marcio F. da S. Oliveira, Eduardo W. Brião, Francisco A. Nascimento, Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Brazil
More informationLayered Approach to Development of OO War Game Models Using DEVS Framework
Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701
More information