文档库 最新最全的文档下载
当前位置:文档库 › 软件工程选择题

软件工程选择题

第一章练习题

1.Which question no longer concerns the modern software engineering Answer: a

a.Why does computer hardware cost so much?

b.Why does software take a long time to finish?

c.Why does it cost so much to develop a piece of software?

d.Why can't software errors be removed from products prior to delivery?

2.Today the increased power of the personal computer has brought about an abandonment of

the practice of team development of software. Answer: b

a.True

b.False

3.Software is a product and can be manufactured using the same technologies used for other

engineering artifacts. Answer: b

a.True

b.False

4.Software deteriorates rather than wears out because Answer: c

a.Software suffers from exposure to hostile environments.

b.Defects are more likely to arise after software has been used often.

c.Multiple change requests introduce errors in component interactions.

d.Software spare parts become harder to order.

5. Most software continues to be custom built because Answer: d

a. Component reuse is common in the software world.

b. Reusable components are too expensive to use.

c. Software is easier to build without using someone else's components.

d. Off-the-shelf software components are unavailable in many application domains.

6. The nature of software applications can be characterized by their information Answer: d

a. complexity

b. content

c. determinacy

d. both b and c

7. Change cannot be easily accommodated in most software systems, unless the system was designed with change in mind. Answer: a

a.True

b.False

8. The functionality of most computer systems does not need to be enhanced the lifetime of the system. Answer: b

a.True

b.False

第二章练习题

1.Which of the items listed below is not one of the software engineering layers? Answer: b

a.Process

b.Manufacturing

c.Methods

d.Tools

2.Software engineering umbrella activities are only applied during the initial phases of

software development projects. Answer: b

a.True

b.False

3.Which of these are the 5 generic software engineering framework activities? Answer: a

https://www.wendangku.net/doc/3a2684389.html,munication, planning, modeling, construction, deployment

https://www.wendangku.net/doc/3a2684389.html,munication, risk management, measurement, production, reviewing

c.analysis, designing, programming, debugging, maintenance

d.analysis, planning, designing, programming, testing

4.Which of these terms are level names in the Capability Maturity Model? Answer: e

a.Performed

b.Repeated

c.Reused

d.Optimized

e.Both a and d

5.Which of the items listed below is not one of the software engineering layers? Answer: b

a.Process

b.Manufacturing

c.Methods

d.Tools

6.Software engineering umbrella activities are only applied during the initial phases of

software development projects. Answer: b

a.True

b.False

7.Which of these are the 5 generic software engineering framework activities? Answer: a

https://www.wendangku.net/doc/3a2684389.html,munication, planning, modeling, construction, deployment

https://www.wendangku.net/doc/3a2684389.html,munication, risk management, measurement, production, reviewing

c.analysis, designing, programming, debugging, maintenance

d.analysis, planning, designing, programming, testing

8.Which of these terms are level names in the Capability Maturity Model? Answer: e

a.Performed

b.Repeated

c.Reused

d.Optimized

e.Both a and d

第三章练习题

1.The linear sequential model of software development is Answer:a

a. A reasonable approach when requirements are well defined.

b. A good approach when a working program is required quickly.

c.The best approach to use for projects with large development teams.

d.An old fashioned model that cannot be used in a modern context.

2.The linear sequential model of software development is also known as the

Answer:e

a.Classical life cycle model

b.Fountain model

c.Spiral model

d.Waterfall model

e.both a and d

3.The incremental model of software development is Answer:b

a. A reasonable approach when requirements are well defined.

b. A good approach when a working core product is required quickly.

c.The best approach to use for projects with large development teams.

d. A revolutionary model that is not used for commercial products.

4.The rapid application development model is Answer:c

a.Another name for component-based development.

b. A useful approach when a customer cannot define requirements clearly.

c. A high speed adaptation of the linear sequential model.

d.All of the abov

e.

5.Evolutionary software process models Answer:d

a.Are iterative in nature

b.Can easily accommodate product requirements changes

c.Do not generally produce throwaway systems

d.All of the above

6.The prototyping model of software development is Answer:b

a. A reasonable approach when requirements are well defined.

b. A useful approach when a customer cannot define requirements clearly.

c. The best approach to use for projects with large development teams.

d. A risky model that rarely produces a meaningful product.

7. Which of these is not one of the phase names defined by the Unified Process model for

software development? Answer:d

a.Inception phase

b.Elaboration phase

c.Construction phase

d.Validation phase

8. In the Unified Process model requirements are determined iteratively and may span more

than one phase of the process. Answer:a

a.True

b.False

第四章练习题

1.Agility is nothing more than the ability of a project team to respond rapidly to change.

Answer: b

a.True

b.False

2.Which of the following is not necessary to apply agility to a software process? Answer: a

a.Eliminate the use of project planning and testing

b.Only essential work products are produced

c.Process allows team to streamline tasks

https://www.wendangku.net/doc/3a2684389.html,es incremental product delivery strategy

3.How do you create agile processes to manage unpredictability? Answer: e

a.Requirements gathering must be conducted very carefully

b.Risk analysis must be conducted before planning takes place

c.Software increments must be delivered in short time periods

d.Software processes must adapt to changes incrementally

e.Both c and d

4.Which of the following traits need to exist among the members of an agile software team?

https://www.wendangku.net/doc/3a2684389.html,petence

b.Decision-making ability

c.Mutual trust and respect

d.All of the abov

e. Answer: d

5. All agile process models conform to a greater or lesser degree to the principles stated in the "Manifesto for Agile Software Development". Answer: a

a.True

b.False

6. What are the four framework activities found in the Extreme Programming (XP) process model?

Answer: d

a. analysis, design, coding, testing

b. planning, analysis, design, coding

c. planning, analysis, coding, testing

d. planning, design, coding, testing

7. What are the three framework activities for the Adaptive Software Development (ASD) process model? Answer: d

a.analysis, design, coding

b.feasibility study, functional model iteration, implementation

c.requirements gathering, adaptive cycle planning, iterative development

d.speculation, collaboration, learning

8. Which is not one of the key questions that is answered by each team member at each daily Scrum meeting? Answer: c

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?

第五章练习题

1. Which of the following can be elements of computer-based systems? Answer: e

a.documentation

b.software

c.hardware

d.people

e.all of above

2.To construct a system model the engineer should consider which of the following restraining factors? Answer: e

f.assumptions

g.budget

h.constraints

i.schedule

j.both a and c

3.During business process engineering, three different architectures are examined. Answer:a

e.applications, data, technology infrastructure

https://www.wendangku.net/doc/3a2684389.html,munications, organization, financial infrastructure

https://www.wendangku.net/doc/3a2684389.html,work, database, reporting structure

h.systems, requirements, data structure

4.The goal of product engineering is to translate the customer's desire for a set of defined capabilities into a working product. Answer: a

i.True

j.False

5. UML notations that can be used to model the hardware and software elements of a system are

a.Activity diagrams Answer: e

b.Class diagrams

c.Deployment diagrams

https://www.wendangku.net/doc/3a2684389.html,e-case diagrams

e.a, b, and c

6. The system model template contains which of the following elements Answer: d

a. input

b. output

c. user interface

d. all of above

7. The top level of the hierarchical model of a system is known as the Answer: c

a.AFD

b.DFD

c.SCD

d.SFD

8. Select any large system or product with which you are familiar. Define the set of domains that describe the world view of the system or product. Describe the set of elements that make up one or two domains. For one element, identify the technical components that must be engineered.

BPE (Business Process Engineering)

world view: bank

domains: loans, savings, foreign exchange

elements of savings: Window service, Online service, ATM service

technical components of Online service: customer identify (security), communication, database

Product Engineering

world view: smart phone

domains: chipset, software

elements of software: OS, application platform

technical components of application platform:

communication, security, utility (telephone book, calendar)

第六章练习题

1.In requirements validation the requirements model is reviewed to ensure its technical

feasibility. Answer: b

a.True

b.False

2.In win-win negotiation, the customer's needs are met even though the developer's need may not be. Answer: b

a.True

b.False

3.Which of the following is not one of the context-free questions that would be used during project inception? Answer: b

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?

4. The use of traceability tables helps to Answer: c

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

5. The system specification describes the Answer: a

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

6. Use-case actors are always people, never system devices. Answer: b

a. True

b. False

7. Which of the following is not one of the requirement classifications used in Quality

Function Deployment (QFD)? Answer: c

a.exciting

b.expected

c.mandatory

d.normal

8. Develop a complete use-case for one of the following activities.

a.Making a withdrawal at an A TM

https://www.wendangku.net/doc/3a2684389.html,ing your charge card for a meal at a restaurant

c.Searching for books (on a specific topic) using an on-line bookstore

Solution a

Use-case: withdrawal at an ATM

Primary actor: customer, bank card, A TM

Precondition: ATM is ready

Trigger: customer decides to make a withdrawal

Scenario:

Customer insert bank card into ATM

Customer input password

Customer press the withdrawal Customer input the number of money

Customer gets the money

Customer takes out the bank card Exception: The bank card is not recognized – see abnormal process Password is incorrect or not recognized –

Money does not get out – see abnormal process

The bank card can not be took out – see abnormal process

Solution b:

Use-case: using charge card at a restaurant

Primary actor: customer, cashier, charge card, card reader

Precondition: card reader is ready

Trigger: customer decides to pay by charge card Scenario:

1. Cashier insert charge card into card reader

2. Customer input password

3. Cashier input the number of money

4. Card reader prints the receipt

5. Cashier takes out the charge card

6. Customer signs the receipt

Exception:

1. The charge card is not recognized –

2. Password is incorrect or not recognized – see abnormal process

3. receipt does not get out – see abnormal process

4. The charge card can not be took out – see abnormal process

Solution c:

Use-case: searching for books

Primary actor: customer

Precondition: customer registration starts Trigger: customer decides to search for books

Scenario:

1. Customer input ID and password

2. Customer input specific topic

3. Book list is displayed

4. Customer checks the books

Exception: 1. Password is incorrect or not recognized – 2. Internet disconnect – see abnormal process

第七章练习题

1. Which of these is not an element of an object-oriented analysis model? Answer: c

a. Behavioral elements

b.Class-based elements

c.Data elements

d.Scenario-based elements

2.Which of the following is not an objective for building an analysis model? Answer: c

a.define set of software requirements that can be validated

b.describe customer requirements

c.develop an abbreviated solution for the problem

d.establish basis for software design

3.The data flow diagram Answer: e

a.depicts relationships between data objects

b.depicts functions that transform the data flow

c.indicates how data are transformed by the system

d.indicates system reactions to external events

e.both b and c

4.Which of the following items does not appear on a CRC card? Answer: c

a.class collaborators

b.class name

c.class reliability

d.class responsibilities

5. For purposes of behavior modeling a state is any Answer: c

a.consumer or producer of data.

b.data object hierarchy.

c.observable mode of behavior.

d.well defined process.

6. Attributes cannot be defined for a class until design has been completed. Answer: b

a. True

b. False

7. Operations are object procedures that are invoked when an object receives a message.

a. True Answer: a

b. False

8. UML activity diagrams are useful in representing which analysis model elements?

a. Behavioral elements Answer: d

b. Class-based elements

c. Flow-based elements

d. Scenario-based elements

9. Which of the following should be considered as candidate objects in a problem space?

a. events

b. people Answer: d

c. structure

d. all of the above

10. In a few sentences, try to describe the primary differences between structured analysis

and object-oriented analysis.

Answer: Structured analysis begins with a consideration of the data objects that the system must manipulate. In structured analysis the data objects are described with a data dictionary and the entity relation diagram (ERD) depicts relationships between data objects. The flow and transformation of data through a system are represented using the data flow diagram (DFD). The

structured analysis also incorporates a behavioral modeling notation called the state transition diagram (STD). In the object oriented analysis model, class-based elements model the objects that the system will manipulate, the operations that will be applied to the objects to effect the manipulation, relationships (some hierarchical) between the objects, and the collaborations that occur between the classes that are defined. In addition the OO model represents the behavior of objects and the behavior of the system as a whole.

第八章练习题

1.Which of the following are areas of concern in the design model? Answer: e

a.architecture

b.data

c.interface

d.project scope

e.a, b and c

2.Which of these are characteristics of a good design? Answer: e

a.exhibits strong coupling between its modules

b.implements all requirements in the analysis model

c.includes test cases for all components

d.provides a complete picture of the software

e.both b and d

https://www.wendangku.net/doc/3a2684389.html,rmation hiding makes program maintenance easier by hiding data and procedure from

unaffected parts of the program. Answer: a

a.True

b.False

4.Cohesion is a qualitative indication of the degree to which a module Answer: b

a.can be written more compactly.

b.focuses on just one thing.

c.is able to complete its function in a timely manner.

d.is connected to other modules and the outside world.

5. Coupling is a qualitative indication of the degree to which a module Answer: d

a.can be written more compactly.

b.focuses on just one thing.

c.is able to complete its function in a timely manner.

d.is connected to other modules and the outside world.

6. Polymorphism reduces the effort required to extend an object system by Answer: b

a.coupling objects together more tightly.

b.enabling a number of different operations to share the same name

c.making objects more dependent on one another.

d.removing the barriers imposed by encapsulation.

7. Which design model elements are used to depict a model of information represented from

the user's view? Answer: c

a.Architectural design elements

https://www.wendangku.net/doc/3a2684389.html,ponent-level design elements

c.Data design elements

d.Interface design elements

8. Which design is analogous to the floor plan of a house? Answer: a

a. Architectural design elements

b. Component-level design elements

c. Data design elements

d. Interface design elements

9. Which design model is analogous to the detailed drawings of the access points and

external utilities for a house? Answer: d

a.Architectural design elements

https://www.wendangku.net/doc/3a2684389.html,ponent-level design elements

c.Data design elements

d.Interface design elements

10. Which design model is analogous to a set of detailed drawings for each room in a house?

a. Architectural design elements Answer: b

b. Component-level design elements

c. Data design elements

d. Interface design elements

11. The deployment design elements specify the build order for the software components.

a. True Answer: b

b. False

12. One of the key problems in software reuse is the inability to find existing reusable design

patterns when hundreds of candidates exist. Answer: a

a. True

b. False

第九章练习题

1.An architectural style encompasses which of the following elements?Answer: e

a.constraints

b.set of components

c.semantic models

d.syntactic models

e.a, b and c

2.During the process of modeling the system in context, systems that interact with the target

system are not represented as Answer: d

a.Peer-level systems

b.Subordinate systems

c.Super-ordinate systems

d.Working systems

3.When the overall flow in a segment of a data flow diagram is largely sequential and

follows straight-line paths, _________ is present. Answer: d

a.low coupling

b.Good modularity

c.transaction flow

d.transform flow

4.When you encounter both transform flow and transaction flow in the same DFD the flow

is partitioned and the appropriate mapping technique is used on each part of the DFD.

a.True Answer: a

b.False

5. When a single item that triggers other data flow along one of many paths of a data flow

diagram, ________ characterizes the information flow.Answer: c

a.high coupling

b.poor modularity

c.transaction flow

d.transform flow

6. In transaction mapping the first level factoring results in the Answer: b

a.creation of CFD.

b.derivation of control hierarchy

c.distribution of work modules

d.refinement of the module view

7. A successful application of transform or transaction mapping to create an architectural

design is supplemented by Answer: e

a.entity relationship diagram

b.module interface descriptions

c.processing narratives for each module

d.test case for each module

e.Both b and c

8. The best representation of system architecture is an operational software prototype. Answer: b

a. True

b. False

第十章练习题

1.In the context of object-oriented software engineering a component contains Answer: d

a.attributes and operations

b.instances of each class

c.roles for each actor (device or user)

d. a set of collaborating classes

2.In traditional software engineering, modules must serve in which of the following roles?

a.Control component Answer: d

b.Infrastructure component

c.Problem domain component

d.All of the above

3.Which of the following is not one of the four principles used to guide component-level design?

a.Dependency Inversion Principle Answer: b

b.Parsimonious Complexity Principle

c.Interface Segregation Principle

d.Open-Closed Principle

4.Classes and components that exhibit functional, layer, or communicational cohesion are

relatively easy to implement, test, and maintain. Answer: a

a.True

b.False

5. In component design, elaboration does not require which of the following elements to be

described in detail?Answer: a

a.Source code

b.Attributes

c.Interfaces

d.Operations

e.b, c and d

6. In component-level design "persistent data sources" refer to Answer: e

https://www.wendangku.net/doc/3a2684389.html,ponent libraries

b.Databases

c.Files

d.All of the above

e.Both b and c

7. The object constraint language (OCL) complements UML by allowing a software engineer

to use a formal grammar to construct unambiguous statements about design model elements.

a.True Answer: a

b.False

8. Which of these criteria are useful in assessing the effectiveness of a particular design notation?

a. maintainability

b. modularity

c. simplicity

d. size

e. a, b, and c

Answer: e

第十一章练习题

1.Which of the following interface design principles does not allow the user to remain in

control of the interaction with a computer?Answer: d

a.allow interaction to interruptible

b.allow interaction to be undoable

c.hide technical internals from casual users

d.only provide one defined method for accomplishing a task

2.Which of the following interface design principles reduces the user's memory load?

a.define intuitive shortcuts Answer: e

b.disclose information in a progressive fashion

c.establish meaningful defaults

d.provide an on-line tutorial

e.answers a, b and c

3.Interface consistency implies that Answer: e

a.each application should have its own distinctive look and feel

b.input mechanisms remain the same throughout the application

c.navigational methods are context sensitive

d.visual information is organized according to a design standard

e.both b and d

4.The reason for reducing the user's memory load is make his or her interaction with the

computer quicker to complete. Answer: b

a.True

b.False

5. Which model depicts the profile of the end users of a computer system?Answer: c

a.design model

b.implementation model

https://www.wendangku.net/doc/3a2684389.html,er model

https://www.wendangku.net/doc/3a2684389.html,er's model

6. Which of these framework activities is not normally associated with the user interface

design processes? Answer: a

a.cost estimation

b.interface construction

c.interface validation

https://www.wendangku.net/doc/3a2684389.html,er and task analysis

7. Which approach(es) to user task analysis can be useful in user interface design? Answer: e

a.have users indicate their preferences on questionnaires

b.rely on the judgement of experienced programmers

c.study existing computer-based solutions

d.observe users performing tasks manually

e.both c and d

8. Several usability measures can be collected while observing users interacting with a computer system including Answer: e

a. down time for the application

b. number of user errors

c. software reliability

d. time spent looking at help materials

e. both b and d

9.If past interactive models have created certain user expectations it is not generally good to make changes to the model. Answer: a

a.True

b. False

10. Which model depicts the image of a system that an end user creates in his or her head?

a.design model Answer: d

https://www.wendangku.net/doc/3a2684389.html,er model

c.system model

d.system perception

11. Which of these framework activities is normally associated with the user interface design processes? Answer: e

a.cost estimation

b.interface construction

c.interface validation

https://www.wendangku.net/doc/3a2684389.html,er and task analysis

e.b, c and d

7. Which approach(es) to user task analysis can be useful in user interface design? Answer: d

a.have users indicate their preferences on questionnaires

b.rely on the judgement of experienced programmers

c.study existing project management

d.observe users performing tasks manually

8. Several common design issues surface for almost every user interface including Answer: e

a. adaptive user profiles

b. error handling resolution of graphics

c. response time

d. displays system

e. both b and d

第十二章练习题

1.What is the normal order of activities in which traditional software testing is organized?

a.integration testing, unit testing, system testing, validation testing Answer: c

b.validation testing, unit testing, integration testing, system testing

c.unit testing, integration testing, validation testing, system testing

d.system testing, validation testing, integration testing, unit testing

2.Which of the following strategic issues needs to be addressed in a successful software

testing process? Answer: e

a.conduct formal technical reviews prior to testing

b.specify requirements in a quantifiable manner

https://www.wendangku.net/doc/3a2684389.html,e independent test teams

d.wait till code is written prior to writing the test plan

e.answers a and b

3.Which of the following need to be assessed during unit testing? Answer: e

a.algorithmic performance

b.code stability

c.error handling

d.execution paths

e.both c and d

4.Drivers and stubs are not needed for unit testing because the modules are tested

independently of one another. Answer: b

a.True

b.False

5. Top-down integration testing has as it‘s major advantage(s) that Answer: e

a.low level modules never need testing

b.major decision points are tested early

c.no drivers need to be written

d.no stubs need to be written

e.both b and c

6. Bottom-up integration testing has as it's major advantage(s) that Answer: c

a.major decision points are tested early

b.no drivers need to be written

c.no stubs need to be written

d.regression testing is not required

7.The OO testing integration strategy involves testing Answer: a

a.groups of classes that collaborate or communicate in some way

b.single operations as they are added to the evolving class implementation

c.operator programs derived from use-case scenarios

d.none of the above

8. Which of the following is an approach to debugging? Answer: e

a. backtracking

b. cause elimination

c. brute force

d. code restructuring

e. a, b and c

9. When testing object-oriented software it is important to test each class operation separately

as part of the unit testing process. Answer: b

a.True

b.False

10. Which of the following tests is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption?Answer: d

a.security testing

b.performance testing

c.stress testing

d.recovery testing

第十三章练习题

1.Which of the following are characteristics of testable software? Answer: d

a.observability

b.simplicity

c.stability

d.all of the above

2.The testing technique that requires devising test cases to demonstrate that each program

function is operational is called? Answer: a

a.black-box testing

b.glass-box testing

c.grey-box testing

d.white-box testing

3.The testing technique that requires devising test cases to exercise the internal logic of a

software module is called? Answer: d

a.behavioral testing

b.black-box testing

c.grey-box testing

d.white-box testing

4.The cyclomatic complexity metric provides the designer with information regarding the

number of Answer: c

a.cycles in the program

b.errors in the program

c.independent logic paths in the program

d.statements in the program

5. Black-box testing attempts to find errors in which of the following categories Answer: d

a.incorrect or missing functions

b.interface errors

c.performance errors

d.all of the above

e.none of the above

6. Testing OO class operations is made more difficult by Answer: d

a. encapsulation

b. inheritance

c. polymorphism

d. both b and c

7. The cyclomatic complexity metric provides the designer with information regarding the number of Answer: a

e. Independent logic paths in the program

f. cycles in the program

g. errors in the program

h. statements in the program

8. What is the differences between black-box testing and white-box testing?

Answer: Black-box testing involves testing the functionality of a software component without knowing the details of its internal logic. White-box testing involves testing the independent logic paths with full implementation knowledge.

9. What is equivalence partitioning as it applies to software testing? What is scenario-based testing?

Answer: Equivalence partitioning technique divides the input domain into classes of equivalent data items. Test cases are derived from combinations of elements from each equivalence class. Exhaustive testing of all input domain values is not necessary. Scenario-based testing: The user tasks described in the use-cases are used to construct the test cases. It is used to uncover errors that occur when actors interact with the software (focus is on user behavior, not product behavior).

下面这道题是老师最后讲的例题哈

u m m a r y

X:=X/i;

X:=X+1; e V(G)=3

Basic Path: ace, abce, acde

Test case:

ace: i=1,j=0,X=1 Expected result: X=1

abce: i=1,j=1,X=1 Expected result: X=1

acde: i=2,j=1,X=1 Expected result: X=2

相关文档
相关文档 最新文档