Exam 1 Flashcards

(125 cards)

1
Q

Choose one best answer that lists all answers to fill each blank given in the IEEE definition of software engineering: “The application of a [1], [2], [3] approach to the development, [4], and [5] of software.”

[1] systematic, [2] disciplined, [3] quantifiable, [4] design, [5] maintenance

[1] incremental, [2] constrained, [3] quantifiable, [4] operation, [5] testing

[1] systematic, [2] disciplined, [3] quantifiable, [4] operation, [5] maintenance

[1] systematic, [2] disciplined, [3] maintainable, [4] testing, [5] maintenance

[1] revolutionary, [2] disciplined, [3] scalable, [4] management, [5] maintenance

A

[1] systematic, [2] disciplined, [3] quantifiable, [4] operation, [5] maintenance

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

Software engineering is synonymous with “writing high-quality software.”
True
False

A

False

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

What affects the complexity of software probably more than any other factor? (Choose one best answer.)
size
time
scale
users

A

size

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

The NATO conference that coined the term “software engineering” occurred in the year ___________.
1968
1971
1985
1990

A

1968

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

What analogy was used at the NATO conference to describe how we build [software] systems?
airplanes
cars
watches
safes

A

airplanes

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

Software engineering is concerned with completing a project within budget and within schedule.
True
False

A

True

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

Things have greatly improved since the NATO conference of 1968. Today very few large software projects end in disaster.
True
False

A

False

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

During development, the FBI Virtual Case File system was abandoned after [1] dollars had been spent. As a result, [2] lines of code were also abandoned. Choose one best answer that can fill each blank.
[1] 17 million ; [2] 170,000
[1] 170 million ; [2] 700,000
[1] 700 million ; [2] 170,000
[1] 70 million ; [2] 17,000
[1] 7 million ; [2] 700,000

A

[1] 170 million ; [2] 700,000

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

Choose one best answer that can fill each blank correctly.

After the FBI Virtual Case File project was abandoned, the investigators concluded poorly defined [1]—in addition to poor networking plans and [2]—were to blame.

[1] testing; [2] poor development plans
[1] policy; [2] poor maintenance plans
[1] design; [2] poor development plans
[1] requirements; [2] insufficient testing
[1] requirements; [2] poor development plans

A

[1] requirements; [2] poor development plans

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

The Ariane 5 was purposely exploded, only 40 seconds after launch, because a floating point operation caused an Operand Error. The function in which this occurred was “correct.” So, what caused the problem? Choose one best answer.
The function was executed at a time when it should not have been.
There was a human error; a miscommunication between the operators.
The launcher was too heavy.
A bad data conversion from 64-bit floating point to a 16 bit signed integer wasn’t caught at all.

A

The function was executed at a time when it should not have been.

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

The radiation overdose example illustrates how time-related issues in software can be very difficult to detect.
True
False

A

True

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

A software project would be unsuccessful if: (Choose all correct answers.)
the project is over-budget and/or misses its scheduled release date
the performance of the software fails to meet expectations
the system is difficult to use
the quality of the software is too low
the system does not meet the requirements identified by the customer

A

the project is over-budget and/or misses its scheduled release date
the performance of the software fails to meet expectations
the system is difficult to use
the quality of the software is too low
the system does not meet the requirements identified by the customer

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

Which of the following could cause a software project to be unsuccessful? (Choose all correct answers.)
poor estimates of necessary development time
managers failed to identify and manage risks
unrealistic project goals
poor communication among develpers, customers, and users
inability to recognize and manage the complexity of the system

A

poor estimates of necessary development time
managers failed to identify and manage risks
unrealistic project goals
poor communication among develpers, customers, and users
inability to recognize and manage the complexity of the system

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

Poor programming skills is not listed in Section 1.3 as a reason why software projects are unsuccessful.
True
False

A

True

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

People who have a vested interest in the development and use of a software system are called stakeholders.
True
False

A

True

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

The person (or persons) responsible for purchasing the software is called the ____________.
customer
development team
project manager
product manager

A

customer

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

The stakeholders who are responsible for monitoring the progress of a project—as well as establishing the schedule and budget—are the ________________.
project managers
business managers
development team
software engineers

A

project managers

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

The “product” of a software development effort includes more than source code—and more than documentation. It also includes test plans/results and productivity measurements. All of these products are called “work products” or ______________.
artifacts
deliverables
ingredients
components

A

artifacts

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

The activities within a software development project can include: (Choose all correct answers.)
Planning
Requirements elicitation (i.e., identifying requirements)
Determining how the software should be constructed to address the requirements
Implementing the software
Evaluating the quality of the work products

A

Planning
Requirements elicitation (i.e., identifying requirements)
Determining how the software should be constructed to address the requirements
Implementing the software
Evaluating the quality of the work products

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

Choose one best answer that lists correct answers for each blank on the following statement: A software process identifies when activities should be performed during software development. It usually identifies different [1], how they are ordered, how frequently they occur, and the project [2].
[1] use cases; [2] test cases
[1] modules; [2] deliverables
[1] artifacts; [2] plans
[1] phases; [2] deliverables

A

[1] phases; [2] deliverables

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

Choose one best answer that matches the blank given in the following: One of the well-known, but old, software processes is called the waterfall process (i.e., model). Its phases are executed in a strictly ___________ order.
sequential
parallel
alphabetical
synchronous
random

A

sequential

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

Choose one best answer that lists all answers that can fill each blank on the following statement correctly: Identify the phases of the waterfall model, in the order in which they would occur: [1], [2], [3], [4], and [5].
[1] planning, [2] design, [3] implementation, [4] testing, [5] operation
[1] inception, [2] design, [3] construction, [4] testing, [5] maintenance
[1] validation, [2] design, [3] implementation, [4] testing, [5] maintenance
[1] requirements, [2] design, [3] implementation, [4] testing, [5] maintenance
[1] requirements, [2] specification, [3] development, [4] testing, [5] maintenance

A

[1] requirements, [2] design, [3] implementation, [4] testing, [5] maintenance

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

Several software engineering principles are listed in the text book. Which of the following is a correct statement? (Choose all correct answers.)
Make speed number one.
High-quality software is possible.
Give products to customers early.
Use an appropriate software process.
Minimize intellectual property.
Inspect code.
Software is the key to success.

A

High-quality software is possible.
Give products to customers early.
Use an appropriate software process.
Inspect code.

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

The Software Engineering Code of Ethics and Professional Practice was written by the ACM (Association of Computing Machinery), not by IEEE Computer Society.
True
False

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
A software process prescribes the interrelationship among the phases by expressing their order and frequency, but does not define the deliverables of the project. True False
False
26
The inception of a product is where product ideas are formulated and a vision is established. True False
True
27
Requirements analysis is performed before the planning phase. True False
False
28
Within most software process models, the following phases are followed: planning, implementation and testing requirements analysis, design, implementation, testing inception, planning, requirements analysis, design, implementation, testing, maintenance none of the above
inception, planning, requirements analysis, design, implementation, testing, maintenance
29
A software design document is used as input to the: Testing Design Implementation none of the above
Implementation
30
An advantage of using the waterfall process is that resources are always active and never idle waiting for others to complete dependent tasks. True False
False
31
The results of the design phase are typically captured in the Software Project Management Plan. True False
False
32
During the maintenance phase, modifications that are made to the software usually arise due to: Software defects Customer enhancement requests Performance or reliability improvements all of the above none of the above
all of the above
33
The intention of internal releases is to send to customers for evaluation. True False
False
34
Advantages of the spiral model are: Risks are managed early and throughout the process It is more cost effective It requires fewer resources all of the above
Risks are managed early and throughout the process
35
The Agile process advocates the following: Small, close knit teams Regular, frequent, customer meetings code-centric approach all of the above none of the above
all of the above
36
Which is a reason for an organization not to make a project open source? To gain market knowledge To support core business To have many individuals add to the code base To support services
To have many individuals add to the code base
37
Agile process is an alternative to more classical approaches which are considered too “process heavy.” True False
True
38
The Agile Manifesto is anti-methodology and advocates not using any methodology when developing a software product. True False
False
39
Agile methods advocate delivering working software, but not testing the working software. True False
False
40
The Agile Manifesto contains fundamental values and principles which should be followed when developing software. True False
True
41
Pair programming is a practice found in extreme programming. True False
True
42
During SCRUM the following questions need to be answered: What items have been completed since last meeting? What issues have been discovered that need to be resolved? What new assignments make sense for the team to complete until the next scrum meeting? all of the above none of the above
all of the above
43
A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as: measuring progress coding, designing and testing clearing obstacles A and C only none of the above
A and C only
44
When using the SCRUM process, daily scrum meetings should last no more than an hour. True False
False
45
Agile processes should not merge with non-agile processes. True False
False
46
The Agile process has been in use now since the early 60’s. True False
False
47
Individuals and interactions over process and tools is a main principle of the Agile software process. True False
True
48
A major principle of the Agile software is: Producing more than enough documentation Creating overly complex architectures Working software is the primary measure of progress none of the above
Working software is the primary measure of progress
49
Refactoring is the process of: adding unit tests to the code changing the way in which a feature works altering the form of the code base while retaining the same functionality none of the above
altering the form of the code base while retaining the same functionality
50
A teams’ velocity is the assessment of: how quickly a team can complete an iteration how much a team can complete within an iteration the relative difficulty of stories and the rate at which it is able to implement them none of the above
the relative difficulty of stories and the rate at which it is able to implement them
51
Please choose practices which adhere to the Extreme Programming methodology: Feature driven development Single programming only Work at an extremely fast pace all of the above none of the above
none of the above
52
Please choose priorities which adhere to the Crystal methodology: Safety in the project outcome Efficiency in development Habitability of the conventions all of the above A and C only
all of the above
53
Pair programming is: when individuals have to merge code together when individuals are contributing to the same code base continual inspection of by one team member of the work of a teammate none of the above
continual inspection of by one team member of the work of a teammate
54
Which is not a practice of Agile? Individuals and interactions over processes and tools Working software over comprehensive documentation Following a plan rather than responding to change Customer collaboration over contract negotiation
Following a plan rather than responding to change
55
Within agile projects, the description of user actions through the application is called: user stories user case studies functional cases none of the above
user stories
56
A diagram that depicts the different states within an application is called a use case narrative a dataflow diagram a deployment diagram none of the above
none of the above
57
Data flow diagrams describe the flow of end-user activity and processing throughout an application. True False
False
58
The SCRUM agile process insists that the customer community supply: multiple stakeholders a single stakeholder at most two stakeholders none of the above
a single stakeholder
59
When customers develop the vision of the application, it is referred to as the applications model. True False
True
60
The people who have some interest in the outcome of the product are called its stakeholders. True False
True
61
Typically after an interview with a stakeholder, it is common to draft a SRS of the high-level requirements. True False
True
62
Within a requirements analysis document, an overview is intended to allow readers to quickly understand the main purpose of the intended application. True False
True
63
A common way to analyze stakeholder requirements is to: Send emails to each of the stakeholders Interview the stakeholders face-to-face Send each stakeholder a letter asking for requirements none of the above
Interview the stakeholders face-to-face
64
A data flow diagram describes: the different states within an application the flow of data through the application end-user actions through the application all of the above
the flow of data through the application
65
Use cases describe the typical sequence of interactions between users of an application and the application itself and provide a narrative of how the application is used. True False
True
66
With regard to agile processes and other processes, agile processes accept frequent change in requirements do not have requirements freeze requirements for a set period of time all of the above
accept frequent change in requirements
67
Changing from one GUI state to another is called a: transition leap bound all of the above a and b only
transition
68
Ensuring the application is compliant with the HIPAA privacy act, is an example of a security requirement. True False
True
69
In understanding detailed GUI requirements, it is not important to: know your user apply principle of good screen design create solid backend services all of the above
create solid backend services
70
Domain classes are used to categorize requirements using the class style method to organizing requirements. True False
True
71
A disadvantage of organizing requirements by class is: classes are hard to track it requires development to get involved the class may change which would break the relationship between requirements and design none of the above
the relationship between requirements and design
72
Traceability of detailed requirements means: trace the requirement to the design only trace the requirement through the design to the implementation ensure that the requirement is documented all of the above
trace the requirement through the design to the implementation
73
In an agile project, the detailed requirements are usually expressed in terms of in-code comments and unit tests rather than being written explicitly in a separate document. True False
True
74
Organizing detailed requirements by operational sequences is called: use case organization state organization feature organization none of the above
use case organization
75
There are multiple ways to organize detailed requirements, they are: by feature by use-case by state all of the above
all of the above
76
The oldest manner of organizing detailed requirements is by use case. True False
False
77
Audit trails are an example of what type of requirement: reliability serviceability security none of the above
security
78
For simple projects, requirements can be tracked: in a spreadsheet on a napkin in email all of the above
in a spreadsheet
79
When capability needs to be reduced from a project perspective it is good to: not implement the most difficult requirements implement the requirements with the least amount of tests appropriate triage the requirements none of the above
appropriate triage the requirements
80
Test driven development is when: tests are written after code is implemented tests are written before code is implemented tests are written at the end of the project none of the above
tests are written before code is implemented
81
Which one of the following does not fall into the category of common security requirements? Confidentiality Portability Integrity Authentication Authorization
Portability
82
Even when a requirement is testable, it can be time consuming. In order to be complete, we should also consider: reducing the number of tests to shorten the time estimate the cost of testing having upper management test as well none of the above
estimate the cost of testing
83
We usually think of details as being far less important than the ‘‘big picture,’’ but a missing requirements detail does not have that large of an effect on projects. True False
False
84
“The player can decide the qualities of Encounter characters,” is an example of an ambiguous requirement. True False
True
85
Understandability appears to be a highly subjective quality because it depends on peoples’ opinion and it cannot be measured. True False
False
86
“The system shall display the difference in salary between the client and the worldwide average for the same trade” is a testable requirement. True False
False
87
A requirement is considered to be traceable if: it maps back to the SRS only it can be tested only it maps back to the design, implementation and test none of the above
it maps back to the design, implementation and test
88
In order to validate a requirement it must be: designed and completed testable implemented none of the above
testable
89
Which quality assurance metrics are not in the IEEE Standard 982.2-1988: Degree of completeness Traceability Consistent with the remaining requirements Defect traceability
Defect traceability
90
Detailed requirements are the first software process documents that can be inspected against prior documentation. True False
True
91
To deal with a set of requirements, we should be able to access the ones we want, when we want them This is the quality of: availability accessibility measurability all of the above
accessibility
92
Comprehensive requirements means: how thorough the requirements are the extent to which the customer’s wants and needs are included how descriptive the requirements are none of the above
the extent to which the customer’s wants and needs are included
93
A set of requirements is self complete if: it is testable it was designed properly it contains every part whose inclusion is necessitated by parts already present none of the above
it contains every part whose inclusion is necessitated by parts already present
94
The following requirements, “A player can choose the hair color of a character” and “The hair color of a character can only be brown” are considered what type of requirements? inconsistent consistent constraints all of the above
inconsistent
95
When defining a use case, you should ask yourself, “What are the goals of the actor?” as opposed to “What does the actor typically do?” True False
True
96
What linguistic test can be used to determine if something is a feature of the system (or one of functional requirements)? The system is . The system has . The system does . The system provides .
The system does .
97
It is common to work on varying scenarios of the same use case over several iterations. True False
True
98
At the requirements level, behavior is described in operations associated with classes. use cases only. class operations and use cases. use case diagrams only. use case diagrams and operations.
use cases only.
99
A use case defines a contract with respect to how the system should behave. True False
True
100
A Conceptual (Domain) Model is: A representation of the concepts that solve the problem. A model of the system implementation. A representation of concepts in the problem domain. A model of the user interactions with the system. A model of the system functions that deal with problem domain concepts.
A representation of concepts in the problem domain.
101
A software class is less specific than a conceptual class because the latter is specific to a particular programming language whereas the former is not. True False
False
102
An association between two conceptual classes is inherently bidirectional. In other words, each class is aware of the other class via the identified association. True False
True
103
The artifacts that can help your requirements modeling are use case diagrams, use cases, and requirements-level class diagrams. Among theses, behavioral aspects of the domain are described in: operations shown in a requirements-level class diagram. use cases only. class operations and use cases. use case diagrams only. use case diagrams and operations.
use cases only.
104
A conceptual class represents a concept from the real world, which could be almost anything with a label. Even a "thought" could be viewed as a conceptual class. True False
True
105
Collaboration among software objects can be described using a requirements-level class diagram. True False
False
106
Concepts in a conceptual (domain) model should include: Software artifacts such as windows, a database, and data structures. Actions that are listed in a use case scenario. Places, events, policies, and their relationships. Places, events, transactions, policies, and their operations. Physical objects, places, transactions, events, policies, catalogs, contracts.
Physical objects, places, transactions, events, policies, catalogs, contracts.
107
One way to identify concepts to include in a Conceptual (Domain) Model is to: Find relationships between entities in the problem description, use cases, and requirements specification. Find nouns or noun-phrases in the problem description, use cases, and requirements specification. Find verbs or verb-phrases in the problem description, use cases, and requirements specification. Find adjectives in the problem description, use cases, and requirements specification. Find elements of pure data types in the problem description.
Find nouns or noun-phrases in the problem description, use cases, and requirements specification.
108
Rather than use an attribute as a key that associates two types, you should do which one of the following? Use a relational data base. Use a context variable. Use generalization/specialization to create a hierarchy between the two concepts. Use composition and multiplicity to create a hierarchy between the two concepts. Use an association.
Use an association.
109
The development of a conceptual (domain) model: May occur in parallel to the development of the use cases. Must always follow the development of use cases and the requirements list. Must occur after collaboration diagrams and system sequence diagrams are completed. May occur after collaboration diagrams are completed. Must occur before developing use case diagrams.
May occur in parallel to the development of the use cases.
110
Using evolutionary development, it is important to create a domain model that is as accurate as possible before creating sequence diagrams. True False
False
111
When constructing a domain model: (Choose all correct answers) one needs to identify as many associations as possible. An n-ary association relates n classes (concepts). data flows are represented as associations. two classes (concepts) may have several different associations between them. the type of an attribute should normally be a complex domain concept.
An n-ary association relates n classes (concepts). two classes (concepts) may have several different associations between them.
112
Which of the following are good examples of specialization in a requirements model? Indicate all good examples. Stack specializes List Student specializes Person Oak specializes Tree Wheel specializes Car SequenceIndex specializes Sequence
Student specializes Person Oak specializes Tree
113
Most System Sequence Diagrams (SSDs) are created in inception. True False
False
114
System events should be expressed in terms of the physical input device. True False
False
115
UML SSDs are used to illustrate the system internal behaviors as UML Sequence Diagrams (SDs) do. True False
False
116
Which of the following are true about an SSD? (multiple answers) SSD stands for Static Sequence Diagram. An SSD is a picture that shows, for one particular scenario of a use case, interactions between external actors and the system. For the events shown by external actors, an order is also shown. An SSD does not show inter-system events.
An SSD is a picture that shows, for one particular scenario of a use case, interactions between external actors and the system. For the events shown by
117
Which of the following is not a good description of information that should be described in a contract (i.e., an operation contract that is specified for an SSD)? (multiple answers) Preconditions Postconditions Name of system operation, and its parameters All system internal actions to be performed during the operation Use cases this operation can occur with All primary actors of the use case that this operation can occur with Noteworthy assumptions about the state of the system or objects in the domain model before execution of the operation. None of the above
All system internal actions to be performed during the operation All primary actors of the use case that this operation can occur with
118
Which of the following is not a category that postconditions of an operation contract fall into? Instance creation or deletion. Attribute change of value. Associations formed or broken. An algorithm or solution of the operation
An algorithm or solution of the operation
119
Which of the following is not a true statement about operation contracts? Operation contracts are useful to understand and identify what should happen when a complex system operation is invoked. Postconditions in operation contracts should be expressed in the context of the Domain Model objects. Postconditions in operation contracts should always be expressed in the present tense. When new instances are created, it is likely that associations to several objects need be established.
Postconditions in operation contracts should always be expressed in the present tense.
120
Drawing an SSD is relevant to know which events are coming into the system. True False
True
121
How do we indicate a Singleton instance in a class diagram? <> With a '1' in the upper right-hand corner Just draw a single one None of the above
With a '1' in the upper right-hand corner
122
A sequence diagram describes only the interactions between objects; it does not describe what happens inside of an object. how an object state changes as a result of receiving an event. the interactions between objects and the activities that take place within an object. how an object is transformed by message. a detailed algorithm for a method.
only the interactions between objects; it does not describe what happens inside of an object.
123
Which of the following statements about UML dependencies are true? (multiple answers) A dependency represents a transient relationship between class objects. When an object A creates another object B, a create dependency exists between the objects A and B. A dependency in UML should always be implemented in Java by defining a reference as a class member. If an object of class A is passed in as a parameter to a method defined in class B, then a dependency exists between class A and class B. A solid line with an arrow at the one end is used to depict all types of dependencies.
A dependency represents a transient relationship between class objects. When an object A creates another object B, a create dependency exists between the objects A and B. If an object of class A is passed in as a parameter to a method defined in class B, then a dependency exists between class A and class B.
124
A lifeline in a sequence diagram represents an instance. represents a class represents the body of a method. represents the exception handling mechanisms of an object represents associations.
represents an instance.
125
To handle the logic (e.g., looping) required for a sequence being modeled, we can use frames with appropriate operators (e.g., loop for looping), which is formally called “sequence diagram fragments.” Which one of the following statements about sequence diagram fragments is not true? Fragments can be nested. The alt fragment is used to show alternative interactions. The par fragment is used to show groups of interactions that can occur in parallel. A neg fragment describes interactions that are optional. A fragment can span multiple lifelines.
A neg fragment describes interactions that are optional.