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
- the Ada Programming languages Ada83 and Ada95,
See
[ANSI83ADA]
[ANSI95ADA]
[ bib.php?from=subjects&search=Ada ]
ANSI-C
- Standardized and added stronger typing than K&K C.
ADTs
- 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
- 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
- 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
- also see ADTs SPECIFICATION and LARCH,
[ManesArbib86]
[Wechler92]
[ bib.php?from=subjects&search=ALGEBRA ]
ANALYSIS
- 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
- 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
- in code as design and also the debugging and testing aids,
[Floyd67a]
[ bib.php?from=subjects&search=ASSERTIONS ]
BACKTRACK
- include exceptions. Also see LOGIC-PROGRAMMING and NON_DETERMINISM
[ADA83]
(Exceptions),
[EllisStroustrup90]
(C++ exceptions),
[Floyd67b]
[Jackson75]
[Jackson83]
[ bib.php?from=subjects&search=BACKTRACK ]
BNF
- Bachus Naur Form and all its extensions, also see SYNTAX and the theory
GRAMMAR.
[Nauretal64]
[ bib.php?from=subjects&search=BNF ]
C
- 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++
- 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
- 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
- Mathematical Theory of Categories, objects and arrows connecting them, general abstract nonsense,
[ bib.php?from=subjects&search=CATEGORY ]
CCS
- Milner's alternative model to CSP of systems of interacting objects,
[Milner80]
[Milner89]
[Milner93]
[ bib.php?from=subjects&search=CSS ]
CLEANROOM
- 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
- Capability maturity model, SEI model of how an organizations capability to produce software improves, see MATURITY IMPROVEMENT
[ bib.php?from=subjects&search=CMM ]
COBOL
- Still going strong after all these years...
[ bib.php?from=subjects&search=COBOL ]
COMPILER
- 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
- comments about predictions symposia surveys,
[ bib.php?from=subjects&search=COMPUTER%20SCIENCE ]
CONCURRENCY
- See NON-SEQUENTIAL below,
[Shankar93]
[ bib.php?from=subjects&search=CONCURREN ]
COST
- of software development, also ECONOMICS,
[ bib.php?from=subjects&search=COST ]
CRC
- Class Responsibility Collaboration Cards + Responsibility driven designs.
Also see SCENARIOS,
[Wirfs-BrockWilkersonWiener90]
[ bib.php?from=subjects&search=CRC ]
CSP
- 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
- 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
- Dynamic Analysis and Design methods,
[Botting84a]
[Cameron86]
[Botting86a]
[Botting86b]
[Botting87a]
[ bib.php?from=subjects&search=DAD ]
DATA
- 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
- 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
- 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
- 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
- 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
- Harmful or necessary? How to record ideas about software and its
environment. Posters or books?
[ bib.php?from=subjects&search=DOCUMENTATION ]
DOMAIN
- 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
- 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
- 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
- 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
- a simple but powerful language designed in the late 70's,
[BrinchHansen81]
[BrinchHansen83]
[Paakki91]
EDUCATION
[BCS/IEE89]
[ bib.php?from=subjects&search=EDUCATION ]
EIFFEL
- Bertrand Meyers language, object oriented and formal.,
[Meyer90]
[ bib.php?from=subjects&search=EIFFEL ]
ENGINEERING
- 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
- 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
- in human input, not those made by developers (for these see RISKs),
[ bib.php?from=subjects&search=ERRORS ]
EVOLUTION
- A trendy name for the study of MAINTENANCE,
[ bib.php?from=subjects&search=EVOLUTION ]
EXPERT SYSTEMS
- see PROLOG and LOGIC.,
[ bib.php?from=subjects&search=EXPERT%20SYSTEMS ]
FAIRNESS
- 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
- 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
- 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
- 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
- A very successful theory! See BNF SYNTAX LANGUAGES DDD for applications.
[HoltCordyWortman82]
[ bib.php?from=subjects&search=GRAMMAR ]
GRAPHIC
- 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
- Dijkstra's non-language...
[Dijkstra76]
[Gries81]
[ bib.php?from=subjects&search=GUARDED-COMMANDS ]
HOS
- Higher Order Software, company selling a rigorous form of functional decomposition. An example of an overhyped method IMHO.
[Anon(HOS)84]
[HamiltonZeldin76]
[Martin85]
HYPERTEXT
- 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
- child of SNOBOL and much better a unique language with backtracking and concurrency builtin,
[GriswoldGriswold83]
[GriswoldHansonKorb81]
[ bib.php?from=subjects&search=%20ICON ]
IMPLEMENTATION
- 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
- 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)
- 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
- 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
- Recently JSP means JAVA server pages. See JAVA.
- 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
- Description of a particular language, See JAVA, FORTRAN, COBOL, ADA etc.
[ bib.php?from=subjects&search=LANGUAGE ]
LANGUAGES
- about languages in general or comparisons of languages,
[BrinchHansen85]
[Higman77]
[ bib.php?from=subjects&search=LANGUAGES ]
LARCH
- a formal assertion language that can be adapted to fit any high level language,
[GuttagHorning91]
[GuttagHorning93]
[ bib.php?from=subjects&search=LARCH ]
LCP
- Logical Construction of Programs, Warnier-Orr's weak and early version of DDD,
[Higgins83]
[Warnier76]
[ bib.php?from=subjects&search=LCP ]
LCS/DSSD
- 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
- 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
- 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
- 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
- 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
- CLP Prolog etc,
[Cohen90]
(Constraint Logic Programming),
[Colmerauer90]
(Constraint Logic Programming),
[SchnuppBernhard87] (Prolog)
LOTOS
- a specification language,
[ bib.php?from=subjects&search=%20LOTOS ]
MAINTAINABILITY
- 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
- 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
- a special kind of DFD, Recently incorporated into the UML
[JacksonK89]
[Hulletal91]
[ bib.php?from=subjects&search=MASCOT ]
MATHEMATICS
- 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
- The British colloquial term for Mathematics.
My own way of encoding mathematics in ASCII.
[ bib.php?from=subjects&search=MATHS ]
MATURITY
- and process improvement, CMM, IMPROVEMENT
[ bib.php?from=subjects&search=MATURITY ]
METHODS
- =Methodologies=the study theory of methods + surveys of usage,
[BerglandGordon(Eds)81]
[Bergland81]
[GoldsteinAlger92]
[Kitchenham96]
(DESMET),
[ bib.php?from=subjects&search=METHODS ]
METRICS
- 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
- How to handle code that moves from place to place or machine to machine?
[ bib.php?from=subjects&search=MOBILE ]
MODULES
MODULARIZATION
- Module interconnection architectures, RESOLVE ARCHITECTURE ADTs,
[McConnell96]
[Parnas72b]
[Parnas85]
[Parnas72a]
[Parnas96]
[WilkesWheelerGill]
[Winograd79]
[ bib.php?from=subjects&search=MODUL%5bAE%5d ]
MS-LIKE PROCESSES
- 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
- a way of laying out a complex network or any digraph with out self-looping arrows,
[Lano77]
[LoyStapp93]
[ThayerDorfman90]
NON-DETERMINISTIC
- See BACKTRACK and NON-SEQUENTIAL,
[ bib.php?from=subjects&search=NON%5b%2d%5d%2aDETERMINISTIC ]
NON-SEQUENTIAL
- 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
- 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
- OO Analysis.
- OOA::= See http://csci.csusb.edu//dick/bib.php?from=subjects&search=OOA
OOAD
- OO Analysis and Design
- OOAD::= See http://csci.csusb.edu//dick/bib.php?from=subjects&search=OOAD
OOD
OO Design, ... methods that take advantage of OO technology,
- OOD::= See http://csci.csusb.edu//dick/bib.php?from=subjects&search=OOD
(200+ items...)
OPEN SOURCE
- 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
- 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
- Philosopher and programming language family.
[ bib.php?from=subjects&search=PASCAL ]
(look out for people named Pascal as well)
PEOPLE
- including management psychology groups teams empowerment agile etc,
[ bib.php?from=subjects&search=PEOPLE ]
PERFORMANCE
- requirements(Qualities+Purposes), OPTIMIZATION, TIMING, FAIRNESS,
[Bentley84]
[Bentley93]
[SmithCU90]
[ bib.php?from=subjects&search=PERFORMANCE ]
PETRIE-NETS
- 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
- 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
- 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
- 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
- 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
- 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
- a quality directly related to MAINTAINABILITY,
[ bib.php?from=subjects&search=READABILITY ]
REALITY
REALITIES
- 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
- 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
- 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
- framework discipline and language
- (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
- 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
- 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
- See also
[ EXPERT SYSTEMS ]
[ bib.php?from=subjects&search=RULE%20BASED%20SYSTEMS ]
SAD/SA/SD
SAD
- 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
- Structured analysis and Design technique developed by Doug Ross, Now known as IDef0?
[ bib.php?from=subjects&search=SADT ]
SAFETY
- see RISKS and QUALITY, not in the modal logic sense:See Liveness, Fairness,
etc.
[ bib.php?from=subjects&search=SAFETY ]
SCENARIOS
- and Use-Cases Scripts Videos + Operational profiles, USER REQUIREMENTS CRC,
[ bib.php?from=subjects&search=SCENARIO ]
SCIENCE
- 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
- the most mature and standard specification method for
telecommunications:Specification and Description Language,
[ bib.php?from=subjects&search=SDL ]
SEMANTICS
- 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
- techniques that are limited to sequential structures, stepwise refinement,
[LedgardMarcotty75]
[Strachey66]
[ bib.php?from=subjects&search=SWR ]
SGML
- 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
- as a tool|model of software development,
[ bib.php?from=subjects&search=SIMULATION ]
SMALLTALK
[ bib.php?from=subjects&search=SMALLTALK ]
SPEC
- an Ada-like language for writing specifications,
[ bib.php?from=subjects&search=%20SPEC%20 ]
SPECIFICATION
- 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
- including testing lint-type checkers inspections reviews walkthroughs, See PROOF, QUALITY, and METRICS,
[Chow(Ed)84]
[ bib.php?from=subjects&search=SQA ]
SREM
- software Requirement E? Modeling,
[ bib.php?from=subjects&search=SREM ]
SSADM
- 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
- and theory of standards,
[ANSI83ADA]
[ANSI/IEEE87]
[IEEEStd1044-1993]
[ISOnnnn]
[ISO/IEC10027]
[ bib.php?from=subjects&search=STANDARD ]
STATECHARTS
- 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
- 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
- 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
- component of PQRST describing what currently exists, a source of
problems, reusable components, and some amusement,
[ bib.php?from=subjects&search=SYSTEM ]
TABULAR
- 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
- 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
- synchronizing and mutual exclusion and REAL-TIME and scheduling and RMA,
[ bib.php?from=subjects&search=TIMING ]
TOOLS
- software designed to aid the development and maintenance of software systems, Also see CASE,
[ bib.php?from=subjects&search=TOOL ]
TOPOLOGY
- Study of the shapes of things.
[Dixmier84]
[ManesArbib86]
[ bib.php?from=subjects&search=TOPOLOGY ]
TRAC
- An early and brilliantly simple interpreter,
[Mooers66]
TREE
[ bib.php?from=subjects&search=TREE ]
TURING
- the language,
[HoltCordy88]
[ bib.php?from=subjects&search=TURING ]
TYPES
- also see STRUCTURES,
[ bib.php?from=subjects&search=TYPES ]
TYPOGRAPHY
- Effect of layout, color, font etc. on software development.
[ bib.php?from=subjects&search=TYPOGRAPHY ]
UML
- The Unified Modeling Language. Good for objects, classes, deployment, and usecases.
[ Alhir98 ]
[ bib.php?from=subjects&search=UML ]
UNITY
- 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
- 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
- Vienna Definition Language, later Vienna Definition Method.,
[Bekic70]
[ bib.php?from=subjects&search=VD%5bML%5d ]
WEB/NET
- 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
- 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.
- and derivatives, Usenet newsgroup: comp.specification.z, EMail archive: archive-server@comlab.ox.ak.uk,
[Hayes93]
[ bib.php?from=subjects&search=%20Z%20 ]