Generated Deck

49 flashcardsby Jackson
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
What is software design?
The creative process of transforming the problem into a solution
2
What does Lano define design as?
Constructing components and organizing their interactions to achieve a system that satisfies the requirements
3
What are the four benefits of a good software design?
Reduces production risk, coordinates teams, makes the system traceable for implementation and testing, leads to higher quality attributes
4
What does the SRS record?
The functional and nonfunctional requirements the system must meet; it is the result of requirements analysis
5
What does the SDS describe?
The software architecture (high level design) and the detailed design of the system
6
What does the SDD describe?
System components, the modules in each component, and each module's data, attributes, operations, and algorithms
7
What are the two phases of software design?
Software product design and software engineering design
8
What is software product design?
Specifying product features, capabilities, and interfaces to satisfy client needs and desires
9
What is software engineering design?
Specifying programs, subsystems, and their parts and workings to meet the product specifications
10
What are the two steps of software engineering design?
Step 1 architectural design, Step 2 detailed design
11
What is software architecture?
The structure of a system: software elements, their externally visible properties, and the relationships among them
12
What do architectural tactics do?
Solve smaller, specific problems without affecting the overall structure of the system
13
What is described during architectural design?
User accessible components and their interconnections that are visible to stakeholders
14
What is specified during detailed design?
Internal details of each component; may add new components invisible to stakeholders
15
What is abstraction?
Suppressing or ignoring some properties of objects, events, or situations in favor of others
16
What is an architectural style?
A pattern that abstracts the common properties of a family of similar designs; rules, constraints, and patterns for structuring a system into elements and connectors
17
What are the four key components of an architectural style?
Elements, Connectors, Constraints, Attributes
18
In an architectural style, what do elements do?
Perform the functions required by the system
19
In an architectural style, what do connectors do?
Enable communication, coordination, and cooperation among elements
20
In an architectural style, what do constraints do?
Define how elements can be integrated to form the system
21
In an architectural style, what do attributes do?
Describe the advantages and disadvantages of the chosen structure
22
Name two architectural styles from textbook Chapter 15
Layered and event driven
23
Can one architectural style satisfy every quality attribute?
No; there are always tradeoffs, so quality attributes must be balanced
24
What is a subsystem?
A system in its own right whose operation does not depend on other subsystems; made of modules with defined interfaces
25
What is a module?
A component that provides services to other modules and uses their services; not normally an independent system
26
What must a software architecture specification describe?
Elements, connections, constraints, and runtime behaviors
27
What are the architect's five tasks?
Static partitioning into subsystems; dynamic control relationships; evaluate alternative styles; tradeoff analysis on quality attributes; map the SRS to the architecture
28
Which architect task is flagged as very important?
Mapping the SRS to the architecture and guaranteeing it satisfies functional and nonfunctional requirements
29
What are the six architecture design guidelines?
What before how; abstract before concrete; nonfunctional requirements early; reusability and extensibility; tolerate refinement; high cohesion and loose coupling
30
Why should implementation decisions depend on abstract interfaces?
They are more stable; they are the contracts between service providers and requesters
31
What is a process?
A collection of related tasks that transforms a set of inputs into a set of outputs
32
What is an activity?
A non atomic task or procedure that can be decomposed into actions
33
What is an action?
A task or procedure that cannot be broken into parts
34
What is a token?
A marker used in executing the virtual machine specified by an activity diagram
35
When does an action node begin execution?
When there is a token on every incoming edge
36
What does an action node do when it finishes?
Produces a token on each outgoing edge
37
What does an activity final node do?
Consumes a token on any incoming edge and terminates the whole activity
38
What does a decision node do?
Passes the token to the outgoing edge whose guard is true
39
What must be true of guards on a decision node?
They must be mutually exclusive
40
What does a merge node do?
Passes a token from any incoming edge to its outgoing edge
41
What does a fork node do?
Copies the incoming token onto all outgoing edges
42
What does a join node do?
Waits for tokens on every incoming edge, then emits one token
43
What are activity parameters?
Object nodes on the activity symbol boundary showing data or object inputs and outputs
44
How should activities and actions be named?
With verb phrases
45
How should object nodes be named?
With noun phrases
46
Which guard should be used at every branch?
[else]
47
Is an activity diagram static or dynamic?
Dynamic
48
What is analysis in design?
Breaking down a design problem to understand it
49
What is resolution in design?
Solving a design problem
What are the steps of the generic problem solving
Study all 49 cards for free