CS455 - Q5 -> 9 10

Ace your homework & exams now with Quizwiz!

quality

The importance of software design can be stated with a single word, ____

progressive sign off

____ is when the evolving product is documented and approved as each successive prototype is completed

soad

____ modeling is a knowledge management framework that provides support for capturing architectural decision dependencies in a manner that allows them to guide future development activities

archetype

An ____ is an abstraction (similar to a class) that represents one element of system behavior

architecture

Metaphors of ____: 1. blueprint 2. language 3. decision 4. literature

abstraction

Software ____ alludes to "the overall structure of the software and the ways in which that structure provides conceptual integrity for a system"

blueprint

Software design is an iterative process through which requirements are translated into a _____ for constructing the software

atam

The ____ establishes an iterative evaluation process for software architectures

information hiding

The principle of ____ suggests that modules should be "characterized by design decisions that (each) hides from all others."

data class

____ design transforms class models into design class realizations and the requisite data structures required to implement the software

atam

These are ____ activities: 1. Collect scenarios 2. Elicit requirements, constraints, and environment description 3. Describe the architectural styles and patterns that have been chosen to address the scenarios and requirements 4. Evaluate quality attributes by considering each attribute in isolation 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style 6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5.

considerations

These are a list of architectural _____: 1. economy 2. visibility 3. spacing 4. symmetry 5. emergence

styles

Types of architectural ____: 1. Data-centered architectures 2. Data-flow architectures 3. Call-and-return architectures 4. Object-oriented architectures 5. Layered architectures

guidance model

A SOAD ____ contains knowledge about architectural decisions required when applying an architectural style in a particular application genre

object oriented

A ____ architecture allows you to encapsulate data and the operations that must be applied to manipulate the data.

call and return

A ____ architecture enables you to achieve a program structure that is relatively easy to modify and scale.

data flow

A ____ architecture is applied when input data are to be transformed through a series of computational or manipulative components into output data

concern

A ____ is a feature or behavior that is specified as part of the requirements model for the software.

data abstraction

A ____ is a named collection of data that describes a data object

pbar

A ____ is an evaluation method based on architectural patterns that leverages the patterns' relationships to quality attributes and is a face-to-face audit meeting involving all developers and other interested stakeholders.

model view controller

A ____ is one of a number of suggested mobile infrastructure models often used in Web development

acd

A ____ models the manner in which software interacts with entities external to its boundaries

pipe and filter

A _____ pattern has a set of components, called filters, connected by pipes that transmit data from one component to the next

archetype

An ____ is a class or pattern that represents a core abstraction that is critical to the design of an architecture for the target system

architectural style

An ____ is a transformation that is imposed on the design of an entire system. The intent is to establish a structure for all components of the system

pattern

An architectural ____ is like an architectural style except: (1) the scope of a pattern is less broad, focusing on one aspect of the architecture rather than the architecture in its entirety (2) a pattern imposes a rule on the architecture, describing how the software will handle some aspect of its functionality at the infrastructure level (e.g., concurrency) [Bos00], and (3) architectural patterns (Section 10.3.2) tend to address specific behavioral issues within the context of the architecture (e.g., how real-time applications handle synchronization or interrupts)

description

An architectural ____ represents a system using multiple views, where each view is "a representation of a whole system from the perspective of a related set of [stakeholder] concerns."

patterns

Architectural ____ address an application-specific problem within a specific context and under a set of limitations and constraints

review

Architectural ____ provides a means of assessing the ability of a software architecture to meet the system's quality requirements (e.g., scalability or performance) and to identify any potential risks

design classes

As the design model evolves, you will define a set of ____ that refine the analysis classes by providing design detail that will enable the classes to be implemented and to create a software infrastructure that supports the business solution

abstraction

At lower levels of ____ a more detailed description of the solution is provided

abstraction

At the highest level of ____ a solution is stated in broad terms using the language of the problem environment (e.g., a user story)

construction

Beginning once software requirements have been analyzed and modeled, software design is the last software engineering action within the modeling activity and sets the stage for____

pattern

Brad Appleton defines a design ____ in the following manner: "A pattern is a named nugget of insight which conveys the essence of a proven solution to a recurring problem within a certain context amidst competing concerns"

design

Characteristics of a good ____ class: 1. Complete and sufficient 2. Primitiveness 3. High cohesion 4. Low coupling

variability intensive systems

Design of ____ requires developers to anticipate future changes in the features to be modified in future versions of the product being designed today

storyboarding

Using a technique called ____ the architect contributes architectural user stories to the project and works with the product owner to prioritize the architectural stories with the business user stories as "sprints" (work units) are planned

architecture trade off analysis method

What is ATAM?

static architecture conformance analysis

What is SACA?

service oriented architecture decision

What is SOAD?

pattern based architecture review

What is a PBAR?

architectural context diagram

What is an ACD?

design

What model do these belong to? 1. Data/class design 2. Architectural design 3. Interface design 4. Component-level design

design

What type of concepts are these? 1. Abstraction 2. Architecture 3. Patterns 4. Separation of concerns 5. Modularity 6. Information hiding 7. Functional independence 8. Stepwise refinement 9. Refactoring

software quality

What type of guidelines are these? ∙ The design should implement all explicit requirements contained in the requirements model, and it must accommodate all the implicit requirements desired by stakeholders. ∙ The design should be a readable, understandable guide for those who generate code and for those who test and subsequently support the software. ∙ The design should provide a complete picture of the software, addressing the data, functional, and behavioral domains from an implementation perspective.

layered

With a ____ architecture each accomplishing operations that progressively become closer to the machine instruction set

functional properties

____ address "how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics."

data centered

____ architectures promote integrability. That is, existing components can be changed and new client components added to the architecture without concern about other clients (because the client components operate independently).

saca

____ assesses whether an implemented software system is consistent with its architectural model

structural properties

____ define "the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another."

architectural

____ design defines the relationship between major structural elements of the software, the architectural style, and patterns that can be used to achieve the requirements defined for the system, and the constraints that affect the way in which architecture can be implemented

interface

____ design describes how the software communicates with systems that interoperate with it, and with humans who use it

component

____ design transforms structural elements of the software architecture into a procedural description of software components

refactoring

____ is a reorganization technique that simplifies the design (or code) of a component without changing its function or behavior

stepwise refinement

____ is a top-down design strategy originally proposed by Niklaus Wirth

functional independence

____ is achieved by developing modules with "single-minded" function and an "aversion" to excessive interaction with other modules

cohesion

____ is an indication of the relative functional strength of a module

coupling

____ is an indication of the relative interdependence among modules

walking skeleton

____ is another name for a first working prototype

technical debt

____ is the concept in software development that refers to costs associated with rework caused by choosing a "quick and dirty" solution right now instead of using a better approach that would take more time

diversification

____ is the practice of identifying possible design alternatives suggested by the elements of the requirements model

convergence

____ is the process of evaluating and rejecting design alternatives that do not meet the constraints imposed by the nonfunctional requirements defined for the software solution

dynamic

____ models address the behavioral aspects of the program architecture, indicating how the structure or system configuration may change as a function of external events

functional

____ models can be used to represent the functional hierarchy of a system

process

____ models focus on the design of the business or technical process that the system must accommodate

structural

____ models represent architecture as an organized collection of program components

families of related

____ systems "draw upon repeatable patterns that are commonly encountered in the design of families of similar systems."

separation of concerns

_____ is a design concept that suggests that any complex problem can be more easily handled if it is subdivided into pieces that can each be solved and/or optimized independently.

responsibility driven architecture

_____ is a process that focuses on when, how, and who should make the architectural decisions on a project team

modularity

_____ is the most common manifestation of separation of concerns. Software is divided into separately named and addressable components, sometimes called modules, that are integrated to satisfy problem requirements

framework

_____ models increase the level of design abstraction by attempting to identify repeatable architectural design frameworks (patterns) that are encountered in similar types of applications


Related study sets

CHAPTER 5 - MORTGAGE LOAN ORIGINATION ACTIVITIES Study Guide

View Set

Research methods test 1-Chapter 1-4 (Review questions)

View Set

ls7a Membrane Transport Review Question

View Set

Business A Changing World: 10th edition. Ch. 4 study questions

View Set