Software Engineering: Process, Principles, and Goals

  title={Software Engineering: Process, Principles, and Goals},
  author={Douglas T. Ross and J. Goodenough and C. A. Irvine},
This paper attempts to define the principles and goals that affect the practice of software engineering. Its intent is to organize these aspects of software engineering into a framework that rationalizes and encourages their proper use, while placing in perspective the diversity of techniques, methods, and tools that presently comprise the subject of software engineering. 
A model of software engineering
The technique of morphological analysis is applied to the field of software engineering to identify the form and structure present and applications in the areas ofSoftware engineering research and software engineering curricula are discussed.
Software Engineering
  • B. Boehm
  • Computer Science
    IEEE Transactions on Computers
  • 1976
A survey of the current state of the art and likely future trends in the field of software engineering and a definition of the term "software engineering" are provided.
A top-down view of software engineering
Software engineering includes a broad range o f topics related to the design and development of high quality computer software . This paper surveys th e field, concentrating on aspects of prograrming
Software engineering principles: a survey and an analysis
This study presents a survey and an analysis of the literature on software engineering principles, which arrive at a set of 24 candidate software Engineering principles which all meet the required criteria.
Software engineering for knowledge-based systems software
  • J. Karimi
  • Computer Science
    [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume III: Decision Support and Knowledge Based Systems Track
  • 1988
Various software design principles useful for knowledge-based systems software (KBSS) are discussed. In particular, the applicability of abstraction, information hiding, modularity, localization,
A Guide to the Assessment of Software Development Methods
This report outlines a five step process and an organized set of questions that provide method assessors with a systematic way to improve their understanding and form opinions on the ability of existing methods to meet their organization's needs.
The role of complexity in object-oriented systems development
It is concluded that the underlying concepts of object-oriented computing are sound and reduce complexity if applied correctly and a model where the impact of software complexity on abstract constructs such as software quality and productivity can be studied can be proposed.
What Is Software Engineering?
The article proposes an approach to defining a set of basic notions for subject area of software engineering discipline to serve as a basis for detection and correction of some widespread conceptual mistakes in the efforts aimed at improving the quality and work productivity in creation and operation of software.
A comparison of lifecycle models
The purpose of the paper is to present the Finnish PSC systemeering model to the software engineering community and to compare it with the ideas of D. Ross and practical approaches in SE.
Software Engineering for AI Based Software Product
The Software Engineering Institute conducts activities that lead to strengthening software engineering and the professionals who practice it, and will contribute also to the improvement of products that apply AI techniques.


The Effect of Software Structure on Software Reliability, Modifiability, Reusability, and Efficiency: A Preliminary Analysis,
Abstract : The report is part of a study aimed at determining what programming language features, compiler capabilities, support tools, and program design disciplines are needed to produce reliable,
A design methodology for reliable software systems
  • B. Liskov
  • Computer Science
    AFIPS '72 (Fall, part I)
  • 1972
Any user of a computer system is aware that current systems are unreliable because of errors in their software components. While system designers and implementers recognize the need for reliable
The Effect of Software Structure on Software Reliability, Modifiability, and Reusability: A Case Study and Analysis,
This report discusses program structuring concepts and language features that enhance reusability, modifiability, and reliability by analyzing and restructuring an existing set of reusable subroutines for manipulating data structures without being committed to a specific implementation of them.
On the criteria to be used in decomposing systems into modules
This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a
Structured exception handling
The proposed language features serve to highlight exception handling issues by showing how deficiencies in current approaches could be remedied in a coherent and orderly way.
Programming with abstract data types
An approach which allows the set of built-in abstractions to be augmented when the need for a new data abstraction is discovered and is an outgrowth of work on designing a language for structured programming.
The multics system: an examination of its structure
The author builds a picture of the life of a process in coexistence with other processes, and suggests ways to model or construct subsystems that are far more complex than could be implemented using predecessor computer facilities.
Notes on structured programming
The final author version and the galley proof are versions of the publication after peer review that features the final layout of the paper including the volume, issue and page numbers.
An Approach to Abstraction
  • SIGPLANNotices
  • 1974
Implications of Using Modular Programming Review of Central Computer Agency Guide No. 1, Civil Service Dept., Her Majesty's Stationery Office
  • Implications of Using Modular Programming Review of Central Computer Agency Guide No. 1, Civil Service Dept., Her Majesty's Stationery Office
  • 1974