Question 1
Question
What are the names of the models in software’s canonical model structure?
Answer
-
a. Domain, Design, Development
-
b. Conceptual, Design, Code
-
c. Conceptual, Architecture, Development
-
d. Domain, Design, Code
-
e. None of the above
Question 2
Question
2. The Refinement relationship enables the architect to:
Answer
-
a. A type that appears in one model also appears in another.
-
b. Defines the correspondence between two models to show consistency
-
c. Allows one to carry constraints from one model to another
-
d. Both a and c
-
e. Both b and c
Question 3
Question
3. Abstractions are:
Question 4
Question
4. Every project should document its architecture
Question 5
Question
5. Architecture documents are abstractions of the system.
Question 6
Question
good set of architectural documents will completely describe the system
Question 7
Question
7. All design decisions should be made before coding begins
Question 8
Question
8. Different types of models are required in order to serve the needs of various stakeholders
Question 9
Question
1. Of the following, which is the best reason to avoid domain analysis?
Answer
-
a. The domain is too simple to bother modeling.
-
b. Domain modeling is open-ended and is a never-ending analysis task.
-
c. The domain is irrelevant to your architecture choices.
-
d. The best way to learn the domain is incrementally.
-
e. It is someone else’s job to do requirements.
Question 10
Question
2. UML has many great features but its use describing domain models should be restricted because
Answer
-
a. It takes too long to create the diagrams.
-
b. Good UML tools are too expensive.
-
c. It is not a language known by most non-developers.
-
d. Its use is incompatible with the goals of domain modeling.
-
e. The diagrams require you to include too much detail.
Question 11
Question
3. OCL (Object Constraint Language)
Answer
-
a. Can be used to model the structure of a system.
-
b. Is similar to natural language in its support for modeling systems.
-
c. Can be used to model the relationships in the domain.
-
d. Is a language that is understood by most non-technical people.
-
e. Is good for describing invariants in a model.
Question 12
Question
4. When modeling the domain we model its
Question 13
Question
These are multiple-choice questions. Choose the best answer for each and put it in the blank at the end of the question.
Answer
-
a) Which of the following statements is the most correct?
-
b) A deployment view shows how the system is installed in the target environment.
-
c) A deployment view shows how the system interacts with its environment.
-
d) A deployment view shows where process will run and how they will interact.
-
e) Both a and b
-
f) Both a and c
Question 14
Question
2) Which of the following statements is the most correct
Answer
-
a) Components describe units of code.
-
b) Connectors are pathways of runtime interaction.
-
c) A module is associated with exactly one component.
-
d) Design decisions are clearly identifiable in views
-
e) Views always describe subsystems.
Question 15
Question
3) Which of the following is true of a Context Diagram
Answer
-
a) Describes how the software being created interacts with elements in its environment.
-
b) Can be based on a use case diagram.
-
c) Might show the Internet.
-
d) Describes what is in and what is outside the scope of the software project.
-
e) All of a-d
-
f) Only a and d
Question 16
Question
4) Three standard viewtypes for the Design Model are
Answer
-
a) Component and Connector, Designation, and Module
-
b) Runtime, Documentation, and Miscellaneous
-
c) Component, Module, Deployment
-
d) Component, Allocation, Module
-
e) Runtime, Allocation, Module
Question 17
Question
5) Which of the following is not true about the Apache server?
Answer
-
a) Built in the pipe and filter style
-
b) Is designed to allow new code to be inserted easily
-
c) Was designed with few constraints to support the system’s performance goals
-
d) A web server
-
e) Was designed around the goal of modifiability
Question 18
Question
6) A context diagram should include details related to quality concerns
Question 19
Question
7) A port is a point of interaction in a component diagram.
Question 20
Question
8) A context diagram is similar to a snapshot in that the context is likely to change as the system runs
Question 21
Question
9) A master model is the one used by the architect to include information from all three viewtypes.
Question 22
Question
10) A view is a projection of a model that reveals select details
Question 23
Question
11) An internals model can be used to identify boundary models of others.
Question 24
Question
1. Which of the following DOES NOT describe risk in software development?
Question 25
Question
2. Which of the following clearly describes the scope of a software project?
Question 26
Question
3. Three styles of design are _______ .
Answer
-
a. risky, safe, and uncertain
-
b. planned, evolutionary, and minimal planned
-
c. spiral, waterfall, and agile
-
d. risk-based, architectural, and code-based
Question 27
Question
4. (Fill in the blank) A use case is _________.
Answer
-
a. a decision not to modify the system
-
b. a process that will run as part of the system
-
c. an argument that drives system design
-
d. a goal for actors the system interacts with
-
e. a diagram that shows what the system does
Question 28
Question
5. The risk-driven approach is most difficult to apply to the ____________ software development process.
Answer
-
a. Waterfall
-
b. Interative
-
c. RUP
-
d. XP
Question 29
Question
6. A specific architectural style is chosen for a project because ______ .
Answer
-
a. the architect has the most familiarity with it
-
b. the developers who will implement the system are most familiar with it
-
c. it is known to ensure quality attributes of concern
-
d. it will make the system easier to maintain
-
e. none of the above
Question 30
Question
7. _______ are approaches to decomposing a system.
Answer
-
a. Functionality, Archetypes, Jigsaw Puzzle
-
b. Functionality, Architectural Design, Orthogonal abstraction
-
c. Dominant Component, Attribute Driven Design, Ports
-
d. Architectural Style, Ports, Archetypes
-
e. Both a and d
-
f. Both c and d
Question 31
Question
8. The XP software development process DOES / DOES NOT include up-front design.
Question 32
Question
It prioritizes work according to RISKIEST FIRST / HIGHEST CUSTOMER VALUE FIRST.
Question 33
Question
And, its iteration length is typically TWO-FOUR WEEKS / LEFT OPEN . .
Answer
-
TWO-FOUR WEEKS
-
LEFT OPEN . .
Question 34
Question
Network and Job Domain Model, Yinzer Top-level Boundary Model
Answer
-
d. Non of a, b, or c
-
a. Designation
-
c. View
-
b. Refinement
Question 35
Question
Network and Job Domain Model, Yinzer Design Model
Answer
-
d. Non of a, b, or c
-
a. Designation
-
c. View
-
b. Refinement
Question 36
Question
Yinzer Top-Level Boundary Model, Yinzer Design Model
Answer
-
d. Non of a, b, or c
-
a. Designation
-
c. View
-
b. Refinement
Question 37
Question
Yinzer Top-Level Boundary Model, Yinzer Top-Level Internals Model
Answer
-
d. Non of a, b, or c
-
a. Designation
-
c. View
-
b. Refinement
Question 38
Question
To ensure all the code is described
Question 39
Question
To make sure quality concerns have been addressed
Question 40
Question
There are sufficient perceived risks
Question 41
Question
Otherwise no one would know what to do
Question 42
Question
Because it provides a company with information to guarantee delivery of a project
Question 43
Question
Because doing so is a best practice for projects
Question 44
Question
Architecture documents should always be comprehensive.
Question 45
Question
Design should always precede coding.
Question 46
Question
Not all projects need to document their architecture
Question 47
Question
12) Which of the following statements is the most correct?
Answer
-
a) A sequence diagram is used to model a sequence of activities associated with a use case.
-
b) A sequence diagram is used to model a sequence of messages exchanged among objects.
-
c) A sequence diagram is used to model a sequence of transitions among objects in a use case.
-
d) Both a and b.
-
e) Both a and c.
Question 48
Question
13) Which of the following statements is the most correct?
Question 49
Question
14) Which of the following is best describes UML?
Answer
-
a) UML is a combination of notations.
-
b) UML supports modeling multiple views of software.
-
c) UML has evolved over time.
-
d) UML was created by the OMG
-
e) All of a-d
-
f) Only a and d
Question 50
Question
15) Three notations of UML are
Answer
-
a) Activity diagrams, Component diagrams, Construction diagrams
-
b) Component diagrams, Action diagrams, Sequence diagrams
-
c) Class diagrams, ER diagrams, Action diagrams
-
d) Canonical diagrams, Activity diagrams, Sequence diagrams
-
e) Class diagrams, Sequence diagrams, Use Case diagrams
Question 51
Question
16) Which of the following is not a UML diagram?
Question 52
Question
17) Which of the following statements is the most correct?
Answer
-
a) A component diagram shows a configuration of the system at a given moment.
-
b) A component diagram shows all potential interactions among components in a view.
-
c) A component diagram can show instances of classes.
-
d) Both a and b.
-
e) Both b and c.
Question 53
Question
18) Which of the following statements is the most correct?
Answer
-
a) Ports are represented using dots on a component border.
-
e) Socket symbol is used to represent provides interfaces.
-
c) Assembly connectors show the relationship between ports on the component’s boundary and its internals.
Question 54
Question
19) Which of the following is/are not well supported by the component diagram notation? ___________.
Question 55
Question
20) The primary difference between component diagrams and sequence diagrams is
Answer
-
a) Component diagrams show all potential interactions among a group of components whereas sequence diagram shows the interactions involved in response to a particular kind of request.
-
b) There is very little difference, they are just two different ways of viewing component interactions.
-
c) In component diagram the components use a rectangular shape with the component icon in the upper right corner but no component icon appears in sequence diagrams.
Question 56
Question
21) UML provides special notation for a subsystem element because
Answer
-
a) Subsystem elements have critical differences from components, which must be represented.
-
b) Subsystem elements and component elements are not substantially different so there is no need for them.
-
c) Component elements have important aspects that are not representable using the provided subsystem element notation.
Question 57
Question
22) Component details in UML can be shown as text within a compartment of a component.
Question 58
Question
23) Which of the following statements is the most correct? ____________ .
Answer
-
a) A class diagram shows a configuration of the system at a given moment.
-
b) A class diagram shows all potential interactions among components in a view.
-
c) A class diagram can show relationships between java interfaces and other classes.
Question 59
Question
24) Which of the following statements is the most correct? _________.
Answer
-
a) A class diagram for a module always has three components.
-
b) A class diagram shows relationships among code units.
-
c) A class diagram supports analyzing behavior of complex protocols.
Question 60
Question
25) Which of the following is(are) NOT well supported by the class diagram notation? ___________.
Answer
-
a) Identifying public and private members of a class.
-
b) Identifying which classes depend on other classes.
-
d) Discussing how to add newly required functionality to the system.
-
c) Discussing how the system will behave.
Question 61
Question
26) Which of the following is/are NOT a benefit of including class diagrams in project documentation? _______
Answer
-
a) Help programmers understand the context of the code they are creating.
-
b) Help the project sponsors understand how the system will work.
-
c) Help the project manager identify responsible people for each of the coding tasks.
Question 62
Question
Class diagrams can be generated directly from code.
Question 63
Question
The process of creating class diagrams is a valuable activity during design
Question 64
Question
All class diagrams created during design of a system should be maintained as part of the project
Question 65
Question
30) A design pattern ______ .
Answer
-
a) Contains a description of other related patterns.
-
b) Can be useful describing how a software problem was solved by a developer.
-
c) Is a general reusable solution to a commonly occurring problem within a given context in software design.
-
d) Gives examples of code that used the pattern.
-
e) Both a and c.
-
f) All of a-d.
Question 66
Question
31) The Dependency Inversion Principle ______.
Answer
-
a) Helps ensure that objects are highly reusable.
-
b) Requires that methods that are present in base classes must also be present in the derived classes.
-
c) Helps ensure that objects are easy to extend without requiring change to the original object.
-
d) Requires that object interfaces only include methods that will be needed by most implementers.
-
e) Helps make changing an object easier.
Question 67
Question
32) The Open-Close Principle _________.
Answer
-
a) Helps ensure that objects are highly reusable.
-
b) Requires that methods that are present in base classes must also be present in the derived classes.
-
c) Helps ensure that objects are easy to extend without requiring change to the original object.
-
d) Requires that object interfaces only include methods that will be needed by most implementers.
-
e) Helps make changing an object easier.
Question 68
Question
33) Liskov’s Substitution Principle _________.
Answer
-
a) Helps ensure that objects are highly reusable.
-
b) Requires that methods that are present in base classes must also be present in the derived classes.
-
c) Helps ensure that objects are easy to extend without requiring change to the original object.
-
d) Requires that object interfaces only include methods that will be needed by most implementers.
-
e) Helps make changing an object easier.
Question 69
Question
34) The Single Responsibility Principle ________.
Answer
-
a) Helps ensure that objects are highly reusable.
-
b) Requires that methods that are present in base classes must also be present in the derived classes.
-
c) Helps ensure that objects are easy to extend without requiring change to the original object.
-
d) Requires that object interfaces only include methods that will be needed by most implementers.
-
e) Helps make changing an object easier.
Question 70
Question
35) The Interface Segregation Principle _________.
Answer
-
a) Helps ensure that objects are highly reusable.
-
b) Requires that methods that are present in base classes must also be present in the derived classes.
-
c) Helps ensure that objects are easy to extend without requiring change to the original object.
-
d) Requires that object interfaces only include methods that will be needed by most implementers.
-
e) Helps make changing an object easier.
Question 71
Question
Fill in the blank) Three basic categorizations of software design patterns are Creational, Structural, and
Question 72
Question
37) Which of the following is NOT an advantage of using architectural styles during design? __________
Answer
-
a) They support design reuse.
-
b) They provide a vocabulary for communication.
-
c) They provide a set of guard rails to guide you.
-
d) They define a set of names to use in your design.
-
e) They help ensure you will meet your quality goals.
Question 73
Question
38) The Mirrored, Farm, and Rack style of design is a style in the _______ view.
Answer
-
a) Runtime
-
b) Module
-
c) Allocation
-
d) None of a-c
Question 74
Question
39) The layered style of software design is a style in the ________ view.
Answer
-
a) Runtime
-
b) Module
-
c) Allocation
Question 75
Question
40) The Model-Centered style of software design is a style in the ________ view.
Answer
-
a) Runtime
-
b) Module
-
c) Allocation
Question 76
Question
42) Which of the following is a legal exception to pure layered style?
Question 77
Question
43) In the Pipe and Filter style, which of the following is not allowed? _______
Answer
-
a) A Filter can alternate providing data between two filters.
-
b) Two pipes can be potential suppliers for a filter.
-
c) A pipe can feed data into another pipe.
-
d) A filter can be designed to be used in another application.
Question 78
Question
44) Using consistent level of detail across a model helps _______ .
Answer
-
a) Cut expenses when building the system.
-
b) Make the view more comprehensible.
-
c) Increase consistency among views.
Question 79
Question
45) Which of the following help increase the quality of your view? _______
Answer
-
a) Use functionality scenarios to tie views together.
-
b) Animate your functional scenarios
-
c) Write action specifications
-
d) Both a and c
-
g) All of a-c
Question 80
Question
46) Which of the following is NOT on the list of ways Fairbanks suggests you write good functional scenarios? _____
Answer
-
a) Actor
-
b) Action
-
c) Reference
-
d) Target Model
-
e) Overall
-
f) Pattern
Question 81
Question
47) Which of the following is NOT one of the traits of good models? _______
Question 82
Question
48) How should a designer decide which views to create? _______
Answer
-
a) Build one for each function.
-
b) Build one for each actor.
-
c) Build one for each of the major concerns.
-
d) Build one for each use case.
-
e) Build one for each of the view types.
Question 83
Question
49) What are two ways Fairbanks says you can improve the quality of diagrams?
Question 84
Question
50) An anti-pattern is _______ .
Answer
-
a) A known way to reverse the impact of using a design pattern.
-
b) A pattern for improving bad code.
-
c) A way to avoid known bad coding practice.
-
d) A way to refactor code
-
e) None of the above.
Question 85
Question
51) Which of the following is NOT a desirable trait of a software model? ______
Question 86
Question
52) Which of the following statements is NOT true for creating and using models? ________
Answer
-
a) A model is falsifiable if one is able to determine the truth or falseness of some property about the model.
-
b) A legend is not required when the diagram is created using a known notation.
-
c) Most people will be able to read a model but far fewer will be able to identify the correct type of model to create and to create it correctly.
-
d) A model is more useful if it focuses the user’s attention.
-
e) Both a and d
-
f) Both b and c
-
g) Both c and d
Question 87
Question
53) Modeling a system using multiple views requires that all views be ________ .
Answer
-
a) Kept neatly stored so they can be located.
-
b) Chosen carefully to reflect the concerns of users.
-
c) Kept internally consistent.
-
d) Created from different view types.
-
e) Both a and b
-
f) Both b and c
Question 88
Question
54) Which of the following is NOT true of a dependency matrix? ___________
Answer
-
a) Can be used to check dependencies among modules.
-
b) Can easily be converted to a graphical representation.
-
c) Is more difficult to use the larger a model grows.
-
d) Can be built automatically from code by some tools.
-
e) Can be used to help maintain a system.
Question 89
Question
55) Architecture checklists _______.
Answer
-
a) Provide architecture experts an opportunity to identify risks.
-
b) Should be checked every day.
-
c) Contain a list of activities that must be completed before the architecture is considered complete.
-
d) Must be included as part of the final documentation.
-
e) Can be used to ensure that known risks have been considered.
Question 90
Question
56) Formal analysis techniques _________.
Answer
-
a) Are widely available in automated tools.
-
b) Can be applied to UML models.
-
c) Require the model be expressed in the language of the tool.
-
d) Can be used to identify all potential security vulnerabilities in the code.
-
e) Only a and c
-
f) Only b and d
-
g) Only c and d
Question 91
Question
2. Which of the following is the best choice for creating code views? _______
Answer
-
a. Sequence diagram
-
b. Component diagram
-
c. Activity diagram
-
d. Class diagram
-
e. Both b and c
-
f. None of the above
Question 92
Question
3. Which of the following are the best question(s) the risk-driven model helps developers answer? ______
Answer
-
a. What is most important to the customer?
-
b. When are we done with the project?
-
c. How much software architecture should we do?
-
d. What programming language should we use?
-
e. Which techniques should we use in developing our project?
-
h. Both c and e
-
g. Both b and c
Question 93
Question
4. Which of the following is not a software engineering risk? ______
Answer
-
a. The server may not scale to 1000 users.
-
b. The code for the sort algorithm is overly complex.
-
c. We do not adequately understand our customer’s needs.
-
d. The system is working fine, but if we try to change anything it seems to always break something else.
-
e. None of the above.
Question 94
Question
5. Which of the following software development process models does not include up-front design?
Answer
-
a. Waterfall
-
b. Iterative
-
c. Spiral
-
d. RUP
-
e. Both a and b
-
f. Both c and d
Question 95
Question
6. In component diagrams, ports ARE / ARE NOT optional.
Question 96
Question
7. In component diagrams, the lollipop symbol is used to represent a PROVIDES / REQUIRES interface.
Question 97
Question
8. In sequence diagrams, lifelines represent the activity of CLASSES / OBJECTS.
Question 98
Question
Sequence Diagram
Answer
-
used to represent runtime model
-
used to model domain model
-
used to represent code model
Question 99
Question
Use Case Diagram
Answer
-
used to model domain model
-
used to represent runtime model
-
used to represent code model
Question 100
Question
11. We need comprehensive documentation for the software architect
Question 101
Question
12. Software design patterns provide a ready resource for solving software development problems.
Question 102
Question
13. Software design patterns are created for unusual problems in development
Question 103
Question
14. All models in software design should be captured using UML diagrams.