Software Engineering 2 - Test 1
(T/F) Data flow diagrams describe the flow of end-user activity and processing through an application
False
(T/F) Requirements analysis is performed before the planning phase
False
(T/F) Software engineering is synonymous with "writing high-quality software"
False
(T/F) The Software Engineering Code of Ethics and Professional Practice was written by the ACM, not by IEEE
False
(T/F) The agile process has been in use now since the early 60's
False
(T/F) The intention of internal releases is to send to customers for evaluation
False
(T/F) Things have greatly improved since the NATO conference of 1968. Today very few large software projects end in disaster
False
(T/F) We usually think of details as being far less important than the "big picture" but a missing requirements detail does not have a large affect on projects
False
(T/F) When using the SCRUM process, daily scrum meetings should last no more than an hour
False
(T/F) an advantage of using the waterfall process is that resources are always active and never idle waiting for others to complete dependent tasks
False
(T/F) the Agile manifesto is anti-methodology and advocates not using any methodology when developing a software project
False
(T/F) the results of the design phase are typically captured in the Software Project Management Plan
False
T/F The oldest manner of organizing detailed requirements is by use case
False
T/F Understandability appears to be a highly subjective quality because it depends on people's opinion and it cannot be measured
False
A common way to analyze stakeholder requirements is to
Interview the stakeholders face to face
What affects complexity of software probably more than any other factor?
Size
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? 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
The function was executed at a time when it should not have been
What linguistic test can be used to determine if something is a feature to the system (or one of functional requirements)?
The system does <something>
(T/F) A use case defines a contract with respect to how the system should behave.
True
(T/F) Agile process is an alternative to more classical approaches which are considered too "process heavy"
True
(T/F) 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
(T/F) Ensuring the application is compliant with the HIPAA privacy act, is an example of a security requirement.
True
(T/F) 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
(T/F) Individuals and interactions over process and tools is a main principle of the Agile software process
True
(T/F) It is common to work on vary scenarios of the same use case over several iterations
True
(T/F) Pair programming is a practice found in extreme programming
True
(T/F) People who have a vested interest in the development and use of a software system are called stakeholders
True
(T/F) Poor programming skills is not a reason why software projects are unsuccessful
True
(T/F) Software engineering is concerned with completing a project within budget and within schedule
True
(T/F) The Agile manifest contains fundamental values and principles which should be followed when developing software
True
(T/F) The inception of a product is where product ideas are formulated and a vision is established
True
(T/F) The radiation overdose example illustrates how time-related issues in software can be very difficult to detect.
True
(T/F) Typically after an interview with a stakeholder, it is common to draft a SRS of the high-level requirements
True
(T/F) 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
(T/F) When customers develop the vision of the application, it is referred to as the applications model
True
(T/F) When defining a use case, you should ask yourself, "What are the goals of the actor?" opposed to "What does the actor typically do?"
True
(T/F) detailed requirements are the first software process documents that can be inspected against prior documentation
True
T/F "The player can decide the qualities of Encounter characters", is an example of an ambiguous requirement.
True
T/F Domain classes are used to categorize requirements using the class style method to organizing requirements
True
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] requirements; [2] poor development plans
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] revolutionary, [2] disciplined, [3] scalable, [4] management, [5] maintenance
[1] systematic, [2] disciplined, [3] quantifiable, [4] operation, [5] maintenance
Advantages of the spiral model are: a) Risks are managed early and throughout the process b) it is more cost effective c) it requires fewer resources d) all of the above
a
The SCRUM agile process insists that the customer community supply
a single stakeholder
A software project would be unsuccessful if (Choose all correct answers) a) the project is over-budget and/or misses the scheduled release date b) the performance of the software fails to meet expectations c) the system is difficult to use d) the quality of the software is too low e) the system does not meet the requirements identified by the customer
abcde
The activities within a software development project can include (Choose all correct answers) a) planning b) Requirements elicitation (ie identifying requirements) c) determining how the software should be constructed to address the requirements d) implementing the software e) evaluation the quality of the work products
abcde
Which of the following could cause a software project to be unsuccessful? (Choose all correct answers) a) poor estimates of necessary development time b) managers failed to identify and manage risks c) unrealistic project goals d) poor communication among developers, customers and users e) inability to recognize & manage the complexity of the system
abide
Unlike other processes, agile processes
accept frequent change in requirements
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
accessibility
What analogy was used at the NATO Conference to describe how we build [software] systems? cars watches airplanes safes
airplanes
The "product" of a software development includes more than source code -- and more than documentation. It also includes test plans/results, and productivity measurements. These are all called "work products" or
artifacts
At the requirements level, behavior is described in a) operations associated with classes b) use cases only c) class operations and use cases d) use case diagrams only e) use case diagrams and operations
b
Even when a requirement is testable, it can be time consuming. In order to be complete, we should also consider a) reducing the number of tests to shorten time b) estimate the cost of testing c) having upper management test as well d) none of the above
b
Tracability of detailed requirements means a) trace the requirement to the design only b) trace the requirement through the design to the implementation c) ensure that the requirement is documented d) all of the above
b
Which one of the following does not fall into the category of common security requirements a) confidentiality b) portability c) integrity d) authentication e) authorization
b
comprehensive requirements means a) how thorough the requirements are b) the extent to which the customers wants and needs are included c) how descriptive the requirements are d) none of the above
b
Which of the following are software engineering principles (Choose all that apply) a) make speed number one b) high quality software is possible c) give products to customers early d) use an appropriate software process e) minimize intellectual property f) inspect code g) software is the key to success
bcdf
A major principle of the Agile software is a) producing more than enough documentation b) creating overly complex architectures c) working software is the primary measure of progress d) none of the above
c
A requirement is considered to be traceable if a) it maps back to the SRS only b) it can be tested only c) it maps back to the design, implementation, and test d) none of the above
c
A set of requirements is self complete if a) it is testable b) it was designed properly c) it contains every part whose inclusion is necessitated by parts already present d) none of the above
c
A teams' velocity is the assessment of a) how quickly a team can complete an iteration b) how much a team can complete within an iteration c) the relative difficulty of stories and the rate at which it is able to implement them d) none of the above
c
Refactoring is the process of a) adding unit tests to the code b) changing the way in which a feature works c) altering the form of the code base while retaining the same functionality d) none of the above
c
When capability needs to be reduced from a project perspective it is good to: a) not implement the most difficult requirements b) implement the requirements with the least amounts of tests c) appropriate triage of the requirements c) none of the above
c
Which is not a practice of Agile: a) Individuals and iterations over processes and tools b) Working software over comprehensive documentation c) Following a plan rather than responding to change d) customer collaboration over contract negotiation
c
which is a reason for an organization not to make a project open source a) to gain market knowledge b) to support core business c) to have many individuals add to the code base d) to support services
c
Pair programming is
continual inspection of by one team member of the work of a teammate
In understanding detailed GUI requirements, it is not important to
create solid backend services
The person (or persons) responsible for purchasing the software is called the
customer
A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as a) measuring progress b) coding, designing, and testing c) clearing obstacles d) a and c only e) none of the above
d
A diagram that depicts the different states within an application is called a) a use case narrative b) a dataflow diagram c) a deployment diagram d) none of the above
d
During SCRUM the following questions need to be answered a) what items have been completed since the last meeting? b) what issues have been discovered that need to be resolved? c) what new assignments make sense for the team to complete until the next scrum meeting? d) all of the above e) none of the above
d
During the maintenance phase, modifications are made to the software usually arise due to : a) Software defects b) Customer enhancement requests c) performance or reliability improvements d) all of the above e) none of the above
d
The Agile process advocates the following: a) small, close knit teams b) regular, frequent, customer meetings c) code-centric approach d) all of the above e) none of the above
d
There are multiple ways to organize detailed requirements, they are: a) by feature b) by use-case c) by state d) all of the above
d
Which priorities adhere to the Crystal methodology a) safety in the project outcome b) efficiency in development c) habitability of the conventions d) all of the above e) a and c only
d
Which quality assurance metric is not in the IEEE standard 982.2-1988: a) degree of completeness b) traceability c) consistent with the remaining requirements d) defect traceability
d
Which practices adhere to the Extreme programming methodology a) Feature driven development b) single programming only c) work at an extremely fast pace d) all of the above e) none of the above
e
(T/F) "The system shall display the difference in salary between the client and the worldwide average for the same trade" is a testable requirement.
false
a software design document is used as input to the
implementation
Within most software process models, the following phases are followed:
inception, planning, requirements analysis, design, implementation, testing, maintenance
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 to be which type of requriements
inconsistent
A software process identifies when activities should be performed during software development. It usually identifies different ________, how they are ordered, how frequently they occur, and the project _______
phases, deliverables
The stakeholders who are responsible for monitoring the progress of a project -- as well as establishing the schedule and budget -- are the
project managers
What are the phases (in order) of the waterfall model
requirements, design, implementation, testing, maintenance
Audit trails are an example of what type of requirement:
security
The phases of the waterfall process are executed in a strictly _________ order
sequential
For simple projects requirements can be tracked:
spreadsheet
In order to validate a requirement it must be
testable
Test driven development is when
tests are written before code is implemented
A disadvantage of organizing requirements by class is
the class may change which would break the relationship between requirements and design
A data flow diagram describes
the flow of data through the application
Changing from one GUI state to another is called a
transition
Organizing detailed requirements by operational sequences is called:
use case organization
Within agile projects, the description of user actions through the application is called
user stories
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. NOTE: separate answers by ; [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 ; 700,000
170 million; 700,000
The NATO conference that coined the term "Software engineering" occurred in the year 1971 1968 1985 1990
1968
A conceptual (domain) model is
A representation of concepts in the problem domain
(T/F) 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.
False
(T/F) A software process prescribes the interrelationship among the phases by expressing their order and frequency, but does not define the deliverables of the project
False
(T/F) Agile methods advocate delivering working software, but not testing the working software.
False
(T/F) Agile processes should not merge with non agile processes
False