FUCK Flashcards
____ Software design encompasses the set of operational manuals that lead to the development of a high-quality system or product.
True
____ Design is not concerned with software quality.
False
____ A concern is always related to a maintenance architecture needed for delivery of the
developed code.
False
____ The design should implement all of the explicit requirements contained in the analysis model,
and it must accommodate all of the implicit requirements desired by the customer.
True
___________________ is the most common manifestation of separation of concerns.
Modularity
___________________ is the process of changing a software system in such a way that it does not
alter the external behavior of the code [design] yet improves its internal structure.
Refactoring
Each of the elements of the requirements model provides information that is necessary
to create the four design models required for a complete specification of design. What are those four
design models? Briefly describe each.
Data/Class design – transforms analysis classes into implementation classes and data
structures
Architectural design – defines relationships
among the major software structural elements
Interface design – defines how software
elements, hardware elements, and end-users
communicate
Component-level design – transforms
structural elements into procedural descriptions
of software components
Discuss modularity in design. What is the right or best number of modules for a specific
design and what are the trade-offs for having more or less modules than the right or best number
for a specific design.
Modularity is compartmentalization of data and function in Design. In almost all instances, you should break the design into many modules, hoping to make
understanding easier and as a consequence, reduce the cost required to build the software.
What is cohesion in design as related to Functional Independence?
Cohesion is an indication of the relative functional
strength of a module.
What is coupling in design as related to Functional Independence?
Coupling is an indication of the relative interdependence
among modules.
____ Architecture design is the process of determining the structure of each individual use case.
False
____ Architecture “constitutes a relatively small, intellectually graspable mode of how the system is
structured and how its components work together”.
True
Architecture is a representation that enables a software engineer to do what 3 things?
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, and
3) reduce the risks associated with the
construction of the software.
The software that is built for computer-based systems also exhibits one of many architectural styles.
Each style describes a system category that encompasses:
1. set of components
2. set of connectors
3. constraints
4. semantic models
- that perform a function required by a system.
- that enable “communication,
coordination and cooperation” among components. - that define how components can be
integrated to form the system. - that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts.
NEED TO DO MORE CARDS ON THIS CH.13What are the 5 Architectural Styles (as described in A Brief Taxonomy Architectural Styles)? Label each
figure with the correct style:
1) Data-centered architectures
2) Data flow architectures
3) Call and return architectures
4) Object-oriented architectures
5) Layered architectures