IT0025 - M7 - Decisions in Software Development

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

IT0025 - Social and Professional Issues

Module 7 - Ethical Decisions in Software Development • develop accurate forecasts of customer


demand,
ST1 - Software Quality • recommend stocks and bonds for an
Intended Learning Outcomes investment portfolio,
– Explain the use of high-quality software in the business • schedule shift workers.
system;
– Enumerate the types of Software Product Liability; and - Software is also used to control many industrial
– Understand the ethical practices of the users. processes.
- Software is also used to control the operation of many
Strategies for Engineering Quality Software industrial and consumer products.
- As a result of the increasing use of computers and
High-quality software systems software in business, many companies are now in the
- easy to learn and use because they perform quickly and software business whether they like it or not.
efficiently;
- meet their users’ needs; and Software Product Liability
- they operate safely and reliably so that system downtime - The liability of manufacturers, sellers, lessors, and
is kept to a minimum. others for injuries caused by defective products is
commonly referred to as product liability.
Software defect - If a software defect causes injury or loss to purchasers,
- is any error that, if not removed, could cause a software lessees, or users of the product, the injured parties may
system to fail to meet its users’ needs. be able to sue as a result.
- Software product liability claims are typically based on
Software quality strict liability, negligence, breach of warranty, or
- the degree to which a software product meets the needs misrepresentation—sometimes in combination with one
of its users another.
- Strict liability means that the defendant is held
Quality Management responsible for injuring another person, regardless of
- focuses on defining, measuring, and refining the quality negligence or intent.
of the development process and the products developed - Negligence is the failure to do what a reasonable person
during its various stages. would do, or doing something that a reasonable person
would not do.
- The objective of quality management is to help - A warranty assures buyers or lessees that a product
developers deliver high-quality systems that meet the meets certain standards of quality.
needs of their users.
- A primary cause of poor software quality is that many Warranty requires that the following standards be met:
developers do not know how to design quality into • The goods must be fit for the ordinary purpose
software from the very start; some simply do not take for which they are used.
the time to do so.
• The goods must be adequately contained,
- To develop high-quality software, developers must packaged, and labeled.
define and follow a set of rigorous software engineering
• The goods must be of an even kind, quality,
principles and be committed to learning from past
and quantity within each unit.
mistakes.
• The goods must conform to any promise or
affirmation of fact made on the container or
The Importance of Software Quality
label.
- A business information system is a set of interrelated
• The quality of the goods must pass without
components—including hardware, software, databases,
objection in the trade.
networks, people, and procedures—that collects and
• The goods must meet a fair average or middle
processes data and disseminates the output.
range of quality.
- Another type of business information system is the
decision support system (DSS), which is used to
improve decision making in a variety of industries.
- If the product fails to meet the terms of its warranty, the
- A DSS can be used to
buyer or lessee can sue for breach of warranty.

1
IT0025 - Social and Professional Issues
- Software suppliers frequently write warranties to - Agile development concentrates instead on maximizing
attempt to limit their liability in the event of the team’s ability to deliver quickly and respond to
nonperformance. emerging requirements.
- Although a certain software application may be
warranted to run on a given machine configuration, Waterfall System Development Model
often no assurance is given as to what that software will
do.

ST2 - Strategies for Developing quality Software

Intended Learning Outcomes


- Understand the essential components of a Software
development methodologies.
– Understand the potential ethical issues do software
manufacturers facing; and
– Understand the ethical practices of the users.

Software Development Methodologies


- Developing information system software is not a
simple process;

- A methodology defines activities in the software • Investigation


development process and the individual and group • Analysis
responsibilities for accomplishing these activities • Design
- A methodology also offers guidelines or managing the • Construction
quality of software during the various stages of • Integration and testing
development. • Implementation

Agile System Development Methodology

Software Development Methodology


• Activities
• Requirements refinement meeting
o Responsibilities
• Prioritized list of system requirements (product backlog)
o Techniques
• Iteration planning session
o Quality guidelines
• Requirements to implement during this iteration
(iteration backlog)
- The waterfall system development model is a sequential, • 1-4 weeks iteration
multistage system development process in which o Daily stand-up meeting
development of the next stage of the system cannot
• Working system of requirements implemented so far
begin until the results of the current stage are approved
• Iteration review meeting
or modified as necessary.
Pros and Cons of Waterfall and agile
- Under the agile development methodology, a system is
developed in iterations (often called sprints) lasting
Waterfall Agile
from one to four weeks.
Pros Cons Pros Cons
2
IT0025 - Social and Professional Issues
Formal Often, users’ For It is an • White-box testing treats the software unit as a
review at needs go appropriate intense device that has expected input and output
end of each unstated or are projects, process that behaviors.
stage allows miscommunicate this takes
maximum d or approach considerabl Types of Software Testing
managemen misunderstood. puts an e time and • Static testing - Special software programs
t control. Users may end application effort on called static analyzers are run against new
up with a system int the part of code.
that meets those production project • Integration testing - After successful unit
needs as sooner. members testing, the software units are combined into an
understood by and can integrated subsystem.
the developers; result in • System testing - After successful integration
however, this burnout for testing, the various subsystems are combined
might not be system to test the entire system as a complete entity.
what the users developers • User acceptance testing - Independent testing
really needed. and other is performed by trained end users to ensure
project that the system operates as they expect.
participants
. Key Issues in Software Development
Structured Users can’t Forces Requires - Safety-critical system is one whose failure may cause
processes easily review teamwork stakeholder human injury or death.
produce intermediate and lots of s and users
many products and interaction to spend
- The key to ensuring that these additional tasks are
intermediate evaluate whether between more time
completed is to appoint a system safety engineer, who
products a particular users and working
has explicit responsibility for the system’s safety.
that can be product will lead project together on
used to to a system that stakeholder the project.
- The hazard log is used at each stage of the software
measure meets their s so that
development process to assess how it has accounted for
progress business users are
detected hazards.
toward requirements. more likely
developing to get a
- However, the safety engineer must keep in mind that
the system system that
his or her role is not simply to produce a hazard log
meets their
but rather to influence the design of the system to
needs.
ensure that it operates safely when put into use.
Quality Assurance (QA) - refers to methods within the
- Risk is the potential of gaining or losing something of value.
development process that are designed to guarantee reliable
Risk can be quantified by three elements:
operation of a product.
• a risk event
Software Testing • the probability of the event happening
- Software is developed in units called subroutines or • the impact (positive or negative) on the
programs. business outcome if the risk does actually
- One approach to QA is to test the code for a completed occur
unit of software by actually entering test data and - Risk management is the process of identifying, monitoring, and
comparing the results to the expected results in a process limiting risks to a level that an organization is willing to accept.
called dynamic testing.

There are two forms of dynamic testing:


• Black-box testing involves viewing the
Strategies for addressing a particular risk include the
software unit as a device that has expected
following:
input and output behaviors but whose internal
1. Acceptance - When the cost of avoiding a risk
workings are unknown (a black box).
outweighs the potential loss of a risk, an organization
will likely accept the risk.

3
IT0025 - Social and Professional Issues
2. Avoidance - An organization may choose to eliminate
the vulnerability that gives rise to a particular risk in
order to avoid the risk altogether.
3. Mitigation - Risk mitigation involves the reduction in
either the likelihood or the impact of the occurrence of a
risk.
4. Redundancy- is the provision of multiple
interchangeable components to perform a single
function in order to cope with failures and errors.
5. Transference - A common way to accomplish risk
transference is for an individual or an organization to
purchase insurance, such as auto or business liability
insurance.

Reliability is a measure of the rate of failure in a system that


would render it unusable over its expected lifetime

Quality Management Standards


- The International Organization for Standardization
(ISO), founded in 1947, is a worldwide federation of
national standards bodies from 161 countries. The
organization issued its 9000 series of business
management standards in 1988.
- ISO 9001 family of standards serves as a guide to
quality products, services, and management.
- ISO 9001:2008 provides a set of standardized
requirements for a quality management system.
- Over 1 million organizations in more than 175
countries have ISO 9001 certification.

- To obtain this coveted certificate, an organization must


submit to an examination by an external assessor and
must fulfill the following requirements:
• Have written procedures for all processes
• Follow those procedures
• Prove to an auditor that it has fulfilled the first
two requirements; this proof can require
observation of actual work practices and
interviews with customers, suppliers, and
employees.

- Failure mode and effects analysis (FMEA) is an


important technique used to develop ISO 9001-
compliant quality systems by both 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.

References

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy