No label defined (Q4023846)
From MaRDI portal
!
This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use the normal view instead:
scientific article; zbMATH DE number 108387
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | No label defined |
scientific article; zbMATH DE number 108387 |
Statements
23 January 1993
0 references
software development
0 references
Object-oriented software design
0 references
abstract data types
0 references
Modula-2
0 references
0.8440051
0 references
0 references
0 references
0.8285459
0 references
0.8251034
0 references
Object-oriented software design (OOD) is nowadays a synonym for good software design. Whereas most existing OOD approaches do not place much emphasis on abstract data types, this book does. The author presents OOD- A, object oriented design using abstract data types, which emphasises the fact, that each object has an underlying abstract data type. Further, each object is managed by an underlying module. The OOD-A approach uses the same model of structure at both the specification and the program level: the specification is a hierarchy of abstract data types, the program is a parallel hierarchy of modules. OOD-A consists of 6 steps: identify abstract data types, identify operations, map data types to modules, define interfaces, implement modules, connect modules. Each step gives another view of the program. The book is divided into two parts. Part II contains a completely worked example: initial conception, outline architecture, formal specifications of used abstract data types, module architecture and implementation. Part I covers design issues and techniques used in part II. The simple abstract data types of stacks, booleans and queues are examined in detail. Several sets of guidelines are given: how to implement opaque data types - especially storage management -; how to choose meaningful names; how to decide, whether functions, procedures or procedures with hidden (global) variables are appropriate. The style of exposition is mostly elementary, but very detailed. Modula-2 is used as programming language, OBJ as specification language for abstract data types. The book aims at programming languages like Modula-2 or Ada, not at object-oriented programming languages like Smalltalk or C++, but even someone programming in these languages will clearly benefit from the design concepts for abstract data types given here.
0 references