Font size
WorksheetsFinal Exam - Soft Eng 2
Total questions: 85
Worksheet time: 1hrs 4mins
_____ is one of the most important jobs of a software project
manager.
Project planning
Project costing
Project estimate
Project leader
the price of a software system developed for a customer is simply
the cost of development plus profit for the developer.
Software pricing
Software cost
Software estimate
Software planning
_____ is an approach to software
engineering where the development process is planned in detail.
Plan driven
Agile driven
Task driven
Project driven
A ____ is created that records the work to be done, who will do it, the
development schedule, and the work products.
Project plan
Project cost
Project estimate
Project goal
Briefly describes the objectives of the project and sets out the
constraints (e.g., budget, time) that affect the management of the project.
Introduction
Project organization
Risk analysis
HW & SW resource req.
Describes the way in which the development team is
organized, the people involved, and their roles in the team.
Project organization
Introduction
Risk analysis
Work breakdown
Describes possible project risks, the likelihood of these risks
arising, and the risk reduction strategies
Risk analysis
HW & SW resource req.
Work breakdown
Project schedule
Specifies the hardware
and support software required to carry out the development. If hardware has
to be purchased, estimates of the prices and the delivery schedule may be
included
HW & SW resource req.
Work breakdown
Project schedule
Risk analysis
Sets out the breakdown of the project into activities and
identifies the inputs to and the outputs from each project activity.
Work breakdown
Project schedule
Monitoring & Reporting
Risk analysis
Shows the dependencies between activities, the estimated
time required to reach each milestone, and the allocation of people to
activities.
Project schedule
Work breakdown
Monitoring & Reporting
Risk analysis
___ is the process of deciding how the work in a project will be
organized as separate tasks, and when and how these tasks will be executed.
Project scheduling
Project planning
Project organizing
Project processing
charts show who is responsible for each activity, the
expected elapsed time, and when the activity is scheduled to begin and end.
Calendar based
Gantt Chart
Bar Charts
Calendar Chart
____ show the dependencies between the different activities
making up a project.
Activity network
Gantt Chart
Activity chart
Bar Chart
which looks ahead for several months and decides on the
features that should be included in a release of a system.
Release planning
Iteration planning
Project planning
Agile planning
which has a shorter term outlook and focuses on planning
the next increment of a system. This usually represents 2 to 4 weeks of work
for the team.
Iteration planning
Agile planning
Release planning
Project planning
The estimate of future effort requirements is
based on the manager’s experience of past projects and the application
domain.
Experience based
Algorithm cost modeling
Experience cost modeling
Algorithm based
In this approach, a formulaic approach is used to
compute the project effort based on estimates of product attributes, such as
size, process characteristics, and experience of staff involved.
Algorithm cost modeling
Algorithm based
COCOMO
COCOMO II
A software project is said to be an organic type if the team size
required is adequately small
Organic
Semi-detached
Embedded
Semi-organic
If the vital characteristics such as team-size, experience,
knowledge of the various programming languages
Semi-detached
Semi-organic
Semi-embedded
Embedded
Software project requiring the highest level of complexity,
creativity, and experience, also with the larger team size.
Embedded
Semi-Embedded
Semi-organic
Organic
A customer may be willing to allow the developer to retain ownership of the source code and reuse it in the other projects.
Contractual terms
Cost estimate
Financial health
Market opportunity
If an organization is unsure of its cost estimate, it may increase its price by a contingency over and above its normal profit
Cost estimate uncertainly
Financial health
Contractual terms
Market opportunity
Companies with financial problems may lower their price to gain a contract.
Financial health
Market opportunity
Requirements volatility
Contractual terms
A development organization may quote a low price because it wishes tomove into a new segment of the software market.
Market opportunity
Contractual terms
Financial health
Requirements volatility
If the requirements are likely to change, an organization may lower itsprice to win a contract
Requirements volatility
Contractual terms
Financial health
Market opportunity
___ is concerned with ensuring that developed
software systems are “fit for purpose.”
Quality Management
Software Quality
Software Standards
Quality Systems
A description of the product, its intended market, and
the quality expectations for the product.
Product introduction
Product Plans
Process descriptions
Quality goals
The critical release dates and responsibilities for the product,
along with plans for distribution and product servicing.
Product plans
Product introduction
Process descriptions
Quality goals
The development and service processes and standards
that should be used for product development and management
Process descriptions
Product introduction
Product plans
Quality goals
The quality goals and plans for the product, including an
identification and justification of critical product quality attributes.
Quality goals
Process descriptions
Product plans
Product introduction
The key risks that might affect product quality
and the actions to be taken to address these risks.
Risk and risk management
Quality goals
Process descriptions
Product plans
The manufacturing industry established the fundamentals of quality
management in a drive to improve the quality of the products that were being
made.
Software quality
Quality management
Software standards
High End Systems
An important part of quality assurance is the definition or selection of
standards that should apply to the software development process or software
product.
Software Standards
Quality Management
Software Quality
High End Systems
This knowledge is often acquired only after a great deal of trial and error.
First Software Standard
Second Software Standard
Third Software Standard
Fourth Software Standard
Standards provide a framework for defining what quality means in a particular
setting.
First Software Standard
Second Software Standard
Third Software Standard
Fourth Software Standard
They include document standards, such as the structure of requirements
documents, documentation standards, such as a standard comment header
for an object class definition, and coding standards, which define how a
programming language should be used.
Product Standard
Quality Standard
Software Standard
ISO 9001
These define the processes that should be followed during
software development.
Process Standard
Product Standard
ISO 9001
Software Quality
the most general of these standards, applies to organizations that
design, develop, and maintain products, including software.
ISO 9001
ISO 9000
ISO 9002
ISO 9001:2015
standards can be applied to a range of organizations from
manufacturing through to service industries.
ISO 9000
ISO 9001
ISO 9002
ISO 9001:2016
a company must define the types of process
shown in Figure and have procedures in place demonstrating that its quality
processes are being followed.
ISO 9001
ISO 9000
ISO 9002
ISO 9001:2018
This involves checking the software, its documentation, and records of the
process to discover errors and omissions as well as standards violations.
Review & Inspect
Reviewing
Inspecting
Checking
These are preparatory activities that are essential for
the review to be effective.
Pre Review
Review Meeting
Post Review
Final Review
During the ___ an author of the document
or program being reviewed should “walk through” the document with the
review team.
Review Meeting
Pre Review
Post Review
Final Review
Actions may involve fixing software bugs, refactoring software so that it
conforms to quality standards, or rewriting documents.
Post Review
Pre Review
Review Meeting
Final Review
___ are peer reviews where team members collaborate to
find bugs in the program that is being developed.
Program Inspection
Review & Inspection
ISO 9001 Review
Quality Management Review
___ methods of software engineering focus on the development of code.
Agile
Code & Fix
Design & Develop
Trial & Error
___, in agile development, means code quality and practices such as
refactoring, and test driven development are used to ensure that high-quality
code is produced.
Quality
Management
Quantity
Code Quality
Programmers are responsible for organizing their
own code reviews with other team members before the code is checked in to
the build system.
Check before check in
Never break the build
Fix problems when you see them
Fix right away
It is not acceptable for team members to check in
code that causes the system as a whole to fail. Therefore, individuals have to
test their code changes against the whole system and be confident that these
codes work as expected
Never break the build
Check before check in
Fix problems when you see them
Fix right away
The code of the system belongs to the
team rather than to individuals. Therefore, if a programmer discovers
problems or obscurities in code developed by someone else, he or she can fix
these problems directly rather than referring them back to the original
developer.
Fix problem when you see them
Check before check in
Never break the build
Fix right away
Both members of a pair may make the same
mistake in understanding the system requirements. Discussions may reinforce
these errors.
Mutual misunderstanding
Pair reputation
Working relationships
Misunderstanding
Pairs may be reluctant to look for errors because they do not
want to slow down the progress of the project.
Pair reputations
Working relationships
Mutual misunderstandings
Misunderstanding
The pair’s ability to discover defects is likely to be
compromised by their close working relationship that often leads to reluctance
to criticize work partners
Working relationships
Pair reputations
Mutual misunderstanding
Misunderstanding
___ is concerned with quantifying some attribute of a
software system such as its complexity or its reliability.
Software Measurement
Software Quality
Software Complexity
Software Reliability
To assign a value to system quality attributes By measuring the
characteristics of system components and then aggregating these
measurements, you may be able to assess system quality attributes, such as
maintainability
Software Measurement
Software Quality
Software Management
Software Quantity
___ is the process of keeping track of different versions of
software components and the systems in which these components are used.
Version management
Version control
Version Control Management
Version Listing
It also involves ensuring that changes made by different developers to these
versions do not interfere with each other.
Version management
Version Control
Version Control Management
Version Listing
A ___ is a sequence of versions of source code, with later versions in the
sequence derived from earlier versions.
Codeline
Baseline
Listing
Versioning
The ___ specifies the component versions that are included in the system
and identifies the libraries used, configuration files, and other system
information.
Codeline
Baseline
Listing
Versioning
____, where a single master repository maintains all
versions of the software components that are being developed. Subversion
(Pilato, Collins-Sussman, and Fitzpatrick 2008) is a widely used example of a
centralized VC system
Centralized systems
Distributed systems
Opensource systems
Agile systems
___, where multiple versions of the component repository
exist at the same time. Git (Loeliger and McCullough 2012), is a widely used
example of a distributed VC system.
Distributed systems
Centralized systems
Opensource systems
Agile systems
Managed versions of a component are
assigned unique identifiers when they are submitted to the system.
Version and release identification
Change history recording
Independent development
Project support
The VC system keeps records of the changes that
have been made to create a new version of a component from an earlier
version.
Version and release identification
Change history recording
Independent development
Project support
The version control system keeps track of components that have been
checked out for editing and ensures that changes made to a component by
different developers do not interfere.
Version and release identification
Change history recording
Independent development
Project support
It is usually possible to check in and check out all of the files associated with a
project rather than having to work with one file or directory at a time.
Version and release identification
Change history recording
Independent development
Project support
It allows for offline working so that developers can commit changes if they do not have
a network connection.
Repository Cloning
Cloning
Cloning Management
Version Cloning
A separate repository that holds both private and public project repository.
Open-source
Online Backup
Google Drive
Accessing Online
This is the normal mode of operation when new features have been added.
Branching & Merging
Version Management
Version Cloning
Version Branching
___ is the process of creating a complete, executable system by
compiling and linking the system components, external libraries, configuration
files, and other information.
System Building
System Development
System Progress
System Analysis
___ tools and version control tools must be integrated as the
build process takes component versions from the repository managed by the
version control system.
System Building
System Development
System Analysis
System Design
The build system should check out the
required versions of components from the version control system.
Version control system integration
Build script generation
Minimal recompilation
Executable system creation
The build system should work out what source code
needs to be recompiled and set up compilations if required.
Version control system integration
Build script generation
Minimal recompilation
Executable system creation
The build system should link the compiled
object code files with each other and with other required files, such as
libraries and configuration files, to create an executable system
Version control system integration
Build script generation
Minimal recompilation
Executable system creation
Some build systems can automatically run automated tests
using test automation tools such as J Unit. These check that the build has not
been “broken” by changes.
Test automation
Reporting
Document generation
Executable system creation
The build system should provide reports about the success or
failure of the build and the tests that have been run.
Test automation
Reporting
Document generation
Executable system creation
___ is a fact of life for large software systems.
Change
Update
Release
Version
___ is intended to ensure that the evolution of the system is
controlled and that the most urgent and cost-effective changes are prioritized.
Change Management
Version Management
Controlled Management
Release Management
If the change is associated with a reported system failure, the seriousness of that failure has to be taken into account.
The consequences of not making the change
The benefits of the change
The number of users affected by the change
The costs of making the change
Will the change benefit many users of the system,
or will it only benefit the change proposer?
The consequences of not making the change
The benefits of the change
The number of users affected by the change
The costs of making the change
If only a few users are affected, then the change may be assigned a low priority. In fact, making the change may be inadvisable if it means that the majority of system users have to adapt to it.
The consequences of not making the change
The benefits of the change
The number of users affected by the change
The costs of making the change
If making the change affects many system components (hence increasing the chances of introducing new bugs) and/or takes a lot of time to implement, then the change may be rejected.
The consequences of not making the change
The benefits of the change
The number of users affected by the change
The costs of making the change
If a new version of the software has just been
released to customers, it may make sense to delay implementation of the
change until the next planned release
The product release cycle
The benefits of the change
The number of users affected by the change
The costs of making the change
____ is a version of a software system that is distributed to customers.
System Release
Release Management
Version Management
Free Software
For mass market software, a new system release may be necessary because a competing product has introduced new features
Competition
Rival
Version Release
System Release
___ are very important economically to the software vendor, as
customers usually have to pay for them.
Major Release
Minor Release
System Release
Version Release
