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.
版权声明:本文标题:软件工程问答题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705575031h490616.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论