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.