Final Flashcards

1
Q

High-level design focuses on the details.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Which of the following is not a main task in software engineering?

A

Databases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What main task of software engineering would decide whether or not the application will run on mobile devices?

A

High-level design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

During what task of software engineering are customers talked to in order to find out what they want and need?

A

Requirements gathering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What task of software engineering involves working on a project after it is released?

A

Maintenance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Software engineering is:

A
  • an organized analytical approach to the design, development, use and maintenance of software
  • the development of a non-physical product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What task of software engineering involves looking back to assess what went right and what went wrong in development?

A

Wrap-up

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

During what task of software engineering does the application become available to the customers to use?

A

Deployment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What task defines how each piece of the project should work?

A

Low-level design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which of the following is true about testing?

A
  • You can’t be certain you’ve caught every bug

- Once bugs are found, coders can work on fixing them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Which of the following are features a document management system should provide?

A
  • Fetch the latest version of a document
  • Fetch older versions of a document
  • Compare versions of a document
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does JBGE stand for?

A

Just Barely Good Enough

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Every line of code should include a comment.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Which of the following is not an example of application documentation?

A

Requirements documents

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How is code different than other documents?

A
  • Code frequently changes throughout a project

- Code is line-oriented

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Which of the following are good ways to make emails easier to search and keep track of?

A
  • Include keywords inside the message body
  • Prefix email subjects with an identifier
  • CC an email address specifically created for the project on related emails
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Which of the following are good reasons to keep documentation?

A
  • Can help resolve disputes
  • People forget things
  • Keeps project headed in the right direction
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Documentation is produced throughout the duration of a project’s development.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Can meetings and phone calls be documented?

A

Yes, in both cases a summary can be written

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

A ______ is a technology used to help people work together to achieve a common objective.

A

Collaboration tool

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Speeding up the design and development requires making sure the process includes all the people and teams working on the project.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Third party integrations help create a collaborative environment by integrating the collaborative tools.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

When people outdo tools:

A

They create a collaborative culture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

______ is a collaborative tool category that offers used text chat, audio/video conferencing, and private communication channels.

A

Communication

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Which of the following are tasks of project management?

A
  • Respond to unexpected problems

- Tracking tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

There must be only one project manager.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What does the PERT in the PERT chart stand for?

A

Program Evaluation and Review Technique

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

The executive champion is the highest ranking executive who supports the project.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Which of the following are true about critical paths?

A
  • If any task along a critical path is delayed, the project’s completion is also delayed
  • A critical path is a longest possible path through a network
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Which of the following are useful in making predictions about how long a task will take?

A
  • Break tasks into smaller pieces

- Compare to similar tasks done before

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Which of the following are true about Gantt charts?

A
  • Gantt charts use horizontal bars to represent activities

- The length of each bar indicates the task duration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Which of the following are true about risk management?

A
  • For at-risk tasks, you should consider possible work-arounds
  • You should consider the likelihood that a task will fail.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Consider task X, which has an expected time of 3. It has 3 predecessors: Q, R, and S. Q has a total time of 10. R has a total time of 12. S has a total time of 5. What is the total time of task X?

A

15

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Which of the following are good reasons for project management?

A
  • To address when a project isn’t meeting expectations
  • To keep team members focused
  • To ensure goals are met
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Which of the following are examples of RAD models?

A
  • Extreme programming

- Feature-driven development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Agile is a RAD methodology.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Which of the following are practices of extreme programming?

A
  • Standup meetings

- Start without optimization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What Crystal method is the most complicated?

A

Crystal Sapphire

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What methodology’s basis is to avoid unnecessary work, meetings, and features?

A

Lean

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Which of the following is the most business-oriented?

A

Dynamic Systems Development Method

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Which phases of feature-driven development may occur multiple times?

A
  • Design by feature

- Build by feature

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What framework is focused on the people involved with the project?

A

Disciplined Agile Delivery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What is an iteration of Scrum called?

A

Sprint

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What phases overlap in the James Martin RAD model?

A
  • User design

- Construction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

According to Kanban, how should the next task be chosen?

A

The highest-priority task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

The Agile Unified Process is designed to produce a single release.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

A Git branch is not an independent line of development.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

In a basic Git workflow, ___ take the files from the index and store them as a snapshot in the repository.

A

committing changes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

The ___ component of a Git project holds all the commits (a snapshot of all your files at a point in time) that have been made. You can access the commit history with the Git log.

A

Repository

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

The main difference between version control systems is whether they are server or peer-to-peer based.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

When you make a change in the ____, it marks the file as modified.

A

Index

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What does MOSCOW stand for?

A

Must, Should, Could, and Won’t

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

What is the process of making sure that the finished application satisfies the requirements?

A

Verification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Which of the following are rules for Osborn’s method of brainstorming?

A
  • Withhold criticism

- Encourage unusual ideas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Which of the following are categories of FURPS?

A

Functionality, Usability, Reliability, Performance, Supportability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

Good requirements avoid words like better or faster.

A

True

57
Q

Which of the following are audience-oriented requirement categories?

A
  • Business requirements

- User requirements

58
Q

Which of the following are examples of non-functional requirements?

A
  • The application will return a result in less than 3 seconds
  • The system will support 30 users simultaneously
59
Q

Which of the following are true about good requirements?

A
  • Requirements should be clear

- Requirements should be consistent with each other

60
Q

FURPS+ includes a category for performance.

A

True

61
Q

Which of the following are good ways to gather requirements?

A
  • Observe how users currently do things

- Interview customers about what they want

62
Q

Which of the following is true about high-level design?

A
  • High-level design includes specifying what hardware the application will run on
  • High-level design shows how the major pieces of the application will interact
63
Q

What does the acronym UML stand for?

A

Unified Modeling Language

64
Q

Which of the following are things that should be specified in high-level design?

A
  • Security
  • Architecture
  • Interfaces
65
Q

What type of architecture has part of the application provide a function and a separate part of the application use the function?

A

Client/server

66
Q

What is the difference between internal and external interfaces?

A

Internal specifies how parts of the system interact with each other. External specifies how the system interacts with other systems.

67
Q

What type of diagram uses ellipses for tasks and stick figures for actors?

A

Use-case diagram

68
Q

In what type of architecture are race conditions a big concern?

A

Distributed

69
Q

The decision on how data will be stored should not be made during high-level design.

A

False

70
Q

Which of the following are true about rule-based architecture?

A
  • Rule-based systems are also known as expert systems

- In rule-based systems, rules define what happens in each scenario

71
Q

An application can implement more than one architecture.

A

True

72
Q

With inheritance, an instance of the child class can use the methods of the parent class.

A

True

73
Q

What is the word for being able to treat child objects as if they were of the parent class?

A

Polymorphism

74
Q

Which of the following are true about the Third Normal Form?

A
  • All non-key fields depend on key fields
  • No two rows can contain identical values
  • There are no transitive dependencies
75
Q

The following table shows what students are in what classes. What levels of normalization does it satisfy?

Student Class Section Instructor InstructorEmail
Bob Smith CSC101 002 Richards richards@school.edu
Karla Levenson BIO205 001 Martin martin@school.edu
Kyle Rogers CSC101 002 Richards richards@school.edu
Mark West ENG121 004 Garret garret@school.edu
Bob Smith SOC202 001 Johnson johnson@school.edu

A

1NF

76
Q

Suppose you have the following classes:
Library, Hospital, Hotel, GasStation, Building, ConvenienceStore, House

What would be a good class to use as a parent class?

A

Building

77
Q

Which of the following are signs that things are going wrong when building an inheritance hierarchy?

A
  • There is a class that never gets used
  • There is a class with only one subclass
  • The hierarchy is tall and thin
78
Q

What process starts with one class and breaks it into subclasses to cover differences between objects?

A

Refinement

79
Q

Which of the following are good ways for identifying classes?

A
  • Look for nouns in the descriptions of features

- Consider what properties, methods, and events something would have as a class

80
Q

Which of the following is true about low-level design?

A

Low-level design helps define how parts of the system will work

81
Q

Which of the following is true of object composition?

A

Object composition involves using existing classes to build more complex classes.

82
Q

Which of the following are true about commenting?

A
  • Comments should explain the purpose of sections of code

- Too many comments can make code cluttered

83
Q

Development includes no design work.

A

False

84
Q

What does IDE stand for?

A

Integrated Development Environment

85
Q

What is top-down design?

A

Starting with a high-level statement and breaking it down into smaller parts

86
Q

Which of the following are good programming tips?

A
  • Code should be easy for another programmer to make sense of
  • Code should handle unexpected errors
87
Q

What is offensive programming?

A

Writing code that flags errors that occur, making it clear that something went wrong

88
Q

Which of the following are characteristics of good algorithms?

A

Efficient, effective

89
Q

Why would an algorithm use a heuristic method?

A
  • In order to find a decent solution in a reasonable amount of time
  • In order to reduce memory overhead
90
Q

Which of the following are true about the tools used in development?

A
  • Developers should be allowed access to the internet during work hours, unless there are security concerns
  • Programmers should have a means to compile or interpret code
91
Q

All code should be optimized before moving on to writing other code.

A

False

92
Q

Which of the following are true about bugs in software?

A
  • For a nontrivial program, you can’t know every bug in the program
  • Projects of a larger size usually have more bugs than smaller projects
93
Q

Which of the following should be considered when deciding which bugs should be fixed?

A
  • How much trouble the bug causes when it occurs
  • How often the bug occurs
  • How much work it is to fix the bug
94
Q

Let’s say you have two testers, Karl and Wendy, who are testing your application. Karl finds 24 bugs and Wendy finds 34 bugs. 12 of these bugs are the same. What is the Lincoln Index estimate for the number of bugs in the application?

A

68

95
Q

What kind of testing checks if the application meets the customers’ requirements?

A

Acceptance testing

96
Q

Exhaustive testing should always be done when developing new software.

A

False

97
Q

Which of the following are good practices for finding or fixing bugs?

A
  • Fix bugs that involve the code you wrote

- After adding new methods, test them in conjunction with existing methods

98
Q

What type of testing makes use of knowing how a method is implemented?

A

White-box testing

99
Q

Which of the following are valid reasons not to fix a bug before the application is released?

A
  • The bug was not discovered in testing
  • The application has to be completed by a specific date
  • Fixing the bug will require reworking part of the application
100
Q

What type of testing makes sure a piece of code works in and of itself?

A

Unit testing

101
Q

A map application is tested by users with color-blindness for usability. This is an example of what kind of testing?

A
  • Usability testing

- Accessibility testing

102
Q

What are other names for the deployment phase?

A
  • Installation

- Implementation

103
Q

Deployment usually goes smoother for projects of larger scope.

A

False

104
Q

Which of the following are cutover strategies?

A
  • Staged deployment
  • Incremental deployment
  • Parallel testing
105
Q

Which of the following are generally good ideas for deployment?

A
  • Have a rollback plan

- Allow time for unexpected problems

106
Q

What is it called when new features are introduced gradually to users?

A

Incremental deployment

107
Q

You are about to deploy a large application with many parts that depend on each other. This application is software intended to be used by more than 50 businesses. What cutover strategies might be good ideas?

A
  • Gradual cutover
  • Staged deployment
  • Parallel testing
108
Q

You are making a tool to organize your personal music library. It has a handful of features including:

  • You can sort your music alphabetically by song title
  • You can sort your music alphabetically by artist
  • You can sort your music by genre
  • You can change the song title or artist
  • You can remove duplicate songs
  • You can create and place your files into folders based on sorting

This is not being released to anyone else. What cutover strategies might be good ideas?

A
  • Incremental deployment

- Staged deployment

109
Q

Which of the following should be considered for deployment?

A
  • Software that interacts with users
  • Training
  • Hardware
110
Q

Which of the following are good reasons to refactor code?

A
  • Code is confusing and unclear

- Common code is repeated in multiple places

111
Q

What type of maintenance involves fixing bugs?

A

Corrective

112
Q

Which maintenance task usually has the most work spent on it?

A

Perfective

113
Q

Which of the following are signs of bad programming practice?

A
  • A method is used for multiple tasks
  • A single method is over 100 lines long
  • There are more than 3 nested loops within a method
114
Q

Maintenance is often the most expensive part of software engineering.

A

True

115
Q

Consider the following task: Rewrite a class to work with the new version of Mac OS

What maintenance category does this fall under?

A

Adaptive

116
Q

Consider the following task: Fix an issue where the calculated cost is wrong for quantities greater than 100

What maintenance task category does this fall under?

A

Corrective

117
Q

Consider the following task: Add comments to an uncommented class

What maintenance task category does this fall under?

A

Preventative

118
Q

Which of the following states might a bug be in if it is no longer going to be worked on?

A
  • Fixed

- Closed

119
Q

Which of the following are advantages of using a predictive model for development?

A
  • Customers should have a good idea of what to expect from the product earlier in development
  • Time is less likely to be wasted on work that never gets used
120
Q

Which type of model is known for having overlap between phases?

A

Sashimi

121
Q

An incremental waterfall project can have more than 10 increments.

A

True

122
Q

In the V-model, what integration task corresponds with requirements?

A

Verification & Validation

123
Q

Which type of model allows for moving backward to the previous step?

A

Waterfall with Feedback

124
Q

Which of the following are good indicators that the predictive model should be used?

A
  • The team has experience from a similar product
  • The final product is well defined
  • The application won’t have very many features
125
Q

Pure waterfall methodology is commonly used today.

A

False

126
Q

The incremental waterfall method can be combined with other waterfall methods.

A

True

127
Q

The software development life cycle covers all of the tasks that go into creating software.

A

True

128
Q

What is a term that refers to breaking down the application into pieces that can be implemented?

A

Decomposition

129
Q

Which development approach first provides all of the features, but at a low fidelity?

A

Iterative

130
Q

What kind of prototype changes over time, with features refined and added, until it becomes the finished application?

A

Evolutionary prototype

131
Q

In what phase of the Unified Process are requirements created?

A

Elaboration

132
Q

Which of the following are advantages of iterative models over predictive models?

A
  • Iterative models can better handle unclear requirements

- Within an iterative models, less work would be lost if the project changes direction

133
Q

Which development approach first provides a low amount of features, adding more features later, always at a high fidelity?

A

Incremental

134
Q

What is the results of a single iteration called?

A

Increment

135
Q

What model focuses on preventing defects before they arise?

A

Cleanroom

136
Q

Which development approach doesn’t release until all features are ready at full fidelity?

A

Predictive

137
Q

Which of the following are positive benefits of doing a prototype?

A
  • Helps customers and developers see eye-to-eye on the project
  • Helps to refine requirements through feedback
138
Q

Which of the following are positive advantages of using the spiral model?

A
  • The spiral model focuses on dealing with risks
  • The spiral model is able to adapt to changes
  • The spiral model gives a good amount of opportunities to make decisions on the direction of the project