• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/78

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

78 Cards in this Set

  • Front
  • Back
01:01 - It is common that new Object Oriented development teams underestimate the difficulty of using a full analysis and design methodology
True
01:02 - The template method provides the underlying foundation of the 1:N Recursive Connection Metapattern
True
01:03 - During an Object-Oriented, iterative Software Development Life Cycle, the time spent on the specification, analysis and design activities is different in all subsequent iterations
True
01:04 - When analyzing system requirements it is not important to understand why a requirement exists, only that it is something the system must do.
False
01:05 - The 1:N Unification Metapattern can be used to describe the Observer design pattern
False
01:06 - In a system, each instance of a class should be restricted to preforming only one role.
False
01:07 - Metapatterns provide a way to describe the overall functionality of a system at a very high level
False
01:08 - Frequent refactoring of code results in better designs evolving
True
01:09 - The State pattern allows the internal state of an object to be externalized without breaking encapsulation, and restored at a later stage
False
01:10 - One of the major tasks in refactoring is the decomposition of large methods
True
09:01 - As a designer you are expected to be representative of the end users of the software you design.
False
09:02 - A result of the complexity of software is that a single designer will rarely have complete knowledge of a given system they design
True
09:03 - A requirements specification is an agreement with the customer about how their problem will be solved by a software system.
False
09:04 - When using object-oriented design techniques it is sometimes difficult to know when an attribute, relationship or behavior should be a class
True
09:05 - When capturing system requirements, the software designer must learn as much about the domain of the problem as possible
False
09:06 - An iterative design cycle allows for changes to be made to designs while minimizing potential rework
True
09:07 - The Singleton pattern comes from the structural category of patterns.
False
09:08 - Frameworks and Architectures are alternative names for Design Patterns.
False
09:09 - Layering is a common technique for abstracting architectures
False
09:11 - Refactoring is useful…
a) Before attempt add functionality to existing code
b) When designing components of a system that are to be added to an existing code base
c) When reviewing code
d) When preparing test suites
e) When discussing requirements with the customer
a) Before attempt add functionality to existing code
b) When designing components of a system that are to be added to an existing code base
c) When reviewing code
09:12 - The State design pattern…
a) Can be used to delegate execution of behavior to another object
b) Is used to limit the creation of possible states for an object
c) Provides a mechanism to allow code to more closely reflect state models produced in design
d) can used when different behaviors are required in different states of a country.
e) Should not be used in a system that also implements the Strategy pattern
a) Can be used to delegate execution of behavior to another object
c) Provides a mechanism to allow code to more closely reflect state models produced in design
d) can used when different behaviors are required in different states of a country.
09:13 - When gathering requirements…
a) It is essential for the requirement writer to assume that they are domain experts.
b) The development team must be involved in the collection of requirements.
c) Requirements must be written to that they can be understood by all stakeholders
d) It is expected that the requirements will reflect the scope of the project.
e) It is inappropriate to use any UML diagrams
c) Requirements must be written to that they can be understood by all stakeholders
d) It is expected that the requirements will reflect the scope of the project.
09:14 - Which of the following are phases of the Rational Unified Process?
a) Interception: capturing requirements from stakeholders
b) Elaboration: Taking requirements and creating an architecture and design from which a fixed quote can be made for implementation of the system
c) Collaboration: bringing the requirements, analysis, design and implementation teams to ensure that the system scope is clearly understood.
d) Trialing: Establishing that the requirements were captured correctly from stakeholders
e) Transition: deploying the system to users, including training and documentation
b) Elaboration: Taking requirements and creating an architecture and design from which a fixed quote can be made for implementation of the system
e) Transition: deploying the system to users, including training and documentation
08:1 - It is common that new Object Oriented development teams find that projects are more likely to be developed with more resources than they used previously.
False
08:2 - The 1:N Recursive Connection Metapattern can be used to describe the Observer design pattern
False
07:01 - Analysis is the task of understanding how the systems in a solution are going to need to interact to solve the problem which has been presented.
False
07:02 - Design patterns are a tool used by software engineers to communicate ways of successfully designing and implementing parts of solutions
True
07:03 - The “Bridge” design pattern is used to allow two or more distinct systems to work together
False
07:04 - Abstraction is the act of selectively ignoring details which distinguish entities so that they can be treated as a single class of objects.
True
07:05 - It is important to record the design decisions that have been made while analyzing or designing a system
True
07:06 - During the design phase of a project, a significant proportion of the work is involved in the definition of both user and system interfaces.
False
07:07 - The UML stereotype <<abstract>> when applied to a class indicates that a class only contains declarations of the methods in that class, without defining the implementation of these
False
07:08 - Change management is used to ensure that system configuration does not change during the implementation and testing phases.
False
07:09 - A state diagram is used to communicate the sequence of events that might take place during the lifetime of an object.
False
07:10 - Refactoring is the process of changing the observable behavior of a piece of code without making any changes to existing code
False
06:01 - Risk analysis is a technique that helps simplify complex systems
False
06:02 The design phase of a system attempts to identify what the system.must do, and implements this understanding..
False
06:03 - When discussing the types of reuse, client-server relationship.represents an has-a relationship..
True
06:04 - A good use case factors common behavior by pushing such behavior.into other use cases which extend it..
False
06:05 - It is not necessary to maintain a history of the design phases of.software, since it is most important to reflect the current state of the.system being built or designed..
False
06:06 - The Observer pattern has similarities to, and can be built up from, the.Mediator pattern.
True
06:07 - A UML class with the <<interface>> stereotype is used to capture.common implementation behavior in a system.
False
06:08 - A software component or library should have published interfaces.that must only be changed by adding to the interface, never by.removing methods nor changing their behavior..
True
06:09 - When discussing a UML sequence diagram, a timeout message is one that the server will reject if the client does respond immediately.
False
06:10 - The command pattern encapsulates a request as an object, which.can be assigned to a class or object as a parameter.
True
05:01 The inability of developers to deal with the inherent complexity of.software systems results in missed opportunities.
True .
05:02 The testing of a software system is a phase of the software.development life-cycle which takes place independently of all other.phases.
False.
05:03 Traceability is a technique used to help identify the potential.candidate architectures of a system.
False.
05:04 In a large project spanning many years, a sequential development.approach leads to frustration since the short term.goals are frequently intangible.
True .
05:05 The analysis should contain no details which, when left out, make no.difference to the mapping from requirements to analysis model..
True.
05:06 Completeness is the measure of whether a module captures all of an.abstractions useful characteristics.
True .
05:07 Reuse of designs in systems is made more difficult because a design.can be defined at one of many different levels of abstraction.
True.
05:08 The State Pattern, as described by Gamma, aims to capture and.externalize an object’s internal state so that the object can be.restored to this state later. It achieves this without violating.encapsulation,.
False.
05:09 Refactoring is an important technique when implementing systems.because it limits the possibilities for the introduction of new faults in.software systems..
True.
05:10 When describing a pattern at a meta-pattern level, a hotspot refers to.any part of a mechanism or structure that remains constant.regardless of the domain in which the pattern is to be deployed
False.
08:03 - The Template Method pattern allows the internal state of an object to be externalized without breaking encapsulation, and restored at a later stage.
False
08:04 - One of the major tasks in refactoring is the renaming of methods and classes to make their function more easily identified
True
08:05 - It is important to record the design decisions that have been made while analyzing or designing a system
True
08:06 - During an Object-Oriented, iterative Software Development Life Cycle, the majority of time is spend in the design and implementation phases.
False
08:07 - The UML stereotype <<interface>> when applied to a class indicates that a class only contains declarations of the methods in that class, without defining the implementation of these.
True
08:08 - When discussing the types of reuse, client-server relationship represents a “has-a” relationship.
True
08:09 - An activity diagram is particularly useful for communicating a timebased flow of interactions between classes.
False
08:11 - The use of Design Patterns has which of the following advantages?
a) They provide a communication tool with which experience can be captured and passed on
b) They provide a common point of understanding between developers and their clients
c) They reduce the solution space by expressing solutions for commonly encountered problems
d) They identify common business practices and provide examples of the implementation of these
e) They provide a target for refactoring in a system.
a) They provide a communication tool with which experience can be captured and passed on
c) They reduce the solution space by expressing solutions for commonly encountered problems
e) They provide a target for refactoring in a system.
08:12 - During the analysis phase in an iterative and incremental software development life-cycle which of the following might happen?
a) Representing the requirements expressed by the customer in a suitable modeling language
b) Integration testing
c) Capturing definitions for terms which might be misunderstood
d) Defining a suitable architecture
e) Discussion of requirements with the customer
a) Representing the requirements expressed by the customer in a suitable modeling language
c) Capturing definitions for terms which might be misunderstood
08:13 - The Rational Unified Process …
a) is a phase locked process for software development
b) can describe many of the aspects of the Extreme Programming paradigm
c) must have all of its components used to ensure traceability of requirements
d) should be tailored to match the requirements of the project it is used for
e) is both iterative and incremental
b) can describe many of the aspects of the Extreme Programming paradigm
d) should be tailored to match the requirements of the project it is used for
e) is both iterative and incremental
08:14 -When might you choose to refactor software?
a) When you have identified a bug and need to make the code easier to read
b) When a client requests a change to the requirements for the system
c) When you identify a section of code that is a candidate for reuse elsewhere in the system
d) Before documenting the code
e) After the target deployment environment for the system has been changed.
a) When you have identified a bug and need to make the code easier to read
c) When you identify a section of code that is a candidate for reuse elsewhere in the system
07:11 - Which of the following are important when collecting requirements from a customer?
a) Identifying what classes and objects exist in the system
b) Identifying all relevant stakeholders for the project
c) Understanding why each stakeholder has an interest in the success of the system
d) Identifying processes and behaviors in the problem
e) Building a user interface prototype
b) Identifying all relevant stakeholders for the project
c) Understanding why each stakeholder has an interest in the success of the system
d) Identifying processes and behaviors in the problem
07:12 - During the design phase in an iterative and incremental software development life-cycle which of the following might happen?
a) Returning to the analysis phase to refine the analysis model
b) Integration testing
c) Capturing definitions for terms which might be misunderstood
d) Identifying interfaces for subsystems
e) Discussion of requirements with the customer
a) Returning to the analysis phase to refine the analysis model
c) Capturing definitions for terms which might be misunderstood
d) Identifying interfaces for subsystems
07:13 - Which of the following types of diagram are a part of the UML?
a) Data Flow Diagram (DFD)
b) Object Diagram
c) Sequence Diagram
d) Entity-Relationship Diagram
e) Schema Map
b) Object Diagram
c) Sequence Diagram
07:14 - When might you choose to refactor software?
a) Before attempting to debug a piece of code
b) Before publishing a release version of the code
c) Before adding new functionality to the code
d) Before restructuring the code
e) Before applying a design pattern to the code
a) Before attempting to debug a piece of code
c) Before adding new functionality to the code
06:11 - The analysis process involves:
a) Identifying what classes and objects exist in the system
b) Identifying the desired behavior of the system
c) Identifying the key abstractions for a system
d) Identifying where each class or object should be declared
e) Implementing a coded prototype of the system
b) Identifying the desired behavior of the system
c) Identifying the key abstractions for a system
06:12 - When analyzing a problem specification, the following may give clues to the existence of key structural abstractions:
a) Concrete and logical things
b) Organization of things
c) Roles played by things
d) Interfaces to external things
e) Nouns and adjectives
f) Nouns and verbs
a) Concrete and logical things
b) Organization of things
e) Nouns and adjectives
06:13 - Which of the following might indicate that refactoring is required?
a) Duplicated Code
b) Large numbers of classes
c) long variable and class names
d) Descriptive comments
e) large numbers of loop constructs
a) Duplicated Code
b) Large numbers of classes
d) Descriptive comments
06:14 - An association class
a) implements the classification of a group of similar associations between classes
b) implements an association relationship between two classes
c) might be necessary to implement an association whose multiplicity is one to many
d) would be necessary to implement an association whose multiplicity is one to one
e) may describe the relationship between two use cases
b) implements an association relationship between two classes
c) might be necessary to implement an association whose multiplicity is one to many
05:11 - The reasons we perform an analysis of the problem space before progressing to design are:
a) to identify a specify a preliminary solution for a problem that has been identified.
b) to identify the various aspects of the problem that needs to be solved
c) to identify the roles and attributes of any entities that contribute to the problem domain
d) to not include the identification of potential interactions with external agents, actors and or systems
e) to identify how the entities identified in the problem space need to interact with the various components that are required to implement the system.
f) to ensure that we have a thorough understanding of that is required by the client before we start introducing the complexities that are necessary to implement the solution
b) to identify the various aspects of the problem that needs to be solved
c) to identify the roles and attributes of any entities that contribute to the problem domain
f) to ensure that we have a thorough understanding of that is required by the client before we start introducing the complexities that are necessary to implement the solution
05:12 - Design :
a) Is a process we employ to take the requirements from a client and create a solution in terms of software systems
b) Examines what classes need to exist and how these classes need to interact
c) Identifies what mechanisms will be required to create a solution for a problem
d) Requires that we identify what processes need to be deployed on various processing components of the system solution
b) Examines what classes need to exist and how these classes need to interact
c) Identifies what mechanisms will be required to create a solution for a problem
d) Requires that we identify what processes need to be deployed on various processing components of the system solution
05:13 - Requirements for a system:
a) Should only be provided by the client, since requirements written by the solution team often result in the introduction of unnecessary features, or worse result in a solution that is unsatisfactory to the client.
b) Are used to give system developers a better understanding of the requirements on the system.
c) Are used to delimit the scope of the problem being addressed by a system
d) Form the basis for the technical deliverables during the life-cycle of a system
b) Are used to give system developers a better understanding of the requirements on the system.
c) Are used to delimit the scope of the problem being addressed by a system
05:14 - Abstractions in a software design can be measured using…
a) Cohesion - the measure of how much of a system design has been inherited from patterns, or systems that have been shown to work in the past.
b) Sufficiency - the measure of whether the module captures enough characteristics of the abstraction to permit meaningful and efficient interaction.
c) Completeness - the measure of whether a module has been designed to a point that it can be completely implemented without ambiguity
d) Primitiveness - the measure of whether a module has been constructed only from a set of well defined and accessible primitive operations
e) Coupling - the measure of strength of association established by a connection from one module to another
b) Sufficiency - the measure of whether the module captures enough characteristics of the abstraction to permit meaningful and efficient interaction.
e) Coupling - the measure of strength of association established by a connection from one module to another