You are on page 1of 21

SOFTWARE DEVELOPMENT

FABRIKAM
• Why must companies place an increased emphasis
on the use of high-quality software in business
systems, industrial process-control systems, and
consumer products?
• What potential ethical issues do software
manufacturers face in making trade-offs between
project schedules, project costs, and software
quality?
• What are the four most common types of software
product liability claims?

FABRIKAM 2
• What are the essential components of a software
development methodology, and what are the
benefits of using such a methodology?
• How can the Capability Maturity Model
Integration® improve an organization’s software
development process?
• What is a safety-critical system, and what special
actions are required during its development?

FABRIKAM 3
High-quality software systems

• Easy to learn and use because they perform quickly and efficiently, meet their users’
needs, and operate safely and reliably so that system downtime is kept to a minimum

Software defect

• Error that, if not removed, could cause a software system to fail to meet its users’
needs

Software quality

• Degree to which a software product meets the needs of its users

Quality management

• Defining, measuring, and refining the quality of the development process and
the products developed
• Deliverables: Products of quality management

FABRIKAM
4 4
• Developers must define and follow a set of software
engineering principles
Be committed to learning from past mistakes
• Developers must understand the environment in which their
systems will operate
Design systems that are immune to human error
• Extreme pressure that software companies feel to reduce
the time to market for their products
• Resources needed to ensure quality are cut under the
pressure to ship a new product

FABRIKAM 5
• Business information system: Set of interrelated
components that collects and processes data and
disseminates the output
 Decision support system (DSS)
• Controls industrial processes and the operation of
industrial and consumer products
• Mismanaged software can be fatal to a business
 Miss product deadlines, increased product
development costs, and delivery of low quality
products
• Use of software introduces product liability issues

FABRIKAM 6
• Product liability: That of manufacturers, • Legal defenses used against strict liability
sellers, lessors, and others for injuries  Doctrine of supervening event
caused by defective products  Government contractor defense
 Based on strict liability, negligence,  Expired statute of limitations
breach of warranty, or misrepresentation • Negligence
• Strict liability: Defendant held responsible  Failure to do what a reasonable
for injuring another person, regardless of person would do, or doing something
negligence or intent that a reasonable person would not
 Plaintiff must prove only that the do
software product is defective or  Contributory negligence: Plaintiffs’
unreasonably dangerous and that the own actions contributes to their
defect caused the injury injuries

FABRIKAM 7
• Warranty: Assures buyers or lessees
that a product meets certain
standards of quality
 Breach of warranty: Lessee can
sue the lessor if the product fails
to meet the terms of its warranty
 Difficult to prove because the
software supplier writes the
warranty to limit liability

FABRIKAM 8
THE WATERFALL MODEL
SOFTWARE
METHODOLOGY

FABRIKAM
• Standard work process that enables controlled progress
while developing high-quality software
• Use of an effective methodology protects software
manufacturers from legal liability
Reduces the number of software errors
If an organization follows widely accepted development
methods, negligence on its part is harder to prove
• Quality assurance (QA): Methods within the development
cycle designed to guarantee reliable operation of a product

FABRIKAM 10
• Dynamic testing: Entering test data and
comparingAssures
• Warranty: the results withor
buyers thelessees
expected results in
a process
that a product meets certain
 Black-box
standards testing: Viewing the software unit
of quality
as a device
 Breach that has expected
of warranty: Lessee input
can and output
behaviors
sue butif whose
the lessor internal
the product failsworkings are
tounknown
meet the terms of its warranty
 Difficult
If the to unitprove
demonstrates
because thethe expected
behaviorssupplier
software for all the input the
writes data in the test
suite, it passes
warranty to limitthe test
liability
 White-box testing: Treats the software unit as
a device that has expected input and output
behaviors but whose internal workings are FABRIKAM 11
Integration
Static testing
testing

User
System testing acceptance
testing

FABRIKAM 12
• Process-improvement approach that
defines the essential elements of
effective processes
 Identifies the issues that are most
critical to software quality and
process improvement
• Enables an organization to track,
evaluate, and demonstrate its
progress
FABRIKAM 13
FABRIKAM 14
• Whose failure may cause injury or death
 Safe operation relies on the flawless performance
of software
• Key assumption - Safety will not automatically result
from following the organization’s standard
development methodology
• Tasks require:
 Additional steps
 More thorough documentation
 Vigilant checking and rechecking
FABRIKAM 15
• System safety engineer: Uses a logging and monitoring
system to track hazards from a project’s start to its finish
 Hazard log: Used to assess how detected hazards have
been accounted for
• When designing, building, and operating a safety-critical
system a formal risk analysis is to be conducted
• Redundancy: Provision of multiple interchangeable
components to perform a single function in order to cope
with failures and errors

FABRIKAM 16
• N-version programming: Approach to minimizing
the impact of software errors by independently
implementing the same set of user requirements N
times
 Multiple software versions are unlikely to fail at
the same time under the same conditions
• Consequences of failure can be mitigated by devising
emergency procedures and evacuation plans

FABRIKAM 17
• Reliability: Measure of the rate of failure in a system that
would render it unusable over its expected lifetime
 Capability of the system to continue to perform
• Safety - Ability of the system to perform in a safe manner
• System-human interface - Important and difficult areas of
safety-critical system design
 Design of the system should not allow for erroneous
judgment on the part of the operator

FABRIKAM 18
• ISO 9001 family of standards
 Guide to quality products, services, and
management
Organization must submit to an examination by
an external assessor to obtain the certificate
• Failure mode and effects analysis (FMEA)
 Used to develop ISO 9001-compliant quality
systems
 By evaluating reliability and determining the
effects of system and equipment failures
 Failure mode: Describes how a product or
process could fail to perform the desired
functions described by the customer
FABRIKAM 19
Determine Determine Calculate
Determine Determine
the the the risk
the severity the
occurrence detection priority
rating criticality
rating rating rating

FABRIKAM 20
THANK YOU
W W W. FA B R I K A M . C O M

dagutierrez@uerm.edu.ph

Darwin Robert A.
Gutierrez

FABRIKAM

You might also like