Multiple Choice Questions
Which of these terms are level names in the Capability Maturity Model? (a) Performed (b) Repeated (c) Reused (d) Optimized
Performed and Optimized
Which of these is not a characteristic of Personal Software Process?
Practitioner requires careful supervision by the project manager
Which of these are standards for assessing software processes?
SPICE and ISO 9001
A successful test is one that discovers at least one as-yet undiscovered error.
True
All agile process models conform to a greater or lesser degree to the principles stated in the "Manifesto for Agile Software Development".
True
Change cannot be easily accommodated in most software systems, unless the system was designed with change in mind
True
Developers and customers create use-cases to help the software team understand how different classes of end-users will use functions.
True
In agile software processes the highest priority is to satisfy the customer through early and continuous delivery of valuable software.
True
In the Unified Process model requirements are determined iteratively and may span more than one phase of the process.
True
It is generally accepted that one cannot have weak software processes and create high quality end products.
True
It is relatively common for different customers to propose conflicting requirements, each arguing that his or her version is the right one.
True
Many of the tasks from the generic task sets for analysis modeling and design can be conducted in parallel with one another.
True
Modern software applications are so complex that it is hard to develop mutually exclusive category names.
True
Most software development projects are initiated to try to meet some business need.
True
Requirements engineering is a generic process that does not vary from one software project to another.
True
Software processes can be constructed out of pre‐existing software patterns to best meet the needs of a software project.
True
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).
True
The agile view of iterative customer communication and collaboration is applicable to all software engineering practice.
True
The best software process model is one that has been created by the people who will actually be doing the work.
True
The essence of software engineering practice might be described as (i) understand the problem (ii) plan a solution (iii) carry out the plan (iv) and examine the result for accuracy.
True
The goal of product engineering is to translate the customer's desire for a set of defined capabilities into a working product.
True
The job of the requirements engineer is to categorize all stakeholder information in a way that allows decision makers to choose an internally consistent set of requirements.
True
Which of these is not one of the phase names defined by the Unified Process model for software development? (a) Inception phase (b) Elaboration phase (c) Construction phase or (d) Validation phase
Validation phase
Which question no longer concerns the modern software engineer?
Why does computer hardware cost so much?
The component‐based development model is
Works best when object technologies are available for support.
Evolutionary software process models
(a) Are iterative in nature (b) Can easily accommodate product requirements changes (c) Do not generally produce throwaway systems
Which of the following traits need to exist among the members of an agile software team?
(a) Competence (b) Decision-making ability (c) Mutual trust and respect
The formal methods model of software development makes use of mathematical methods to
(a) Define the specification for computer‐based systems (b) Develop defect free computer‐based systems and (c) Verify the correctness of computer‐based systems
Which of the following is necessary to apply agility to a software process?
(a) Only essential work products are produced (b) Process allows team to streamline tasks (c) Uses incremental product delivery strategy
How do you create agile processes to manage unpredictability?
(a) Software increments must be delivered in short time periods (b) Software processes must adapt to changes
Which of the items listed below is not one of the software engineering layers? (a) Process (b) Manufacturing (c) Methods (d) Tools
Manufacturing
Software deteriorates rather than wears out because
Multiple change requests introduce errors in component interactions
Most software continues to be custom built because
Off‐the‐shelf software components are unavailable in many application domains.
The linear sequential model of software development is
A reasonable approach when requirements are well defined.
The prototyping model of software development is
A useful approach when a customer cannot define requirements clearly.
Which is not one of the key questions that is answered by each team member at each daily Scrum meeting? (a) What did you do since the last meeting? (b) What obstacles are you encountering? (c) What is the cause of the problems you are encountering? (d) What do you plan to accomplish at the next team meeting?
(c) What is the cause of the problems you are encountering?
The incremental model of software development is
A good approach when a working core product is required quickly.
The rapid application development model is
A high speed adaptation of the linear sequential model.
During business process engineering three different architectures are examined. A) applications, data, technology, infrastructure B) communications, organization, financial, infrastructure C) network, database, reporting, structure D) systems, requirements, data, structure
A) applications, data, technology, infrastructure
The architecture components for product engineering are A) data, hardware, software, people B) data, documentation, hardware, software C) data, hardware, software, procedures D) documentation, hardware, people procedures
A) data, hardware, software, people
The system specification describes the A) function, performance and constraints of a computer‐based system B) implementation of each allocated system C) element software architecture D) time required for system simulation
A) function, performance and constraints of a computer‐based system
The concurrent development model is
Often used for the development of client/server applications.
Which of these are objectives of Team Software Process?
Allow better time management by highly trained professionals & Build self‐directed software teams
Which of the following is not one of the context-free questions that would be used during project inception? A) What will be the economic benefit from a good solution? B) Who is against this project? C) Who will pay for the work? D) Who will use the solution?
B) Who is against this project?
The work products produced during requirement elicitation will vary depending on the A) size of the budget B) size of the product being built C) software process being used D) stakeholders needs
B) size of the product being built
Which of the following activities is not one of the four things that need to be accomplished by the generic planning task set? A) Develop overall project strategy B) Identify the functionality to deliver in each software increment C) Create a detailed schedule for the complete software project D) Devise a means of tracking progress on a regular basis
C) Create a detailed schedule for the complete software project
Which of the following is not one of the principles of good coding? A) Create unit tests before you begin coding B) Create a visual layout that aids understanding C) Keep variable names short so that code is compact D) Write self-documenting code not program documentation
C) Keep variable names short so that code is compact
Which of the following is not one of Hooker's core principles of software engineering practice? A) All design should be as simple as possible but no simpler B) A software system exists only to provide value to its users. C) Pareto principle - 20% of any product requires 80% of the effort D) Remember that you produce others will consume
C) Pareto principle - 20% of any product requires 80% of the effort
The top level of the hierarchical model of a system is known as the A) AFD B) DFD C) SCD D) SFD
C) SCD
In collaborative requirements gathering, the facilitator A) cannot be a member of the software team B) cannot be a customer C) controls and facilitates the process D) must be an outsider
C) controls and facilitates the process
Which of the following is not a UML diagram used to create a system analysis model? A) activity diagram B) class diagram C) data-flow diagram D) state diagram
C) dataflow diagram
Everyone on the software team should be involved in the planning activity so that we can A) reduce the granularity of the plan B) analyze requirements in depth C) get all team members to "sign up" to the plan D) begin design
C) get all team members to "sign up" to the plan
The use of traceability tables helps to A) debug programs following the detection of run‐time errors B) determine the performance of algorithm implementations C) identify, control, and track requirements changes D) none of the above
C) identify, control, and track requirements changes
Analysis models depict software in which three representations? A) architecture interface component B) cost risk schedule C) information function behavior D) None of the above
C) information function behavior
Which of the following is not one of the requirement classifications used in Quality Function Deployment (QFD)? A) exciting B) expected C) mandatory D) normal
C) mandatory
The linear sequential model of software development is also known as the
Classical life cycle model and Waterfall model
Software engineers collaborate with customers to define which of the following? A) Customer visible usage scenarios B) Important software features C) System inputs and outputs D) All of the above
D) All of the above, that is: Customer visible usage scenarios Important software features System inputs and outputs
Which of the following are valid reasons for collecting customer feedback concerning delivered software? A) Allows developers to make changes to the delivered increment B) Delivery schedule can be revised to reflect changes C) Developers can identify changes to incorporate into next increment D) All of the above
D) All of the above, that is: It allows developers to make changes to the delivered increment. The delivery schedule can be revised to reflect changes The developers can identify changes to incorporate into next increment
What role(s) do user stories play in agile planning? A) Define useful software features and functions delivered to end-users B) Determine a schedule used to deliver each software increment C) Provide a substitute to performing detailed scheduling of activities D) Used to estimate the effort required build the current increment E) both a and d
D) Used to estimate the effort required build the current increment
The system model template contains which of the following elements A) input B) output C) user interface D) all of the above
D) all of the above, that is input, output and user interface
The result of the requirements engineering elaboration task is an analysis model that defines which of the following problem domain(s)? A) information B) functional C) behavioral D) all of the above
D) all of the above, that is, information, functional and behavioral
The best way to conduct a requirements validation review is to
D) use a checklist of questions to examine each requirement
The best way to conduct a requirements validation review is to A) examine the system model for errors B) have the customer look over the requirements C) send them to the design team and see if they have any concerns D) use a checklist of questions to examine each requirement
D) use a checklist of questions to examine each requirement
The system engineering process usually begins with the A) detailed view B) domain view C) element view D) world view
D) world view
UML notations that can be used to model the hardware and software elements of a system are A) Activity diagrams B) Class diagrams C) Deployment diagrams D) Use-case diagrams E) a, b and c
E) a, b and c, that is, Activity diagrams, Class diagrams and Deployment diagrams
During project inception the intent of the of the tasks are to determine A) basic problem understanding B) nature of the solution needed C) people who want a solution D) none of the above E) a, b and c
E) a, b and c, that is, basic problem understanding, nature of the solution needed and the people who want a solution
Which of the following can be elements of computer-based systems? A) documentation B) software C) people D) hardware E) all of the above
E) all of the above, that is, documentation, software, people and hardware
Three things that make requirements elicitation difficult are problems of A) budgeting B) scope C) understanding D) volatility E) b, c and d
E) b, c and d, that is, scope, understanding and volatility
Which of the following are tasks in the generic task set for construction? A) Build a software component B) Create a user interface C) Unit test the component D) Assess the quality of the component E) both a and c
E) both a and c, that is A) Build a software component and C) Unit test the component
To construct a system model the engineer should consider which of the following restraining factors? A) assumptions B) budget C) constraints D) schedule E) both a and c
E) both a and c, that is, assumptions and constraints
Which elements of business processing engineering are the responsibilities of the software engineer? A) business area analysis B) business system design C) construction and integration D) information strategy planning E) both b and c
E) both b and c, that is, business system design as well as construction and integration
Which of the following is not necessary to apply agility to a software process?
Eliminate the use of project planning and testing
A stakeholder is anyone who will purchase the completed software system under development.
False
Agility is nothing more than the ability of a project team to respond rapidly to change.
False
Analysis patterns facilitate the transformation of the analysis model into a design model by suggesting reliable solutions to common problems.
False
By following modern system engineering practices simulation of reactive systems is no longer necessary.
False
Every communication activity should have a facilitator to make sure that the customer is not allowed to dominate the proceedings.
False
In Feature Driven Development (FDD) a "feature" is a client-valued function that can be delivered in two months or less.
False
In general software only succeeds if its behavior is consistent with the objectives of its designers.
False
In requirements validation the requirements model is reviewed to ensure its technical feasibility.
False
In win-win negotiation, the customer's needs are met even though the developer's need may not be.
False
It is not possible to build software that meets the customers' needs today and exhibits the quality characteristics that will enable it to be extended tomorrow.
False
Process technology tools allow software organizations to compress schedules by skipping unimportant activities.
False
Software engineering umbrella activities are only applied during the initial phases of software development projects.
False
Software engineers do not need to consider hardware when designing a computer-based system.
False
Software is a product and can be manufactured using the same technologies used for other engineering artefacts.
False
Teams using agile software practices never create models.
False
The customer can directly observe both the difference between the internal quality of a design and its external quality?
False
The functionality of most computer systems does not need to be enhanced the lifetime of the system.
False
The nature of collaboration is such that all system requirements are defined by consensus of a committee of customers and developers.
False
The so called "new economy" that gripped commerce and finance during the 1990s died and no longer influences decisions made by businesses and software engineers.
False
Today the increased power of the personal computer has brought about an abandonment of the practice of team development of software
False
Use-case actors are always people, never system devices.
False
The spiral model of software development
Includes project risks evaluation during each iteration
Agile Modeling (AM) provides guidance to practitioner during which of these software tasks? (a) Analysis (b) Design (c) Coding (d) Testing
a and b, that is, (a) Analysis and (b) Design
Which of these are the 5 generic software engineering framework activities?
communication, planning, modeling, construction, deployment
The nature of software applications can be characterized by their information
content and determinacy
Process models are described as agile because they
emphasize maneuverability and adaptability
What are the four framework activities found in the Extreme Programming (XP) process model?
planning, design, coding, testing
What are the three framework activities for the Adaptive Software Development (ASD) process model?
speculation, collaboration, learning