21.01.2022 Views

Sommerville-Software-Engineering-10ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

772 Glossary

software process

The activities and processes that are involved in developing and evolving a software

system.

software product line

See application family.

spiral model

A model of a development process where the process is represented as a spiral,

with each round of the spiral incorporating the different stages in the process. As

you move from one round of the spiral to another, you repeat all of the stages of

the process.

state diagram

A UML diagram type that shows the states of a system and the events that trigger a

transition from one state to another.

static analysis

Tool-based analysis of a program’s source code to discover errors and anomalies.

Anomalies, such as successive assignments to a variable with no intermediate use

may be indicators of programming errors.

structured method

A method of software design that defines the system models that should be developed,

the rules and guidelines that should apply to these models and a process to be

followed in developing the design.

Structured Query Language (SQL)

A standard language used for relational database programming.

Subversion

A widely-used, open source version control and system building tool that is available

on a range of platforms.

Swiss cheese model

A model of system defenses against operator failure or cyberattack that takes vulnerabilities

in these defenses into account.

system

A system is a purposeful collection of interrelated components, of different kinds,

which work together to deliver a set of services to the system owner and users.

system building

The process of compiling the components or units that make up a system and linking

these with other components to create an executable program. System building

is normally automated so that recompilation is minimized. This automation may be

built in to the language processing system (as in Java) or may involve software

tools to support system building.

systems engineering

A process that is concerned with specifying a system, integrating its components

and testing that the system meets its requirements. System engineering is concerned

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!