Essentials of Software Engineering Ch. 1-7, 10

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Get a hint
Hint

(Ch. 1) A typical kind of nonfunctional requirements is...

Get a hint
Hint

Performance
real-time processing
modifiability

Get a hint
Hint

(Ch. 1) An example of a design constraint imposed by the client may be the programming language for implementation.

Get a hint
Hint

True

Card Sorting

1/250

Anonymous user
Anonymous user
encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

251 Terms

1
New cards

(Ch. 1) A typical kind of nonfunctional requirements is...

Performance
real-time processing
modifiability

2
New cards

(Ch. 1) An example of a design constraint imposed by the client may be the programming language for implementation.

True

3
New cards

(Ch. 1) An example of a functional requirement is: "Your client wants the newest platform."

False

4
New cards

(Ch. 1) Effort estimation will enable the developer to create...

A cost estimation and a schedule

5
New cards

(Ch. 1) Estimation is more accurate if done for the total time versus dividing the project into bite-size pieces and estimating each piece.

False

6
New cards

(Ch. 1) Extreme Programming practices writing test cases at which point?

Before writing the code

7
New cards

(Ch. 1) What are black-box tests based on, requirements or implementation?

Requirements

8
New cards

(Ch. 1) What are white-box tests based on, requirements or implementation?

Implementation

9
New cards

(Ch. 1) It does not make any performance difference to sort 100 numbers versus sorting close to a million numbers.

False

10
New cards

(Ch. 1) One of the pointers on implementation is to test functions to make sure they work. What type of testing is this?

verification tests

11
New cards

(Ch. 1) Testing done by the client, or somebody on their behalf, to make sure the program runs as specified is considered...

Acceptance testing

12
New cards

(Ch. 1) The design (decisions) constraints imposed in the sorting system are...

Programming language and algorithms

13
New cards

(Ch. 1) Performance will usually be the most important influence in choice of:

Algorithms

14
New cards

(Ch. 1) The final deadline for delivering the project always comes from the programmers because they know how long it will take to finish.

False

15
New cards

(Ch. 1) When a method fails, the code that was defective can be outside of the method's code.

True

16
New cards

(Ch. 1) What are design constraints?

Statements that constrain the ways in which the software can be designed and implemented.

17
New cards

(Ch. 1) Which of the following are design constraints?

the choice of programming language,
platforms the system runs on, and other systems it interfaces with.
These design constraints are sometimes considered nonfunctional requirements

18
New cards

(Ch. 1) What are requirements?

Statements that define or qualify what a program needs to do.

19
New cards

(Ch. 2) A technique to "lessen" the relationships, number of functionalities, amount of interactions, and so on, is called:

Decomposition
Modularization
Incremental iterations

20
New cards

(Ch. 2) A method to simplify a complex problem is:

decomposition
modularization
increment iteration
All of these are correct

21
New cards

(Ch. 2) What is the main area that needs to be coordinated in large software projects?

Process
Product
People
→ All of these are correct

22
New cards

(Ch. 2) Important non-technical concerns in large software development are:

effort estimation

23
New cards

(Ch. 2) Important technical concerns in a large software development are:

process and methodology

24
New cards

(Ch. 2) Important nontechnical concerns in large software development are

estimation and planning

25
New cards

(Ch. 2) Methods to simplify a complex problem are...

Decomposition, modularization, and incremental iteration

26
New cards

(Ch. 2) Technique to "lessen" the relationships, number of functionalities, amount of interactions, and so on, are...

Decomposition, modularization, and separation

27
New cards

(Ch. 2) As software becomes present in every part of our daily lives, it also becomes more complex.

True

28
New cards

(Ch. 2) As we grow the software, decision branching is one of the two major examples of growth in depth of complexity.

True

29
New cards

(Ch. 2) Sophisticated users do not need manuals to operate software.

False

30
New cards

(Ch. 2) Current sophisticate users do not need user manuals and product support

False

31
New cards

(Ch. 2) Effort estimation, schedule, assignments, and communications are examples of nontechnical consideration issues.

True

32
New cards

(Ch. 2) The horizontal software refers to:

UI interface
DB interface
error messaging
→ All of these are correct

33
New cards

(Ch. 2) Horizontal software refers to specific applications and vertical application refers to common services.

False

34
New cards

(Ch. 2) Large systems require software engineers to consider many aspects of development, including...

Problem and design decomposition
technology and tool considerations
process and methodology
→ All of these are correct

35
New cards

(Ch. 2) Once the requirements are documented, a review with the users/customers is done before the design of the software.

True

36
New cards

(Ch. 2) Only team leaders or managers need to be concerned about communication paths within a team.

False

37
New cards

(Ch. 2) The breadth of the software complexity refers to the "relations and interactions" among these functions, components, and so on.

False

38
New cards

(Ch. 2) The issue in software complexity that refers to the "relations and interactions" among these functions, components, and so on, is...

Depth

39
New cards

(Ch. 2) What are the main areas that need to be coordinated in large software projects?

The process, the product, and the people

40
New cards

(Ch. 2) What must we understand before jumping into implementing the solution?

The problem description and requirements

41
New cards

(Ch. 2) When a large number of people are involved in a project, a development process is necessary to help guide and coordinate their activities.

True

42
New cards

(Ch. 2) Technical concerns in developing large systems can involve:

the database
the network
version and configuration control
→ All of these are correct

43
New cards

(Ch. 2) More people means there are more communication paths

True

44
New cards

(Ch. 2) What is the increase in the number of maximum communication paths when we grow from a six-person software team to an eight-person software team?

13 = [(8(8-1)) - (6(6-1))]/2

45
New cards

(Ch. 2) What is the maximum number of communications among a team of 25 people?

300 = [N*(N-1)]/2

46
New cards

(Ch. 2) The chance of an error in communication increases with the number of communication paths, not with the number of people who need to communicate.

False

47
New cards

(Ch. 2) With the number of people who need to communicate, the chance of an error in communication increases with the number of communication paths.

True

48
New cards

(Ch. 3) Software engineers need a process because we need to...

Coordinate complex tasks and coordinate a large number of developers

49
New cards

(Ch. 3) Software engineers should conduct their practices at some level of professionalism to ensure that their work results in...

A maintenance of integrity in their professional judgement

50
New cards

(Ch. 3) Software failures can be traced back to poor requirements and lack of user involvement.

True

51
New cards

(Ch. 3) The number of failures in software projects and defects encountered in the software products are very few.

False

52
New cards

(Ch. 3) Which one of the following is not one of the characteristics of software or software projects that the U.S. General Accounting Office "highlighted"?

High customer satisfaction

53
New cards

(Ch. 3) What are the characteristics of software or software projects that the U.S. General Accounting Office "highlighted"?

High-quality, on-time, within budget

54
New cards

(Ch. 3) Which of the following is a basic management strategy recommend by the General Accounting Office?

Focused attention on the software development environment
Disciplined development process
Use of metrics to gauge cost, schedule, and performance targets
→ All of these are correct

55
New cards

(Ch. 3) Hand-drawn screens can be used to confirm and validate:

Requirement specification

56
New cards

(Ch. 3) Requirement specification can be tested with:

Hand-drawn screens and a prototype

57
New cards

(Ch. 3) Requirement specification can be quickly tested with...

Hand-drawn prototypes presented to the client and users (low fidelity)

58
New cards

(Ch. 3) Size and complexity are characteristics of both simple and complex software.

True

59
New cards

(Ch. 3) Which of the following is a characteristic of both simple and complex software?

Size
Complexity
People
→ All of these are correct

60
New cards

(Ch. 3) Software engineering is an old field and is well established.

False

61
New cards

(Ch. 3) Software engineering is a broad field that touches upon all aspects of developing and supporting a software system.

True

62
New cards

(Ch. 3) Software engineers must conduct their practices at some level of professionalism to minimally ensure that their work results in no harm to society.

True

63
New cards

(Ch. 3) Software engineers must conduct their practices at some level of professionalism to minimally ensure that their work results in which of the following?

No harm

64
New cards

(Ch. 3) Software engineers can also obtain a professional engineer (PE) license in every state of the United States.

False

65
New cards

(Ch. 3) A professional engineer (i.e. in the United States) is a license that is given when an engineer graduates with a bachelor's degree.

False

66
New cards

(Ch. 3) Software engineering must include the code and regulations that its members must uphold to be judged as a:

Professional engineering practice

67
New cards

(Ch. 3) The degree of complexity in software projects has created the need for more:

Discipline and software engineering

68
New cards

(Ch. 3) The software engineering discipline have proven laws and proven principles equivalent to laws of motion or law of thermodynamics.

False (there are a set of proposed principles)

69
New cards

(Ch. 3) The definition of software engineering that points to a multi-person construction of multi-version software is from...

David Parnas

70
New cards

(Ch. 3) Davis's Early Principles include user involvement and clear requirement statements.

True

71
New cards

(Ch. 3) Davis's principle "Follow with Care" is the only one that addresses the importance of people.

False

72
New cards

(Ch. 3) Which of the following is one of Davis's early principles for testing?

Inspect code and get it right before you make it faster.

73
New cards

(Ch. 3) Davis's Early Principles that pertain to testing include:

inspecting code

74
New cards

(Ch. 3) Royce's principles that pertain to testing include:

All of these are correct
Establishing the process for objective quality control and project progress assessment that includes that assessment of all the intermediate artifacts.
Using a demonstration-based approach in which intermediate artifacts are transitioned to executable demonstration of the user scenario so that these artifices can be assessed earlier.

75
New cards

(Ch. 3) Wasserman's metrics are...

Measurements

76
New cards

(Ch. 3) ________ transforms requirements to the solution structure.

Design

77
New cards

(Ch. 3) Coding transforms requirements to the solution structure.

False (Design not coding)

78
New cards

(Ch. 3) The main reasons projects were canceled, uncovered by the Chaos report, are:

Incomplete requirements and lack of user involvement.

79
New cards

(Ch. 3) A project has 3 requirement errors, 4 design errors, and 90 code errors, all found during the compiling phase of the project. Which errors are the most expensive to the project?

The 3 requirement errors

80
New cards

(Ch. 3) The high number of failures in software projects and the high number of defects encountered in the software products are the main reasons for involving _____________ when developing software

Software engineering

81
New cards

(Ch. 3) IBM's earlier corporate values were:

respect others and strive for fairness
perform to one's best capability
follow the law

82
New cards

(Ch. 4) Defining all the software development processes to be completed in a project can be very time-consuming.

True

83
New cards

(Ch. 4) Programmers left alone will often think the single most important task in the development of software is...

Coding

84
New cards

(Ch. 4) What things are defined in a software process model?

The tasks to be performed, the task's input and output, and the task's preconditions and postconditions

85
New cards

(Ch. 4) process models define the:

tasks to be performed
task's input and output
task's preconditions and post conditions
→ All of these are correct

86
New cards

(Ch. 4) Projects take a longer time with poor end products and, in worse situations, total project failure because of inconsistency in the:

tasks to be performed and order to perform that tasks.

87
New cards

(Ch. 4) One advantage of the waterfall process is:

it provides a clear way to track the stages of development for the project managers.

88
New cards

(Ch. 4) Which model gave project managers a way to describe the "actual status" versus "almost complete"?

Waterfall model

89
New cards

(Ch. 4) The disadvantage of the waterfall process for software development is:

Very little overlapping of the tasks
It is a single iteration
Sequential order of tasks
→ All of these are correct

90
New cards

(Ch. 4) Which model has the disadvantage of very little task overlap, a sequential process, and a single iteration?

Waterfall

91
New cards

(Ch. 4) Which of the following could improve the waterfall model?

Develop multiple components
Overlap the development
Be more evolutionary
→ All of these are correct

92
New cards

(Ch. 4) The need to develop multiple components, to overlap the development, and to be more evolutionary leads to the...

Incremental Model
Spiral Model

93
New cards

(Ch. 4) What concepts drive the RUP framework?

Use-cases and requirements
architecture centric
iterative and incremental development

94
New cards

(Ch. 4) The RUP framework is driven by which of the following major concepts?

Use-case and requirements
Architecture centric
Iterative and incremental
→ All of these are correct.

95
New cards

(Ch. 4) RUP may go through several iterations of all of the phases.

True

96
New cards

(Ch. 4) As a software product is developed using RUP, it may go through several iterations during which of the following?

Inception
Elaboration
Construction
Transition
All of these are correct

97
New cards

(Ch. 4) Which of the following phase (of RUP) has an objective to establish all the major and critical requirements for the system?

Elaboration

98
New cards

(Ch. 4) Which of the following phase (of RUP) has an objective to establish the critical use cases and the major scenarios that will drive the architecture and design?

Inception

99
New cards

(Ch. 4) What types of things are specified in the entry criteria?

Artifacts
people
tools
activity definition

100
New cards

(Ch. 4) Entry criteria include a listing and a description of which of the following resources?

Artifacts
People
Tools
Activity definition
→ All of these are correct