Chapter 1 - Introduction to Software Design Flashcards
dynamic multi-dimensional arrays
arrays of pointers
software life cycle (6)
- Planning
- Requirements
- Analysis and Design
- Implementation
- Unit and Integration Testing
- Operation and Maintenance
top-down design
stepwise refinement
object-oriented design (OOD)
focuses on data elements and operations together, identify objects that participate in the problem then identify how the objects interact to form a solution (messages) then provide an operator (function) to process the message
abstraction
powerful technique that helps programmers deal with complex issues in a piecemeal fashion
procedural abstraction
the concept that procedural development should separate the concern of what is to be achieved from the details of how it is achieved
data abstraction
specifies the data objects and the operations to be performed on these objects without being overly concerned with how the data objects will be represented and stored in memory
UML
Unified Modeling Language, diagrams that illustrate the interaction between classes and between classes and external entities
information hiding
the process of “hiding” the details of a class’s implementation
waterfall development model
flaw is that it assumes that each stage can be completed correctly and fully before advancing to the next stage
dot operator
CANNOT be overloaded
class
data type and pattern for creating objects, must have a class definition and a class implementation
class definition
describes the names of the class operations and the internal data contents
class implementation
provides the implementations of the operands (the member functions)
data members
data fields, primitive or class types, instance variables (each class instance has its own storage)