Using Software Requirement Specification as Complexity Metric for Multi-Paradigm Programming Languages
|
|
- Daniela Wilson
- 7 years ago
- Views:
Transcription
1 Using Software Requirement Specification as Complexity Metric for Multi-Paradigm Programming Languages Olabiyisi S.O. 1, Adetunji A.B 2, Olusi T.R 3 1,2 Department of Computer Science and Engineering, Faculty of Engineering and Technology, Ladoke Akintola University of Technology, Ogbomoso, Oyo State, Nigeria. 3 Department of Computer Science, Institute of Basic and Applied Sciences, Kwara State Polytechnic, Ilorin, Nigeria. Abstract--The existing complexity metrics being used are based on code and cognitive metrics. This study therefore proposed a complexity metric using Software Requirement Based Specification. The proposed approach identified complexity of software immediately after freezing the requirement in Software Development Life Cycle (SDLC) process. In order to develop a metric, this research took the IEEE Software Requirement Specification (SRS) document as a basis. Proper analysis of each and every component of SRS document of complexity metrics was considered. Functional and Non- functional requirements were also employed to develop an improved complexity metric. In order to validate the proposed metric, it was then applied on ten (1) different sorting algorithms written in C++ language and further compared with other established code based metrics. The metric compares well with other established complexity metrics and can be used to estimate complexity of proposed software much before the actual implementation of design thus saving cost, time and manpower wastage. Keywords-- Design Constraints Imposed Functional Requirement, Input and Output Complexity, Interface Complexity, Non Functional Requirement, Requirement Base Complexity, System Feature Complexity, User / Location Complexity. I. INTRODUCTION A wide range of activity is associated with different phases of software development. Software metrics are techniques/formulas to measure some specific property or characteristics of software. In software engineering, the term 'software metrics' is directly related to the measurement. Software measurement has significant role in the software management. According to DeMarco (1986) "You can't manage what you can't measure!" Campbell also emphasized the importance of measurement by stating that If you aren t measuring you aren t managing you re only along for the ride (downhill)!. At this point it is worth to define 'measurement' itself. Norman Fenton (1992) defines measurement as the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules. 562 Software metrics are quantitative guide to the performance of a certain piece of software in relation to the human interaction needed to make the software work. Metrics have been established under the idea that before something can be measured or quantified, it needs to be translated into numbers for easy understanding, coding and evaluating the quality of the program. There are several areas where software metrics are found to be of use. These areas include everything from software planning to the steps that are meant to improve the performance of certain software. Software cannot perform on its own without human interaction. Therefore, in a way, software metric is also a measure of a person's relation to the software that he or she is handling. Software systems are complex therefore, it is hard to attain a high level of quality. Software metrics have always been an important tool and it was realized that software development is a complex task. Due to its complexity, software quality been a rising demand for decades and some definitions have been manifested throughout software history. A software product should carry several quality attributes, such as correctness, reliability, efficiency, integrity, usability, maintainability, testability, flexibility, portability, reusability and interoperability. According to Somerville (24), the most necessary software quality attribute is maintainability. To efficiently be able to maintain a software system, the codes should be understandable for developers. Briefly, to achieve high quality, reduction of complexity is 'essential. To deal with software complexity, software metrics are used. Metrics are indicators of complexity; they expose several weaknesses of a complex software system. Therefore, by the means of software metrics, quality can be estimated. That is why metrics take an indispensable role in software development life cycle. Software complexity metrics are used to quantify a variety of software properties. Usually, it is extremely hard to build high quality software or improve the development process without using any metrics. There are a number of metrics each focusing on different complexity factors. Large companies such as Hewlett-Packard, AT&T, and Nokia use several metrics to estimate the quality of their software systems.
2 McCabe et al. (1976) defined software complexity as "one branch of software metrics that is focused on direct measurement of software attributes, as opposed to indirect software measures such as project milestone status and reported system failures." Basili (198) defined complexity as a measure of resources used by a software system during the interaction of the parts of the software, to perform a task. If the interacting entity is a computer, then complexity is related to the execution time and hardware resources required to perform the task. If the interacting entity is a programmer, then complexity is related to the difficulty of coding, testing and modifying the software. It is believed that for coding and modifying a software system, a higher comprehensibility of the code is required. If the comprehensibility is higher, then the complexity of the software is lower, and thus testing is easier. Somerville (24) categorizes metrics as control and predictor metrics. The various popular metrics complexity measures are under several criticisms. These criticisms are mainly based on lacking in desirable measurement properties, being too labour- intensive to collect and only confined to the features of procedural languages most of the available metrics cover only certain features of a language. For example, if line of code is applied then only size will be considered. If McCabe complexity is applied the control flow of the program will be covered. Moreover, most of the available metrics do not consider the cognitive characteristics in calculating the complexity of a code, which directly affects the cognitive complexity. If a code has a low cognitive complexity, programmer can easily grasp the code without wasting too much time. High cognitive complexity indicates poor design which sometimes can be unchangeable. Hence, there is a need to propose a new complexity measure that is able to estimate software complexity in early phases of software life cycle, even before analysis and design is carried out. This research work is to develop a Software Requirement Specification (SRS) based complexity metric for multi paradigm programming languages. II. REVIEW OF RELATED WORK Many well known software complexity measures have been proposed such as McCabe cyclomatic complexity, Line Of Code and Halstead complexity metric. All the reported complexity measures are supposed to cover the correctness, effectiveness and clarity of software and to provide good estimate of these parameters. Out of the proposed measures, selecting a particular complexity measure is again a problem as every measure has its own advantages and disadvantages. 563 In this research work the proposed complexity metric was developed using requirement based complexity measure and its performance is compared with the existing metrics such as line of code, Halstead complexity measure and Cyclomatic complexity. Cyclomatic Complexity Cyclomatic Complexity formula is given below: m =e-n +2 p (1) Where, m is the cyclomatic complexity e is the number of edges n is the number of vertices p is the connected components Halstead Complexity Measure Maurice Halstead proposed this measure which is based on the principle of Count of Operators and Operand and their respective occurrences in the code. These operators and operands are to be considered for the formation of Length and Vocabulary of Program. Further Program Length and Vocabulary serve as basis for finding out Volume, Potential Volume, Estimated Program length, Difficulty and finally effort and time by using following formulae. Program Vocabulary, n = n1+n2 Program Length, N = N1+ N2 Volume, V= N*log2n Estimated Program Length N^ = n1 log2 n1 + n2 log2 n2 Potential Volume, V* =(2+n2*)log2(2+n2*) Program Level, L = V*/V Effort, E =V/L in elementary mental discriminations Reasonable Time, T = E/B min Difficulty = 1/language level Lines of Code This metric considers the number of lines of code inside a program. It has some types (Resource Standard Metric, 21): - Lines of Code (LOC): counts every line including comments and blank lines. - Kilo Lines of Code (KLOC): it is LOC divided by 1. - Effective Lines of Code (eloc): estimates effective line of code excluding parenthesis, blanks and comments. - Logical Lines of Code (LLOC): estimates only the lines which form statements of a code.
3 III. MATERIAL AND METHODS This metric is based on the factors derived from software requirement specification (SRS) document. The calculations for this metric base on different parameters are specified below. A. Complexity Attribute 1: Input-Output Complexity (IOC) This complexity refers to the input and output of the software system and attached interfaces and files. Following four attributes are considered: Input: As Information entering to the System Output: Information Leaving System Interface: User Interface where the Input are to be issued and output to be seen and specifically number of integration required Files: This refers to the data storage required during transformation Input Output Complexity can be defined as: IOC = Number of Input variable + Number of Output + Number of Interfaces + Number of files (1) B. Complexity Attribute 2: Functional Requirement (FR) Functional Requirement defines the fundamental actions that must take place in the software in accepting and processing the inputs and in processing and generating outputs. Functionality refers to what system is supposed to do. This describes the general factor that affects the product and its functionality. Every stated requirement should be externally perceivable by users, operators or other external systems. It may be appropriate to partition the functional requirement into sub-functions or sub-processes FR = No. of Functions * (2) Where SPF is Sub-Process or Sub-Functions received after decomposition. C. Complexity Attribute 3: Non Functional Requirement (NFR) This refers to the Quality related requirements for the software apart from functionality. These requirements are categorized into THREE categories with their associated precedence values as shown in Table 1. As high the precedence that much high will be the value, which will further depend upon the count. It can be mathematically described as: NFR = (3) 564 Table I Describes the different types of Non Functional Requirement Type Count Optional Req 1 Must be Type 2 Very important Type 3 D. Complexity Attribute 4: Requirement Complexity (RC) It refers to the sum of all requirements i.e. Functional Requirement (FR) and its decomposition into sub-functions and Non Functional Requirements: RC = FR * NFR (4) E. Complexity Attribute 5: Product Complexity (PC) This refers to the overall complexity based on its functionality of the system. We have proposed this a product of Requirement Complexity (RC) and Input Output Complexity (IOC). It can be mathematically described as: PC = IOC * RC (5) F. Complexity Attribute 6: Personal Complexity Attributes (PCA) For effective development of software, Technical Expertise plays a very significant role. Now computation of the Personal Attributes lead to technical expertise, and this is referred to as the Multiplier Values for Effort Calculation i.e. Cost Driver Attributes of Personal Category from COCOMO Intermediate model proposed by Berry Boehm and they are shown as follows Table II Cost Driver Attributes and their values used in COCOMO Model Attribute Rating Very low Low Normal High Very high Analysis Capability Application Expertise Programming Capability Virtual Machine Expertise Programming language Expertise Mathematically PCA can be described as Sum of Product of attributes as shown in the table above. PCA= (6) Where MF are the Multiplying Factor
4 G. Complexity Attribute 7: Design Constraints Imposed (DCI) It refers to no. of constraints that are to be considered during development of software/ system by any statuary body/ agencies which includes number of regulatory constraints, hardware constraints, communication constraints, database constraints etc. This metrics can be mathematically defined as. DCI = (7) Where Ci is Number of Constraints and value of Ci will vary from to n. Ci = { {value H. Complexity Attribute 8: Interface Complexity (IC) if Blind Development if Constraint exists This complexity attribute is used to define number of External Integration/Interfaces to the proposed module/ program/ system. These interfaces can be hardware interface, communication interface and software interface etc. IFC = (8) Where EIi is Number of External Interfaces and value of EIi will vary from to n IFC= { if no external interface {value if Constraint exists I. Complexity Attribute 9: Users/ Location Complexity (ULC) This measure refers to the number of user for accessing the system and locations (Single or Multiple) on which the system is to be deployed/ used ULC= No. of User * No. of Location (9) J. Complexity Attribute 1: System Feature Complexity (SFC) This refers to the specific features to be added to the system so as to enhance the look and feel feature of the system SFC = (Feature1 * Feature2 *. * Feature n) (1) Complexity Definition: Requirement Based Complexity Finally the Requirement Based Complexity () can be obtained by considering all above definitions. It can be mathematically shown as: = ((PC * PCA) + DCI + IFC + SFC) * ULC (11) The Requirement Based Complexity will be higher for the programs, which have higher Functionality to be performed and more quality attributes which is to be retained. All above measure were illustrated with the programs that were developed. IV. IMPLEMENTATION AND RESULTS For illustration of Requirement Based complexity (), 1 different programs were selected and developed. These programs are different from each other in their architecture, the calculation of for sample of the program is given in figure as specified below: void bubblesort(int numbers[], int array_size) { } int i, j, temp; for (i = (array_size - 1); i >= ; i--) { } for (j = 1; j <= i; j++) { } if (numbers[j-1] > numbers[j]) { } temp = numbers[j-1]; numbers[j-1] = numbers[j]; numbers[j] = temp; Figure I. Program 565
5 Analysis Of Program 1. Input Output Complexity (IOC) Number of Input = Number of Output = Number of Interface = 1 Number of files = 1 IOC = Number of input + number of output + Number of Interface + Number of Files = ++1+1=2 2. Function Requirement (FR) Number of functional Req = 1 () Number of Sub- Processes = 2 (Increment, Decrement) FR = Number of FR *Number of SP FR= 1*2 = 2 TABLE III Requirement Based Complexity () PROGRAMS 2.34 Bubble sort Bucket sort Non Functional Requirement (NFR) Number of NFR = 4. Requirement Complexity (RC) RC= FR + NFR RC= 2 + =2 5. Product Complexity (PC) PC = IOC * RC PC = 2 * 2 =4 6. Personal Complexity Attribute (PCA) PCA = MF3 PCA = Design Constraints Imposed (DCI) Num of constraints = 8. Interface Complexity (IFC) IFC = 9. User/Location Complexity (ULC) ULC = Num of user * Num of location ULC = 1* 1 =1 1. System Feature Complexity (SFC) SFC = = ((PC * PCA) + DCI +IFC + SFC) * ULC (4 * 1.17) *1 = Counting sort 51.8 This section of the research work analyses the result of applying on 1 programs selected and developed on a C++ language so as to find the complexity variation in terms of code. In order to analyze the validity of the result, the for different program was calculate based on software Requirement specification (SRS) and further compared with other established measures which are summarized in above Table. Table 3 contains the statistics that are collected after analyzing the C++ codes to evaluate the measures. The empirical validation is in two folds. First the code based complexity measures such as effective Line Of Code (eloc), Cyclomatic Complexity (CC) and Volume, Effort Difficulty and Time estimations from Maurice Halstead metrics are all applied. Secondly, the statistics that are collected from these metrics is compared with the values obtained from to investigate the usefulness and effectiveness of the proposal. V. ANALYSIS OF RESULT Counting sort program with of 51.8 was discovered to be the most complex program among the ten (1) programs when using measure. 566
6 In eloc of 38 CC of 1 and volume of 642 in Radix sort program is observed to be more difficult to grasp than others. Effort with value 2295 and Time with value 1275 shows that program is the most complex. Selection sort program with of 2.34 has a less Requirement Based complexity than the bubble sort program of 4.68 due to its readability. The bubble sort program required more though process, although selection sort program has more line of code. Similarly, CC and Maurice Halstead metric are able to show this too. Shell sort program is more than insertion sort program. It shows that it is more difficult to grasp than insertion sort program, however eloc CC and Halstead result could not measure the differences. Heap sort program and Quick sort program have the same value of 11.1 this is also shows in CC but there is slight difference in eloc. Also, Merge sort program and Radix sort program also have the same of 37. but have differences in eloc Maurice Halsted and CC measure. Radix sort program and in Merge sort program are more complex than Bucket sort program has shown in measure. There is a slight difference CC of merge sort program and Bucket sort program. But in eloc and Halstead there is a significant difference between Bucket sort program and Radix sort program. In comparison with other measure is closer to human understanding. From the above shown result, performs better than other measures in reflecting the comparative complexities, which means will aid the developer and practitioner in evaluating the software complexity in the early phases of software development Table IV Comparison of metrics HALSTEAD Programs eloc CC V D E T eloc Figure II Graph of comparison between eloc and 567
7 Figure IIIComparison between CC and CC Figure V Relative Graph between eloc, and Volume eloc V Figure IV Relative Graph between eloc, CC and eloc CC Figure VI Relative Graph Between CC, and Difficulty VI. 5. CONCLUSION The research work has developed the requirement Based Complexity () measure that is based on software Requirement specification document. CC D 568
8 It is a robust metric because it encompasses all major parameters and attributes that are required to fund out complexity. Further they are comparable with code based complexity measures. On comparing the requirement based complexity measure with rest of the established measure following are the findings: i. follows code based measures which have been computed on the basis of program by identifying number of operators and operands and further vocabulary, Length and finally it is aligned with the difficulty metrics given Maurice Halstead. ii. is more sensitive than other measures which will aid the program developer and practitioner in evaluating the software complexity in early phases of software planning. iii. CC was not able to make sensitive measurement most of the similar code had the same CC values. was able to handle sensitive measurement. REFERENCES [1 ] Ashish Sharma, D.S. Kushwaha 21 A Complexity measure base on requirement engineering document. Journal of Computer Science and Engineering, vol.1. [2 ] Banker, R.D., Datar, S.M., Zweig, D 1989 Software Complexity and Maintainability CiteSeer Scientific Literature Digital Library and Search Engine. [3 ] Basci, D., Misra, S 29 Data Complexity Metrics for Web- Services Advances in Electrical and Computer Engineering, Volume 9, Number 2, 29, pp Basci, D., Misra, S. Measuring and Evaluating a Design Complexity Metric for XML Schema Documents Code. Journal of Information Science and Engineering. pp [4 ] DeMarco, T Controlling Software Projects, Yourdon Press, New York. [5 ] Fenton N. E., Pfleeger, S. L Software Metrics: A Rigorous and Practical Approach, 2nd Edition Revised ed. Boston: PWS Publishing. [6 ] Fenton 1992 N.E. Fenton, Software Metrics A Rigorous Approach, Chapman & Hall, London. [7 ] Halstead, M.H Elements of Software Science. New York: Elsevier North-Holland. [8 ] Halstead 1977 Halstead, M.H. Elements of Software Science, Elsevier North- Holland, New York. [9 ] " &oldid= [1 ] IEEE Computer Society 1998 Standard for Software Quality Metrics Methodology. Revision IEEE Standard 161. [11 ] Ierusalimschy, R. 21 Programming with Multiple Paradigms in Lua Available at: [12 ] Kushwaha, D.S., Misra, A.K. 26 Improved Cognitive Information Complexity Measure: A Metric that Establishes Program Comprehension Effort, Software Enginering Notes, vol 31, no 5. [13 ] LangPop Programming Language Popularity 21 Available at [14 ] Marco, L.: Measuring Software Complexity 21 Available at: [15 ] Martin, S A Critique of Cyclomatic Complexity as a Software Metric. IEEE Software Engineering Journal. [16 ] McCabe, T.J A Complexity Measure. IEEE Transactions Software Engineering. 2(6): p [17 ] McCabe, T.J., Watson, A.H. 21 Software Complexity, McCabe and Associates, Inc. (last accessed ) Available at: Metrics (last accessed ) Available at: [18 ] McCabe 1976 T. McCabe, A complexity measure, IEEE Transactions of Software Engineering, Vol. SE-1, [19 ] Misra, S., Akman, I. 28 A Complexity Metric based on Cognitive Informatics, Lecture Notes in Computer Science, Vol. 59, pp [2 ] Misra, S., Akman, I. 28 A Model for Measuring Cognitive Complexity of Software, Springer-Verlag Berlin Heidelberg pp [21 ] Misra S., Akman, I. 21 Unified Complexity Metric: A measure of Complexity, Proc. Of National Academy of Sciences Section A. [22 ] Misra, S., Akman, I. 28 Weighted Class Complexity: A Measure of Complexity for Object Oriented Systems, Journal of Information Science and Engineering, Vol.24, pp [23 ] Pfleeger, S.L., Atlee, J.M. 26 Software Engineering Theory and Practice, 3 rd International Edition, Prentice Hall, [24 ] Pressman Roger S, 25 Software Engineering -A Practitioner Approach, 4th Edition. [25 ] Ramamoorthy C.V. Ramamoorthy, W-T. Tsai, T. Yamura 1985 A. Bhide Metrics guided methodology, COMPSAC 85, pp [26 ] Roger S. P. 25 Software Engineering A practitioner s approach, 6th Edition. McGraw-Hill. [27 ] Software Quality Assurance (last accessed ) Available at: [28 ] Software Technology Support Centre Software Estimation, Measurement, and Metrics (last accessed ) Available at: [29 ] Sommerville, I. 24 Software Engineering, 7th Edition, Addison Wesley. [3 ] TIOBE Software 21 The Coding Standards Company. Programming Community Index for (last accessed ). Available at: [31 ] Tourlakis, G.J Computability, Reston, Virginia. [32 ] Westbrook, D.S A Multi-paradigm Language Approach to Teaching Principles of Programming Languages, 29th ASE/IEEE Frontiers in Education Conference, San Juan. [33 ] Weyuker, E Evaluating Software Complexity Measures. IEEE Transactions on Software Engineering, vol. 14, W3Schools. [34 ] Zuse H Software Complexity, de Gruiter,Berlin
A Complexity Measure Based on Cognitive Weights
International Journal of Theoretical and Applied Computer Sciences Volume 1 Number 1 (2006) pp. 1 10 (c) GBS Publishers and Distributors (India) http://www.gbspublisher.com/ijtacs.htm A Complexity Measure
More informationA New Cognitive Approach to Measure the Complexity of Software s
, pp.185-198 http://dx.doi.org/10.14257/ijseia.2014.8.7,15 A New Cognitive Approach to Measure the Complexity of Software s Amit Kumar Jakhar and Kumar Rajnish Department of Computer Science and Engineering,
More informationSoftware Metrics. Lord Kelvin, a physicist. George Miller, a psychologist
Software Metrics 1. Lord Kelvin, a physicist 2. George Miller, a psychologist Software Metrics Product vs. process Most metrics are indirect: No way to measure property directly or Final product does not
More informationProject Planning and Project Estimation Techniques. Naveen Aggarwal
Project Planning and Project Estimation Techniques Naveen Aggarwal Responsibilities of a software project manager The job responsibility of a project manager ranges from invisible activities like building
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 informationComplexity- and Performance Analysis of Different Controller Implementations on a Soft PLC
Complexity- and Performance Analysis of Different Controller Implementations on a Soft PLC Robert Feldmann Technion Israel Institute of Technology TUM Technical University Munich rfeld3@gmail.com Abstract.
More informationThe «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code
The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code Jean-Louis Letouzey DNV IT Global Services Arcueil, France jean-louis.letouzey@dnv.com
More informationSOFTWARE REQUIREMENTS
SOFTWARE REQUIREMENTS http://www.tutorialspoint.com/software_engineering/software_requirements.htm Copyright tutorialspoint.com The software requirements are description of features and functionalities
More informationAPPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPMENT AND TESTING EFFORT
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPMENT AND TESTING EFFORT Ashish Sharma 1 and Dharmender Singh Kushwaha 2 1 Department of Computer Engineering & App., GLA University,
More informationDefinitions. 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 -
More informationComparing internal and external software quality measurements
Comparing internal and external software quality measurements Dimitris STAVRINOUDIS a and Michalis XENOS a,1 b School of Sciences and Technology, Hellenic Open University, Patras, Greece. Abstract. Modern
More informationESTIMATING COMPLEXITY OF A SOFTWARE CODE
ESTIMATING COMPLEXITY OF A SOFTWARE CODE A MASTER S THESIS in Software Engineering Atılım University by FERİD CAFER JUNE 2010 1 ESTIMATING COMPLEXITY OF A SOFTWARE CODE A THESIS SUBMITTED TO THE GRADUATE
More informationHow To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
More informationA Review and Analysis of Software Complexity Metrics in Structural Testing
A Review and Analysis of Software Metrics in Structural Testing Mrinal Kanti Debbarma, Swapan Debbarma, Nikhil Debbarma, Kunal Chakma, and Anupam Jamatia Abstract Software metrics is developed and used
More informationFourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
More informationEvolving a Ultra-Flow Software Development Life Cycle Model
RESEARCH ARTICLE International Journal of Computer Techniques - Volume 2 Issue 4, July - Aug Year Evolving a Ultra-Flow Software Development Life Cycle Model Divya G.R.*, Kavitha S.** *(Computer Science,
More informationOptimal Resource Allocation for the Quality Control Process
Optimal Resource Allocation for the Quality Control Process Pankaj Jalote Department of Computer Sc. & Engg. Indian Institute of Technology Kanpur Kanpur, INDIA - 208016 jalote@cse.iitk.ac.in Bijendra
More informationMiguel Lopez, Naji Habra
Miguel Lopez, Naji Habra Abstract Measurement can help software engineers to make better decision during a development project. Indeed, software measures increase the understanding a software organization
More informationAutomated Tool to Assess Pair Programming Program Quality
Automated Tool to Assess Pair Programming Program Quality Mazni Omar a, Rohaida Romli b, Azham Hussain c a,b,c Graduate Department of Computer Science, College of Arts and Sciences, Universiti Utara Malaysia,
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 informationUnit 11: Software Metrics
Unit 11: Software Metrics Objective Ð To describe the current state-of-the-art in the measurement of software products and process. Why Measure? "When you can measure what you are speaking about and express
More informationATLAS (Application for Tracking and Scheduling) as Location Guide and Academic Schedulling at Campus YSU (Yogyakarta State University)
International Journal of Computer and Communication Engineering, Vol. 3, No. 4, July 4 ATLAS (Application for Tracking and Scheduling) as Location Guide and Academic Schedulling at Campus YSU (Yogyakarta
More informationSoftware 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
More informationEvaluation of Complexity of Some Programming Languages on the Travelling Salesman Problem
International Journal of Applied Science and Technology Vol. 3 No. 8; December 2013 Evaluation of Complexity of Some Programming Languages on the Travelling Salesman Problem D. R. Aremu O. A. Gbadamosi
More informationAnalysis and Evaluation of Quality Metrics in Software Engineering
Analysis and Evaluation of Quality Metrics in Software Engineering Zuhab Gafoor Dand 1, Prof. Hemlata Vasishtha 2 School of Science & Technology, Department of Computer Science, Shri Venkateshwara University,
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 informationRequirements Analysis through Viewpoints Oriented Requirements Model (VORD)
Requirements Analysis through Viewpoints Oriented Requirements Model (VORD) Ahmed M. Salem Computer Science Department California State University, Sacramento Sacramento, CA 95819 USA Email: salema@ecs.csus.edu
More information(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
More informationCISC 322 Software Architecture
CISC 322 Software Architecture Lecture 20: Software Cost Estimation 2 Emad Shihab Slides adapted from Ian Sommerville and Ahmed E. Hassan Estimation Techniques There is no simple way to make accurate estimates
More informationPERFORMANCE CRITERIA FOR SOFTWARE METRICS MODEL REFINEMENT
PERFORMANCE CRITERIA FOR SOFTWARE METRICS MODEL REFINEMENT Adrian VISOIU 1 PhD Candidate, Assistant Lecturer, Economic Informatics Department, Academy of Economic Studies, Bucharest, Romania E-mail: adrian.visoiu@csie.ase.ro
More informationImproved Software Testing Using McCabe IQ Coverage Analysis
White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your
More informationMeasuring Software Complexity to Target Risky Modules in Autonomous Vehicle Systems
Measuring Software Complexity to Target Risky Modules in Autonomous Vehicle Systems M. N. Clark, Bryan Salesky, Chris Urmson Carnegie Mellon University Dale Brenneman McCabe Software Inc. Corresponding
More informationA Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management
International Journal of Soft Computing and Engineering (IJSCE) A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management Jayanthi.R, M Lilly Florence Abstract:
More informationInternational 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
More informationYOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION
YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION 1 Chandu P.M.S.S., 2 Dr.T.Sasikala 1. Research Scholar, Department of CSE, Sathyabama University, Chennai,
More informationAcademic Course Description. SE2003 Software Project Management Second Semester, 2014-15 (Even semester)
Course (catalog) description: Academic Course Description SRM University Faculty of Engineering and Technology Department of Software Engineering SE2003 Software Project Management Second Semester, 2014-15
More informationMetric Based Architecture to Enhance Software Usability
Metric Based Architecture to Enhance Software Usability Murugappan Alagappan 1, Ferdin Joe J 2, Shamika M 3, Manideep Vutukuri 4, Mridul.M 5 Abstract Softwares are products which are designed and developed
More informationCourse Objectives Course Requirements Methods of Grading S/N Type of Grading Score (%) Course Delivery Strategies Practical Schedule LECTURE CONTENT
Course: CSC 112 Introduction to Computer Science II (3 credits - Compulsory) Course Duration: Three hours per week for 15weeks (30h (T) and 45h (P)), as taught in 2011/2012 academic session. Lecturers:
More informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationWorkforce Planning and Scheduling for the HP IT Services Business
Workforce Planning and Scheduling for the HP IT Services Business Cipriano A. Santos, Alex Zhang, Maria Teresa Gonzalez, Shelen Jain HPL-2009-47 Keyword(s): workforce optimization, flexible matching, mixed
More informationModule 11. Software Project Planning. Version 2 CSE IIT, Kharagpur
Module 11 Software Project Planning Lesson 27 Project Planning and Project Estimation Techniques Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the job
More informationPragmatic 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
More informationSoftware Engineering Compiled By: Roshani Ghimire Page 1
Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define
More informationGreatest Common Factors and Least Common Multiples with Venn Diagrams
Greatest Common Factors and Least Common Multiples with Venn Diagrams Stephanie Kolitsch and Louis Kolitsch The University of Tennessee at Martin Martin, TN 38238 Abstract: In this article the authors
More informationNon-Functional Requirements for COTS Software Components
Non-Functional Requirements for COTS Software Components Ljerka Beus-Dukic School of Computing and Mathematics University of Northumbria at Newcastle Ellison Building, Newcastle upon Tyne NE1 8ST, United
More informationHow To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
More informationService Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
More informationAnalytic Modeling in Python
Analytic Modeling in Python Why Choose Python for Analytic Modeling A White Paper by Visual Numerics August 2009 www.vni.com Analytic Modeling in Python Why Choose Python for Analytic Modeling by Visual
More informationE-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering
Database Systems Journal vol. IV, no. 4/2013 3 E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering Hitesh KUMAR SHARMA University of Petroleum and Energy Studies, India hkshitesh@gmail.com
More informationA Tool to Support Knowledge Based Software Maintenance: The Software Service Bay
A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay Jonathan I. Maletic Robert G. Reynolds Computer Science Department Wayne State University 431 State Hall Detroit, MI 48202
More informationComparative Analysis of Different Software Quality Models
Comparative Analysis of Different Software Quality Models Ranbireshwar S. Jamwal, Deepshikha Jamwal & Devanand Padha Jamwal.grandee@gmail.com, Jamwal.shivani@gmail.com,dpadha@rediffmail.com Lecturer, Research
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 informationDesign and Analysis in Software Engineering. Part 1: The Language of Case Studies and Formal Experiments
ACM SIGSOFT Software Engineering Notes vol 19 no 4 October 1994 Page 16 contest. Members of the winning IBM team were Feng-hsinng Hsu, Murray S. Campbell and Arthur J. Hoane, Jr. Running five times faster
More informationArchitecture of a Software Configuration Management System for Globally Distributed Software Development Teams
Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Muhammad Wasim Bhatti Engineering Management Department CASE, Center for Advanced Studies
More informationA New Methodology For Developing The MIS Master Plan Mohammad Dadashzadeh, Ph.D., Oakland University, USA
A New Methodology For Developing The MIS Master Plan Mohammad Dadashzadeh, Ph.D., Oakland University, USA ABSTRACT Organizations, small and large, for profit and non-profit, service oriented as well as
More informationAn Introduction to. Metrics. used during. Software Development
An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote
More informationUmbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
More informationManaging Software Product Line
* F 2 - Rules for Qualification of Developing and Managing Software Product Line F. Ahmed Electrical & Computer Engineering University of Western Ontario London Ontario, Canada, N5A5B9 sgraha5@uwo.ca L.F.
More informationSoftware reliability improvement with quality metric and defect tracking
Software reliability improvement with quality metric and defect tracking Madhavi Mane 1, Manjusha Joshi 2, Prof. Amol Kadam 3, Prof. Dr. S.D. Joshi 4, 1 M.Tech Student, Computer Engineering Department
More informationANALYSIS OF SOFTWARE THREATS AND SOFTWARE SECURITY. Department of Computer Science & IT University of Jammu, Jammu
ANALYSIS OF SOFTWARE THREATS AND SOFTWARE SECURITY Dr. Deepshikha Jamwal Bhawana Sharma Research Scholar Research scholar jamwal.shivani@gmail.com bhawana32_mca@yahoo.co.in Department of Computer Science
More informationA new cost model for comparison of Point to Point and Enterprise Service Bus integration styles
A new cost model for comparison of Point to Point and Enterprise Service Bus integration styles MICHAL KÖKÖRČENÝ Department of Information Technologies Unicorn College V kapslovně 2767/2, Prague, 130 00
More informationQuality Analysis with Metrics
Rational software Quality Analysis with Metrics Ameeta Roy Tech Lead IBM, India/South Asia Why do we care about Quality? Software may start small and simple, but it quickly becomes complex as more features
More informationCOMPUTER SCIENCE (5651) Test at a Glance
COMPUTER SCIENCE (5651) Test at a Glance Test Name Computer Science Test Code 5651 Time Number of Questions Test Delivery 3 hours 100 selected-response questions Computer delivered Content Categories Approximate
More informationOptimization of Software Quality using Management and Technical Review Techniques
Optimization of Software Quality using Management and Technical Review Techniques Inibehe Emmanuel Akpannah Post Graduate Student (MSc. Information Technology), SRM University, Chennai, India Abstract
More informationInternational Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015
RESEARCH ARTICLE Software Quality Management Measured Based Code Assessments Salman Zakariya [1], Mohammed Belal [2] Department of Computer Science Helwan university, Cairo, Egypt [1] & [2] OPEN ACCESS
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 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 informationA Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files
A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 ostrand@research.att.com Elaine J. Weyuker AT&T Labs
More informationHolland s GA Schema Theorem
Holland s GA Schema Theorem v Objective provide a formal model for the effectiveness of the GA search process. v In the following we will first approach the problem through the framework formalized by
More informationInformatics Related Branch s Curriculum and Role of Project Management
Available online at www.sciencedirect.com ScienceDirect IERI Procedia 4 (2013 ) 403 407 2013 International Conference on Electronic Engineering and Computer Science Informatics Related Branch s Curriculum
More informationV. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919
Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned
More informationSoftware Requirements Metrics
Software Requirements Metrics Fairly primitive and predictive power limited. Function Points Count number of inputs and output, user interactions, external interfaces, files used. Assess each for complexity
More informationCooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course
Cooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course Yulia 1,Rudy Adipranata 2 Informatics Department Petra Christian University
More informationSoftware Development Methodologies
Software Development Methodologies Lecture 5 - Development Processes 2 SOFTENG 750 2013-04-08 Software Development Worst Practices Worst Practices 1 Underestimating Required Effort Estimates often too
More informationIs ISO/IEC 15504 Applicable to Agile Methods?
Is ISO/IEC 15504 Applicable to Agile Methods? Giuseppe Lami 1, Fabio Falcini 2 1 Consiglio Nazionale delle Ricerche, Istituto di Scienza e Tecnologie dell Informazione via Moruzzi, 1 I-56124 Pisa, Italy
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 Comparison of Calibrated Equations for Software Development Effort Estimation
A Comparison of Calibrated Equations for Software Development Effort Estimation Cuauhtemoc Lopez Martin Edgardo Felipe Riveron Agustin Gutierrez Tornes 3,, 3 Center for Computing Research, National Polytechnic
More informationPhilosophy of GIMnet
Philosophy of GIMnet Software Modularity and Reusability through Service Oriented Architecture and Hardware Abstraction Introduction GIMnet MaCI GIMnet = tcphub + GIMI Enables communication between distributed
More informationSoftware Engineering: Analysis and Design - CSE3308
CSE3308/DMS/2004/25 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Software Quality CSE3308 - Software Engineering: Analysis
More informationKeywords: SQA,Black Box Testing( BBT), White Box testing(wbt).
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 Enhancing Software
More informationSOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
More informationEfficiency Metrics. Tamanna Siddiqui 1, Munior Ahmad Wani 2 and Najeeb Ahmad Khan 3
Bharati Vidyapeeth s Institute of Computer Applications and Management (BVICAM), New Delhi Efficiency Metrics Tamanna Siddiqui 1, Munior Ahmad Wani 2 and Najeeb Ahmad Khan 3 Abstract - Software measurement
More informationAnalysis of Software Process Metrics Using Data Mining Tool -A Rough Set Theory Approach
Analysis of Software Process Metrics Using Data Mining Tool -A Rough Set Theory Approach V.Jeyabalaraja, T.Edwin prabakaran Abstract In the software development industries tasks are optimized based on
More informationParental Occupation Coding
Parental Occupation Coding A report submitted to the Performance Measurement and Reporting Taskforce of the Ministerial Council on Education, Employment Training and Youth Affairs by Dr Roger Jones Quantitative
More informationSoftware Defect Prediction Modeling
Software Defect Prediction Modeling Burak Turhan Department of Computer Engineering, Bogazici University turhanb@boun.edu.tr Abstract Defect predictors are helpful tools for project managers and developers.
More informationTOPAS: a Web-based Tool for Visualization of Mapping Algorithms
TOPAS: a Web-based Tool for Visualization of Mapping Algorithms 0. G. Monakhov, 0. J. Chunikhin, E. B. Grosbein Institute of Computational Mathematics and Mathematical Geophysics, Siberian Division of
More informationModule 11. Software Project Planning. Version 2 CSE IIT, Kharagpur
Module 11 Software Project Planning Lesson 29 Staffing Level Estimation and Scheduling Specific Instructional Objectives At the end of this lesson the student would be able to: Identify why careful planning
More informationSoftware Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
More informationSOFTWARE PROJECT MANAGEMENT
SOFTWARE PROJECT MANAGEMENT http://www.tutorialspoint.com/software_engineering/software_project_management.htm Copyright tutorialspoint.com The job pattern of an IT company engaged in software development
More informationColour Image Segmentation Technique for Screen Printing
60 R.U. Hewage and D.U.J. Sonnadara Department of Physics, University of Colombo, Sri Lanka ABSTRACT Screen-printing is an industry with a large number of applications ranging from printing mobile phone
More informationComparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO
International Journal of Emerging Science and Engineering (IJESE) Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO Naresh Kumar, Pinky Chandwal Abstract There exist a large number of
More informationMEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI. Y.Batu Salman, Adem Karahoca
MEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI Y.Batu Salman, Adem Karahoca Bahcesehir University, Engineering Faculty, Computer Engineering Department Bahcesehir,
More informationA METRIC FOR THE ACTIVENESS OF AN OBJECT-ORIENTED COMPONENT LIBRARY
A METRIC FOR THE ACTIVENESS OF AN OBJECT-ORIENTED COMPONENT LIBRARY Sachin Lakra and Haryana, India Nand Kumar and Haryana, India Sugandha Hooda and Haryana, India Nitin Bhardwaj and Haryana, India. Abstract:
More informationSoftware Engineering Question Bank
Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step
More informationIntroduction to Software Paradigms & Procedural Programming Paradigm
Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,
More informationPETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko
PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS G. Mušič and D. Matko Faculty of Electrical Engineering, University of Ljubljana, Slovenia. E-mail: gasper.music@fe.uni-lj.si Abstract: The
More informationMICROPROCESSOR AND MICROCOMPUTER BASICS
Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit
More informationGuide to CQI Qualifications for learners
Guide to CQI Qualifications for learners CQI Qualifications and Professional Recognition Quality management is about improving organisational performance in delivering product and service that meet customer
More informationComputer Network Intrusion Detection, Assessment And Prevention Based on Security Dependency Relation
Computer Network Intrusion Detection, Assessment And Prevention Based on Security Dependency Relation Stephen S. Yau and Xinyu Zhang Computer Science and Engineering Department Arizona State University
More informationProposed C.E.M (Cost Estimation Metrics): Estimation of Cost of Quality in Software Testing
International Journal of Computer Science and Telecommunications [Volume 6, Issue 2, February 2015] 10 ISSN 2047-3338 Proposed C.E.M (Cost Estimation Metrics): Estimation of Cost of Quality in Software
More information