Software engineering--Management

Model
Digital Document
Publisher
Florida Atlantic University
Description
Though software development has been evolving for over 50 years, the development of computer software systems has largely remained an art. Through the application of measurable and repeatable processes, efforts have been made to slowly transform the software development art into a rigorous engineering discipline. The potential gains are tremendous. Computer software pervades modern society in many forms. For example, the automobile, radio, television, telephone, refrigerator, and still-camera have all been transformed by the introduction of computer based controls. The quality of these everyday products is in part determined by the quality of the computer software running inside them. Therefore, the timely delivery of low-cost and high-quality software to enable these mass market products becomes very important to the long term success of the companies building them. It is not surprising that managing the number of faults in computer software to competitive levels is a prime focus of the software engineering activity. In support of this activity, many models of software quality have been developed to help control the software development process and ensure that our goals of cost and quality are met on time. In this study, we focus on the software quality modeling activity. We improve existing static and dynamic methodologies and demonstrate new ones in a coordinated attempt to provide engineering methods applicable to the development of computer software. We will show how the power of separate predictive and classification models of software quality may be combined into one model; introduce a three group fault classification model in the object-oriented paradigm; demonstrate a dynamic modeling methodology of the testing process and show how software product measures and software process measures may be incorporated as input to such a model; demonstrate a relationship between software product measures and the testability of software. The following methodologies were considered: principal components analysis, multiple regression analysis, Poisson regression analysis, discriminant analysis, time series analysis, and neural networks. Commercial grade software systems are used throughout this dissertation to demonstrate concepts and validate new ideas. As a result, we hope to incrementally advance the state of the software engineering "art".
Model
Digital Document
Publisher
Florida Atlantic University
Description
Content analysis is used to investigate the essence of the Software Engineering Institute's Capability Maturity Model (CMM) through associated software process evaluation instruments. This study yields lexical maps of key terms from each questionnaire. The content analysis is studied in three possible ways for each of the questionnaires: By question, by key process area, and by maturity level. These maps are named suitably. Super network and distribution maps are used for finding relations among the maps. Analysis of the key terms from the maps are compared to extract the essence of CMM and the ability of the questionnaires to adequately assess an organization's process maturity.
Model
Digital Document
Publisher
Florida Atlantic University
Description
The history of software development reflects a continuous series of problems, crises and triumphs in the development of reliable software systems. Problems with comprehension of machine language led to assemblers and high level languages, and eventually to the discipline of structured programming. Problems with program and system size led to modularity and modular design. None of these solutions proved to be final because aspirations have risen along with competence. This thesis makes the argument that the increasing size of projects, in terms of their complexity and the numbers of persons required to bring them to fruition, gives rise to a set of problems caused by the social interaction of those persons. This social context is investigated. It is argued that solutions ignoring this social context are inadequate for solving the software crisis brought on by the increasing demand for larger software systems.