A Statistical Approach to the Inspection Checklist Formal Synthesis and Improvement
IEEE Transactions on Software Engineering
ACM-SE 36 Proceedings of the 36th annual Southeast regional conference
Using simulation to build inspection efficiency benchmarks for development projects
Proceedings of the 20th international conference on Software engineering
IT measurement
Variations in Software Development Practices
IEEE Software
How complex is the unified modeling language?
Advanced topics in database research vol. 1
A study to investigate the impact of requirements instability on software defects
ACM SIGSOFT Software Engineering Notes
In-process metrics for software testing
IBM Systems Journal
Reliability Improvement of Web-Based Software Applications
QSIC '04 Proceedings of the Quality Software, Fourth International Conference
Effective test metrics for test strategy evolution
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Class Point: An Approach for the Size Estimation of Object-Oriented Systems
IEEE Transactions on Software Engineering
Software quality assurance through COSMIC FFP
ACM SIGSOFT Software Engineering Notes
Reliability Evaluation ofWeb-Based Software Applications
ENC '05 Proceedings of the Sixth Mexican International Conference on Computer Science
A model and sensitivity analysis of the quality economics of defect-detection techniques
Proceedings of the 2006 international symposium on Software testing and analysis
Metrics for class cohesion and similarity between methods
Proceedings of the 44th annual Southeast regional conference
Integrating a model of analytical quality assurance into the V-Modell XT
Proceedings of the 3rd international workshop on Software quality assurance
Motivations and measurements in an agile case study
Journal of Systems Architecture: the EUROMICRO Journal - Special issue: AGILE methodologies for software production
Web error classification and analysis for reliability improvement
Journal of Systems and Software
Company-Wide Implementation of Metrics for Early Software Fault Detection
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
Towards a Theoretical Model for Software Growth
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
WoSQ '07 Proceedings of the 5th International Workshop on Software Quality
Refactoring--Does It Improve Software Quality?
WoSQ '07 Proceedings of the 5th International Workshop on Software Quality
Analysis of the use of declarative languages for enhanced embedded system software development
Proceedings of the 20th annual conference on Integrated circuits and systems design
Supporting task-oriented modeling using interactive UML views
Journal of Visual Languages and Computing
Quality management activities for software architecture and software architecture process
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
A study on the priority selection for information system project management model
ACOS'07 Proceedings of the 6th Conference on WSEAS International Conference on Applied Computer Science - Volume 6
Influence of security measurements on the quality of services of MapServer
ICCOMP'05 Proceedings of the 9th WSEAS International Conference on Computers
Defect classification and defect types revisited
DEFECTS '08 Proceedings of the 2008 workshop on Defects in large software systems
Improvement of causal analysis using multivariate statistical process control
Software Quality Control
Managing software quality through a hybrid defect content and effectiveness model
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Orthogonal array application for optimal combination of software defect detection techniques choices
WSEAS Transactions on Computers
First Steps towards Validating a Cost-Benefit Model of Reviews and Tests
IWSM/Metrikon/Mensura '08 Proceedings of the International Conferences on Software Process and Product Measurement
An economic model of software quality costs
DNCOCO'08 Proceedings of the 7th conference on Data networks, communications, computers
Clustering for Monitoring Software Systems Maintainability Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
The software quality economics model for software project optimization
WSEAS Transactions on Computers
Predicting faults using the complexity of code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Dynamic COQUALMO: Defect Profiling over Development Cycles
ICSP '09 Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes
Subcontracting Processes in Software Service Organisations - An Experience Report
ICSP '09 Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
Context-aware service engineering: A survey
Journal of Systems and Software
Evaluating a BASIC approach to sensor network node programming
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
Analysis of anomalies and failures in dynamic web applications
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Towards logistic regression models for predicting fault-prone code across software projects
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
International Journal of Business Information Systems
Design and Analysis of Contracts for Software Outsourcing
Information Systems Research
ProMAS'06 Proceedings of the 4th international conference on Programming multi-agent systems
Usability of GeoWeb sites: case study of Czech regional authorities web sites
BIS'07 Proceedings of the 10th international conference on Business information systems
An empirical study on establishing quantitative management model for testing process
ICSP'07 Proceedings of the 2007 international conference on Software process
A paradigm for metric based inspection process for enhancing defect management
ACM SIGSOFT Software Engineering Notes
SPDW+: a seamless approach for capturing quality metrics in software development environments
Software Quality Control
Heuristic evaluation of usability of GeoWeb sites
W2GIS'07 Proceedings of the 7th international conference on Web and wireless geographical information systems
Quantitatively managing defects for iterative projects: an industrial experience report in China
ICSP'08 Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story
Build, configuration, integration and testing tools for large software projects: ETICS
RISE'06 Proceedings of the 3rd international conference on Rapid integration of software engineering techniques
An empirical analysis of team review approaches for teaching quality software development
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Uma experiência em mineração de processos de manutenção de software
Companion Proceedings of the XIV Brazilian Symposium on Multimedia and the Web
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
System Grokking: a novel approach for software understanding, validation, and evolution
NGITS'09 Proceedings of the 7th international conference on Next generation information technologies and systems
Empirical Software Engineering
Comparative study on applicability of two novel effort estimation models in web projects
ECC'10 Proceedings of the 4th conference on European computing conference
Software economics: quality-based return-on-investment model
MCBE'10/MCBC'10 Proceedings of the 11th WSEAS international conference on mathematics and computers in business and economics and 11th WSEAS international conference on Biology and chemistry
Two novel effort estimation models based on quality metrics in web projects
WSEAS Transactions on Information Science and Applications
Prediction of defect distribution based on project characteristics for proactive project management
Proceedings of the 6th International Conference on Predictive Models in Software Engineering
Measuring the functionality of online stores
COMPSAC-W'05 Proceedings of the 29th annual international conference on Computer software and applications conference
Software engineering education: A study on conducting collaborative senior project development
Journal of Systems and Software
Optimality and stability criteria for software testing process control model
MMACTEE'09 Proceedings of the 11th WSEAS international conference on Mathematical methods and computational techniques in electrical engineering
Continual monitoring of code quality
Proceedings of the 4th India Software Engineering Conference
OptimalSQM: optimal software quality management framework architecture
SEPADS'11 Proceedings of the 10th WSEAS international conference on Software engineering, parallel and distributed systems
Managing crosscutting concerns in component based systems using a model driven development approach
Journal of Systems and Software
Ownership, experience and defects: a fine-grained study of authorship
Proceedings of the 33rd International Conference on Software Engineering
Controversy Corner: An empirical study of software architectures' effect on product quality
Journal of Systems and Software
MDL: metrics definition language
ACIIDS'11 Proceedings of the Third international conference on Intelligent information and database systems - Volume Part I
Sustainability evaluation of software architectures: a systematic review
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
An industrial case study of classifier ensembles for locating software defects
Software Quality Control
Failure is a four-letter word: a parody in empirical research
Proceedings of the 7th International Conference on Predictive Models in Software Engineering
A process for assessing data quality
Proceedings of the 8th international workshop on Software quality
ICWE'11 Proceedings of the 11th international conference on Web engineering
A framework for integrated software quality prediction using Bayesian nets
ICCSA'11 Proceedings of the 2011 international conference on Computational science and Its applications - Volume Part V
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
Software process management: practices in china
SPW'05 Proceedings of the 2005 international conference on Unifying the Software Process Spectrum
A conceptual Bayesian net model for integrated software quality prediction
Annales UMCS, Informatica
Impacts of software deployment in the coffee agribusiness of brazil
PROFES'05 Proceedings of the 6th international conference on Product Focused Software Process Improvement
A quality management based on the Quality Model life cycle
Computer Standards & Interfaces
FM'06 Proceedings of the 14th international conference on Formal Methods
SPW/ProSim'06 Proceedings of the 2006 international conference on Software Process Simulation and Modeling
Current practices of measuring quality in finnish software engineering industry
EuroSPI'06 Proceedings of the 13th European conference on Software Process Improvement
ACM SIGSOFT Software Engineering Notes
Measuring the size of changes in automotive software systems and their impact on product quality
Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement
Empirical Software Engineering
A simulation approach to six sigma in software development
SCSC '09 Proceedings of the 2009 Summer Computer Simulation Conference
Towards persuasive technology for software development environments: an empirical study
PERSUASIVE'12 Proceedings of the 7th international conference on Persuasive Technology: design for health and safety
A cost-benefit model for software quality assurance activities
Proceedings of the 8th International Conference on Predictive Models in Software Engineering
E-service architecture selection based on multi-criteria optimization
PROFES'07 Proceedings of the 8th international conference on Product-Focused Software Process Improvement
Probabilistic size proxy for software effort prediction: A framework
Information and Software Technology
International Journal of Information Technology Project Management
Information Resources Management Journal
Feature selection for clustering based aspect mining
Proceedings of the 4th international workshop on Variability & composition
Journal of Systems and Software
Mining source code repositories at massive scale using language modeling
Proceedings of the 10th Working Conference on Mining Software Repositories
UsageQoS: Estimating the QoS of Web Services through Online User Communities
ACM Transactions on the Web (TWEB)
Model of system configuration requirements and measurement of their functional size
International Journal of Networking and Virtual Organisations
Journal of Information Science
Hi-index | 0.00 |
From the Book:Looking at software engineering from a historical perspective, the 1960s and earlier could be viewed as the functional era, the 1970s the schedule era, the 1980s the cost era, and the 1990s and beyond the quality and efficiency era. In the 1960s, we learned how to exploit information technology to meet institutional needs and began to link software with the daily operations of institutions. In the 1970s, as the industry was characterized by massive schedule delays and cost overruns, the focus was on planning and control of software projects. Phase-based life-cycle models were introduced and analysis, like the mythical man-month, emerged. In the 1980s, hardware costs continued to decline, and information technology permeated every facet of our institutions and became available to individuals. As competition in the industry became keen and low-cost applications became widely implemented, the importance of productivity in software development increased significantly. Various cost models in software engineering were developed and used. In the late 1980s, the importance of quality was also recognized.The 1990s and beyond is certainly the quality era. With state-of-the-art technology now able to provide abundant functionality, customers demand high quality. Demand for quality is further intensified by the ever-increasing dependence of society on software. Billing errors, large-scale disrupted telephone services, and even missile failures during recent wars can all be traced to the issue of software quality. In this era, quality has been brought to the center of the software development process. From the standpoint of software vendors, quality is no longer an advantage factor inthe marketplace; it has become a necessary condition if a company is to compete successfully.Starting mid 1990s, two major factors emerged that proved to have unprecedented impact on not only software engineering but also on global business environments: business reengineering for efficiency and the Internet. Software development has to be more efficient and the quality level of the delivered products has to be high to meet requirements and to be successful. This is especially the case for mission-critical applications. The adverse impact of poor quality is much more significant and at a much wider scale; the quality “dikes” that software provides were never more important. These factors will continue to affect software engineering for many years to come during this new millennium.Measurement plays a critical role in effective and efficient software development, as well as provides the scientific basis for software engineering that makes it a true engineering discipline. This book describes the software quality engineering metrics and models: quality planning, process improvement and quality control, in-process quality management, product engineering (design and code complexity), reliability estimation and projection, and analysis of customer satisfaction data. Many measurement books take an encyclopedic approach, in which every possible software measurement is included, but this book confines its scope to the metrics and models of software quality. Areas such as cost estimation, productivity, staffing, and performance measurement, for which numerous publications exist, are not covered.In this edition, seven new chapters have been added, covering in-process metrics for software testing, object-oriented metrics, availability metrics, in-process quality assessment, software project assessment, process improvement dos and don’ts, and measuring software process improvement. The chapter that described the AS/400 software quality management system has been eliminated. For the original chapters, updates and revisions have been made throughout, and new sections, figures, and tables were added.Two of the new chapters are special contributions from two experts. This is a key feature of the new edition. The chapter on the dos and don’ts of software process improvement was contributed by Patrick O’Toole. Patrick brings to this book a perspective on process improvement that I share as a practitioner. That perspective is based on practical experience, is project-centric, and is aligned with the strategic business imperative of the organization. Patrick also brings humor to this otherwise serious subject, making the reading of the chapter so much enjoyable. The chapter on measuring software process improvement is a special contribution by Capers Jones. A pioneer in software metrics, productivity research, software quality control and software assessments, Capers’ work is well known nationally and internationally. His data-based and fact-based approach in software assessments and benchmarking studies is unparalleled. Based on experience and data from more than 10,000 projects, he brings to the readers a practical approach to software process improvement and the major quantitative findings related to software process improvement at the project and activity level. The chapter is a must read for software process professionals who are interested in quantitative measurements.Another new feature added to this edition is a set of recommendations for small teams that are starting to implement a metrics program, with minimum resources available. These recommendations are shown in the form of sidebar inserts in nine of the chapters. A number of examples in the book are based on small team projects and many methods and techniques are appropriate to large projects as well as small ones. This set of recommendations is from the perspective of small organizations using a small number of metrics, with the intent to effect improvement in their software development effort.This book is intended for use by software quality professionals; software project managers; software product managers; software development managers; software engineers; software product assurance personnel; and students in software engineering, management information systems, systems engineering, and quality engineering and management. For students, it is intended to provide a basis for a course at the upper-division undergraduate or graduate level. A number of software engineering, computer science, and quality engineering programs in the United States and overseas used the first edition of this book as a text.Themes of This BookThis book has several themes. First, balancing theory, techniques, and real-life examples, it provides practical guidelines in the practice of quality engineering in software development. Although equations and formulas are involved, the focus is on the understanding and applications of the metrics and models rather than mathematical derivations. Throughout the book, numerous real-life examples are used from the software development laboratory at IBM Rochester, Minnesota, home of the AS/400 and the IBM eServer iSeries computer systems, and from other companies in the software industry. IBM Rochester won the Malcolm Baldrige National Quality Award in 1990. A number of metrics described in this book were being used dating back to that time, and many have been developed and refined since then. All metrics are substantiated by ample implementation experience. IBM Rochester develops and delivers numerous different size and type projects every year, including very large and complex as well as small ones; and they range from firmware, to operating systems, to middleware, to applications.Second, I attempt to provide complete coverage of the type of metrics and models in software quality engineering. In addition to general discussions about metrics and techniques, this book categorizes and covers four types of models: (1) quality management models; (2) software reliability and projection models; (3) complexity metrics and models; and (4) customer-view metrics, measurements, and models. These metrics and models cover the entire software development process from high-level design to testing and maintenance, as well as all phases of reliability. Furthermore, although this book is not on total quality management (TQM), it is a major consideration in the coverage of metrics. The philosophy of TQM is the linking of product quality with customer satisfaction in order to achieve long-term success. TQM is the reason for including two chapters on the customer-view metrics and measurements—availability metrics and customer satisfaction—in addition to the many chapters on product and process metrics. In other discussions in the book, the customer’s perspective is also included where appropriate.Third, linking metrics and models to quality improvement strategies and improvement actions, we attempt to focus on using, not just describing, metrics. A framework for interpreting in-process metrics and assessing in-process quality status, the Effort/Outcome model, is presented. The direct link between a recommended quality strategy during development and the defect-removal model is shown. Examples of actions tying to specific metrics and analysis are given. Furthermore, to illustrate the metrics, many figures are used. This is a direct reflection of the fact that in a real-life project and quality management, a clear visual presentation often improves understanding and increases the effectiveness of the metrics.Fourth, following up on quality and process improvement at a more general level rather than on specific metric discussions, the continues with chapters that discuss the in-process quality assessment process, a method for conducting software project assessments, practical advice on process improvement dos and don’ts, and quantitative analysis of software process improvement. The common thread underlying these chapters, and with other chapters on metrics and models, is practical experience with industry projects.Organization of This BookThe following list details what each chapter in this book addresses.Chapter 1, What Is Software Quality?, discusses the definition of quality and software quality. The customer’s role in the definition is highlighted. Quality attributes and their interrelationships are discussed. In the second part of the chapter covers the definition and framework of TQM and the customer’s view of quality, a key focus in this book.Chapter 2, Software Development Process Model, reviews various development process models that are used in the software industry. It briefly describes two methods of software process maturity assessment—the Carnegie Mellon University’s Software Engineering Institute’s (SEI) process Capability Maturity Model (CMM) and the Software Productivity Research (SPR) assessment method. It summarizes two bodies of quality management standards—the Malcolm Baldrige National Quality Award assessment discipline and ISO 9000. Chapter 3, Fundamentals in Measurement Theory, examines measurement theory fundamentals, which are very important for the practice of software measurement. The concept of operational definition and its importance in measurement are illustrated with an example. The level of measurement, some basic measures, and the concept of six sigma are discussed. The two key criteria of measurement quality, reliability and validity, and the related issue of measurement errors are examined and their importance is articulated. This chapter also provides a discussion on correlation and addresses the criteria needed to establish causality based on observational data. Chapter 4, Software Quality Metrics Overview, presents examples of quality metrics for the three categories of metrics associated with the software life-cycle: end-product, in-process, and maintenance. It describes the metrics programs of several large software companies and discusses software engineering data collection. Chapter 5, Applying the Seven Basic Quality Tools in Software Development, describes the application of the basic statistical tools for quality control, known as Ishikawa’s seven basic tools, in software development. The potentials and challenges of applying the control chart in software environments are discussed. In addition, a qualitative tool for brainstorming and for displaying complex cause-and-effect relationships—the relations diagram—is discussed. Chapter 6, Defect Removal Effectiveness, is the first of five chapters about the models and metrics that describe the quality dynamics of software development. Through two types of models, quality management models and software reliability and projection models, the quality of software development can be planned, engineered, managed, and projected. This chapter examines the central concept of defect-removal effectiveness, its measurements, and its role in quality planning.Chapter 7, The Rayleigh Model, describes the model and its implementation as a reliability and projection model. The Rayleigh Model’s use as a quality management model is discussed in Chapter 9.Chapter 8, Exponential Distribution and Reliability Growth Models, discusses the exponential distribution and the major software reliability growth models. These models, like the Rayleigh Model, are used for quality projection before the software is shipped to customers, just before development is complete. The models are also used to model the failure pattern or the defect arrival patterns in the field, for maintenance planning.Chapter 9, Quality Management Models, describes several quality management models that cover the entire development cycle. In-process metrics and reports that support the models are shown and discussed. A framework for interpreting in-process metrics and assessing in-process quality status—the Effort/Outcome model, is presented. Chapter 10, In-Process Metrics for Software Testing, is a continuation of Chapter 9; it focuses on the metrics for software testing. The Effort/Outcome model, as it applies to metrics during the testing phase, is elaborated. Candidate metrics for acceptance testing to evaluate vendor-developed software, and the central question of how do you know your product is good enough to ship, are also discussed.Chapter 11, Complexity Metrics and Models, discusses the third type of metrics and models in software engineering. While quality management models and reliability and projection models are for project management and quality management, the objective of the complexity metrics and models is for software engineers to be able to improve their design and implementation of software development. Chapter 12, Metrics and Lessons Learned for Object-Oriented Projects, covers design and complexity metrics, productivity metrics, quality and quality management metrics for object-oriented development, and lessons learned from the deployment and implementation of OO projects. The first section can be viewed as a continuation of the discussion on complexity metrics and models, while the other sections fall within the framework of quality and project management. Chapter 13, Availability Metrics, discusses system availability and outage metrics, and explores the relationships among availability, reliability, and the traditional defect-rate measurement. Availability metrics and customer satisfaction measurements are the fourth type of metrics and modelscustomer-oriented metrics. Chapter 14, Measuring and Analyzing Customer Satisfaction, discusses customer satisfaction data collection and measurements, and techniques and models for the analysis of customer satisfaction data. From Chapter 3 to this chapter, the entire spectrum of metrics and models is covered.Chapter 15, Conducting In-Process Quality Assessments, describes in-process quality assessments as an integrated element of good project quality management. Quality assessments are based on both quantitative indicators, such as those discussed in previous chapters, and qualitative information. Chapter 16, Conducting Software Project Assessments, takes the level of discussion yet another level higher; this chapter proposes a software project assessment method. The focus is at the project level and the discussion is from a practitioner’s perspective. Chapter 17, Dos and Don’ts of Software Process Improvement by Patrick O’Toole, offers practical advice for software process improvement professionals. It provides a link to the process maturity discussions in Chapter 2. Chapter 18, Measuring Software Process Improvement by Capers Jones, discusses the six stages of software process improvement. Based on a large body of empirical data, it examines the costs and effects of process improvement. It shows the results of quantitative analyses with regard to costs, time, schedule, productivity, and quality. It provides a link to the process maturity discussions in Chapter 2.Chapter 19, Concluding Remarks, provides several observations with regard to software measurement in general and software quality metrics and models in particular, and it offers a perspective on the future of software engineering measurement.Suggested Ways to Read This BookThe chapters of this book are organized for reading from beginning to end. Concepts and discussions in earlier chapters are referenced in later chapters. At the same time, each chapter addresses a separate topic and chapters within some groups are more closely coupled to each other than to others. Some readers may choose to read specific topics or decide on different starting points. For example, those who are not interested in quality definitions, process models, and measurement fundamentals discussions, can start with Chapter 4, Software Quality Metrics Overview. Those who intend to immediately get to the central topics of defect removals and metrics and models for quality planning, management and projection, can start with Chapter 6, Defect Removal Effectiveness. In general, I recommend that you read the chapters together in groups, as follows.Chapters 1 to 3Chapter 4Chapter 5 Chapters 6 to 10Chapters 11 and 12Chapters 13 and 14Chapters 15 to 18Chapter 19