METHODOLOGIES AND TOOLS FOR THE SOFTWARE QUALITY ASSURANCE COURSE *
|
|
|
- Brice McLaughlin
- 10 years ago
- Views:
Transcription
1 METHODOLOGIES AND TOOLS FOR THE SOFTWARE QUALITY ASSURANCE COURSE * Vladimir V. Riabov Department of Mathematics and Computer Science Rivier College Nashua, NH, [email protected] ABSTRACT Tutorials, labs, projects, and homework assignments were designed to help students explore modern techniques of software quality assurance; debugging C/C++ and Java codes; and developing high-quality computer projects. Different methods (predicate-logic and topological approaches of graph theory; metric theory of algorithms, and object-oriented methodology of rapid prototyping) have been explored by using various tools in analyses of complex computing code. Applications cover software test strategies, code reusability issues, and ways to significantly reduce code errors and maintainability effort. The related course materials provide students with knowledge, instructions and hands-on experience, and motivate them in their research studies. 1 MOTIVATION Students pursuing careers in software development should be familiar with various methods of software quality assurance (SQA). A year ago we launched a new SQA course that addresses the issue of quality throughout the software development process, including system analysis and design, rapid prototyping, implementation, testing, and delivery. Special attention is given to setting quality standards [1], developing quality measurement techniques, writing test plans, and testing the user interfaces. It becomes a challenge for an instructor to provide students with the state-of-the-art hands-on technology-exploration experience in this field. * Copyright 2011 by the Consortium for Computing Sciences in Colleges. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the CCSC copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a fee and/or specific permission. 86
2 CCSC: Northeastern Conference Topics covered include the integration of quality activities into the software project life cycle, CASE tools overview, structured testing methodology, complexity and object-oriented metrics, configuration management, capability maturity models, software engineering practices and standards, code re-engineering strategies, and miscellaneous topics. Students were encouraged to examine various software-development projects. Exploring different testing strategies, they analyzed computer code by using various software-organization metrics including cyclomatic complexity [2], Halstead's [3] and object-oriented metrics [4], and re-designed the code with lower risk level and errors. This paper contains an overview of the SQA software tools, tutorials, lab manuals, homework assignments, project reports, and research papers of students who took the Software Quality Assurance course. The advantages of using these tools for instruction in online and hybrid courses are also discussed. 2 TOOLS FOR SOFTWARE QUALITY ANALYSIS 2.1 Industrial SQA Tool Used in Software Engineering One of the most popular SQA tools, the McCabe IQ software package, was selected for exploring various study cases and projects in the course on software quality assurance. This industrial tool became available for students under the free-license agreement with the McCabe University Program. The tool allows them to explore McCabe's structured testing methodology [2] that became a widely used method in code analyses, unit and integration test planning, and test-coverage estimations. Following specially designed computer-lab assignments and using the McCabe IQ tool, students study how to apply the theory of graphs for the complexity code analysis, develop test strategies, and predict possible errors [3, 6] in the code developed by themselves and companies. Unfortunately, the McCabe IQ package could be used only on campus; therefore, other Open Source free-license SQA packages were evaluated for use by students at home, specifically when taking courses online or in the hybrid format. 2.2 Open Source Free-License SQA Tools There are several Open Source free-license SQA tools available for students. The Java Source Metric package [7] has been used to analyze Java source code with quality metrics like the Inheritance Depth, Lines of Code, and McCabe Complexity Metric suite. The CCCC tool [8] generates a report on various metrics (including the Lines of Code and McCabe's complexity) of C/C++ code. The freeware program SourceMonitor [9] has been used for code analysis to identify the relative complexity of code modules. SourceMonitor measures metrics for source code written in C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6), and HTML. It operates within a standard Windows GUI and exports metrics to XML or CSV (comma-separated-value) files for further processing with other tools. The COCOMO-II tool [10] was used by students to estimate the cost, effort, and schedule associated with their software development projects. 87
3 JCSC 26, 6 (June 2011) 3 LAB AND HOMEWORK ASSIGNMENTS The main goal of labs and homework assignments is to introduce software quality metrics and help students build their individual skills of code analysis, testing, and redesign to improve code quality and enable possible reuse in other projects. 3.1 Introducing the Structural Testing Methodology The first set of lab and homework assignments deals with implementation of the structured testing methodology offered by McCabe [2]. The approach is based on graph-theoretical complexity-measuring techniques in code studies and control of program complexity. Using the experimental results of Miller [5], McCabe suggests that code modules approach zero defects when the module cyclomatic complexity is less than 10. During lectures, the instructor provided an overview of the graph-based complexity metrics and the results of his systematic metric analyses of software for two industrial networking projects [6]. Following the lab assignments, students explored the McCabe IQ tool and used it to perform metric analyses of several codes by applying cyclomatic complexity (v), essential complexity (ev), module design complexity, system design complexity, and system integration complexity metrics [2] in order to understand the level of complexity of a code module's decision logic, the code's unstructured constructs, a module's design structure, and the amount of interaction between modules in a program, as well as to estimate the number of unit and integration tests necessary to guard against errors. 3.2 Estimating the Number of Code Errors and Efforts to Fix the Errors The second group of the lab and homework assignments was designed to introduce students to the comparative analyses of algorithm implementations in different languages (FORTRAN, C, C++, Java and some others). Following Halstead's procedures [3], students identified all operators and operands, their frequencies, and estimated the program length, vocabulary size, volume, difficulty and program levels, the effort and time amounts to implement and understand the program, and the number of delivered bugs (possible errors), B. They compared their findings with values calculated by using SQA tools (McCabe IQ, Java Source Metric, CCCC, SourceMonitor, and COCOMO-II ), and found that the results are sensitive to the programming language type (procedural or object-oriented). In particular, students found that efforts to implement and understand the program were higher for procedural languages (FORTRAN and C) than for the object-oriented language (Java), even for simple algorithms, like Euclid's algorithm for calculating the Greatest Common Divisor. They also found that large C/C++ source files [6] contain more actual errors than the number of delivered bugs (B) suggested [3]. 3.3 Interpreting Object-Oriented Metrics The third group of the lab and homework assignments was developed to help students identify clusters of object-oriented metrics that would better describe the major 88
4 CCSC: Northeastern Conference characteristics of object-oriented systems (properties of classes, polymorphism, encapsulation, inheritance, coupling, and cohesion) implemented in computer code written in C++ and Java. Their findings are summarized in Table 1 below. Metric Class Polymorphislatiotanclinsion Encapsu- Inheri- Coup- Cohe- Weighted Methods Per Class Response For Class Percentage of Public Data Accesses to Public Data Lack of Cohesion of Methods Number of Children Number of Parents Depth in Inheritance Tree Coupling Between Objects Attribute Hiding Factor Method Hiding Factor Polymorphism Factor Table 1. Clusters of Object-Oriented Metrics Students also identified some specific object-oriented metrics (Weighted Methods per Class, Response from a Class, Lack of Cohesion between Methods, and Coupling between Objects) that are the important factors for making a decision about the code module/class re-usability. 3.4 Comparing Two Releases of the Code The last, fourth set of the lab and homework assignments was offered to students to identify major factors that forced programmers to change the code [6] in the project redesign efforts. After analysis of the project software (about 300,000 lines of C-code) using the network-protocol approach 271 modules of the old Code Release 1.2 [6] were recommended for redesign. The re-engineering efforts resulted in the deletion of 16 old modules and in the addition of 7 new modules for the new Code Release 1.3. Analyzing the deleted modules, students found that 7 deleted modules were unreliable (v > 10) and 6 deleted modules were unmaintainable (ev > 4). Also, 19% of the deleted code was both unreliable and unmaintainable. Moreover, all seven new modules are reliable and maintainable. After redesign, code changes resulted in the reduction of the code cyclomatic complexity by 115 units. 70 old modules (41% of the code) were improved, and only 12 modules (about 7% of the code) deteriorated. This analysis demonstrates a robustness of the structured testing methodology and successful efforts in improving the quality of the Code Releases. Studying the relationship between software defect corrections [6] and cyclomatic complexity, students found a positive correlation between the numbers of possible errors, unreliable functions (with v > 10), and error submissions [6] from the 89
5 JCSC 26, 6 (June 2011) Code Releases (see Fig. 1) in the implementation efforts for six network protocols (BGP, FR, IP, ISIS, OSPF, and RIP). Figure 1: Correlation between the Number of Error Submits, Number of Unreliable Functions (v > 10), and the Number of Possible Errors for Six Network Protocols. 4 STUDENTS' PROJECTS AND RESEARCH STUDIES ON SQA As the main assignment for the SQA course, students were asked to develop their individual or team projects on the quality analysis of moderate-size computer programs written in an object-oriented language (C++ or Java) and compare different releases of the code. The project assignment included the study of the code complexity and quality based on the analysis of cyclomatic complexity metrics, Halstead's metrics, and object-oriented design metrics by using available SQA tools (McCabe IQ, Java Source Metric, CCCC, SourceMonitor, and COCOMO-II ). The project reports included the code structure chart, "Battlemap"; McCabe's Complexity Metrics summary; examples of flowgraphs with low, moderate, and high complexity; scatter diagrams with identification of unstructured-unreliable, reliable-structured, unreliable-structured, and reliable-unstructured modules; examples of flowgraphs with the independent paths for the unit tests; Halstead's Metrics report with estimation of the total number of the delivered errors (B); Object-Oriented Metrics report with basic interpretation of the metrics; and recommendations to improve the code. Michael Jeffords in his project, "Using SQA Metrics to Guide Refactoring of Medium to Large Scale Projects", developed a plan to reduce the overall complexity of the code while adding important functionality to the system that provided visualization of geophysical data. His code refactoring efforts took approximately 20 hours, but have reduced the number of tests by about 200 unit tests. Summarizing these efforts, he offered two effective methods of refactoring. In the first method, he used weighting factors to "boil" McCabe's and Halstead's metrics down using a formula M = v/10 + ev/4 + V/3000. This approach gives equal weights to v-cyclomatic and ev-essential complexity metrics. Combined they have double the weight of Halstead's V-metric of the program volume [3]. In the second method, three thresholds for cyclomatic complexities were used to chart improvement over time. His goal was to achieve 100% of methods below the cyclomatic complexity of 20 and less than 97% of methods below the cyclomatic complexity of 10. He achieved 100% for v < 20; 99.67% for v < 15, and 98.01% for v < 10. Michael described three stages of refactoring: 1) He started by refactoring classes to remove 90
6 CCSC: Northeastern Conference public variables and adding accessors; 2) Next, he chose any of the methods that ended up on the "hot" list that he could understand the basic methodology, and then tried to tighten up the algorithms; 3) Finally, he worked on the hardest methods once he felt that his plan had taken shape and he could see a direction for fixing the architecture of the worst classes. In the other project, Timothy Houle and Douglas Selent analyzed the complexity of the Light-Up Puzzle program [11], its maintainability, testability and metrics related to the quality of the software program's design. The application's vulnerabilities were identified by using the McCabe IQ tool. This approach helped them to identify vulnerable code areas, reduce error rates, shorten testing cycles, improve maintainability, and maximize reusability. In order to verify the effectiveness of the McCabe IQ tool, they re-factored the program in the areas reported to be highly complex and error-prone. After this, they compared the McCabe's Metrics reports on the initial analysis to the reports on the re-factored analysis and charted results to clearly indicate the improvements made to decrease complexity. In addition to the McCabe metrics, the students also added various UML diagrams [1], which helped them understand the concept of the program structure and identify areas where object-oriented design principles could be applied to increase code reusability and maintainability. 5 EFFECTIVENESS OF THE COURSE AND STUDENTS' RESPONSE All 16 computer-science graduate students that took the SQA course in the spring of 2010 expressed in their course evaluations full satisfaction with course organization, content, and material delivery. The overall course-evaluation score was high (4.71 out of maximum possible 5.0). In their anonymous comments, students shared mostly favorable observations, e.g., "This is a practically-oriented course and it has a lot of demand in the job market "; "The instructor opened my eyes to the importance and usefulness of SQA metrics "; "I learnt a lot of how the SQA is handled in the software development process "; "Great experience ", and "I met my expectations more than I thought." Later these students effectively used the SQA techniques to improve their software programs in other courses, including the final capstone projects. All the students are currently employed by local computer companies. 6 CONCLUSIONS The author has described the challenges and experience of running software quality assurance courses for undergraduate seniors and graduate students. The knowledge of graph theory and its applications in software engineering is beneficial for students with Computer Science majors. Detailed analysis of code complexity reveals areas of code structures that should be revised. The code revision allows students to find those code areas with potential errors and to improve code design and testing practices. In particular, the resulting analysis can be used in identifying error-prone software, measuring optimum testing efforts, predicting the effort required to maintain the code and break it into separate modules, reallocating possibly redundant code, and providing a fundamental basis for unit and integration testing. The complexity code analysis and structured testing 91
7 JCSC 26, 6 (June 2011) methodology should become a necessary attribute of software design, implementation, testing, sustaining, and re-engineering practice and training. REFERENCES [1] Galin, D., Software Quality Assurance: From Theory to Implementation, New York: Pearson Education, [2] Watson, A. H., McCabe, T. J., Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric, NIST Special Publication, No Gaithersburg, MD: National Institute of Standards and Technology, [3] Halstead, M. H., Elements of Software Science. New York: North Holland, [4] Rosenberg, L.H., Applying and Interpreting Object-Oriented Metrics. In Proceedings of the Tenth Annual Software Technology Conference, April 18-23, Salt Lake City, UT, [5] Miller, G., The Magical Number of Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information. In Psychological Review, 63 (2), 81-97, [6] Riabov, V. V., Networking Software Studies with the Structured Testing Methodology. In Computer Science and Information Systems. Athens, Greece: ATINER, 2005, pp [7] Java Source Metric, SourceForge.Net, 2009, retrieved January 25, [8] Littlefair, T., CCCC: C and C++ Code Counter, SourceForge.Net, 1998, retrieved January 25, [9] SourceMonitor Freeware Program, Campwood Software, Inc., 2010, retrieved January 25, [10] COCOMO II, University of South California, 2010, retrieved January 25, [11] Light-Up Puzzle Program, Puzzle-Loop.Com, 2009, retrieved January 25,
8 The Journal of Computing Sciences in Colleges Papers of the Sixteenth Annual CCSC Northeastern Conference April 15-16, 2011 Western New England College Springfield, Massachusetts John Meinke, Editor UMUC Europe George Benjamin, Associate Editor Muhlenberg College Susan T. Dean, Associate Editor UMUC Europe Michael Gousie, Contributing Editor Wheaton College Volume 26, Number 6 June 2011
Baseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
GRADUATE STUDENT SATISFACTION WITH AN ONLINE DISCRETE MATHEMATICS COURSE *
GRADUATE STUDENT SATISFACTION WITH AN ONLINE DISCRETE MATHEMATICS COURSE * Amber Settle DePaul University 243 S. Wabash Avenue Chicago, IL 60604 (312) 362-5324 [email protected] Chad Settle University
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 -
Percerons: A web-service suite that enhance software development process
Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Analysis Of Source Lines Of Code(SLOC) Metric
Analysis Of Source Lines Of Code(SLOC) Metric Kaushal Bhatt 1, Vinit Tarey 2, Pushpraj Patel 3 1,2,3 Kaushal Bhatt MITS,Datana Ujjain 1 [email protected] 2 [email protected] 3 [email protected]
A methodology for measuring software development productivity using Eclipse IDE
Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 2. pp. 255 262 doi: 10.14794/ICAI.9.2014.2.255 A methodology for measuring software
Computer Information Systems (CIS)
Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.
Reducing Technical Debt Using Maintainability Index
Reducing Technical Debt Using Maintainability Index Too much debt can be bad for business. We are all familiar with the negative repercussions that financial debt can cause. Technical debt, and the cost
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
Software 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
Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
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
Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course
Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course 1. Introduction Chao Chen January 2014 The purpose of this project is to enhance student learning and practice in
2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led
2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led Introduction This three-day, instructor-led course provides students with the knowledge and skills
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
The Relevance of CS and SE Education: A Survey
The Relevance of CS and SE Education: A Survey Timothy C. Lethbridge Conference on Software Engineering Education and Training Atlanta, Feb. 2 1998 1 Methodology 168 Participants Supported by several companies
BIT Course Description
BIT Course Description Introduction to Operating Systems BTEC 101 This course follows a systematic approach to operating systems explaining why they are needed and what they do. Topics include the basic
Measuring 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
Project 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
NNMi120 Network Node Manager i Software 9.x Essentials
NNMi120 Network Node Manager i Software 9.x Essentials Instructor-Led Training For versions 9.0 9.2 OVERVIEW This course is designed for those Network and/or System administrators tasked with the installation,
Chapter 7: Software Engineering
Chapter 7: Software Engineering Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 7: Software Engineering 7.1 The Software Engineering
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
A Case study based Software Engineering Education using Open Source Tools
A Case study based Software Engineering Education using Open Source Tools Sowmya B J Dept. of CSE M. S. Ramaiah Institute of Technology [email protected] Srinidhi Hiriyannaiah Dept. of CSE M.S. Ramaiah
Research Article Predicting Software Projects Cost Estimation Based on Mining Historical Data
International Scholarly Research Network ISRN Software Engineering Volume 2012, Article ID 823437, 8 pages doi:10.5402/2012/823437 Research Article Predicting Software Projects Cost Estimation Based on
Semantic Concept Based Retrieval of Software Bug Report with Feedback
Semantic Concept Based Retrieval of Software Bug Report with Feedback Tao Zhang, Byungjeong Lee, Hanjoon Kim, Jaeho Lee, Sooyong Kang, and Ilhoon Shin Abstract Mining software bugs provides a way to develop
SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization
SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization Samir Tartir Department of Computer Science University of Georgia Athens, Georgia 30602 USA Email: [email protected] ABSTRACT: A major problem
Quality 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
Quality Management. What is quality? Managing the quality of the software process and products ISO 9000
Quality Management What is quality? Managing the quality of the software process and products Quality, simplistically, means that a product should meet its specification This is problematical for software
Students who successfully complete the Health Science Informatics major will be able to:
Health Science Informatics Program Requirements Hours: 72 hours Informatics Core Requirements - 31 hours INF 101 Seminar Introductory Informatics (1) INF 110 Foundations in Technology (3) INF 120 Principles
CS 476 / CIS 676: Software Engineering II / Project Management
CS 476 / CIS 676: Software Engineering II / Project Management Spring 2010 Customers expect high-quality software products to be delivered on time, and within specification. This course investigates techniques
Using Code Quality Metrics in Management of Outsourced Development and Maintenance
Using Code Quality Metrics in Management of Outsourced Development and Maintenance Table of Contents 1. Introduction...3 1.1 Target Audience...3 1.2 Prerequisites...3 1.3 Classification of Sub-Contractors...3
Managing and Maintaining Windows Server 2008 Servers
Managing and Maintaining Windows Server 2008 Servers Course Number: 6430A Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview This five day instructor led
Advanced Web Application Development using Microsoft ASP.NET
Course Outline Other Information MS2311 Days 3 Starting Time 9:00 Finish Time 4:30 Lunch & refreshments are included with this course. Advanced Web Application Development using Microsoft ASP.NET Course
Framework as a master tool in modern web development
Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC [email protected],
PROGRAMME DETAIL SPECIFICATION. Programme Summary
PROGRAMME DETAIL SPECIFICATION Programme Summary 1 Awarding institution Liverpool John Moores University 2 Teaching institution university Liverpool John Moores University 3a Programme accredited by: 3b
LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing
LONDON SCHOOL OF COMMERCE Programme Specification for the Cardiff Metropolitan University BSc (Hons) in Computing Contents Programme Aims and Objectives Programme Structure Programme Outcomes Mapping of
Chap 4. Using Metrics To Manage Software Risks
Chap 4. Using Metrics To Manage Software Risks. Introduction 2. Software Measurement Concepts 3. Case Study: Measuring Maintainability 4. Metrics and Quality . Introduction Definition Measurement is the
Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit
Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit Antonio Terceiro 1, Joenio Costa 2, João Miranda 3, Paulo Meirelles 3, Luiz Romário Rios 1, Lucianna Almeida 3, Christina
II. TYPES OF LEVEL A.
Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Advanced Web Application Development using Microsoft ASP.NET
Key Data Course #: 2311A Number of Days: 3 Format: Instructor-Led Certification Exams: Exam 70-305: Developing and Implementing Web Applications with Microsoft Visual Basic.NET and Microsoft Visual Studio.NET
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
Client Overview. Engagement Situation. Key Requirements
Client Overview Our client is one of the leading providers of business intelligence systems for customers especially in BFSI space that needs intensive data analysis of huge amounts of data for their decision
2667A - Introduction to Programming
2667A - Introduction to Programming Table of Contents Introduction Audience At Course Completion Prerequisites Microsoft Certified Professional Exams Student Materials Course Outline Introduction Elements
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Do students like tool usage in a Software Engineering course?
Do students like tool usage in a Software Engineering course? Michael Ritzschke, Olga Schiemangk, Klaus Bothe 9th Workshop Software Engineering Education and Reverse Engineering Neum, Bosnia and Herzegowina,
Manufacturing View. User View. Product View. User View Models. Product View Models
Why SQA Activities Pay Off? Software Quality & Metrics Sources: 1. Roger S. Pressman, Software Engineering A Practitioner s Approach, 5 th Edition, ISBN 0-07- 365578-3, McGraw-Hill, 2001 (Chapters 8 &
BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2
BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than
A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.
A Software Engineering Process for Operational Space Weather Systems S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.com Transitioning Research Models into Operations Software
At least 2 GCE A Level Passes and credit in Mathematics at Ordinary level. Mature candidates will also be considered on a case-by-case basis.
Diploma in Web & Multimedia Development LC201 1. Objectives This course offers web and multimedia development skills which are focused on internet technologies such as the design and implementation of
4.1 CD 301 - BSc (Hons) Information Technology (Diploma to Degree Upgrade 1.5 Years Part Time)
4.1 CD 301 - BSc (Hons) Information Technology (Diploma to Degree Upgrade 1.5 Years Part Time) 1. OBJECTIVES This Programme is geared towards producing computer professionals, with a thorough understanding
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/
Software Engineering Transfer Degree
www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering
Quality Management. Objectives
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study Francisco Zigmund Sokol 1, Mauricio Finavaro Aniche 1, Marco Aurélio Gerosa 1 1 Department of Computer Science University of São
PROJECT REPORT ON PAYROLL SYSTEM
PROJECT REPORT ON PAYROLL SYSTEM BY ASMAU SANI MOHAMMED (905017) HAMMAN W. SAMUEL (905061) MALACHY KHANOBA (905109) OSAETIN EVBUOMA (905076) SOFTWARE ENGINEERING I (SEN 261), SPRING 2007 SUBMITTED TO PROFESSOR
PCCC PCCC Course Description
Course Description CIS 101 Computer Concepts and Applications 3 credits (formerly Introduction to Computers and Information Processing) Introduces a variety of topics in computers and computing including
Master of Science in Software Engineering Student Guide
King Fahd University of Petroleum & Minerals College of Computer Sciences and Engineering Information and Computer Science Department Master of Science in Software Engineering Student Guide http://www.ccse.kfupm.edu.sa/swe/
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
Course Title: Software Development
Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan.
Three Stages for SOA and Service Governance
Three Stages for SOA and Governance Masaki Takahashi Tomonori Ishikawa (Manuscript received March 19, 2009) A service oriented architecture (SOA), which realizes flexible and efficient construction of
Axiomatic 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.
Improved 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
Java: Learning to Program with Robots. Chapter 11: Building Quality Software
Java: Learning to Program with Robots Chapter 11: Building Quality Software Chapter Objectives After studying this chapter, you should be able to: Identify characteristics of quality software, both from
PC120 ALM Performance Center 11.5 Essentials
PC120 ALM Performance Center 11.5 Essentials Instructor-Led Workshop OVERVIEW This five-day course introduces students to ALM Performance Center 11.5 and the Virtual User Generator (VuGen) application,
CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers
CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the
Measuring Software Product Quality
Measuring Software Product Quality Eric Bouwers June 17, 2014 T +31 20 314 0950 [email protected] www.sig.eu Software Improvement Group Who are we? Highly specialized advisory company for cost, quality and risks
CSC 408F/CSC2105F Lecture Notes
CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes
Using Library Dependencies for Clustering
Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen [email protected] Abstract: Software clustering is an established approach
Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control
Quality Management Sommerville Chapter 27 Objectives To introduce the quality management process and key quality management activities To explain the role of standards in quality management To explain
CS 4330: Mobile Application Development Spring 2015
CS 4330: Mobile Application Development Spring 2015 CRN: 27188 Lecture: TR 3:00-4:20 pm in CCSB 1.0202 Website: http://www.cs.utep.edu/cheon/cs4330 Instructor: Yoonsik Cheon (x-8028, [email protected]);
Quality Management. Managing the quality of the software process and products
Quality Management Managing the quality of the software process and products Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 1 Objectives To introduce the quality management process
COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)
COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC) Computer Science (COSC) courses are offered by the School of Information Arts and Technologies within the Yale Gordon College of Liberal Arts.
Computer and Information Sciences
Computer and Information Sciences Dr. John S. Eickmeyer, Chairperson Computers are no longer huge machines hidden away in protected rooms and accessible to only a few highly-trained individuals. Instead,
The «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 [email protected]
BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS ITSE 1432 INTRODUCTION TO VISUAL BASIC.NET PROGRAMMING
BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS ITSE 1432: INTRODUCTION TO VISUAL BASIC.NET PROGRAMMING COMPUTER TECHNOLOGY & OFFICE ADMINISTRATION DEPARTMENT CATALOG DESCRIPTION ITSE 1432 INTRODUCTION
Example Software Development Process.
Example Software Development Process. The example software development process is shown in Figure A. The boxes represent the software development process kernels. The Software Unit Testing, Software Component
Software Development: The Waterfall Model
Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........
CSC408H Lecture Notes
CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other
Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur
Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of
Master Degree Program in Computer Science (CS)
Master Degree Program in Computer Science (CS) Students holding Bachelor s degree in Computer Science are accepted as graduate students, after meeting the general requirements stated below. Applicants
SimWebLink.NET Remote Control and Monitoring in the Simulink
SimWebLink.NET Remote Control and Monitoring in the Simulink MARTIN SYSEL, MICHAL VACLAVSKY Department of Computer and Communication Systems Faculty of Applied Informatics Tomas Bata University in Zlín
Hands-On: Introduction to Object-Oriented Programming in LabVIEW
Version 13.11 1 Hr Hands-On: Introduction to Object-Oriented Programming in LabVIEW Please do not remove this manual. You will be sent an email which will enable you to download the presentations and an
One LAR Course Credits: 3. Page 4
Course Descriptions Year 1 30 credits Course Title: Calculus I Course Code: COS 101 This course introduces higher mathematics by examining the fundamental principles of calculus-- functions, graphs, limits,
