21.01.2022 Views

Sommerville-Software-Engineering-10ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

760 Glossary

client–server architecture

An architectural model for distributed systems where the system functionality is

offered as a set of services provided by a server. These are accessed by client computers

that make use of the services. Variants of this approach, such as three-tier

client–server architectures, use multiple servers.

cloud computing

The provision of computing and/or application services over the Internet using a

‘cloud’ of servers from an external provider. The ‘cloud’ is implemented using a

large number of commodity computers and virtualization technology to make

effective use of these systems.

CMMI

An integrated approach to process capability maturity modeling based on the adoption

of good software engineering practice and integrated quality management. It

supports discrete and continuous maturity modeling and integrates systems and

software engineering process maturity models. Developed from the original Capability

Maturity Model.

COCOMO II

See Constructive Cost Modeling.

code of ethics and professional practice

A set of guidelines that set out expected ethical and professional behavior for

software engineers. This was defined by the major US professional societies (the

ACM and the IEEE) and defines ethical behavior under eight headings: public,

client and employer, product, judgment, management, colleagues, profession

and self.

Common Request Broker Architecture (CORBA)

A set of standards proposed by the Object Management Group (OMG) that defines

distributed component models and communications. Influential in the development

of distributed systems but no longer widely used.

component

A deployable, independent unit of software that is completely defined and accessed

through a set of interfaces.

component model

A set of standards for component implementation, documentation and deployment.

These cover the specific interfaces that may be provided by a component,

component naming, component interoperation and component

composition. Component models provide the basis for middleware to support

executing components.

component-based software engineering (CBSE)

The development of software by composing independent, deployable software

components that are consistent with a component model.

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

Saved successfully!

Ooh no, something went wrong!