Software Engineering 2 Final
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
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
Which of the following could cause a software project to be unsuccessful?
- poor estimates of necessary development time - managers failed to identify and manage risks - unrealistic project goals - poor communication among developers, customers, and users - inability to recognize and manage the complexity of the system
Several software engineering principles are listed in the text book. They are: - Make ________ number 1 - High-quality software is __________ - Give products to customers ______ - Use an appropriate software ______ - Minimize intellectual __________ - _______ code - _________ are the key to success
- quality - possible - early - process - distance - Inspect - People
The IEEE defines software engineering as "The application of a _________, ________, __________ approach to the development, ____________, and ____________ of software.
- systematic - disciplined - quantifiable - operation - maintenance
A software project would be unsuccessful if
- 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
The activities within a software development project can include
-- planning - requirements elicitation - Determining how the software should be constructed to address the requirements - implementing the software - Evaluating the quality of the work products
Identify the phases of the waterfall model, in the order in which they would occur:
-- requirements - design - implementation - testing - maintenance
The person (or persons) responsible for purchasing the software is called the ____________.
-customer
The NATO conference that coined the term "software engineering" occurred in the year ___________.
1968
A Conceptual (Domain) Model is:
A representation of concepts in the problem domain.
Which quality assurance metrics are not in the IEEE Standard 982.2-1988:
Defect traceability
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
A software process prescribes the interrelationship among the phases by expressing their order and frequency, but does not define the deliverable of the project
False
Agile methods advocate delivering working software, but not testing the working software.
False
Agile processes should not merge with non-agile processes.
False
An advantage of using the waterfall process is that resources are always active and never idle waiting for others to complete dependent tasks.
False
Requirements analysis is performed before the planning phase
False
Software engineering is synonymous with 'writing high-quality software'
False
The Agile manifesto is anti-methodology and advocates not using any methodology when developing a software product.
False
The Agile process has been in use now since the early 60's.
False
The Software Engineering Code of Ethics and Professional Practice was written by the ACM (Association of Computing Machinery),.
False
The intention of internal releases is to send to customers for evaluation.
False
The oldest manner of organizing detailed requirements is by use case.
False
The results of the design phase are typically captured in the Software Project Management Plan.
False
Things have greatly improved since the NATO conference of 1968. Today very few large software projects end in disaster.
False
When using the SCRUM process, daily scrum meetings should last no more than an hour.
False
Which is not a practice of Agile:
Following a plan rather than responding to change
A common way to analyze stakeholder requirements is to:
Interview the stakeholders face -to-face
Advantages of the spiral model are:
Risks are managed early and throughout the process
What linguistic test can be used to determine if something is a feature of the system (or one of functional requirements)?
The system does <something>.
Which is a reason for an organization not to make a project open source:
To have many individuals add to the code base
"The player can decide the qualities of Encounter characters", is an example of an ambiguous requirement.
True
A use case defines a contract with respect to how the system should behave.
True
Agile process is an alternative to more classical approaches which are considered too "process heavy".
True
Detailed requirements are the first software process documents that can be inspected against prior documentation.
True
Detailed requirements can be considered the "currency" of a project because they track the amount that's been accomplished.
True
Domain classes are used to categorize requirements using the class style method to organizing requirements.
True
Ensuring the application is compliant with the HIPAA privacy act, is an example of a security requirement.
True
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
Individuals and interactions over process and tools is a main principle of the Agile software process.
True
It is common to work on varying scenarios of the same use case over several iterations.
True
Pair programming is a practice found in extreme programming.
True
People who have a vested interest in the development and use of a software system are called stakeholders.
True
Poor programming skills is not listed in Section 1.3 as a reason why software projects are unsuccessful.
True
Software engineering is concerned with completing a project within budget and within schedule.
True
The Agile Manifesto contains fundamental values and principles which should be followed when developing software.
True
The inception of a product is where product ideas are formulated and a vision is established.
True
The people who have some interest in the outcome of the product are called its stakeholders.
True
The radiation overdose example illustrates how time-related issues in software can be very difficult to detect.
True
Typically after an interview with a stakeholder, it is common to draft a SRS of the high-level requirements.
True
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 Correct!
True
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
Within a requirements analysis document, an overview is intended to allow readers to quickly understand the main purpose of the intended application.
True
What analogy was used at the NATO conference to describe how we build [software] systems?
We build systems like the Wright Brothers built airplanes; create it, push it off a cliff, let it crash, start over again.
A major principle of the Agile software is:
Working software is the primary measure of progress
The SCRUM agile process insists that the customer community supply:
a single stakeholder
With regard to agile processes and 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
During SCRUM the following questions need to be answered:
all of the above
During the maintenance phase, modifications are made to the software usually arise due to:
all of the above
Please choose priorities which adhere to the Crystal methodology:
all of the above
The Agile process advocates the following:
all of the above
There are multiple ways to organize detailed requirements, they are:
all of the above
Refactoring is the process of:
altering the form of the code base while retaining the same functionality
When capability needs to be reduced from a project perspective it is good to:
appropriate triage the requirements
The "product" of a software development effort includes more than source code -- and more than documentation. It also include test plans/results, and productivity measurements. All of these products are called "work products" or ______________.
artifacts
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
Even when a requirement is testable, it can be time consuming. In order to be complete, we should also consider:
estimate the cost of testing
"The system shall display the difference in salary between the client and the worldwide average for the same trade" is a testable requirement.
false
Data flow diagrams describe the flow of end-user activity and processing throughout an application.
false
Understandability appears to be a highly subjective quality because it depends on peoples' opinion and it cannot be measured.
false
We usually think of details as being far less important than the ''big picture,'' but a missing requirements detail does not have that large an affect on projects.
false
For simple projects requirements can be tracked:
in a spreadsheet
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
A set of requirements is self complete if:
it contains every part whose inclusion is necessitated by parts already present
A requirement is considered to be traceable if:
it maps back to the design, implementation and test
The stakeholders who are responsible for monitoring the progress of a project -- as well as establishing the schedule and budget -- are the project ________________.
managers
A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as:
measuring progress & clearing obstacles
A diagram that depicts the different states within an application is called
none of the above
Please choose practices which adhere to the Extreme Programming methodology:
none of the above
After the FBI Virtual Case File project was abandoned, investigators concluded poorly defined _____________ -- in addition to poor networking ____________ and poor development ______________ were to blame.
requirements plans plans
Audit trails are an example of what type of requirement:
security
What affects the complexity of software probably more than any other factor?
size
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
Comprehensive requirements means:
the extent to which the customer's wants and needs are included
A data flow diagram describes
the flow of data through the application
A teams' velocity is the assessment of:
the relative difficulty of stories and the rate at which it is able to implement them
Traceability of detailed requirements means:
trace the requirement through the design to the implementation
Changing from one GUI state to another is called a:
transition
When customers develop the vision of the application, it is referred to as the applications model.
true
Organizing detailed requirements by operational sequences is called:
use case organization
At the requirements level, behavior is described in
use cases only
Within agile projects, the description of user actions through the application is called:
user stories
the simplest software process is called the _________ process. Its phases are executed in a strictly _________ order.
waterfall sequential