An empirical study of software development productivity in C and C++ 1
|
|
|
- Jane Holland
- 10 years ago
- Views:
Transcription
1 An empirical study of software development productivity in C and C++ 1 Ingunn Myrtveit*, Erik Stensrud* *) Norwegian School of Management - BI Abstract The object-oriented language C++ is claimed to be a better C. We analyzed data extracted from a database of 90 commercial, industrial software projects developing client-server type business applications in C++ and C, respectively. We investigated whether C++ improved the productivity of software development. We did not find any empirical evidence of improved productivity. This is in line with previous studies that to date have found no convincing empirical support in favor of object-oriented development. INTRODUCTION Software development is labor-intensive. The main motivation for the continuous development of new software development technologies is presumably to develop software more cost-effectively. Object-oriented technology (OOT) is considered one of the major contributions to software engineering. There have been massive investments both in academia and in industry to develop OOT since the 1960 ies. More than 30 years after Simula67 appeared, we expect to see a return on this investment in terms of higher productivity on OOT projects than on non-oot projects. In this study, we empirically investigate whether the object-oriented language C++ has led to improved productivity compared with its predecessor C. It is the commonly held view, and widely claimed, that object-oriented technology (OOT) improves the productivity and quality of software projects (e.g. Jacobson et al. 1992; Madsen et al. 1993; Guerraoui et al. 1996), especially of large, complex software (Moser and Nierstrasz 1996; Benett et al. 2002, ch. 3.5; Booch 1991; Martin and Odell 1995; Bruegge and Dutoit 2004). Some even consider OOT a revolution (Cox 1986). As for industry, we also observe that it has adopted OOT, and that C++ seems to have replaced C. C++ is furthermore claimed to be a better C (Stroustrup 1986). Software systems are generally complex conceptual structures, and it is claimed that OOT better handles this complexity. The main reason for the belief in the superiority of OOT is that its concepts are closer to human thinking and natural languages (Mathiassen et al. 1993). The main OO concepts are objects, classes and class hierarchies. As for classes, they improve abstraction (abstract data types) and are perceived to provide better modularization than procedures, that is, a class module may provide higher cohesion and lower coupling than a procedure module and thus increase reuse. Regarding class hierarchies, they further improve abstraction and generalization and thus further reduce 1 This paper was presented at the NIK-2008 conference. For more information, see //
2 conceptual complexity. The human brain usually handles complexity by classifying and generalizing. Class hierarchies are well known from botany and zoology. We would therefore expect OOT to add value in handling software complexity. Dynamic binding poses new challenges to software testing (Briand et al. 1999), thus potentially hampering productivity. Also, the use of the inheritance mechanism may be difficult and therefore limited in practice (Cartwright and Shepperd 2000). It is also difficult to see how class modeling adds value to entity-relationship modeling when data storage is to be realized in a relational database management system. Furthermore, it is claimed that OO programming languages like C++ may be hard to learn (Hardgrave and Doke 2000). For others, it may be the transition from structured analysis and design to OO analysis and design (OOAD) that may constitute a radical and difficult change (Sircar et al. 2001). Given the strong analytical advocacy of OOT and, at the same time, the lack of empirical evidence of its alleged benefits, more empirical studies are called for. In this study, we therefore investigate how OOT impacts productivity analyzing data from a database of 90 industrial, recent, commercial software development projects using C++ and C as the primary language, respectively. The majority of the projects have delivered business applications, e.g. Management Information Systems (MIS) and transaction applications. Specifically, we investigate whether we can reject the null hypothesis that the sample of C++ projects is drawn from the same population as the C projects in terms of productivity. We test the following null hypothesis: 1. H0: productivity(c++ projects) = productivity(c projects) The paper is organized as follows. Section 0 presents studies that investigated how OOT impacts productivity in a commercial environment. Section 0 describes the data used in this study. Section 0 presents the research method and formalizes the research hypothesis. Section 0 presents the results. Section 0 discusses the validity of the results, and section 0 concludes. PREVIOUS FINDINGS ON OOT PRODUCTIVITY There are few studies of OOT in industrial software projects, and those that exist have several weaknesses, most importantly, they suffer from small sample sizes. Other studies have larger sample sizes but used students as subjects on toy projects rather than professional software developers on real projects. There is no convincing quantitative evidence to claim that OOT has delivered (Briand et al. 1999; Potok et al. 1999; Jones 1994; Cartwright and Shepperd 2000). Most studies have investigated isolated object-oriented features which gives somewhat indirect insights into OOT itself (Cartwright and Shepperd 2000), and most studies designed experiments using students (Potok et al. 1999). For example, Zweben et al. (1995) investigated encapsulation (or information hiding, a black box approach (Dennis et al. 2002)), a central OOT feature, using students. Basili et al. (1996) analyzed the effect of reuse on eight medium-sized MIS systems developed by students applying OOT. Only one previous study has investigated the overall impact of OOT on productivity on commercial software projects (Potok et al. 1999). They analyzed 19 software projects; 11 used OOT; 8 used non-object-oriented development techniques. They assumed a log-linear model and used the double-dummy variable approach to test the significance of OOT.
3 They did not find that object-oriented technology improved the productivity. They did unfortunately not report which programming languages were used. Port and McArthur (1999) analyzed four projects. These projects used C/Java, C++, Ada83, and Ada95 programming languages; three projects used OOAD. Productivity was measured as unadjusted function points (UFP) per person-month. They found that the Java/C project had 20 times higher productivity than the Ada83 project, with the Ada95 and C++ projects in between. They concluded that OOT improved on productivity, and that reuse of software components was the main contributor. However, their study was a case study, and the types of applications developed seemed very different. Thus, it seems invalid to generalize from their study. Houdek et al. (1999) conducted an experiment comparing structured and OO methods applied to embedded software systems. The results identified only minor differences in development time and quality of the developed systems. Cartwright and Shepperd (2000) analyzed one object-oriented system, 133,000 lines of code (=roughly 1000 function points), developed with C++. They found little use of OOT constructs such as inheritance and polymorphism. To the extent that inheritance was used, it contributed to more fault-prone software, thus potentially impacting negatively on the productivity. This finding is contrary to common belief, but nevertheless in line with the study of Wood et al. (1998) who found that inheritance in OOT software may inhibit software maintenance. Finally, the large IT consultancy, Andersen Consulting (now Accenture), found that inheritance was often counterproductive, resulting in fragile, hard-to-maintain code on commercial software, not better than the Cobol programs they were replacing (Adamczyk and Moldauer 1995). There have been published several studies on productivity of software projects in general, for example in Management Science, but none on OOT productivity (Banker and Kauffman 2004). DATA The ISBSG (International Software Benchmarking Standards Group) database Release 9 is, to our knowledge, the largest database of software projects (ISBSG 2005). It contains 3024 software projects. Projects have been submitted from 20 different countries. The major contributors are Japan (28%), the United States (26%), and Australia (24%). Major organization types are communications (15%), insurance (12%), banking (7%), manufacturing (6%), government (6%), and business services (6%). Major business areas are telecommunications (26%), banking (13%), insurance (13%), finance (9%), manufacturing (8%), accounting (5%), sales and marketing (4%), and engineering (4%). The applications are mainly business applications using a client-server architecture: Management Information Systems (18%), transaction/production systems (40%). C/C++ projects account for 14% of the data. The projects were implemented between 1990 and The software size is measured in Function Points. The sample used in this study contains 90 observations (see Table 1). 52 were developed with C as the primary language and 38 with C++ as the primary language. The C and C++ projects are comparable as they are of similar size and have a similar mix of application types (MIS, Transaction Systems, Office Information Systems, and Electronic Data Interchange). Furthermore, they are all New Development projects.
4 Table 1. Descriptive statistics Variable N Mean Median StDev Min Max C and C++ Function Points Work Effort (hours) C++ Function Points Work Effort (hours) Implementation Year C Function Points Work Effort (hours) Implementation Year METHOD We test hypotheses using regression analysis with dummy variables. We assume that the relationship between labor, y, and software size, x, is given by the following, commonly used, multiplicative model: a b u y = e x e (1) 2 where a and b are coefficients, and ~ N( 0, σ ) u is the stochastic error term. The coefficients (parameters) are estimated with linear least squares regression applied to the loglinear form of (1): ln y = a + b ln x + u (2) To test hypothesis 1, we applied (2) adding a single dummy variable: ln y = a + bln x + ai Di + u (3) The single dummy approach assumes that the slope of model (2), b, is constant, and allows only the intercepts, a i, to vary. The a i s are the dummy parameters to be estimated. D i is a dummy variable for programming language i, C++ and C, respectively. For an account of the dummy variable approach, consult an econometrics textbook, for example Gujarati (1995, p. 512.) Note, if a i < a, the productivity of language i is higher than the baseline productivity. In the following sub-sections, we discuss the model specification and briefly present the Function Point metric. We empirically examined the model specification, i.e. that the loglinear specification was reasonable for our sample, including linearity, homoscedasticity, outliers, and highly influential observations. Also, the slope coefficients of the two subsamples were almost identical, confirming the visual inspection.
5 1.1 Measuring software size and complexity with Function Points Function Points (Albrecht and Gaffney, 1983; IFPUG, 1999) consist of five primitives: External Inputs, External Outputs, External Inquiries, Logical Internal Files, and External Interface Files. The primitives are classified into Low, Average, and Complex, then weighted based on the classification, and the weighted counts are added to a single unadjusted function point (UFP) total. UFP is then adjusted for processing complexity using 14 complexity factors to give the final adjusted function points (AFP). The classification into Low, Average, and High is based on counting the number of data element types (DET) and the number of file types referenced (FTR) that a transaction inputs to, or outputs from, the database, that is, the primitives are sized based on the number data movements. In this study, we used AFP as the independent variable. RESULTS The results suggest that the loglinear model is a reasonable model. This is supported by the fairly high R-sq values in Table 2. From Table 2, we also observe that the regression coefficients of C and C++ are almost equal. The single dummy results using equation (3) suggest that C++ projects are not more productive than C projects, and that we cannot reject the null hypothesis that they are equally productive (p=0.645 for a(c++), Table 3). Table 2. Loglinear regression results Language N a b R-sq% S C 52 3, , ,09 C , , ,89 Table 3. Single dummy regression C vs. C++ Predictor Coef SE Coef P a b a(c++) One explanation of the lack of positive findings in favor of OOT is that the applications in this sample were client-server type business applications where the client typically is developed in C/C++ whereas the server is developed in SQL which is a non-oot. The development effort on the server side could be of the same order of magnitude as the client development effort and thus may mask the actual productivity benefits of C++. Furthermore, the developers may suffer from having to cope with an object model on the client side and a non-object model on the server side. However, client-server development using several languages is perfectly normal and representative for real life software projects, in particular of business applications. EXTERNAL VALIDITY The applications investigated were mainly MIS and transaction/production systems (60%). The results ought therefore to be valid for MIS and transaction/production
6 software. However, the impact of C/C++ on the development productivity of other types of systems, e.g. scientific and engineering software (e.g. CAD software) may be different. For example, CAD software models physical objects, often a large number of different object types that lend themselves to modeling using part-of and kind-of relationships, and it may therefore better lend itself to C++. CONCLUSION AND FURTHER WORK In this study, we investigated whether development in C++ is more productive than development in C. We analyzed data extracted from a database containing commercial, software development projects completed in the period The projects developed mainly client-server type, business applications like MIS and transaction systems. We found no empirical evidence that C++ is a more productive C. The implications for managers and CIO s are that the choice of C++ vs. C is not obvious. In general, the procedural languages may be easier to learn and use, so, it may take both learning time and a very skilled workforce to reap the benefits of the more advanced features in C++. Topics for further study include investigating in more depth why no studies have found convincing, empirical evidence in favor of OOT; further empirical analysis to investigate if C++ is more productive for large, more complex projects; further empirical analysis to investigate if C++ is more productive for enhancement projects than for initial development; last, but not least, evolve the existing theories on OOT. REFERENCES Adamczyk, J and T Moldauer (1995) Inheritance and reusable objects? Yeah, right. Andersen Consulting LLP, Northbrook, IL. Albrecht, AJ and SH Gaffney (1983), Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation. IEEE Transactions of Software Engineering. vol. 9, no. 6, pp Banker, RD, and RJ Kauffman (2004), The evolution of research on information systems: A fiftieth-year survey of the literature in Management Science, Management Science, vol. 50, no. 3, pp Basili, V., Briand, L., and Melo, W. (1996), How reuse influences productivity in objectoriented systems, Communications of the ACM, vol. 39, no. 10, pp S Benett, S McRobb, R Farmer (2002), Object-oriented systems analysis and design using UML 2nd ed., London: McGraw-Hill. Booch, G (1991), Object-oriented design with applications, Reading MA: Benjamin/Cummings. Briand, LC, E Arisholm, S Counsell, F Houdek, and P Thevenod-Fosse (1999), Empirical studies of object-oriented artifacts, methods, and processes: state of the art and future directions, Empirical Software Engineering, vol. 4, no. 4, pp Bruegge, B and AH Dutoit (2004), Object-oriented software engineering using UML, patterns, and JavaTM 2nd ed., Upper Saddle River, NJ: Pearson Prentice Hall. Cartwright, M and MJ Shepperd (2000), An empirical investigation of an object-oriented software system, IEEE Trans. Software Eng., vol. 26, no. 8, pp Cox, B (1986), Object-oriented programming an evolutionary approach, Reading, MA: Addison-Wesley.
7 Dennis, A, BH Wixon, D Tegarden (2002), Systems analysis & design An objectoriented approach with UML, Wiley. Guerraoui, R et al. (1996), Strategic directions in object-oriented programming, ACM Computing Surveys, vol. 28, no. 4, pp Gujarati, D.N. (1995), Basic Econometrics, 3rd ed., New York: McGrawHill. Hardgrave, BC and ER Doke (2000), Cobol in an object-oriented world: a learning perspective, IEEE Software, vol. 17, no. 2, pp Houdek, F., Ernst, D., and Schwinn, T. (1999), Comparing structured and object-oriented methods for embedded systems: a controlled experiment. ICSE 99 Workshop on Empirical Studies of Software Development and Evolution (ESSDE). Los Angeles, pp Q Hu (1997), Evaluating alternative software production functions, IEEE Transactions on Software Engineering, vol. 23, no. 6, pp IFPUG - International Function Point User Group (1999), IFPUG Function Point Analysis Manual 4.1, ISBSG Estimating, Benchmarking and Research Suite Release 9, Accessed 1 June Jacobson, I, M Christerson, P Jonsson, and G Övergaard (1992), Object-oriented software engineering A use case driven approach, Wokingham, England: Addison-Wesley. Jones, C (1994), Gaps in the object-oriented paradigm, IEEE Computer, vol. 27, no.6, pp Madsen, OL, B Møller-Pedersen, and K Nygaard (1993), Object-oriented programming in the Beta programming language, Wokingham, England: Addison-Wesley. Martin, J and JJ Odell (1995), Object-oriented methods a foundation, Englewood Cliffs NJ: Prentice Hall. Mathiassen, L, A Munk-Madsen, PA Nielsen, J Stage (1993), Object-oriented analysis (in Danish), Aalborg, Denmark: Marko. Moser, S and O Nierstrasz (1996), The effect of object-oriented frameworks on developer productivity, IEEE Computer, pp Potok, TE, M Vouk, and A Rindos (1999), Productivity analysis of object-oriented software developed in a commercial environment, Software Practice and Experience, vol. 29, no. 10, pp Sircar, S, SP Nerur, R Mahapatra (2001), Revolution or evolution? A comparison of object-oriented and structured systems development methods, MIS Quarterly, vol. 25, no. 4, pp Stroustrup, B (1986), The C++ programming language, Reading, MA: Addison-Wesley. Zweben, SH, SH Edwards, BW Weide, and JE Hollingsworth (1995), The effects of layering and encapsulation on software development cost and quality, IEEE Transactions on Software Engineering, vol. 21, pp
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
Quality 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
Software 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.,
Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process
Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -
What you can find in the ISBSG Development & Enhancement Repository Release 13
What you can find in the ISBSG Development & Enhancement Repository Release 13 This document provides details of the various project data types that are included in the ISBSG project repository Release
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
A Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA [email protected] 2 Computer
Risk Knowledge Capture in the Riskit Method
Risk Knowledge Capture in the Riskit Method Jyrki Kontio and Victor R. Basili [email protected] / [email protected] University of Maryland Department of Computer Science A.V.Williams Building
Simulating the Structural Evolution of Software
Simulating the Structural Evolution of Software Benjamin Stopford 1, Steve Counsell 2 1 School of Computer Science and Information Systems, Birkbeck, University of London 2 School of Information Systems,
Program Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
Object-Oriented Design
Object-Oriented Design Peter Coad and Edward Yourdon Technische Hochschule Darmstadt FACHBKREICH INFORMATIK BIBLIOTHEK Inventar-Nr.:...A.Q.HA&. Sachg biete:.../??/.4, Standort: YOURQDN PRESS PRENTICE HALL
Efficient Indicators to Evaluate the Status of Software Development Effort Estimation inside the Organizations
Efficient Indicators to Evaluate the Status of Software Development Effort Estimation inside the Organizations Elham Khatibi Department of Information System Universiti Teknologi Malaysia (UTM) Skudai
MEASURING THE SIZE OF SMALL FUNCTIONAL ENHANCEMENTS TO SOFTWARE
MEASURING THE SIZE OF SMALL FUNCTIONAL ENHANCEMENTS TO SOFTWARE Marcela Maya, Alain Abran, Pierre Bourque Université du Québec à Montréal P.O. Box 8888 (Centre-Ville) Montréal (Québec), Canada H3C 3P8
SOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007
SOFTWARE ESTIMATING RULES OF THUMB Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007 Abstract Accurate software estimating is too difficult for simple rules of thumb. Yet in spite
Function 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
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
Multinomial Logistic Regression
Multinomial Logistic Regression Dr. Jon Starkweather and Dr. Amanda Kay Moske Multinomial logistic regression is used to predict categorical placement in or the probability of category membership on a
Object 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
International Journal of Advanced Research in Computer Science and Software Engineering
Volume 3, Issue 3, March 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Coupling and Cohesion
Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability
Volume 5, Issue 4, April 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Review of Static
Prediction of Software Development Faults in PL/SQL Files using Neural Network Models
Prediction of Software Development Faults in PL/SQL Files using Neural Network Models Tong-Seng Quah, Mie Mie Thet Thwin School of Electrical & Electronic Engineering Nanyang Technological University [email protected]
C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical
C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.
EXTENDED 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,
Pragmatic Peer Review Project Contextual Software Cost Estimation A Novel Approach
www.ijcsi.org 692 Pragmatic Peer Review Project Contextual Software Cost Estimation A Novel Approach Manoj Kumar Panda HEAD OF THE DEPT,CE,IT & MCA NUVA COLLEGE OF ENGINEERING & TECH NAGPUR, MAHARASHTRA,INDIA
Effort and Cost Allocation in Medium to Large Software Development Projects
Effort and Cost Allocation in Medium to Large Software Development Projects KASSEM SALEH Department of Information Sciences Kuwait University KUWAIT [email protected] Abstract: - The proper allocation
Design and Code Complexity Metrics for OO Classes. Letha Etzkorn, Jagdish Bansiya, and Carl Davis. The University of Alabama in Huntsville
Design and Code Complexity Metrics for OO Classes Letha Etzkorn, Jagdish Bansiya, and Carl Davis The University of Alabama in Huntsville {letzkorn, jbansiya, cdavis} @cs.uah.edu Software complexity metrics
CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE
CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE Zahra Askarinejad Amiri 1 1 Department of Computer Engineering, Staffordshire University ABSTRACT [email protected] As Information
Full 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
Assessing Internal Software Quality Attributes of the Object-Oriented and Service-Oriented Software Development Paradigms: A Comparative Study
Journal of Software Engineering and Applications, 2011, 4, 244-252 doi:10.4236/jsea.2011.44027 Published Online April 2011 (http://www.scirp.org/journal/jsea) Assessing Internal Software Quality Attributes
Ingegneria del Software Corso di Laurea in Informatica per il Management. Object Oriented Principles
Ingegneria del Software Corso di Laurea in Informatica per il Management Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal of design-related
Using 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 [email protected], [email protected],
Software project cost estimation using AI techniques
Software project cost estimation using AI techniques Rodríguez Montequín, V.; Villanueva Balsera, J.; Alba González, C.; Martínez Huerta, G. Project Management Area University of Oviedo C/Independencia
the state of the practice Variations in Software Development Practices
focus the state of the practice invited article Variations in Software Development Practices Capers Jones, Software Productivity Research My colleagues and I at Software Productivity Research gathered
A Change Impact Analysis Tool for Software Development Phase
, pp. 245-256 http://dx.doi.org/10.14257/ijseia.2015.9.9.21 A Change Impact Analysis Tool for Software Development Phase Sufyan Basri, Nazri Kama, Roslina Ibrahim and Saiful Adli Ismail Advanced Informatics
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
22C:22 (CS:2820) Object-Oriented Software Development
The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity
[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information
[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information Technology Based Higher Education and Training, 2006.
Why process models? Topic 3 Software process models. 3. Process models. What is a process model?
Why process models? Topic 3 Software process models SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software... (IEEE Standard
Domain Analysis for the Reuse of Software Development Experiences 1
Domain Analysis for the Reuse of Software Development Experiences 1 V. R. Basili*, L. C. Briand**, W. M. Thomas* * Department of Computer Science University of Maryland College Park, MD, 20742 USA ** CRIM
Teaching model: C1 a. General background: 50% b. Theory-into-practice/developmental 50% knowledge-building: c. Guided academic activities:
1. COURSE DESCRIPTION Degree: Double Degree: Derecho y Finanzas y Contabilidad (English teaching) Course: STATISTICAL AND ECONOMETRIC METHODS FOR FINANCE (Métodos Estadísticos y Econométricos en Finanzas
MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT
23-24 September, 2006, BULGARIA 1 MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT Dencho N. Batanov Frederick Institute of Technology Computer Science Department Nicosia, Cyprus
Defining and measuring project success
Defining and measuring project success Danie van der Westhuizen, Department Information Systems, Faculty of Business, University of Southern Queensland - Wide Bay Campus, Hervey Bay, Queensland, Australia,
Real-World Object-Oriented Design Experience for Computer Science Students
Real-World Object-Oriented Design Experience for Computer Science Students Abstract Due to the limitations of time and resources, many undergraduate Software Engineering courses provide a survey of a broad
Component Based Development Methods - comparison
Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier
Why SNAP? What is SNAP (in a nutshell)? Does SNAP work? How to use SNAP when we already use Function Points? How can I learn more? What s next?
1 Agenda Why SNAP? What is SNAP (in a nutshell)? Does SNAP work? How to use SNAP when we already use Function Points? How can I learn more? What s next? 2 Agenda Why SNAP? What is SNAP (in a nutshell)?
Layered 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
Modeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA [email protected] Yun-Sik
EPL603 Topics in Software Engineering
Lecture 10 Technical Software Metrics Efi Papatheocharous Visiting Lecturer [email protected] Office FST-B107, Tel. ext. 2740 EPL603 Topics in Software Engineering Topics covered Quality
How To Calculate Class Cohesion
Improving Applicability of Cohesion Metrics Including Inheritance Jaspreet Kaur 1, Rupinder Kaur 2 1 Department of Computer Science and Engineering, LPU, Phagwara, INDIA 1 Assistant Professor Department
The role of Software Metrics on Software Development Life Cycle
The Role of Software Metrics on Software Development Life Cycle 39 The role of Software Metrics on Software Development Life Cycle N. Rajasekhar Reddy 1 and R. J. Ramasree 2 1 Assistant Professor, Department
Fault Analysis in Software with the Data Interaction of Classes
, pp.189-196 http://dx.doi.org/10.14257/ijsia.2015.9.9.17 Fault Analysis in Software with the Data Interaction of Classes Yan Xiaobo 1 and Wang Yichen 2 1 Science & Technology on Reliability & Environmental
The importance of graphing the data: Anscombe s regression examples
The importance of graphing the data: Anscombe s regression examples Bruce Weaver Northern Health Research Conference Nipissing University, North Bay May 30-31, 2008 B. Weaver, NHRC 2008 1 The Objective
EMPIRICAL STUDY OF ERP SYSTEMS IMPLEMENTATION COSTS IN SWISS SMES.
EMPIRICAL STUDY OF ERP SYSTEMS IMPLEMENTATION COSTS IN SWISS SMES. Catherine Equey 1, Rob J. Kusters 2, Sacha Varone 1 and Nicolas Montandon 1 1 Haute Ecole de Gestion, 1227 Carouge, Switzerland; 2 University
Chapter 1 The Systems Development Environment
Your Objects of SA&D Study Chapter 1 The Systems Development Environment 2011 by Prentice Hall: J.A.Hoffer et.al., Modern Systems Analysis & Design, 6 th Edition 1/55 2/55 Course Content Fundamental of
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
Karunya 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
Regression Analysis: A Complete Example
Regression Analysis: A Complete Example This section works out an example that includes all the topics we have discussed so far in this chapter. A complete example of regression analysis. PhotoDisc, Inc./Getty
C. Wohlin and A. Andrews, "Evaluation of Three Methods to Predict Project Success: A Case Study", Proceedings of International Conference on Product
C. Wohlin and A. Andrews, "Evaluation of Three Methods to Predict Project Success: A Case Study", Proceedings of International Conference on Product Focused Software Process Improvement (PROFES05), LNCS-series,
MGT 267 PROJECT. Forecasting the United States Retail Sales of the Pharmacies and Drug Stores. Done by: Shunwei Wang & Mohammad Zainal
MGT 267 PROJECT Forecasting the United States Retail Sales of the Pharmacies and Drug Stores Done by: Shunwei Wang & Mohammad Zainal Dec. 2002 The retail sale (Million) ABSTRACT The present study aims
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.
COM 401 Software Engineering Lecture Overview Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes Prof. Dr. Halûk Gümüşkaya [email protected]
17. SIMPLE LINEAR REGRESSION II
17. SIMPLE LINEAR REGRESSION II The Model In linear regression analysis, we assume that the relationship between X and Y is linear. This does not mean, however, that Y can be perfectly predicted from X.
Efficiency in Software Development Projects
Efficiency in Software Development Projects Aneesh Chinubhai Dharmsinh Desai University [email protected] Abstract A number of different factors are thought to influence the efficiency of the software
Roles of Practitioners and Strategic Planning Practices
Roles of Practitioners and Strategic Planning Practices *** Associate Professor Dr. Kanya Sirisagul Department of Advertising and Public Relations Business Administration Faculty Ramkhamhaeng University
STUDENT ATTITUDES TOWARD WEB-BASED COURSE MANAGEMENT SYSTEM FEATURES
STUDENT ATTITUDES TOWARD WEB-BASED COURSE MANAGEMENT SYSTEM FEATURES Dr. Manying Qiu, Virginia State University, [email protected] Dr. Steve Davis, Clemson University, [email protected] Dr. Sadie Gregory, Virginia
How to Decide which Method to Use
Methods for Software Sizing How to Decide which Method to Use 1 Why Measure Software Size? Software is the output product from the software development and/or enhancement activity that is delivered and/or
Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT
INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT UNDERGRADUATE Bachelor's programs Bachelor of Business Administration with a concentration in information systems and technology management (http:// bulletin.gwu.edu/business/undergraduate-programs/
1. The parameters to be estimated in the simple linear regression model Y=α+βx+ε ε~n(0,σ) are: a) α, β, σ b) α, β, ε c) a, b, s d) ε, 0, σ
STA 3024 Practice Problems Exam 2 NOTE: These are just Practice Problems. This is NOT meant to look just like the test, and it is NOT the only thing that you should study. Make sure you know all the material
SOFTWARE QUALITY MODEL BASED ON SOFTWARE DEVELOPMENT APPROACHES
OFTWARE QUALITY MODEL BAED ON OFTWARE DEVELOPMENT APPROACHE Kenyer Domínguez, María Pérez, Anna C. Grimán, Maryoly Ortega, Luis E. Mendoza Laboratorio de Investigación en istemas de Información (LII),
Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.
Project Cost Adjustments This article describes how to make adjustments to a cost estimate for environmental factors, schedule strategies and software reuse. Author: William Roetzheim Co-Founder, Cost
From Business World to Software World: Deriving Class Diagrams from Business Process Models
From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254
Mobile Stock Trading (MST) and its Social Impact: A Case Study in Hong Kong
Mobile Stock Trading (MST) and its Social Impact: A Case Study in Hong Kong K. M. Sam 1, C. R. Chatwin 2, I. C. Ma 3 1 Department of Accounting and Information Management, University of Macau, Macau, China
From the help desk: Swamy s random-coefficients model
The Stata Journal (2003) 3, Number 3, pp. 302 308 From the help desk: Swamy s random-coefficients model Brian P. Poi Stata Corporation Abstract. This article discusses the Swamy (1970) random-coefficients
A Panel Data Analysis of Corporate Attributes and Stock Prices for Indian Manufacturing Sector
Journal of Modern Accounting and Auditing, ISSN 1548-6583 November 2013, Vol. 9, No. 11, 1519-1525 D DAVID PUBLISHING A Panel Data Analysis of Corporate Attributes and Stock Prices for Indian Manufacturing
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques
Fuzzy ognitive Map for Software Testing Using Artificial Intelligence Techniques Deane Larkman 1, Masoud Mohammadian 1, Bala Balachandran 1, Ric Jentzsch 2 1 Faculty of Information Science and Engineering,
A Comparative Analysis of Structured and Object-Oriented Programming Methods ASAGBA, PRINCE OGHENEKARO; OGHENEOVO, EDWARD E. CPN, MNCS.
JASEM ISSN 1119-8362 All rights reserved Full-text Available Online at www.bioline.org.br/ja J. Appl. Sci. Environ. Manage. December, 2008 Vol. 12(4) 41-46 A Comparative Analysis of Structured and Object-Oriented
