Midterm 2

Midterm 2 - A data abstraction is a named collection of...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
A data abstraction is a named collection of data that describes a data object. For instance, in the procedural abstraction open , we can define a data abstraction called door . Like any data object, the data abstraction for door would encompass a set of attributes describing the door (e.g. door type, swing direction, opening mechanism, weight, dimensions). The procedural abstraction open would make use of information contained in the attributes of the data abstraction door. We modularize a design (and resulting program) so that development can be more easily planned; software increments can be defined and delivered; changes can be more easily accommodated; testing and debugging can be conducted more efficiently; and long-term maintenance can be conducted without serious side effects. A single module for a program can be better for performance, but overall cost of module is high. A balance is needed so minimal cost (of integration and module) is achieved. Modules should be specified and designed so that information (algorithms and data) contained within a module is inaccessible to other modules that have no need for such information. INFORMATION HIDING The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the effectiveness of the design in meeting its stated requirements, (2) consider architectural alternatives at a stage when making design changes is still relatively easy. (3) reduce the risks associated with the construction of the software. -Representations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer-based system. -The architecture highlights early design decisions that will have a profound impact on all software engineering work that follows and, as important, on the ultimate success of the system as an operational entity. - Architecture “constitutes a relatively small, intellectually graspable model of how the system is structured and how its components work together”. OO Architecture: -The components of a system encapsulate data and the operations that must be applied to manipulate the data. -Communication and coordination between components is
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 3

Midterm 2 - A data abstraction is a named collection of...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online