Wednesday, April 1, 2009

Software Life-Cycle

The software life-cycle consists of: requirements analysis, design, construction, testing
(validation) and maintenance. The development process tends to run iteratively through these
phases rather than linearly; several models (spiral, waterfall etc.) have been proposed to
describe this process. Other processes associated with a software product are: quality
assurance, marketing, sales and support.

Software Methodology

The study of how to navigate through each phase of the software process model (determining
data, control, or uses hierarchies, partitioning functions, and allocating requirements) and how
to represent phase products (structure charts, stimulus-response threads, and state transition
diagrams).

Software Psychology

Software psychology attempts to discover and describe human limitations in interacting with
computers. These limitations can place restrictions on and form requirements for computing
systems intended for human interaction.

Structured System Analysis and Design Method (SSADM)

Structured System Analysis and Design Method (SSADM) is A software engineering method and toolset required by some UK government agencies.

Subsystem

Subsystem is An independent group of classes that collaborate to fulfill a set of responsibilities

Subsystem Composition

Subsystem Composition is The process of constructing composite software components out of building blocks such as
variables, procedures, modules and subsystems.

Support Families

Support Families: This is the collection of families used to compose support systems. The generic support is likely
to be layer structured. Therefore several general support families are likely, e.g. operating
system, I/O system, communication system, user interface, database management system. It is
part of the implementation design to determine which support families to use, their
composition and how instances are to be configured.

Support System

The support system contains the support needed to actually execute an application system, e.g.,
the operating system, the user-interface library. It will normally consist of several layers of
support where the lower layers provide services to the higher.

Synchronised Refinement

Synchronised refinement is a systematic approach to detecting design decisions in source code
and relating the detected decisions to the functionality of the system.

System Building

System building is the process of transforming descriptions using tools to create some less
abstract description. This may involve converting designs to source programs to object code.
Page 22
Glossary of Re-engineering Terms
However, the building process may include other transformations such as the construction of
system documentation from document fragments.

System Modelling

System modelling is a technique to express, visualise, analyse and transform the architecture of
a system. Here a system may consist of software components, hardware components, or both
and the connections between these components. A system model is then a skeletal model of the
system. It is intended to assist in developing and maintaining large systems with emphasis on
the construction phase.

System Object Model (SOM)

System Object Model SOM is IBM’s CORBA-compliant object request broker for a single address space architecture.
A similar distributed system object model framework exists to allow objects to communicate
across address spaces and networks.
--
An implementation of CORBA by IBM.

Task Interaction Graph

Task interaction graphs divide a program into maximal sequential regions connected by edges
representing task interactions. Task interaction graphs can be used to generate concurrency
graph representations, and both facilitate analysis of concurrent programs

Time-To-Market

Time-To-Market
The time between project start-up and delivery of the final concrete system. This duration is
affected by organisation factors and non-software elements of the system,

Transaction

A unit of interaction with a DBMS or similar system. It must be treated in a coherent and
reliable way independent of other transactions.
--
A transaction is the unit recovery, consistency and concurrency in a client-server system.

Transaction Processing (TP)

Transaction Processing (TP)
The exchange of transactions in a client-server system to achieve the same ends as would be
performed by the equivalent single complex application

Transaction Processing Monitor (TPM)

Transaction Processing Monitor (TPM)

For mission-critical applications it is vital to manage the programs which operate on the data.
TP monitors achieve this by breaking complex applications down into transactions. TPMs were
invented for applications which serve thousands of clients. A TP monitor can manage
transaction resources on a single server or across multiple servers.

Transformation/Translation, Program/Software

Transformation/Translation, Program/Software:

Transformation of source code from one language to another or from one version of a language
to another version of the same language. For example, converting from COBOL-74 to COBOL-
85.
--
The systematic development of efficient programs from high-level specifications by meaningpreserving
program manipulations.
--
Examples of reengineering transformations are the changes from unstructured code to
structured code, updating design documents, or correcting specifications. It is assumed that the
transformation improves the subject system according to some measurable criterion.

Uniform Resource Locator (URL)

Uniform Resource Locator (URL) is A draft standard for specifying an object on the Internet, such as a file or newsgroup. URLs are
used extensively on the World-Wide Web. They are used in HTML documents to specify the
target of a hyperlink.

User Interface (UI)

User Interface (UI) :
The aspects of a computer system or program which can be seen (or heard or otherwise
perceived) by the human user, and the commands and mechanisms the user uses to control its
operation and input data. A graphical user interface emphasises the use of pictures for output
and a pointing device such as a mouse for input and control whereas a command line interface
requires the user to type textual commands and input at a keyboard and produces a single
stream of text as output.

User Interface, Graphical (GUI)

User Interface, Graphical (GUI):
The use of pictures rather than just words to represent the input and output of a program. A
program with a GUI runs under some windowing system (e.g. The X Window System,
Microsoft Windows, Acorn RISC OS, NEXTSTEP). The program displays certain icons, buttons,
dialogue boxes etc. in its windows on the screen and the user controls it mainly by moving a
pointer on the screen (typically controlled by a mouse) and selecting certain objects by pressing
buttons on the mouse while the pointer is pointing at them.

The graphical user interface, or GUI, provides the user with a method of interacting with the
computer and its special applications, usually via a mouse or other selection device. The GUI
usually includes such things as windows, an intuitive method of manipulating directories and
files, and icons.

Version

(1) A version is a concrete instance of an object. There could exist multiple versions of one
object.
(2) A concrete configuration with concrete versions of the different objects belonging to this
configuration. Also known as a release.

View

A view is a software representation or a document about software. Example views are
requirements and specification documents, hierarchy charts, flowcharts, petri nets, test data,
etc. Each view is classified according to a particular view type:
• Non-procedural - e.g. requirements documents
• Pseudo-procedural- e.g. software architecture documents
• Procedural - e.g. source code, data definition
• Analysis views which may accompany any other view.

Views, Code

Representations of the source code which cover the same information as the code (or parts of it)
but in a manner that accelerates the comprehension process. Examples are program slices, callgraphs,
data-flow, definition-use graphs, or control dependencies.

Visual Basic

An event-driven visual programming system for Microsoft Windows, in which fragments of
BASIC code are invoked when the user performs certain operations on graphical objects onscreen.
Widely used for in-house applications development by users and for prototyping.

Visual Programming Environment

Visual Programming Environment
Software which allows the use of visual expressions (such as graphics, drawings, animation or
icons) in the process of programming. These visual expressions may be used as graphical
interfaces for textual programming languages. They may be used to form the syntax of new
visual programming languages leading to new paradigms such as programming by
demonstration or they may be used in graphical presentations of the behaviour or structure of a
program.

Visual Modelling

Visual Modelling: A class of RAD tool which allow for the construction and execution of models during design.

Workflow

Workflow A workflow is composed of multiple tasks / steps / activities, of which there are two types:
(1) Simple, representing indivisible activities, and
(2) Compound, representing those which can be decomposed into sub-activities. An entire
workflow can be regarded as a large compound task.
--
The set of relationships between all the activities in a project, from start to finish. Activities are
related by different types of trigger relation. Activities may be triggered by external events or
by other activities. Also the movement of documents around an organisation for purposes
including sign-off, evaluation, performing activities in a process and co-writing.

Workflow Management (WFM)

Workflow management is a technology that supports the reengineering and automation of
business and information processes. It involves:
(a) Defining workflows, i.e., those aspects of process that are relevant to control and
coordinate the execution of its tasks, and
(b) Providing for fast (re)design and (re)implementation of the processes as
business/information needs change.

Workflow Management Coalition (WFMC)

Workflow Management Coalition (WFMC)
A standards body formed in 1993 by a group of companies, intended to address the lack of
standards in WFMSs.

Workflow Management System (WFMS)

Workflow Management System (WFMS) A workflow management system provides procedural automation of a business process by
management of the sequence of work activities and the invocation of appropriate human/IT
resources associated with the various activity steps. Workflow products are typically clientserver
software products in which the work is performed within defined time-scales.

World Wide Web (WWW, W3, Web)

World Wide Web (WWW, W3, Web) is An Internet client-server hypertext distributed information retrieval system which originated
from the CERN High-Energy Physics laboratories in Geneva, Switzerland. On the WWW
everything (documents, menus, indices) is represented to the user as a hypertext object in
HTML format. Hypertext links refer to other documents by their URLs. These can refer to local
or remote resources accessible via FTP, Gopher, Telnet or news, as well as those available via
the HTTP protocol used to transfer hypertext documents. The client program (known as a
browser), e.g. Mosaic, Netscape, runs on the user's computer and provides two basic
navigation operations: to follow a link or to send a query to a server. A variety of client and
server software is freely available. [foldoc]

X/Open

An international consortium of vendors whose purpose is to define the X/Open Common
Applications Environment to provide applications portability. They also produced the X/open
Portability Guide (XPG). [foldoc]