158 terms

Foundations of Software Engineering


Terms in this set (...)

Ch 1 : Which question "no longer" concerns the modern software engineer?
Why does computer hardware cost so much?
Ch 1 : Software is a product and can be "manufactured" using the same technologies used for other engineering artifacts.
Ch 1 : Software deteriorates rather than wears out because
Multiple change requests introduce errors in component interactions
Ch 1 : WebApps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice.
Ch 1 : Which of the items listed below is "not" one of the software engineering layers?
Manufacturing; However,
(1) Process
(2) Methods
(3) Tools
Are all layers of Software Engineering
Ch 1 : Software engineering umbrella activities are only applied during the initial phases of software development projects.
Ch 1 : Which of these are the 5 generic software engineering framework activities?
communication, planning, modeling, construction, deployment
Ch 1 : Planning ahead for software reuse reduces the cost and increases the value of the systems into which they are incorporated.
Ch 1 : The essence of software engineering practice might be described as understand the problem, plan a solution, carry out the plan, and examine the result for accuracy.
Ch 1 : In the agile process, the only deliverable work product is the working program.
Ch 1 : Most software development projects are initiated to try to meet some business need.
Ch 1 : In general software only succeeds if its behavior is consistent with the objectives of its designers.
Ch 2: Which of the following are recognized process flow types (2)?
(1) Concurrent process flow
(2) Linear process flow
Ch 2: Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project.
Ch 2: Which of these are standards for assessing software processes (2)?
(2) ISO 9001
Ch 2: The waterfall model of software development is
A reasonable approach when requirements are well defined.
Ch 2:
The incremental model of software development is
A good approach when a working core product is required quickly.
Ch 2: Evolutionary software process models (3)
(1) Are iterative in nature
(2) Can easily accommodate product requirements changes
(3) Do not generally produce throwaway systems
Ch 2: The prototyping model of software development is
A useful approach when a customer cannot define requirements clearly.
Ch 2: The spiral model of software development
Includes project risks evaluation during each iteration
Ch 2: The concurrent development model is (2)
(1) Another name for concurrent engineering.
(2) Defines events that trigger engineering activity state transitions.
Ch 2: The component-based development model is
Dependent on object technologies for support.
Ch 2: The formal methods model of software development makes use of mathematical methods to (3)
(1) Define the specification for computer-based systems
(2) Develop defect free computer-based systems
(3) Verify the correctness of computer-based systems
Ch 2: Which of these is "not" one of the phase names defined by the Unified Process model for software development?
Validation phase; however,
(1) Inception phase
(2) Elaboration phase
(3) Construction phase
Are encompassed by the Unified Process
Ch 2: Which of these is "not" a characteristic of Personal Software Process?
Practitioner requires careful supervision by the project manager; however,
(1) Emphasizes personal measurement of work product
(2) Individual practitioner is responsible for estimating and scheduling
(3) Practitioner is empowered to control quality of software work products
Are all characteristics of the Personal Software Process
Ch 2: Which of these are objectives of Team Software Process (2)?
(1) Allow better time management by highly trained professionals
(2) Build self-directed software teams
Ch 2: Process technology tools allow software organizations to compress schedules by skipping unimportant activities.
Ch 2: It is generally accepted that one cannot have weak software processes and create high quality end products.
Ch 3: Agility is nothing more than the ability of a project team to respond rapidly to change.
Ch 3: Which of the following is "not" necessary to apply agility to a software process?
Eliminate the use of project planning and testing; however,
(1) Only essential work products are produced
(2) Process allows team to streamline tasks
(3) Uses incremental product delivery strategy
Are all necessary to apply agility to a software process
Ch 3: How do you create agile processes to manage unpredictability (2)?
(1) Risk analysis must be conducted before planning takes place
(2) Software increments must be delivered in short time periods
Ch 3: In agile software processes the highest priorities is to satisfy the customer through early and continuous delivery of valuable software.
Ch 3: Which of the following traits need to exist among the members of an agile software team (3)?
(1) Competence
(2) Decision-making ability
(3) Mutual trust and respect
Ch 3: In agile development it is more important to build software that meets the customers' needs today than worry about features that might be needed in the future.
Ch 3: What are the 4 framework activities found in the Extreme Programming (XP) process model?
(1) planning
(2) design
(3) coding,
(4) testing
Ch 3: All agile process models conform to a greater or lesser degree to the principles stated in the "Manifesto for Agile Software Development".
Ch 3: What are the 3 framework activities for the Adaptive Software Development (ASD) process model?
(1) speculation
(2) collaboration
(3) learning
Ch 3: Which is "not" one of the key questions that is answered by each team member at each daily Scrum meeting?
What is the cause of the problems you are encountering?; however,
(1) What did you do since the last meeting?
(2) What obstacles are you encountering?
(3) What do you plan 2 accomplish B4 the next team meeting?
Are all key questions answered at each daily Scrum meeting
Ch 3: The Dynamic Systems Development Method (DSDM) suggests a philosophy that is based on the Pareto principle (80% of the application can be delivered in 20% of the time required to build the complete application).
Ch 3: In Feature Driven Development (FDD) a client-valued feature is a client-valued function that can be delivered in two weeks or less.
Ch 3: Agile Modeling (AM) provides guidance to practitioner during which of these software tasks (2)?
(1) Analysis
(2) Design
Ch 3: Agile Unified Process uses the classic UP phased activities (inception, elaboration, construction, transition) to help the team visualize the overall process flow.
Ch 4: Software engineering principles have about a three year half-life.
Ch 4: Which of the following is "not" one of the core principles of software engineering practice?
Pareto principle (20% of any product requires 80% of the effort); however,
(1) All design should be as simple as possible, but no simpler
(2) A software system exists only to provide value to its users.
(3) Remember that you produce others will consume
Are all principles of software engineering practice
Ch 4: Every communication activity should have a facilitator to make sure that the customer is not allowed to dominate the proceedings.
Ch 4: The agile view of iterative customer communication and collaboration is applicable to all software engineering practice.
Ch 4: One reason to involve everyone on the software team in the planning activity is to
get all team members to "sign up" to the plan
Ch 4: Project plans should not be changed once they are adopted by a team.
Ch 4: Requirements models depict software in which 3 domains?
(1) information
(2) function
(3) behavior
Ch 4: The design model should be traceable to the requirements model?
Ch 4: Teams using agile software practices do not generally create models.
Ch 4: Which of the following is "not" one of the principles of good coding?
Write self-documenting code, not program documentation; However,
(1) Create unit tests before you begin coding
(2) Create a visual layout that aids understanding
(3) Refractor the code after you complete the first coding pass
Are all principles of good coding
Ch 4: A successful test is one that discovers at least one as-yet undiscovered error
Ch 4: Which of the following are valid reasons for collecting customer feedback concerning delivered software (3)?
(1) Allows developers to make changes to the delivered increment
(2) Delivery schedule can be revised to reflect changes
(3) Developers can identify changes to incorporate into next increment
Ch 5: Requirements engineering is a generic process that does not vary from one software project to another.
Ch 5: During project inception the intent of the of the tasks are to determine (3)
(1) basic problem understanding
(2) nature of the solution needed
(3) people who want a solution
Ch 5: Three things that make requirements elicitation difficult are problems of
(1) scope
(2) understanding
(3) volatility
Ch 5: A stakeholder is anyone who will purchase the completed software system under development.
Ch 5: It is relatively common for different customers to propose conflicting requirements, each arguing that his or her version is the right one.
Ch 5: Which of the following is "not" one of the context-free questions that would be used during project inception?
Who will pay for the work? ; however,
(1) What will be the economic benefit from a good solution?
(2) Who is behind the request for work?
(3) Who will use the solution?
would all be used during project inception
Ch 5: In collaborative requirements gathering the facilitator
controls the meeting
Ch 5: Which of the following is "not" one of the requirement classifications used in Quality Function Deployment (QFD)?
mandatory; however,
(1) exciting
(2) expected
(3) normal
are all requirement classifications used in Quality Function Deployment (QFD)
Ch 5: The work products produced during requirement elicitation will vary depending on the
size of the product being built
Ch 5: Developers and customers create use-cases to help the software team understand how different classes of end-users will use functions.
Ch 5: Use-case actors are always people, never system devices.
Ch 5: The result of the requirements engineering task is an analysis model that defines which of the following problem domain(s) (3)?
(1) information
(2) functional
(3) behavioral
Ch 5: Analysis patterns facilitate the transformation of the analysis model into a design model by suggesting reliable solutions to common problems.
Ch 5: In win-win negotiation, the customer's needs are met even though the developer's need may not be.
Ch 5: In requirements validation the requirements model is reviewed to ensure its technical feasibility.
Ch 6: Which of these is "not" an element of a requirements model?
Data elements; however,
(1) Behavioral elements
(2) Class-based elements
(3) Scenario-based elements
Are all elements of the requirements model
Ch 6: Which of the following is "not" an objective for building a requirements model?
develop an abbreviated solution for the problem; however,
(1) define set of software requirements that can be validated
(2) describe customer requirements
(3) establish basis for software design
Are all objectives for building a requirements model
Ch 6: Object-oriented domain analysis is concerned with the identification and specification of reusable capabilities within an application domain.
Ch 6: In structured analysis models focus on the structure of the classes defined for a system along with their interactions.
Ch 6: Creation and refinement of use cases is an important part of scenario-based modeling.
Ch 6: It is important to consider alternative actor interactions when creating a preliminary use case.
Ch 6: Brainstorming is one technique that may be used to derive a complete set of use case exceptions.
Ch 6: In many cases there is no need to create a graphical representation of a usage scenario.
Ch 6: UML activity diagrams are useful in representing which analysis model elements?
Scenario-based elements
Ch 6: One or more attributes of a data object must be defined as a key to allow the location of an instance of the data object.
Ch 6: The entity relationship diagram
depicts relationships between data objects
Ch 6: Which of the following should be considered as candidate objects in a problem space (3)?
(1) events
(2) people
(3) structures
Ch 6: Attributes are chosen for an object by examining the problem statement and identifying the entities that appear to be related.
Ch 6: Which of the following is "not" one of the broad categories used to classify operations?
Transformers; however,
(1) computation
(2) data manipulation
(3) event monitors
Are broad categories used to classify operations
Ch 6: Which of the following items does "not" appear on a CRC card?
Class reliability
Ch 6: Class responsibilities are defined by
both its attributes and operations
Ch 6: An analysis package involves the categorization of analysis model elements into useful groupings.
Ch 7: The data flow diagram (2)
(1) depicts functions that transform the data flow
(2) indicates how data are transformed by the system
Ch 7: Control flow diagrams are
needed to model event driven systems.
Ch 7: The control specification represents the system behavior using UML sequence and state diagrams
Ch 7: The data flow diagram must be augmented by min-spec that can serve as a guide to design the software component that will implement the process
Ch 7: For purposes of behavior modeling an event occurs whenever
the system & actor exchange information.
Ch 7: For purposes of behavior modeling a state is any
observable mode of behavior.
Ch 7: The state transition diagram
indicates system reactions to external events
Ch 7: The UML sequence diagram shows the order in which system events are processed.
Ch 7: Analysis patterns are discovered, they are not explicitly created.
Ch 7: It is not possible to justify the time required for WebApp requirements analysis.
Ch 7: Which is "not" one of the analysis activities that is used to create a complete analysis model?
Market analysis; however,
(1) Configuration analysis
(2) Content analysis
(3) Functional analysis
Are all analysis activities used to create a complete analysis model
Ch 7: Content objects are extracted from use cases by examining the scenario description for direct or indirect content references.
Ch 7: What are the elements of a WebApp interaction model?
use-cases, sequence diagrams, state diagrams, interface prototype
Ch 7: UML activity diagrams can be used to represent the user observable functionality delivered by the WebApp as well as the operations contained in each analysis class.
Ch 7: Configuration analysis focuses on the architecture of the user's web browsing environment.
Ch 8: Which of the following are areas of concern in the design model (3)?
(1) architecture
(2) data
(3) interfaces
Ch 8: The importance of software design can be summarized in a single word
Ch 8: Which of these are characteristics of a good design (2)?
(1) implements all requirements in the analysis model
(2) provides a complete picture of the software
Ch 8: Which of the following is "not" a characteristic common to all design methods?
configuration management; however,
(1) functional component representation
(2) quality assessment guidelines
(3) refinement heuristics
are all characteristics common to all design methods
Ch 8: Which of the following can be used to represent the architectural design of a piece of software (3)?
(1) Dynamic models
(2) Functional models
(3) Structural models
Ch 8: Design patterns are not applicable to the design of object-oriented software
Ch 8: Since modularity is an important design goal it is not possible to have too many modules in a proposed design.
Ch 8: Information hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program.
Ch 8: Cohesion is a qualitative indication of the degree to which a module
focuses on just one thing.
Ch 8: Coupling is a qualitative indication of the degree to which a module
is connected to other modules and the outside world.
Ch 8: When using structured design methodologies the process of stepwise refinement is unnecessary.
Ch 8: Software designs are refactored to allow the creation of software that is easier to integrate, easier to test, and easier to maintain.
Ch 8: Which of the following is "not" one of the five design class types
Entity classes; however,
(1) Business domain classes
(2) Process classes
(3) User interface classes
Are all types of design classes
Ch 8: Which design model elements are used to depict a model of information represented from the user's view?
Data design elements
Ch 8: Which design is equivalent to the floor plan of a house?
Architectural design
Ch 8: Which design model is equivalent to the detailed drawings of the access points and external utilities for a house?
Interface design
Ch 8: Which design model is equivalent to a set of detailed drawings for each room in a house?
Component-level design
Ch 8: What types of abstraction are used in software design (3)?
(1) control
(2) data
(3) procedural
Ch 8: The deployment design elements specify the build order for the software components.
Ch 9: The best representation of system architecture is an operational software prototype.
Ch 9: The architectural representations can be an enabler for communication among project stakeholders.
Ch 9: An architectural description is often documented using an architecture template.
Ch 9: An architectural genre will often dictate the architectural approach that may be used for the structure to be built.
Ch 9: An architectural style encompasses which of the following elements (3)?
(1) constraints
(2) set of components
(3) semantic models
Ch 9: To determine the architectural style or combination of styles that best fits the proposed system, requirements engineering is used to uncover
characteristics and constraints
Ch 9: Before an architectural pattern can be chosen for use in a specific system it must have a code implementation to facilitate its reuse.
Ch 9: The criteria used to assess the quality of an architectural design should be based on system (2)
(1) control
(2) data
Ch 9: During process of modeling the system in context, systems that interact with the target system are represented as (3)
(1) Peer-level systems
(2) Subordinate systems
(3) Superordinate systems
Ch 9: Once selected, archetypes always need to be refined further as architectural design proceeds.
Ch 9: Which of the following is "not" an example of infrastructure components that may need to be integrated into the software architecture?
Interface components; however,
(1) Communications components
(2) Database components
(3) Memory management components
are all infrastructure components that may need to be integrated into the software architecture
Ch 9: In the architecture trade-off analysis method the architectural style should be described using the (3)
(1) data flow view
(2) module view
(3) process view
Ch 9: Quantitative methods for assessing the quality of proposed architectural designs are readily available.
Ch 9: A useful technique for evaluating the overall complexity of a proposed architecture is to look at the component (2)
(1) flow dependencies
(2) sharing dependencies
Ch 9: When the overall flow in a segment of a data flow diagram is largely sequential and follows straight-line paths _________ is present.
transform flow
Ch 9: When a single item that triggers other data flow along one of many paths ________ characterizes the information flow in a segment of a data flow diagram is present.
transaction flow
Ch 10: In the most general sense a component is a modular building block for computer software.
Ch 10: In the context of object-oriented software engineering a component contains
set of collaborating classes
Ch 10: In traditional software engineering modules must serve in which of the following roles (3)?
(1) Control component
(2) Infrastructure component
(3) Problem domain component
Ch 10: Software engineers always need to create components from scratch in order to meet customer expectations fully.
Ch 10: Which of the following is "not" one of the four principles used to guide component-level design?
Parsimonious Complexity Principle; however,
(1) Dependency Inversion Principle
(2) Interface Segregation Principle
(3) Open-Closed Principle
Are all principles used to guide component-level design
Ch 10: The use of stereotypes can help identify the nature of components at the detailed design level.
Ch 10: Classes and components that exhibit functional, layer, or communicational cohesion are relatively easy to implement, test, and maintain.
Ch 10: Software coupling is a sign of poor architectural design and can always be avoided in every system.
Ch 10: Component design elaboration requires which of the following elements to be describe in detail (3)?
(1) Attributes
(2) Interfaces
(3) Operations
Ch 10: In component-level design persistent data sources refer to
(1) Databases
(2) Files
Ch 10: WebApp content design at the component level focuses on content objects and the manner in which they interact.
Ch 10: A WebApp functional architecture describes the key functional components and how they interact with each other.
Ch 10: Which of these constructs is used in structured programming (3)?
(1) condition
(2) repetition
(3) sequence
Ch 10: Which of these is a graphical notation for depicting procedural detail?
Ch 10: A decision table should be used
when a complex set of conditions and actions appears in a component
Ch 10: A program design language (PDL) is often a
combination of programming constructs and narrative text
Ch 10: In component-based software engineering, the development team examines the requirements to see which are amenable to composition, rather than construction, before beginning detailed design tasks.
Ch 10: Which of the following is "not" one of the major activities of domain engineering?
validation ;however,
(1) analysis
(2) construction
(3) dissemination
Are all major activities of domain engineering
Ch 10: Which of the following factors would "not" be considered during component qualification?
testing equipment required; however,
(1) application programming interface (API)
(2) development and integration tools required
(3) exception handling
Are all factors considered during component qualification
Ch 10: Which of the following is a technique used for component wrapping?
clear-box wrapping
Ch 10: Which of the following is "not" one of the issues that form a basis for design for reuse?
object-oriented programming; however,
(1) program templates
(2) standard data
(3) standard interface protocols
Are all issues that form a basis for design for reuse
Ch 10: In a reuse environment, library queries are often characterized using the ________ element of the 3C Model.