admin 管理员组

文章数量: 887021


2024年1月18日发(作者:特效素材怎么做出来的)

Chapter 1 - Test Questions

1. How does software differ from the artifacts produced by other engineering

disciplines?

Answer (Section 1.1):

Software is both a product and a vehicle for delivering a product. As a

product, software is an information transformer. As a vehicle for delivering a

product, software serves as a basis for computer control, communication, and

creation of other programs.

2. How do software characteristics differ from hardware characteristics?

Answer (Section 1.2):

Software is developed, not manufactured. Software does not wear out. Most

software is custom built, not assembled out of components.

Final Exam Question

3. Explain what is wrong with the notion that computer software does not need

to evolve over time.

Answer (Section1.1):

Computer software must be revised as errors are discovered and corrected.

Software must be updated to accommodate changes in the computing

environment. Many times a customer will request changes to add new

functions to an existing product or to accommodate changes in the business

environment. Sometimes an older system will need to be reengineered to

provide benefits to the user in a modern context. The bottom line is that

software that does not evolve will eventually become unusable.

Chapter 2 - Test Questions

1. List three areas in which process models may differ from one another.

Answer (Section 2.2):

Overall flow and level of interdependencies among tasks

Degree to which work tasks are defined within each framework activity

Degree to which work products are identified and required

Manner in which quality assurance activities are applied

Manner in which project tracking and control activities are applied

Overall degree of detail and rigor of process description

Degree to which stakeholders are involved in the project

Level of autonomy given to project team

Degree to which team organization and roles are prescribed

2. Describe how Polya’s problem solving principles describe the essence of

engineering practice?

Answer (Section 2.3):

• Understand the problem (communication and analysis)

• Plan a solution (modeling and design)

• Carry out the plan (code generation)

• Examine the result for accuracy (testing and quality assurance)

Final Exam Question

1. Describe the relationships among software engineering process, methods,

and tools.

Answer (Section2.1):

Software process defines the framework that must be established for effective

delivery of software engineering technology, by providing a context by which

the software engineering methods are applied. Software engineering methods

provide the technical how-to’s for building software. Software engineering

tools provide automated or semi-automated support for software engineering

process and methods.

Chapter 3 - Test Questions

1. How are tasks, actions, and activities related to software process models?

Answer (Section 3.1):

A software process is made up of activities. Each activity is defined by a

set of engineering actions. Each activity is defined by a task set that

indentifies the work items to be completed.

2. How does software team choose the task set for a particular project?

Answer (Section 3.3):

The software chooses the task set based on the characteristics of the

team, the project, and the problem to be solved.

3. How can process patterns assist a development team build software products

efficiently?

Answer (Section 3.4):

Process patterns are proven solutions to commonly encountered

development problems. If developers can recognize that that this is

problem seen before they can use a previously known means of solving it,

without have to take the time to invent a new solution.

Final Exam Questions

1. Why it important for software processes to be agile?

Answer (Chapter 3 Overview):

Software process provides the stability, control, and organization to an

activity to prevent it from becoming chaotic. Yet, modern software

processes must only demand the activities, controls, and work products

that are appropriate for the team and product to be produced – to ensure

that it can accommodate changes easily and deliver a high quality

software product.

Chapter 4 - Test Questions

1. Describe the phases of the prototyping model for software development?

Answer (Section 4.1.3):

Requirements are gathered by having the customer and developer meet

and identify whatever objectives and requirements they can. Quick design

follows, focusing on representation of the software that will be visible to

the customer. A prototype is constructed by the developer and evaluated

by the customer and used to refine the requirements. Iteration occurs and

the prototype is tuned to satisfy the customer's needs.

2. What are the primary advantages of the component-based process model for

software engineering?

Answer (Section 4.2.1):

Component-based process models promote software reuse and

reusability and can result in: 70% reduction in development cycle times,

84% reduction in project costs, and 70% increase in productivity.

3. Why has the Personal Software Process not been widely adopted by

industry?

Answer (Section 2.6.1):

PSP is intellectually challenging and demands a level of commitment (e.g.

lengthy and costly training required) that is not always possible to obtain.

In addition the required level of measurement is culturally hard for many

software practitioners.

Final Exam Questions

4. Why are evolutionary models considered by many to be the best approach to

software development in a modern context?

Answer (Section 4.1.3):

Because time lines for the development of modern software are getting

shorter and shorter, customers are becoming more diverse (making the

understanding of requirements even harder), and changes to

requirements are becoming even more common (before delivery), we

need a way to provide incremental or evolutionary delivery. The

evolutionary process accommodates uncertainty better than most process

models, allows the delivery of partial solutions in an orderly and planned

manner, and most importantly, reflects what really happens when complex

systems are built.

Chapter 5 - Test Questions

2. List the key issues stressed by an agile philosophy of software engineering.

Answer (Section 5.7):

The importance of self-organizing teams

Communication and collaboration between team members and customers

Recognition that change represents opportunity

Emphasis on rapid delivery of software that satisfies the customer

3. What are the tradeoffs proposes by the “Manifesto for Agile Software

Development”?

Answer (Section 5.1):

Individuals and interactions valued over processes and tools

Working software valued over comprehensive documentation

Customer collaboration valued over contract negotiation

Responding to change valued over following a plan

4. Describe the role of customers and end-users on an agile process team?

Answer (Section 5.4):

Customers and end-users participate as full collaborators on agile process

teams. They are the source of information used to create use cases and

provided needed information on the business value of proposed software

feature and functionality. They also provide much needed feedback on

operational prototypes during incremental delivery of software increments.

Final Exam Question

1. Describe the three key assumptions regarding software projects that every

agile software process must address.

Answer (Section 5.3):

It is difficult to predict in advance which software requirements and

customer priorities will change and which will not.

For many types of software design and construction must be interleaved, it

is difficult to predict how much design is needed before construction can

be used to prove the design.

Analysis, design, construction, and testing are not always predictable

processes and this makes planning difficult.

Chapter 6 - Test Questions

5. List the key attributes of an effective software teams.

Answer (Section 6.3):

Sense of purpose

Sense of involvement

Sense of trust

Sense of improvement

Diversity of team member skill sets

6. Describe the strengths and weaknesses of the random paradigm team

structure?

Answer (Section 6.4):

The random paradigm depends on the initiative of individual team

members. Good when innovation or technological breakthrough is

needed. These teams struggle when orderly performance is required.

7. Describe the five values held by XP teams?

Answer (Section 6.5):

Communication – close informal verbal communication among team

members and stakeholders and establishing meaning for metaphors as

part of continuous feedback

Simplicity – design for immediate needs nor future needs

Feedback – derives from the implemented software, the customer, and

other team members

Courage – the discipline to resist pressure to design for unspecified future

requirements

Respect – among team members and stakeholders

.

Final Exam Question

2. List environment characteristics that can be considered toxic to software

teams.

Answer (Section 6.3):

Frenzied work atmosphere

High frustration that causes friction among team members

Fragmented or poorly coordinated software process

Unclear definition of roles on the software team

Continuous and repeated exposure to failure

Differing and incompatible team member human traits

Chapter 8 - Test Questions

1. What are the six steps for requirements engineering?

Answer (Section 8.1):

Inception

Elicitation

Elaboration

Negotiation

Specification

Requirements validation

2. Describe the job of the requirements engineer with respect to stakeholder

collaboration?

Answer (Section 8.2.3):

The requirements engineer needs to identify areas of stakeholder

commonality, conflict, and inconsistency on the desired needs or features.

3. What are the benefits of using analysis patterns during the analysis modeling

process?

Answer (Section 8.5.2):

Patterns suggest solutions (a class, a function, or a behavior) that can be

reused when modeling future applications. Analysis patterns can speed up

the development of abstract analysis models by utilizing reusable models.

Facilitate the transformation of the analysis model into a design model by

suggesting design patterns and reliable solutions to common patterns.

Final Exam Question

1. What work products result from the requirements engineering process?.

Answer (Section 8.1):

The intent of requirements engineering is to provide stakeholders with a

written understanding of the problem, the work products produced include

usage scenarios, function and feature lists, and requirements models

Chapter 9 - Test Questions

1. Describe the purposes of domain analysis.

Answer (Section 9.1.3):

• Umbrella activity involving the Identification, analysis, and specification of

common requirements from a specific application domain, typically for

reuse in multiple projects

• Object-oriented domain analysis involves the identification, analysis, and

specification of reusable capabilities within a specific application domain

in terms of common objects, classes, subassemblies, and frameworks

2. Which UML (unified modeling language) diagrams are useful in scenario-based modeling?

Answer (Section 9.2):

• use-case diagrams

• activitiy diagrams

• swimlane diagrams

3. What questions should be asked to help refine a preliminary use case?.

Answer (Section 9.2.2):

• Can an actor take some other action at this point?

• Is it possible that the actor will encounter some error condition at this

point?

• Is it possible the actor will encounter some other behavior at this point?

Final Exam Questions

1. List the types of models that might be used in requirements modeling and

explain the role of each type of model

Answer (Section 9.1):

• Scenario-based (system from the user’s point of view)

• Data (shows how data are transformed inside the system)

• Class-oriented (defines objects, attributes, and relationships)

• Flow-oriented (shows how data are transformed inside the system)

• Behavioral (show the impact of events on the system states)

Chapter 10 - Test Questions

4. What types of nouns resulting from a grammatical parse should be

considered as potential analysis classes?

Answer (Section 10.1):

• External entities (systems, devices, people)

• Things (e.g. reports, displays, letters, signals)

• Events occurring during system operation

• Roles (e.g. manager, engineer, salesperson)

• Organizational units (e.g. division, group, team)

• Places

• Structures (e.g. sensors, vehicles, computers)

5. Describe the roles of the three sections of CRC (class responsibility

collaborator) cards?

Answer (Section 10.4):

• Class name identifies the data object uniquely.

• Responsibilities are the attributes and operations for the class.

• Collaborators are those classes required to provide a class with

information needed to complete a responsibility.

6. List three types of classes that may be present in the analysis model.

Answer (Section 10.4): Entity classes, Boundary classes, Controller classes

Final Exam Questions

2. List the characteristics that should be considered when considering potential

classes for inclusion in an analysis model

Answer (Section 10.1):

• Contains information that should be retained

• Provides needed services

• Contains multiple attributes

• Has common set of attributes that apply to all class instances

• Has common set of operations that apply to all object instances

• Represents external entity that produces or consumes information

Chapter 11 - Test Questions

7. What are the steps needed to build a behavioral model?

Answer (Section 11.1)

• Evaluate the use-cases to understand the interaction sequence within the

system.

• Identify events that drive the interaction sequence and how the events

relate to specific objects.

• Create an event trace for each use-case.

• Build a state transition diagram for the system.

• Review the object-behavior model to verify accuracy and consistency.

8. How should analysis patterns be documented once they are discovered?

Answer (Section 11.4)

The pattern documentation contains a description of the problem, the

prescribed solution, assumptions, constraints, motivations, driving forces,

advantages, disadvantages, and references to know applications.

9. Describe the contents of the WebApp content, functional, interaction, and

configuration models.

Answer (Section 11.5.3):

• Content model - structural elements that represent WebApp content

requirements (UML class diagrams)

• Functional model - user observable behavior delivered to end-users and

operations contained in analysis classes to implement class behaviors

(UML activity diagrams)

• Interaction model – indicates how users make use of the WebApp content

and functionality (use-cases, UML sequence diagrams, state diagrams,

user interface prototype)

• Configuration model - may be a list of server-side and client-side attributes

required for the WebApp (UML deployment diagrams)

Final Exam Questions

1. Under what circumstances should requirements modeling be utilized for

Web or mobile apps?

Answer (Section 11.5)

• Large or complex app to be built

• Large number of stakeholders

• Large number developers onapp team

• Development team members have not worked together before

• App success will have strong bearing on success of company

Chapter 12 - Test Questions

1. List three characteristics that can serve as a guide to evaluate design quality.

Answer (Section 12.2.1):

Design implements all explicit requirements from the analysis model, as well

as accommodating implicit customer requirements.

Design must be understandable to the people who generate the code to

implement design, those who test it, and those who support it.

Design must provide a complete picture of the software, addressing the data,

functional, and behavioral domains from an implementation perspective.

2. Explain how effective modular design is achieved through functional

independence of the individual modules?

Answer (Section 12.3.5):

Functional independence of modules is achieved by making modules single-minded (high cohesion) and preventing excessive interaction (low coupling)

with other modules or system elements. Independent modules are easier to

develop, maintain, and test, because the impact of side effects is reduced (as

is the propagation of errors). This also makes it easier to perform parallel

implementation of modules.

3. Describe the principle of information hiding as it applies to software design.

Answer (Section 12.3.6):

The principle of information hiding implies that modules only share

information with each other on a "need to know" basis to achieve some

specific software function. Hiding enforces the procedural constraints to both

the module procedural detail and any data structures local to the module.

Final Exam Question

1. List the four design models required for a complete specification of a software

design and the role of each.

Answer (Section 12.4):

Data design – high level model depicting user’s view of the data or

information.

Architecture design – shows relationships and collaborations among

specific analysis model software and hardware elements

Interface design – interface depicts a set of operations that describe the

externally observable behavior of a class and provides access to its

operations

Component-level design – describes the internal detail of each software

component

Deployment-level design – indicates how software functionality and

subsystems will be allocated in the physical computing environment that will

support the software

Chapter 13 - Test Questions

1. What are the elements that make up a software architectural style?

Answer (Section 13.3):

• Set of components that perform required system functions.

• Set of connectors allowing communications among the components.

• Constraints describing how the components maybe integrated to form a

system.

• Semantic models that enable the designer to understand the overall

system properties by analyzing the known properties of its components.

2. What is an archetype?

Answer (Section 13.6.2):

An archetype is a class or pattern that represents a core abstraction that is

critical to the design of an architecture for the target system.

3. Explain the key differences between thin client architectures and a rich client

architectures.

Answer (Section 13.6.6):

For mobile devices or web apps using thin client only the user interface layer

is implemented on the device, A rich client typical allocates the user interface

layer, business layer, and often the data layer too on the user’s device.

Final Exam Question

1. Describe the types of dependencies that can exist in an architectural design.

Answer (Section 13.7.2):

Sharing dependencies - represent the dependence relationships among

consumers whose use the same source or producers who have the same

consumers.

Flow dependencies - represent dependence relationships between producers

and consumers of resources

Constrained dependencies - represent constraints on the relative flow of

control among a set of activities

Chapter 14 - Test Questions

1. How does the object-oriented view of component-level design differ from the

traditional view?

Answer (Section 14.1.1 and 14.1.2):

The object-oriented view focuses on the elaboration of design classes that

come from both the problem and infrastructure domains. Classes are

elaborated by specifying messaging details, identifying interfaces, defining

attribute data structures, and describing process flow for operations. In the

traditional view, three of components are refined: control modules, domain

modules, and infrastructure modules. This requires representations to be

created for data structures, interfaces, and algorithms for each program

module in enough detail to generate programming language source code.

2. Describe the differences between the software engineering terms coupling

and cohesion?

Answer (Section 14.2.3 and 14.2.4):

Cohesion implies that a component or class encapsulates only the attributes

and operations closely related to one another and to the class itself. Coupling

is a qualitative measure of the degree to which components are connected to

one another.

3. Describe the component-level design for WebApps.

Answer (Section 14.4):

Component-level design incorporates elements of both content design and

functional design. Content design at the component level focuses on content

objects and then manner in which they may be packaged for presentation to a

WebApp end-user. A functional architecture that describes the key functional

components in the WebApp and how these components interact with each

other is also created.

4. What is the intent of domain engineering in CBSE?

Answer (Section 14.7.1):

The intent of domain engineering is to identify, construct, catalog, and

disseminate a set of software components that have applicability to existing

and future software products.

Final Exam Question

1. What are the steps used to complete the component-level design for a

software development project?

Answer (Chapter 14.3):

• Identify all design classes that correspond to the problem domain.

• Identify all design classes that correspond to the infrastructure domain.

• Elaborate all design classes that are not acquired as reusable

components.

• Identify persistent data sources (databases and files) and identify the

classes required to manage them.

• Develop and elaborate behavioral representations for each class or

component.

• Elaborate deployment diagrams to provide additional implementation

detail.

• Factor every component-level diagram representation and consider

alternatives.

2. Describe what is accomplished during the component qualification,

adaptation, and composition activities of component-based development.

Answer (Section 14.7.2):

• Component qualification is the task of examining candidate library

components and ensuring that they perform the function required for

the new application.

• During component adaptation any component conflicts that surface

when a library component is added to the new application are dealt

with by wrapping the component (sometimes a new component must

be engineered).

• During component composition, the qualified, adapted, and newly

engineered components are used to populate the new application

architecture.

Chapter 15 - Test Questions

1. List three principles that should be applied when building any user interface.

Answer (Section 15.1):

• Place user in control.

• Reduce user's memory load.

• Make the interface consistent.

2. What framework activities are completed when following an evolutionary (or

spiral) user interface development process?

Answer (Section 15.2.2):

• User, task, and environmental analysis

• Interface design

• Interface construction

• Interface validation

3. List four interface design issues present in the development of most user

interfaces.

Answer (Section 15.4.3):

• System response time

• User help facilities

• Error information handling

• Menu and command labeling

• Application accessibility

• Internationalization

4. What are the primary design objectives of a WebApp interface?

Answer (Section 15.5):

The WebApp interface should be design a WebApp interface so it answers

three primary questions for the end-user:

Where am I?”

What can I do now?

Where have I been, where am I going?

Final Exam Question

1. What elements of a user interface design can be evaluated without building a

working computer prototype?

Answer (Section 15.6):

The length and complexity of the interface specification (provides insight into

learning effort required by user).

The number of user tasks specified and the number of user actions required

to complete each (provide estimates of system efficiency). Number of tasks,

actions, and states in the design model (imply the memory load imposed on

the user).

Interface style, help facilities, and error handling protocol provide a general

indication of complexity of the interface and its acceptance by the users.

Chapter 19 - Test Questions

1. What are three dimensions of software quality?

Answer (Section 19.2):

• An effective software process establishes the infrastructure that supports

any effort at building a high quality software product.

• A useful product delivers the content, functions, and features that the end-user desires, but as important, it delivers these assets in a reliable, error

free way.

• By adding value for both the producer and user of a software product, high

quality software provides benefits for the software organization and the

end-user community.

2. Describe the costs associated with software quality work?

Answer (Section 19.3.2):

• Prevention costs - quality planning, formal technical reviews, test

equipment, training

• Appraisal costs - in-process and inter-process inspection, equipment

calibration and maintenance, testing

• Internal failure costs - rework, repair, failure mode analysis

• External failure costs - complaint resolution, product return and

replacement, help line support, warranty work

3. What practices should software engineers follow to enhance the quality of

software produced by their team?

Answer (Section 19.4):

• Software quality is the result of good project management and solid

engineering practice

• To build high quality software you must understand the problem to be

solved and be capable of creating a quality design the conforms to the

problem requirements

• Eliminating architectural flaws during design can improve quality

Final Exam Question

1. Discuss how poor management decisions can impact software quality?

Answer (Section 19.3.6):

• Estimation decisions – irrational delivery date estimates cause teams to

take short-cuts that can lead to reduced product quality

• Scheduling decisions – failing to pay attention to task dependencies when

creating the project schedule may force the project team to test modules

without their subcomponents and quality may suffer

• Risk-oriented decisions – reacting to each crisis as it arises rather than

building in mechanisms to monitor risks and having established

contingency plans may result in products having reduced quality

Chapter 20 - Test Questions

1. What are the goals for any product review?

Answer (Section 20.1):

• Point out needed improvements in the product of a single person or team

• Confirm those parts of a product in which improvement is either not

desired or not needed

• Achieve technical work of more uniform, or at least more predictable,

quality than can be achieved without reviews, in order to make technical

work more manageable

2. What effect do software reviews have on software production costs?

Answer (Section 20.1):

• Industry studies suggest that design activities introduce 50-65% of all

defects or errors during the software process

• Review techniques have been shown to be up to 75% effective in

uncovering design flaws which ultimately reduces the cost of subsequent

activities in the software process

3. What are the differences between a review summary report and a review

issues list?

Answer (Section 20.6.2):

Review Summary Report

• What was reviewed?

• Who reviewed it?

• What were the findings and conclusions?

Review Issues List

• Identifies problem areas within product

• Serves as action list to guide the work product creator as corrections are

made before it occurs or the rapid detection of a quality problem if one is

introduced.

Final Exam Question

1. What is a formal technical review and why is one conducted? Outline the

steps required to conduct a successful FTR?

Answer (Section 20.6):

The purpose of an FTR is to have a group of software engineers examine a

discrete work product and determine whether on not the product is free of

defects using the software specifications and standards as the review criteria.

To perform a successful FTR, the steps described in Section 15.6.3 are

conducted.

Chapter 22 - Test Questions

1. Why is regression testing an important part of any integration testing

procedure?

Answer (Section 22.3.2):

The goal of integration testing is to make sure that independent modules that

work correctly on their own do not interfere with one another when added to

the same program (unforeseen side effects are always possible). Regression

testing checks for defects propagated to other modules by changes made to

an existing program.

2. Describe object-oriented unit testing.

Answer (Section 22.4.1):

Class testing for OO software is equivalent to unit testing for conventional

software. The focus throughout is on designing and testing appropriate

sequences of operations to exercise all class states. It makes little sense to

test operations or algorithms individually for classes.

3. List four types of systems tests.

Answer (Section 22.8):

• Recovery testing

• Security testing

• Stress testing

• Performance testing

Final Exam Question

1. What are the key differences between validation testing goals and

acceptance testing goals?

Answer (Section 22.7):

In validation testing, the test team seeks to ensure that each software function

or performance characteristic conforms to its specification. In acceptance

testing, the test team needs to ensure that the software works correctly for the

intended user in his or her normal work environment.

Chapter 25 - Test Questions

2. Summarize the steps used in a WebApp testing strategy..

Answer (Section 25.1.3):

• WebApp content model is reviewed to uncover errors.

• Interface model is reviewed to ensure all use-cases are accommodated.

• Design model for WebApp is reviewed to uncover navigation errors.

• User interface is tested to uncover presentation errors and/or navigation

mechanics problems.

• Selected functional components are unit tested.

• Navigation throughout the architecture is tested.

• WebApp is implemented in a variety of different environmental

configurations and the compatibility of WebApp with each is assessed.

• Security tests are conducted.

• Performance tests are conducted.

• WebApp is tested by a controlled and monitored group of end-users

(looking for content errors, navigation errors, usability concerns,

compatibility issues, reliability, and performance).

3. What are the objectives for content testing?

Answer (Section 25.3.1):

• Uncover syntactic errors in all media (e.g. typos)

• Uncover semantic errors (e.g. errors in completeness or accuracy)

• Find errors in organization or structure of content presented to end-user

4. What is the difference between load testing and stress testing?

Answer (Section 25.9):

Load testing attempts to determine how the WebApp and its server-side

environments respond to various load conditions. Stress testing is a

continuation of load testing that seeks to have the number of user,

transactions, and data load meet and exceed operational limits.

Final Exam Question

1. Describe the WebApp interface testing strategy.

Answer (Section 25.4.1):

• Interface features are tested to ensure that design rules, aesthetics, and

related visual content is available for user without error.

• Individual interface mechanisms are tested using unit testing strategies.

• Each interface mechanism is tested in the context of a use-case of

navigation semantic unit (e.g. thread) for a specific user category

• Complete interface is tested against selected use-cases and navigation

semantic unit to uncover interface semantic errors

• Interface is tested in a variety of environments to ensure compatibility

Chapter 26 - Test Questions

3. List guidelines that should be followed in a MobileApp testing strategy.

Answer (Section 26.1):

• Understand the network landscape and device landscape.

• Conduct testing in uncontrolled real-world test conditions.

• Select the right automation test tool.

• Identify the most critical hardware/ platform combinations to test.

• Check the end-to-end functional flow in all possible platforms at least

once.

• Conduct performance, GUI, and compatibility testing using actual devices.

• Measure MobileApp performance under realistic network load conditions.

4. List the quality attributes that should be tested for a MobileApp.

Answer (Section 26.2):

• Functionality

• Reliability

• Usability

• Efficiency

• Maintainability

• Portability

5. What is the testing in the wild for MobileApps?

Answer (Section 26.5):

Some of the characteristics of in-the-wild testing include: adverse and

unpredictable environments, outdated browsers and plug-ins, unique

hardware, and imperfect connectivity (both Wi-Fi and mobile carrier). In order

to mirror real-world conditions, the demographic characteristics of your testers

should match those of your targeted users, as well as matching their devices.

In addition, you should include use-cases involving small numbers of users,

less popular browsers, as well as a diverse set of mobile devices.

Final Exam Question

2. What types of testing should be followed in a comprehensive MobileApp

testing strategy.

Answer (Section 26.2):

Conceptual Testing

Unit and System Testing

User Experience Testing

Stability Testing

Connectivity Testing

Performance Testing

Compatibility Testing

Security Testing

Certification Testing

Chapter 31 - Test Questions

1. What are the four P's of effective project management?

Answer (Section 31.1):

people, product, process, and project

2. What steps can be take to avoid many of the problems that cause software

projects to fail?

Answer (Section 31.5):

• Start on the right foot

• Maintain momentum

• Track progress

• Make smart decisions

• Conduct a postmortem analysis

3. List 4 of the 6 critical software practices required by performance-based

management.

Answer (Section 31.7):

formal risk management

empirical cost and schedule estimation

metric-based project management

earned value tracking

defect tracking against quality targets

people-aware program management

Final Exam Question

1. How is software scope defined?

Answer (Section 31.3.1)

By defining how the software to be built fits into a larger systems, product, or

business context and the constraints imposed by the context. Determining

what visible objects the customer expects to see as output and what input

objects are required to produce them. Determining the software function

needed transform input to output and any special performance

characteristics. Attempting to bound all information quantitatively, when

possible, and descriptively, when numbers cannot be used.

Chapter 32 - Test Questions

1. How do software process metrics differ from software project metrics?

Answer (Section 32.1):

Process metrics are used to make strategic decisions about how to complete

(and ultimately, improve) common process framework activities while project

metrics are used to monitor progress during a software development project

and to control product quality.

2. What are the goals for using object-oriented software metrics?

Answer (Section 32.2.4):

• To better understand product quality

• To assess effectiveness of the process

• To improve the quality of work performed at the project level

3. What are four useful indicators of software quality that should have measures

defined and monitored by the software project team?

Answer (Section 32.3.1):

correctness, maintainability, integrity, usability

4. Why is it important for software developers to make use of measurement to

guide their work?

Answer (Section 32.4.1):

Developers need to measure so that they can tell whether they are improving

or not. Without measurements this is extremely difficult to achieve.

Final Exam Question

1. Explain how size-oriented metrics differ from function-oriented metrics.

Discuss the pros and cons of each.

Answer (Section 32.2.3)

Size-oriented measures are computed by normalizing direct measures of the

software engineering process (e.g. effort or defects) over the product size,

measured in lines of code. Function-oriented measures are indirect measures

that are computed from measures of the information domain of a business

application and an assessment of its complexity. Size-oriented metrics are

relatively easy to collect, but can present problems when component-based

or visual programming methods are applied. Function-oriented metrics can be

determined much earlier in the software cycle, but are an abstraction that is

open to interpretation.

Chapter 33 - Test Questions

1. What is the objective of project planning?

Answer (Section 33.2):

To provide managers with a framework to make reasonable estimates of the

resources and time required for building a software product.

2. Why is a feasibility assessment part of the planning process?

Answer (Section 33.3):

If a project is not technically possible, there is no point in trying to build it. But

technical feasibility is not the whole story. The project must also fulfill a

business need to avoid building a high tech product that does not have any

customers.

3. What resources are typically included in the project estimation process?

Answer (Section 33.4):

Human resources (number of people and skills needed)

Reusable software resources (off-the-shelf components, work products from

past projects, new components that must be built)

Environmental resources (availability and scheduling needed development

hardware and software).

Final Exam Question

1. Why is the "make-buy" decision and deciding whether or not to outsource

software development an important part of the software planning process?

Answer (Section 33.10):

It maybe more cost effective to acquire a piece of software, rather than

develop it. Similarly, deciding to outsource software development frees

resources for other purposes (or reduces expenses) but it makes outsourcing

can make it harder to control and manage delivery times and development

costs.

Chapter 34 - Test Questions

1. List 3 principles for scheduling software projects.

Answer (Section 34.2.1):

Compartmentalization, interdependency, time allocation, effort validation,

defined responsibilities, defined outcomes, defined milestones

2. In software project scheduling work, what is a task (or activity) network?

Answer (Section 34.4):

A task network is a graphic representation depicting software engineering

task dependencies and the workflow for a project.

3. What is "earned value analysis" as it relates to project scheduling?

Answer (Section 34.6):

Earned value is a measure of progress. It enables you to assess the “percent

of completeness” of a project using quantitative analysis rather than rely on a

gut feeling.

Final Exam Question

1. Approximately what percent of the project time line should be devoted to each

of the activities listed below?

Planning ______

Analysis ______

Design ______

Coding ______

Testing ______

If you could expend more time in one activity, which would have the highest

likelihood of improving software quality? Why?

Answer (Section 34.2):

Planning 2-3%

Analysis 10-25%

Design 20-25%

Coding 15-20%

Testing 30-40%

Expend more time in design because design is the place where quality is built

into a product.

Chapter 35 - Test Questions

1. How are project risks different from technical risks?

Answer (Section 35.2):

Project risks threaten the project plan, if they become real the schedule may

slip or the cost will increase. Technical risks threaten the product quality or

timeliness, if they become real implementation becomes more difficult or

impossible.

2. Describe the process of building a risk table.

Answer (Section 35.4.1):

Project teams begin by listing all risks. Each risk is categorized by type and its

probability is estimated. The impact value of each risk is assessed. Risk

probability and impact are used to sort the table. Risks are then classified as

high impact or low impact by defining a "cutoff" line. High impact risks (those

above the line) receive management attention.

3. List three issues that must be dealt with in an effective strategy for dealing

with risk.

Answer (Section 35.6):

Risk avoidance, risk monitoring, risk management & contingency planning

Final Exam Question

1. Describe all activities that must occur in order to produce a Risk Mitigation,

Monitoring, and Management Plan.

Answer (Chapter 35.7):

Risk Identification - determine the risks that are appropriate

Risk Projection - determine the likelihood that each risk will occur and the

damage likely to occur

Risk Mitigation - figuring out strategies to avoid the risks

Risk Management and Contingency Planning - assuming each risk becomes

a reality determine ways to limit their impact

Chapter 36 - Test Questions

1. What is forward engineering?

Answer (Section 36.5.2):

Forward engineering recovers design information from existing source code

and uses this information to reconstitute the system and improve its quality

and/or performance.

2. What activities are associated with reverse engineering?

Answer (Section 36.6):

Understanding process (source code analysis), understanding data internal

structures and databases, reconstructing user models from user interface

structure and behavior

3. What are the benefits of software restructuring?

Answer (Section 36.7):

Improved program and documentation quality

Makes software easier to learn, reduces frustration, and improves

productivity

Reduces effort required to maintain software

Software is easier to test and debug

Final Exam Question

1. How does business process reengineering (BPR) differ from software

reengineering?

Answer (Section 36.4):

BPR defines business goals, identifies and evaluates existing business

processes, and creates revised business processes that better meet current

goals. The software reengineering process activities have as their intent the

creation of new versions of existing programs that exhibit higher quality and

higher maintainability.


本文标签: 素材 作者 出来