[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci Dept] / [R J Botting] / [Samples] / subjects
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Tue Sep 18 15:27:10 PDT 2007

Contents


    Bibliography Subject Index

      A list of subjects and seminal bibliographic items. I have a collection of more than three thousand papers, articles, books, etc. on software development. I include both theory, research, and practice, and also the good, the bad, and the ugly. This pages indicates the main index items I've used and has links to a search program that retrieves list of items tagged on the subject heading.

      I also classify the later items by the quality of the evidence provided: theory, statistics, empirical, experience, experiment, anecdote, ... down to advocacy and advertising, etc.

      This page started as a HyperCard stack. The stack had a button to export a specially formatted text file that could be easily translated into HTML.

      Warning

      This page is undergoing a major refactoring to replace explicit links to items by calls to a local search engine that will retrieve the list instead.

      Subjects

        ADA

      1. the Ada Programming languages Ada83 and Ada95, See [ANSI83ADA] [ANSI95ADA] [ bib.php?from=subjects&search=Ada ]

        ANSI-C

      2. Standardized and added stronger typing than K&K C.

        ADTs

      3. Abstract Data Types: data encapsulated/hidden by operations, including ADV/ADO, see also DATA and OBJECT-ORIENTED and RESOLVE,

        [Parnas72a] [GonnetBaeza-Yates91] [ bib.php?from=subjects&search=ADT ]

        AGILE

      4. A year 2k buzz phrase indicating process or methods that are not burdened by documentation or ceremony.

        See [FowlerHighsmith01] [ bib.php?from=subjects&search=AGILE ]

        AI

      5. Artificial Intelligence including neural nets, See Also LOGIC LOGIC-PROGRAMMING [ EXPERT SYSTEMS ] RULE-BASED, Special Issue Comm ACM March 1994.,

        [Jainetal96] (Neural nets), [ bib.php?from=subjects&search=%20AI ]

        ALGEBRA

      6. also see ADTs SPECIFICATION and LARCH, [ManesArbib86] [Wechler92] [ bib.php?from=subjects&search=ALGEBRA ]

        ANALYSIS

      7. Items with a focus on problems and situations rather than solutions. also see SYSTEM, PURPOSE, QUALITY, REALITY, REQUIREMENTS, OOA, OOAD, SA, SADT OOA, SAD, and SSADM,

        [ bib.php?from=subjects&search=[^%3d]ANALYSIS ]

        ARCHITECTURE

      8. including design PATTERNS, and styles, also see some older refs under MODULES, [AmblerS96] (n-tier) [Batoryetal95] (Genvoca) [Gammaetal94] (Patterns) [ bib.php?from=subjects&search=ARCHITECTUR ]

        ASSERTIONS

      9. in code as design and also the debugging and testing aids, [Floyd67a] [ bib.php?from=subjects&search=ASSERTIONS ]

        BACKTRACK

      10. include exceptions. Also see LOGIC-PROGRAMMING and NON_DETERMINISM

        [ADA83] (Exceptions), [EllisStroustrup90] (C++ exceptions), [Floyd67b] [Jackson75] [Jackson83] [ bib.php?from=subjects&search=BACKTRACK ]

        BNF

      11. Bachus Naur Form and all its extensions, also see SYNTAX and the theory GRAMMAR. [Nauretal64] [ bib.php?from=subjects&search=BNF ]

        C

      12. The programming language that improved B which came from BCPL and Algol68 and CPL. Used to program UNIX. The language that spawned a thousand slips... most of them buffer over-runs. Don't forget to wear asbestos under-ware when driving C. Varieties include K&R_C and ANSI_C.

        The classic references are by Kernighan and Ritchie plus Harbison and Steele.
        (K&R_C): [KernighanRitchie] Searching for a single letter will retrieve some false drops. The following will miss some references to C while selecting people with the initial C: [ bib.php?from=subjects&search=%20C%20 ]

        C++

      13. A hybrid programming language derived from [ K&R_C ]

        [EllisStroustrup90] [Hutton95] [Stroustrup98] [Stroustrup01] [ bib.php?from=subjects&search=C%5b%2b%5d%5b%2b%5d ]

        CASE

      14. Computer aided Software Engineering, More complex than TOOLS, [TahvanainenSmolander90](Bibliography) [TerryLogee90](Glossary) [Chikofsky(ed)88] [ bib.php?from=subjects&search=CASE%2F%26%26%21%2FCASE%5B.+%5D*STUDY ]

        CATEGORY

      15. Mathematical Theory of Categories, objects and arrows connecting them, general abstract nonsense, [ bib.php?from=subjects&search=CATEGORY ]

        CCS

      16. Milner's alternative model to CSP of systems of interacting objects, [Milner80] [Milner89] [Milner93] [ bib.php?from=subjects&search=CSS ]

        CLEANROOM

      17. a rigid and rigorous software development method developed by IBM for its highest quality projects. This is Rocket Science: used for NASA software. [DwyerM92] (Intro Book), [Endres93] (lessons), [Hausleretal90] (re-engineering), [Hausleretal94] (adoption), [HevnerMills93] (Box structures), [Hevneretal92] (CASE), [Humphrey93] (Review of Dwyer M 92), [Linger94] (process), [MillsLinger86] (ADTs), [Mills72] (Theory), [Millsetal87] (method), [Millsetal89] (training), [Musa93] (testing), [ bib.php?from=subjects&search=CLEANROOM ]

        CMM

      18. Capability maturity model, SEI model of how an organizations capability to produce software improves, see MATURITY IMPROVEMENT [ bib.php?from=subjects&search=CMM ]

        COBOL

      19. Still going strong after all these years... [ bib.php?from=subjects&search=COBOL ]

        COMPILER

      20. a TOOL that translates a high-level language into a lower level language in preparation for it to be executed. [ bib.php?from=subjects&search=COMPILER ]

        COMPUTER SCIENCE

      21. comments about predictions symposia surveys, [ bib.php?from=subjects&search=COMPUTER%20SCIENCE ]

        CONCURRENCY

      22. See NON-SEQUENTIAL below, [Shankar93] [ bib.php?from=subjects&search=CONCURREN ]

        COST

      23. of software development, also ECONOMICS, [ bib.php?from=subjects&search=COST ]

        CRC

      24. Class Responsibility Collaboration Cards + Responsibility driven designs. Also see SCENARIOS, [Wirfs-BrockWilkersonWiener90] [ bib.php?from=subjects&search=CRC ]

        CSP

      25. cooperating sequential processes, Hoare's algebraic way of modeling systems of interacting objects, A rival to CCS, eclipsed by ACP -- The Algebra of Cooperating Processes. [Hoare78] [Hoare85] [ bib.php?from=subjects&search=CSP ]

        CYBERNETICS

      26. study of control and communication and viable systems including control systems and feedback based systems architectures, [Arbib64] [Beer74] [RossAshby56] [ShannonWeaver49] [WeinbergG75] [ bib.php?from=subjects&search=CYBERNETICS ]

        DAD

      27. Dynamic Analysis and Design methods, [Botting84a] [Cameron86] [Botting86a] [Botting86b] [Botting87a] [ bib.php?from=subjects&search=DAD ]

        DATA

      28. ways of modeling storing retrieving data, databases, data structures, also ways to use data modeling in the software process, DBMSs of all types., also see DDD [ bib.php?from=subjects&search=DATA ]

        DDD

      29. data directed design, a family of methods where a structured model of the data involved becomes the structure of the code that processes the data, This is the accepted method for developing compilers and translaters. It is not well known that all data processing can be handled the same way. Also see JSP.

        [Irons61] [Irons63] [Jackson75] [Warnier76] [HughesPowell81] (text) [Ingevaldsson79] (text) [ bib.php?from=subjects&search=DDD ]

        DECOMPOSITION

      30. multiple views, aspects, clash resolution, problem frames, ..., Ways of decomposing a problem other than using modules of code. Cross-cutting concerns. Breaking down problems into subproblems. Analyzing existing systems and situations -- see SYSTEM.

        [ bib.php?from=subjects&search=DECOMPOSITION ]

        DESIGN

      31. Primarily the internal structure of software and activities that produce it, Rather than the look-and-feel of the software (USER REQUIREMENTS SPECIFICATION), see Also SAD SADT SSADM OOD

        [BerglandGordon(Eds)81] [BerglandZave(eds)86] [Gammaetal94] [Hoare87] [Jackson75] [Parnas72b] [Parnas96] [Wirth85] [Witty77a] [Yourdon75] [ bib.php?from=subjects&search=DESIGN ]

        DFDs

      32. Data Flow Diagrams, charts showing named objects connected by arrows. arrows show that one object influences or effects the other other., Differs from a Collaboration chart in the direction of arrows and level of abstraction: A data flow indicates many collaborations and shows how data/objects move not the call-response connection. [GaneSarson79] [RossAshby56] [WardMellor85] [WeinbergV79] [ bib.php?from=subjects&search=DFD ]

        DOCUMENTATION

      33. Harmful or necessary? How to record ideas about software and its environment. Posters or books?

        [ bib.php?from=subjects&search=DOCUMENTATION ]

        DOMAIN

      34. a set of (problems|tasks|implementations) in which multiple highly similar application systems (will|can|have been?) be developed including product lines, DSSA, not "domain" as the sense of "what is outside the software" as in systems analysis or Jackson or "Domain Expert", REALITY, SYSTEM, [ bib.php?from=subjects&search=DOMAIN ]

        DYNAMIC PREDICATES

      35. The use of a prime(') to indicate the future state of a variable, and hence the normal predicate calculus to express changes of state as well as sets of states, [Hehner84a] [Hehner84b] [RossAshby56] [ bib.php?from=subjects&search=DYNAMIC%20PREDICATES ]

        DYNAMICS

      36. the use of sets of (possible|significant) sequences of (changes|events) as part of a technique, When used extensively see DAD. [Kleene56] [Robinson79] [WardMellor85] [ bib.php?from=subjects&search=DYNAMICS ]

        ECONOMICS

      37. how supplier cost and customer needs ( plus hype) interact, including spurious but interesting models like my own work, [ bib.php?from=subjects&search=ECONOMIC ]

        EDISON

      38. a simple but powerful language designed in the late 70's, [BrinchHansen81] [BrinchHansen83] [Paakki91]

        EDUCATION

        [BCS/IEE89] [ bib.php?from=subjects&search=EDUCATION ]

        EIFFEL

      39. Bertrand Meyers language, object oriented and formal., [Meyer90] [ bib.php?from=subjects&search=EIFFEL ]

        ENGINEERING

      40. As opposed to art, craft, science, etc. An engineer can do anything a clod can but cheaper, safer, and better. [ANSI/IEEE87] [BCS/IEE89] [CSTB89] [Krick69] [Lano77] [McFarland91] [Petroski85] [Petroski95] [Simon69] [ bib.php?from=subjects&search=ENGINEER ]

        ERD

      41. Entity-Relation-Diagram and related ones: SSADM LDS charts conceptual models etc, [MartinMcClure85] [ bib.php?from=subjects&search=%20ERD ]

        Problems: problems of Chen style ERA/ERD COW diagrams, [Botting87a] [Berztiss89] [Carasiketal90] [Kilov91] [MartinMcClure85]

        ERRORS

      42. in human input, not those made by developers (for these see RISKs), [ bib.php?from=subjects&search=ERRORS ]

        EVOLUTION

      43. A trendy name for the study of MAINTENANCE, [ bib.php?from=subjects&search=EVOLUTION ]

        EXPERT SYSTEMS

      44. see PROLOG and LOGIC., [ bib.php?from=subjects&search=EXPERT%20SYSTEMS ]

        FAIRNESS

      45. properties of components that guarantee that good things are actually done even though alternatives exist. compare with liveness progress and safety properties, See UNITY GUARDED-COMMANDS NON-DETERMINISM MODULES, [Shankar93] [ bib.php?from=subjects&search=FAIRNESS ]

        FORMAL

      46. making use of mathematical formulae in analysis, design and implementation of software, includes the ability to use math creatively., Often confused with RIGID or CEREMONIOUS. [Floyd67a] [GriesSchneider93] [ bib.php?from=subjects&search=FORMAL ]

        FORTRAN

        [ bib.php?from=subjects&search=FORTRAN ]

        FUNCTIONAL

      47. methods that depend on using the word "function" to mean either a mathematical function or the purpose of a piece of software to determine its structure and code. Functional methods and languages go back to the 1960's and where eclipsed by Object-Oriented methods in the 1990's -- but the is a war of religion. [Strachey66] [ bib.php?from=subjects&search=FUNCTIONAL ]

        GENERICITY

      48. polymorphism resolved and checked prior to runtime, Ada Generic + C++ templates + SML functors + levers Frameworks + Hypergenerics + automatic specialization/concretization of general/abstract models, see also ARCHITECTURE/PATTERNS and REUSE, [ANSI83ADA] (generics), [EllisStroustrup90] (templates), [Garlanetal95] (architectural mismatch), [Kiczales96] (Open implementation), [LeeZachary95] (metaobject protocol), [ bib.php?from=subjects&search=GENERIC ]

        GRAMMAR

      49. A very successful theory! See BNF SYNTAX LANGUAGES DDD for applications. [HoltCordyWortman82] [ bib.php?from=subjects&search=GRAMMAR ]

        GRAPHIC

      50. Techniques and methods that use a picture rather than words/numbers/tables, also the study of the use of pictures. Notice that some graphics used by engineers are FORMAL and others are informal. [Scanlan89] [Tripp88] (survey), [Tripp89] (bibliography), [TsePong91] [Witty77b] [ bib.php?from=subjects&search=GRAPHIC ]

        GUARDED-COMMANDS

      51. Dijkstra's non-language... [Dijkstra76] [Gries81] [ bib.php?from=subjects&search=GUARDED-COMMANDS ]

        HOS

      52. Higher Order Software, company selling a rigorous form of functional decomposition. An example of an overhyped method IMHO. [Anon(HOS)84] [HamiltonZeldin76] [Martin85]

        HYPERTEXT

      53. and hypermedia and interactive presentation technologies, also using the WWW as a tool and as a software product, [ bib.php?from=subjects&search=HYPERTEXT ]

        ICON

      54. child of SNOBOL and much better a unique language with backtracking and concurrency builtin, [GriswoldGriswold83] [GriswoldHansonKorb81] [ bib.php?from=subjects&search=%20ICON ]

        IMPLEMENTATION

      55. tasks converting designs(ideas) to code, Or in extreme cases an iteration adding a new user story to a running system. [ bib.php?from=subjects&search=IMPLEMENTATION ]

        IMPROVEMENT

      56. how to learn from experience- experience factories BOP, Also see MATURITY and CMM, SPIN meetings and groups. [ bib.php?from=subjects&search=IMPROVEMENT ]

        INSPECTIONS (SQA)

      57. ways to find errors in code based on techniques that work with chips! [Fagan76] [GilbGraham94] [ bib.php?from=subjects&search=INSPECTIONS ] [ bib.php?from=subjects&search=SQA ]

        JSD

      58. Jackson System Development, a leading DAD, MIS systems contain a real-time simulation of the "real world" plus the ability to react to the model and to control it, [Cameron84] [Cameron86] [Cameron89] [Jackson83] [Jackson94] [Sanden89] [ bib.php?from=subjects&search=JSD ]

        JSP

      59. Recently JSP means JAVA server pages. See JAVA.

      60. Jackson Structured Programming, a DDD, a rigorous data and program structure chart is used to document and derive structure, multiple structures a handled as concurrent or pipelined processes, Non-determinism handled by back-tracking. To rigorous for untrained programmers and to practical to be a formal method. [Cameron84] [Cameron89] [Hoare79] [Jackson75] [Jackson95c] [KingPardoe85] [King88] [Sanden85a] [Sanden85b] [ bib.php?from=subjects&search=JSP ]

        K&R_C

        LANGUAGE

      61. Description of a particular language, See JAVA, FORTRAN, COBOL, ADA etc. [ bib.php?from=subjects&search=LANGUAGE ]

        LANGUAGES

      62. about languages in general or comparisons of languages, [BrinchHansen85] [Higman77] [ bib.php?from=subjects&search=LANGUAGES ]

        LARCH

      63. a formal assertion language that can be adapted to fit any high level language, [GuttagHorning91] [GuttagHorning93] [ bib.php?from=subjects&search=LARCH ]

        LCP

      64. Logical Construction of Programs, Warnier-Orr's weak and early version of DDD, [Higgins83] [Warnier76] [ bib.php?from=subjects&search=LCP ]

        LCS/DSSD

      65. Logical Construction of systems, What happened when LCP grew up. [Orr77] [Orr88] [Warnier81] [ bib.php?from=subjects&search=LCS ] [ bib.php?from=subjects&search=DSSD ]

        LIFECYCLE

      66. ways to schedule the tasks needed to develop software, the sequential case of a software PROCESS, also a description of the life of a product rather than a project, [ bib.php?from=subjects&search=LIFECYCLE ]

        LISP

      67. LISt Processing langugae. Based on the theory of recursive functions, the λ calculus, and the architecture of an IBM 704... [BraffortHirschberg(Eds)63] [McCarthyetal62] [ bib.php?from=subjects&search=LISP ]

        LITERATE

      68. a style of programming based on writing a formal mathematical paper and extracting the code from it, [VanWyk86-88] [ bib.php?from=subjects&search=LITERATE ]

        LOGIC

      69. In accordance with the speakers preconceptions.... expressed as axioms and deductive rules... develops a collection of theorems. Also LOGIC PROGRAMMING [FeysFitch69] [Fox(Ed)66] [Hodges77] [KalishMontague64] [ bib.php?from=subjects&search=%20LOGIC ]

        LOGIC PROGRAMMING

      70. CLP Prolog etc, [Cohen90] (Constraint Logic Programming), [Colmerauer90] (Constraint Logic Programming), [SchnuppBernhard87] (Prolog)

        LOTOS

      71. a specification language, [ bib.php?from=subjects&search=%20LOTOS ]

        MAINTAINABILITY

      72. A QUALITY that indicates the cost of changing a piece of software, Also see REUSE and [ RE-ENGINEERING] , [ bib.php?from=subjects&search=MAINTAINABILITY ]

        MAINTENANCE

      73. also see legacy code, See EVOLUTION, REUSE, [ RE-ENGINEER ] , SYSTEM, [ REVERSE ENGINEERING ] , MAINTAINABILITY, ... Distinguish the types of maintenance: adding features, correcting errors, bringing in line with changes in the outside world. [ANSI/IEEE90] [ParikhZvegintzov82] [ bib.php?from=subjects&search=MAINTENANCE ]

        MASCOT

      74. a special kind of DFD, Recently incorporated into the UML [JacksonK89] [Hulletal91] [ bib.php?from=subjects&search=MASCOT ]

        MATHEMATICS

      75. mathematics that was not developed to help the development of software, However tends to be useful (you mean you don't count....?). otherwise see FORMAL. [ bib.php?from=subjects&search=MATHEMATICS ]

        MATHS

      76. The British colloquial term for Mathematics. My own way of encoding mathematics in ASCII. [ bib.php?from=subjects&search=MATHS ]

        MATURITY

      77. and process improvement, CMM, IMPROVEMENT [ bib.php?from=subjects&search=MATURITY ]

        METHODS

      78. =Methodologies=the study theory of methods + surveys of usage, [BerglandGordon(Eds)81] [Bergland81] [GoldsteinAlger92] [Kitchenham96] (DESMET), [ bib.php?from=subjects&search=METHODS ]

        METRICS

      79. ways of mapping software into numbers, an extremely rigid from of QUALITY measurement, most are controversial, many are also popular however, - also see QUALITY, Not all have a rigorous mathematical meaning. [Fenton94] [Gilb77] [ bib.php?from=subjects&search=METRIC ]

        MOBILE

      80. How to handle code that moves from place to place or machine to machine?

        [ bib.php?from=subjects&search=MOBILE ]

        MODULES

        MODULARIZATION

      81. Module interconnection architectures, RESOLVE ARCHITECTURE ADTs, [McConnell96] [Parnas72b] [Parnas85] [Parnas72a] [Parnas96] [WilkesWheelerGill] [Winograd79] [ bib.php?from=subjects&search=MODUL%5bAE%5d ]

        MS-LIKE PROCESSES

      82. Microsoft and similar processes that make marketing, coding and testing central, TECHNICAL for particular coding oriented techniques and methods, [CusumanoSelby95] [Keuffel95b] [Keuffel95c] [Maguire94] [McCarthyJ95] [McConnell93] [McConnell96a] [MyersW95] [Pascal94]

        N^2 CHART

      83. a way of laying out a complex network or any digraph with out self-looping arrows, [Lano77] [LoyStapp93] [ThayerDorfman90]

        NON-DETERMINISTIC

      84. See BACKTRACK and NON-SEQUENTIAL, [ bib.php?from=subjects&search=NON%5b%2d%5d%2aDETERMINISTIC ]

        NON-SEQUENTIAL

      85. On structures that not sequence, selection, and iteration. [Floyd67b] [Hoare85] [Jackson75] [Jackson78] [Jackson80] [Jackson95c] [Kowalski79] [McIlroy86] [OwickiGries76] [Parnas72b] [RitchieThompson74] [Ritchie80] [ bib.php?from=subjects&search=NON%5b%2d%5d%2aSEQUENC ]

        OBJECT-ORIENTED

      86. OO::="Object-oriented". [Mrdalj90] (Bibliography), .See[FiresmithEykholt95] (Dictionary), [GoldsteinAlger92] [Kay77] [Parnas72b] [Rettig93] [SharbleCohen93] [Winograd79] [ bib.php?from=subjects&search=OBJECT%5b%2d%5d%2aORIENT ]

        OOA/OOAD/OOD

      87. OO Analysis.
      88. OOA::= See http://csci.csusb.edu//dick/bib.php?from=subjects&search=OOA

        OOAD

      89. OO Analysis and Design
      90. OOAD::= See http://csci.csusb.edu//dick/bib.php?from=subjects&search=OOAD

        OOD

        OO Design, ... methods that take advantage of OO technology,
      91. OOD::= See http://csci.csusb.edu//dick/bib.php?from=subjects&search=OOD (200+ items...)

        OPEN SOURCE

      92. A religion/movement/process for developing software by the programmer, for the programmer, and for the use of the programmer. [ bib.php?from=subjects&search=OPEN%2e%2aSOURCE ]

        OPTIMIZATION

      93. techniques that make one quality better at the expense of other qualities, For example improving PERFORMANCE at the expense of reducing MAINTAINABILITY. [Bentley84] [BrinchHansen83] [SmithCU90] [ bib.php?from=subjects&search=OPTIMIZATION ] For design patterns see ARCHITECTURE

        PASCAL

      94. Philosopher and programming language family. [ bib.php?from=subjects&search=PASCAL ] (look out for people named Pascal as well)

        PEOPLE

      95. including management psychology groups teams empowerment agile etc, [ bib.php?from=subjects&search=PEOPLE ]

        PERFORMANCE

      96. requirements(Qualities+Purposes), OPTIMIZATION, TIMING, FAIRNESS, [Bentley84] [Bentley93] [SmithCU90] [ bib.php?from=subjects&search=PERFORMANCE ]

        PETRIE-NETS

      97. A way of describing how a set of conditions allow things to happen and how things happen make certain conditions become true. A NON-SEQUENTIAL modeling tool. An theory that feels as if it it should be useful. UML activity diagrams! [CommonerHoltEvenPnueli71] [ bib.php?from=subjects&search=PETRI ]

        PIPE

      98. a technique first implemented in UNIX to allow the interconnection of running programs and simple and safe inter-process data flow, also see JAVA, UNIX and NON-SEQUENTIAL., [ bib.php?from=subjects&search=PIPE ]

        POSTMODERN

      99. Denying single authorship, single truth. Arguing for multiple and constructed REALITY.

        [ bib.php?from=subjects&search=POSTMODERN ]

        PQRST

        My own Purposes+Qualities+Realities+Systems+Techs framework for thinking about software and systems development. Plus other similar end-to-end models of problem areas and projects and methods, [Botting85b] [Botting89b] [ bib.php?from=subjects&search=PQRST ]

        PROCESS

      100. non-sequential models of development including spirals and RAD + Process (Improvement|Models|Programs), MATURITY, CMM, ... [BradacPerryVotta94] (development as a queuing system), [Dichter93] (Intro), [Gilb96] (evolutionary delivery), [Humphey94] (PSP Personal Software Process), [Raccoon95a] (chaos), [Sommeville96] (survey), [ bib.php?from=subjects&search=PROCESS ]

        PROLOG

        Programming in Logic. [ bib.php?from=subjects&search=PROLOG ]

        PROOF

        A way of moving from assumptions to conclusions that guarantees that if the assumptions happen to be true then the conclusion is forced to be true as well. A way of verifying that an algorithm, under specified (assumed) conditions will provide the specified results. As a form of SQA/VV or a way to save money testing or as a way to design code, [Floyd67a] [Gries91] [ bib.php?from=subjects&search=PROOF%2f%7c%7c%2f%20PROVE ]

        PROTOTYPES

        Initial version of a device or system. May be used experimentally and then thrown away. May be an incomplete but usable system. May be a piece of software that looks OK but can not be used for anything. may imply RAD, XP [ bib.php?from=subjects&search=PROTOTYPE ]

        PURPOSE

        PURPOSES

        Any one of many reasons for a piece of software's existence. First component of PQRST, also called "FUNCTION" or "functional REQUIREMENT", use case, simpler kinds of user-story. [Gilb96] [Wirth71] [Witty77a] [Witty77b] [ bib.php?from=subjects&search=PURPOSE ]

        QUALITY

        QUALITIES

        A component of PQRST, the particular qualities that are important in a particular project, See COST, PERFORMANCE, OPTIMIZATION, TIMING, RELIABILITY, QFD, SQA, READABILITY Also known as a non-functional REQUIREMENT. [Chow(Ed)84] [GilbGraham93] [ bib.php?from=subjects&search=QUALIT ]

        QFD

      101. QUALITY FUNCTION Deployment "The House of Quality" maps Purpose+Quality+Reality to Technicals+(new)SYSTEM, non-hierarchical,

        [ bib.php?from=subjects&search=QFD ]

        RE-ENGINEERING

      102. process of proceeding to replace old design and code by new designs and then code, See also REUSE, MAINTAINABILITY, SYSTEM, EVOLUTION. Distinguish from reverse engineering which reconstructs missing design information from the code. [ bib.php?from=subjects&search=RE-ENGINEERING ]

        READABILITY

      103. a quality directly related to MAINTAINABILITY, [ bib.php?from=subjects&search=READABILITY ]

        REALITY

        REALITIES

      104. component of PQRST, models what is outside the software and (often) in the mind of the user, client, or customer. Relies on the observation that internal structure of software can often be made to match the static and temporal semantic structures outside the computer. The XP metaphor. Conceptual models of data, entities, objects. Methods including DDD, DAD, and DATA, [Jackson75] [Jackson83] [RossAshby56] (Law of Requisite Variety) [ShlaerMellor89] [ bib.php?from=subjects&search=REALIT ]

        REGULAR EXPRESSIONS

      105. Kleene showed that neural and logical networks have behavior that can be expressed in a succinct and rigorous algebra. This has become part of many tools and is not unrelated to structured programming. [ bib.php?from=subjects&search=REGULAR%20EXPRESSIONS ]

        RELIABILITY

        An important QUALITY in many systems.

        [ bib.php?from=subjects&search=RELIABILITY ]

        REQUIREMENT

        REQUIREMENTS

      106. the user's view of what is needed, the evolving contracts between the user's world and the software, the PURPOSE QUALITY REALITY that a piece of software has to fit. Often split into functional and nonfunctional requirements. [DavisA90] [Zave91] (PAISley), [ bib.php?from=subjects&search=REQUIREMENT ]

        RESOLVE

      107. framework discipline and language
      108. (REusable SOftware Language with Verifiability and Efficieny), [Edwards94] (bibliography), [Sitaraman94] [ bib.php?from=subjects&search=RESOLVE ]

        REUSE

        RE-ENGINEERING, MAINTAINABILITY, SYSTEM, [MiliMiliMili95] [Schaferetal94] [ bib.php?from=subjects&search=REUSE ]

        REVERSE ENGINEERING

      109. process of extracting a spec from some code, or requirements from a spec, part of RE-ENGINEERING a badly documented system, See also current SYSTEM, [ bib.php?from=subjects&search=REVERSE%20ENGINEERING ]

        RISKS

      110. to the public clients users etc. + bugs defects and errors made by software developers etc and also subtle risks of technological abuse and cybercrud + safety as a desirable QUALITY, [Anon90] [LevesonTurner93] [ bib.php?from=subjects&search=RISK ]

        RULE BASED SYSTEMS

      111. See also [ EXPERT SYSTEMS ]

        [ bib.php?from=subjects&search=RULE%20BASED%20SYSTEMS ]

        SAD/SA/SD

        SAD

      112. structured analysis and design, structured analysis, Structured design, also see to specific SAD methods: SSADM SADT [BerglandGordon(Eds)81] [GaneSarson79] [ bib.php?from=subjects&search=SAD ]

        SADT

      113. Structured analysis and Design technique developed by Doug Ross, Now known as IDef0?

        [ bib.php?from=subjects&search=SADT ]

        SAFETY

      114. see RISKS and QUALITY, not in the modal logic sense:See Liveness, Fairness, etc. [ bib.php?from=subjects&search=SAFETY ]

        SCENARIOS

      115. and Use-Cases Scripts Videos + Operational profiles, USER REQUIREMENTS CRC, [ bib.php?from=subjects&search=SCENARIO ]

        SCIENCE

      116. as it is, as it isn't, as being not art and not engineering, as opposed to craft. Applications of scientific method to discovering things about software development. Also study of how software development is like science. [Fenton94] [Simon69] [ bib.php?from=subjects&search=SCIENCE ]

        SDL

      117. the most mature and standard specification method for telecommunications:Specification and Description Language, [ bib.php?from=subjects&search=SDL ]

        SEMANTICS

      118. The study of meaning in languages. The description of the meaning of artificial languages. Methods for defining non-syntactic parts of a language. Types: informal, operational, axiomatic, and denotational. [ bib.php?from=subjects&search=SEMANTIC ]

        SEQUENTIAL

        SWR

      119. techniques that are limited to sequential structures, stepwise refinement, [LedgardMarcotty75] [Strachey66] [ bib.php?from=subjects&search=SWR ]

        SGML

      120. standard generalized Markup languag and its inheritors: RTF, HTML, ..., [Ressler93] (intro), [ bib.php?from=subjects&search=SGML ] [ bib.php?from=subjects&search=RTF ] [ bib.php?from=subjects&search=HTML ] [ bib.php?from=subjects&search=XML ]

        SIMULA

        [ bib.php?from=subjects&search=%20SIMULA%20 ]

        SIMULATION

      121. as a tool|model of software development, [ bib.php?from=subjects&search=SIMULATION ]

        SMALLTALK

        [ bib.php?from=subjects&search=SMALLTALK ]

        SPEC

      122. an Ada-like language for writing specifications, [ bib.php?from=subjects&search=%20SPEC%20 ]

        SPECIFICATION

      123. in theory tasks and/or documents that describe the what not the how of a piece of software, should be the worlds view of the software but can include structural constraints(DESIGN), Specifications for modules, packages, classes, functions, ... Hence Contracts. [Spivey88] [Wing88] [ bib.php?from=subjects&search=SPECIFICATION ]

        SQA

      124. including testing lint-type checkers inspections reviews walkthroughs, See PROOF, QUALITY, and METRICS, [Chow(Ed)84] [ bib.php?from=subjects&search=SQA ]

        SREM

      125. software Requirement E? Modeling, [ bib.php?from=subjects&search=SREM ]

        SSADM

      126. Structured systems analysis and Design Methodology, developed in the UK Civil service in Response to the Prime Minister Thatcher's ordering higher programmer productivity. Combines the best of breed methods of the time: DFDs, ELHs, ERDs, ..., Physical Design Control, SQA, ... [ bib.php?from=subjects&search=SSADM ]

        STANDARD

      127. and theory of standards, [ANSI83ADA] [ANSI/IEEE87] [IEEEStd1044-1993] [ISOnnnn] [ISO/IEC10027] [ bib.php?from=subjects&search=STANDARD ]

        STATECHARTS

      128. STATE-CHARTS + StateMate + RSML(Requirements State Machine Language) + ModeCharts and other derivatives, Now a part of the UML [HarelKahanna92] [Harel86] [Harel88] [Hareletal90] [ bib.php?from=subjects&search=STATECHARTS ]

        STD/FSM

      129. State Transition Diagrams/Finite State Machines, methods that include these, flowcharts reborn, also see STATECHARTS above. [ bib.php?from=subjects&search=STD%2fFSM ]

        STRUCTURE-DIAGRAMS

        [Berztiss89] [Shumate89] [Wongetal95] [Woodside95] [ bib.php?from=subjects&search=STRUCTURE-DIAGRAM ]

        STRUCTURES

      130. of types objects classes sets, ways to document them, [ bib.php?from=subjects&search=STRUCTURES ]

        SYNTAX

        [ bib.php?from=subjects&search=SYNTAX ]

        SYSTEMS ANALYSIS

        SYSTEM

      131. component of PQRST describing what currently exists, a source of problems, reusable components, and some amusement, [ bib.php?from=subjects&search=SYSTEM ]

        TABULAR

      132. Using of tables to (describe|present|encode|store|think about) (requirements|specs| designs|code) and also ways of implementing tables, [Humby73] (Decision), [Levesonetal94] (and/or), [Zelkowitz90] (Trace), [ bib.php?from=subjects&search=TABULAR ]

        TECHNICAL

      133. component of PQRST concerned with the tools, technology, and things people do to produce code, also includes resources in general provided by management, and hence constraints on things that are not allowed, and last but not least TEAMS and PEOPLE [GonnetBaeza-Yates91] [Knuth697489] [LedgardMarcotty75] [ bib.php?from=subjects&search=TECHNICAL ]

        THEORY

        [ bib.php?from=subjects&search=THEORY ]

        TIMING

      134. synchronizing and mutual exclusion and REAL-TIME and scheduling and RMA, [ bib.php?from=subjects&search=TIMING ]

        TOOLS

      135. software designed to aid the development and maintenance of software systems, Also see CASE, [ bib.php?from=subjects&search=TOOL ]

        TOPOLOGY

      136. Study of the shapes of things. [Dixmier84] [ManesArbib86] [ bib.php?from=subjects&search=TOPOLOGY ]

        TRAC

      137. An early and brilliantly simple interpreter, [Mooers66]

        TREE

        [ bib.php?from=subjects&search=TREE ]

        TURING

      138. the language, [HoltCordy88] [ bib.php?from=subjects&search=TURING ]

        TYPES

      139. also see STRUCTURES, [ bib.php?from=subjects&search=TYPES ]

        TYPOGRAPHY

      140. Effect of layout, color, font etc. on software development. [ bib.php?from=subjects&search=TYPOGRAPHY ]

        UML

      141. The Unified Modeling Language. Good for objects, classes, deployment, and usecases. [ Alhir98 ] [ bib.php?from=subjects&search=UML ]

        UNITY

      142. and swarm, a language were a program is described as a single large logical statement that is effectively iterated until it is stable, [ChandyMisra88] [ bib.php?from=subjects&search=UNITY ]

        UNIX

        [BellLabs83] [Gancarz95] [ bib.php?from=subjects&search=UNIX ]

        USER

      143. including UI HCI JAD Participatory design usability, examples of the value of users as part of software development, one meaning of the word DESIGN is user look-and-feel, also users writing code or using RAD tools, [Botting84] [CarrollCarrithers84] [Carroll82] [Carroll91] [ bib.php?from=subjects&search=USER ]

        VDL/VDM

      144. Vienna Definition Language, later Vienna Definition Method., [Bekic70] [ bib.php?from=subjects&search=VD%5bML%5d ]

        WEB/NET

      145. Use of the World Wide Web and other slices thru the Internet:Usenet Email FTP TCP/IP, including (distributed | client/server) (designs|tools|theories|...), [ bib.php?from=subjects&search=WEB%2eNET ]

        XP

      146. Extreme Programming, a rigid but agile process for developing medium size USER oriented software [Beck99b] [Jeffries00] [ bib.php?from=subjects&search=%20XP ]

        Z

        an elegant specification language with a very specific flavor of its own.... essential discrete mathematics made useful.
      147. and derivatives, Usenet newsgroup: comp.specification.z, EMail archive: archive-server@comlab.ox.ak.uk, [Hayes93] [ bib.php?from=subjects&search=%20Z%20 ]

      . . . . . . . . . ( end of section Subjects) <<Contents | End>>

      Evidence

        ANALYSIS

      1. analytical examples but not SA, SADT OOA, SAD, or SSADM, [ bib.php?from=subjects&search=%3dANALYSIS ]

        ADVERT

      2. and advocacy - claims made but no DEMO TOOL THEORY EXPERIENCE POLL EXPERIMENT or SURVEY of literature... especially excerpts from (recently|about to be) published books, and theses. These tend to tell you the possible directions the wind is blowing. Variations include POLEMIC and ESSAY.

        I don't know why you would want specifically to search for advertising, but [ bib.php?from=subjects&search=%3dADVERT ] will do it.

        CASE-STUDY

      3. reproduces results and stats about one or more special but real projects, [Kitchenhametal95] [ bib.php?from=subjects&search=%3dCASE%5b%2e%20%2d%5d%2aSTUDY ]

        DEMO

      4. proof of concept, one or two examples chosen to illustrate idea or tool or program, Paper on demonstrating tool invented in PhD Thesis, Description of how to apply a method to a typically small project. [ bib.php?from=subjects&search=%3dDEMO ]

        EDITORIAL

      5. Something written by an editor. Often opinionated. Often informative. May give a good guide to a body of literature or a set of papers in a special edition.

        EXPERIENCES

      6. (lessons from | (results|observations|records) of) (case(s)|project(s)|work) with no (variables|comparison|stats), Experiences may not be transferable to other situations. See EXPERIMENTS, DEMO, THEORY

        EXPERIMENTS

      7. theory;prediction;action; analysis;conclusion (and so probably small scale + lab or academic...) also comparisons and statistical summaries of (observations|records), The main problem with most experiment with software engineering is that they have to involve human beings, and the cheapest and most available humans are students. The artificial world of the laboratory may not apply in other places. Bridges have collapsed because of this. [Pfleeger93]

        HANDBOOK

      8. Books and sites that are kept to hand by practitioners... Strong on the How-to and What-is. Weak on the Why and Wherefor. Do not provide many reasons for doing something a particular way. Good Reference manuals are handbooks. [AbramowitzStegun64] [AbramowitzStegun65] (Math functions) [ACMCALGO] (algorithms) [BellLabs83] (UNIX) [GonnetBaeza-Yates91] (Data structures and algorithms) [ bib.php?from=subjects&search=HANDBOOK ]

        HARMFUL

      9. publications claiming that some feature or technique is harmful, debates spawned by such publications, also see POLEMIC EDITORIAL [ bib.php?from=subjects&search=HARMFUL ]

        HISTORY

      10. descriptions of the history of something, [ACM86] [CACM25] [ bib.php?from=subjects&search=HISTORY ]

        IDEA

      11. A new idea. By definition almost certainly half-baked or worse. But the good ideas often survive and enter the discipline in some form or other. [ bib.php?from=subjects&search=IDEA ]

        MANUAL


        (LRM): A description of a method, process, language, system, etc. written to explain how to use it. Short on theory and evidence. Typically provides syntax, semantics, examples, and commentary. A kind of REFERENCE. See HANDBOOK.

        POLEMIC

      12. Any angry attack on another position that provides little or no evidence for the author's opinions. Also see HARMFUL.

        POLL

      13. results of sending out questionnaire or requests for Participation, Often backed up with statistical work. Good for opinions and getting an idea of the state of the practice. Not good for deciding objective things.

        REFERENCE

        A defining source of information on a topic, method, process, language, etc.

        SURVEYS

      14. of literature or collating results across projects or methods or languages, [ACM86] [AhoUllman7273] [BerglandGordon(Eds)81] [BerglandZave(eds)86] [MartinMcClure85] [ThayerDorfman90]

      TEXT BOOK

    1. Should contain exercises and illustrations. Ideally contains only highly reliable knowledge.

      THINKING

    2. Opinions, arguments, reasoning, rows but not official Computer THEORY,

    . . . . . . . . . ( end of section Evidence) <<Contents | End>>

. . . . . . . . . ( end of section Bibliography Subject Index) <<Contents | End>>

End