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
Which of the following are tasks of project management?
- Respond to unexpected problems | - Tracking tasks
26
There must be only one project manager.
False
27
What does the PERT in the PERT chart stand for?
Program Evaluation and Review Technique
28
The executive champion is the highest ranking executive who supports the project.
True
29
Which of the following are true about critical paths?
- 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
30
Which of the following are useful in making predictions about how long a task will take?
- Break tasks into smaller pieces | - Compare to similar tasks done before
31
Which of the following are true about Gantt charts?
- Gantt charts use horizontal bars to represent activities | - The length of each bar indicates the task duration
32
Which of the following are true about risk management?
- For at-risk tasks, you should consider possible work-arounds - You should consider the likelihood that a task will fail.
33
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?
15
34
Which of the following are good reasons for project management?
- To address when a project isn't meeting expectations - To keep team members focused - To ensure goals are met
35
Which of the following are examples of RAD models?
- Extreme programming | - Feature-driven development
36
Agile is a RAD methodology.
False
37
Which of the following are practices of extreme programming?
- Standup meetings | - Start without optimization
38
What Crystal method is the most complicated?
Crystal Sapphire
39
What methodology's basis is to avoid unnecessary work, meetings, and features?
Lean
40
Which of the following is the most business-oriented?
Dynamic Systems Development Method
41
Which phases of feature-driven development may occur multiple times?
- Design by feature | - Build by feature
42
What framework is focused on the people involved with the project?
Disciplined Agile Delivery
43
What is an iteration of Scrum called?
Sprint
44
What phases overlap in the James Martin RAD model?
- User design | - Construction
45
According to Kanban, how should the next task be chosen?
The highest-priority task
46
The Agile Unified Process is designed to produce a single release.
False
47
A Git branch is not an independent line of development.
False
48
In a basic Git workflow, ___ take the files from the index and store them as a snapshot in the repository.
committing changes
49
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.
Repository
50
The main difference between version control systems is whether they are server or peer-to-peer based.
True
51
When you make a change in the ____, it marks the file as modified.
Index
52
What does MOSCOW stand for?
Must, Should, Could, and Won't
53
What is the process of making sure that the finished application satisfies the requirements?
Verification
54
Which of the following are rules for Osborn's method of brainstorming?
- Withhold criticism | - Encourage unusual ideas
55
Which of the following are categories of FURPS?
Functionality, Usability, Reliability, Performance, Supportability
56
Good requirements avoid words like better or faster.
True
57
Which of the following are audience-oriented requirement categories?
- Business requirements | - User requirements
58
Which of the following are examples of non-functional requirements?
- The application will return a result in less than 3 seconds - The system will support 30 users simultaneously
59
Which of the following are true about good requirements?
- Requirements should be clear | - Requirements should be consistent with each other
60
FURPS+ includes a category for performance.
True
61
Which of the following are good ways to gather requirements?
- Observe how users currently do things | - Interview customers about what they want
62
Which of the following is true about high-level design?
- 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
What does the acronym UML stand for?
Unified Modeling Language
64
Which of the following are things that should be specified in high-level design?
- Security - Architecture - Interfaces
65
What type of architecture has part of the application provide a function and a separate part of the application use the function?
Client/server
66
What is the difference between internal and external interfaces?
Internal specifies how parts of the system interact with each other. External specifies how the system interacts with other systems.
67
What type of diagram uses ellipses for tasks and stick figures for actors?
Use-case diagram
68
In what type of architecture are race conditions a big concern?
Distributed
69
The decision on how data will be stored should not be made during high-level design.
False
70
Which of the following are true about rule-based architecture?
- Rule-based systems are also known as expert systems | - In rule-based systems, rules define what happens in each scenario
71
An application can implement more than one architecture.
True
72
With inheritance, an instance of the child class can use the methods of the parent class.
True
73
What is the word for being able to treat child objects as if they were of the parent class?
Polymorphism
74
Which of the following are true about the Third Normal Form?
- All non-key fields depend on key fields - No two rows can contain identical values - There are no transitive dependencies
75
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
1NF
76
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?
Building
77
Which of the following are signs that things are going wrong when building an inheritance hierarchy?
- There is a class that never gets used - There is a class with only one subclass - The hierarchy is tall and thin
78
What process starts with one class and breaks it into subclasses to cover differences between objects?
Refinement
79
Which of the following are good ways for identifying classes?
- Look for nouns in the descriptions of features | - Consider what properties, methods, and events something would have as a class
80
Which of the following is true about low-level design?
Low-level design helps define how parts of the system will work
81
Which of the following is true of object composition?
Object composition involves using existing classes to build more complex classes.
82
Which of the following are true about commenting?
- Comments should explain the purpose of sections of code | - Too many comments can make code cluttered
83
Development includes no design work.
False
84
What does IDE stand for?
Integrated Development Environment
85
What is top-down design?
Starting with a high-level statement and breaking it down into smaller parts
86
Which of the following are good programming tips?
- Code should be easy for another programmer to make sense of - Code should handle unexpected errors
87
What is offensive programming?
Writing code that flags errors that occur, making it clear that something went wrong
88
Which of the following are characteristics of good algorithms?
Efficient, effective
89
Why would an algorithm use a heuristic method?
- In order to find a decent solution in a reasonable amount of time - In order to reduce memory overhead
90
Which of the following are true about the tools used in development?
- 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
All code should be optimized before moving on to writing other code.
False
92
Which of the following are true about bugs in software?
- 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
Which of the following should be considered when deciding which bugs should be fixed?
- How much trouble the bug causes when it occurs - How often the bug occurs - How much work it is to fix the bug
94
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?
68
95
What kind of testing checks if the application meets the customers' requirements?
Acceptance testing
96
Exhaustive testing should always be done when developing new software.
False
97
Which of the following are good practices for finding or fixing bugs?
- Fix bugs that involve the code you wrote | - After adding new methods, test them in conjunction with existing methods
98
What type of testing makes use of knowing how a method is implemented?
White-box testing
99
Which of the following are valid reasons not to fix a bug before the application is released?
- 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
What type of testing makes sure a piece of code works in and of itself?
Unit testing
101
A map application is tested by users with color-blindness for usability. This is an example of what kind of testing?
- Usability testing | - Accessibility testing
102
What are other names for the deployment phase?
- Installation | - Implementation
103
Deployment usually goes smoother for projects of larger scope.
False
104
Which of the following are cutover strategies?
- Staged deployment - Incremental deployment - Parallel testing
105
Which of the following are generally good ideas for deployment?
- Have a rollback plan | - Allow time for unexpected problems
106
What is it called when new features are introduced gradually to users?
Incremental deployment
107
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?
- Gradual cutover - Staged deployment - Parallel testing
108
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?
- Incremental deployment | - Staged deployment
109
Which of the following should be considered for deployment?
- Software that interacts with users - Training - Hardware
110
Which of the following are good reasons to refactor code?
- Code is confusing and unclear | - Common code is repeated in multiple places
111
What type of maintenance involves fixing bugs?
Corrective
112
Which maintenance task usually has the most work spent on it?
Perfective
113
Which of the following are signs of bad programming practice?
- 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
Maintenance is often the most expensive part of software engineering.
True
115
Consider the following task: Rewrite a class to work with the new version of Mac OS What maintenance category does this fall under?
Adaptive
116
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?
Corrective
117
Consider the following task: Add comments to an uncommented class What maintenance task category does this fall under?
Preventative
118
Which of the following states might a bug be in if it is no longer going to be worked on?
- Fixed | - Closed
119
Which of the following are advantages of using a predictive model for development?
- 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
Which type of model is known for having overlap between phases?
Sashimi
121
An incremental waterfall project can have more than 10 increments.
True
122
In the V-model, what integration task corresponds with requirements?
Verification & Validation
123
Which type of model allows for moving backward to the previous step?
Waterfall with Feedback
124
Which of the following are good indicators that the predictive model should be used?
- The team has experience from a similar product - The final product is well defined - The application won't have very many features
125
Pure waterfall methodology is commonly used today.
False
126
The incremental waterfall method can be combined with other waterfall methods.
True
127
The software development life cycle covers all of the tasks that go into creating software.
True
128
What is a term that refers to breaking down the application into pieces that can be implemented?
Decomposition
129
Which development approach first provides all of the features, but at a low fidelity?
Iterative
130
What kind of prototype changes over time, with features refined and added, until it becomes the finished application?
Evolutionary prototype
131
In what phase of the Unified Process are requirements created?
Elaboration
132
Which of the following are advantages of iterative models over predictive models?
- Iterative models can better handle unclear requirements | - Within an iterative models, less work would be lost if the project changes direction
133
Which development approach first provides a low amount of features, adding more features later, always at a high fidelity?
Incremental
134
What is the results of a single iteration called?
Increment
135
What model focuses on preventing defects before they arise?
Cleanroom
136
Which development approach doesn't release until all features are ready at full fidelity?
Predictive
137
Which of the following are positive benefits of doing a prototype?
- Helps customers and developers see eye-to-eye on the project - Helps to refine requirements through feedback
138
Which of the following are positive advantages of using the spiral model?
- 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