1/87
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software producer/developer
creates computer programs to meet either general or specific needs of the consumer.
Buyer
gets the benefits of a computer program to solve a specific task or problem.
Producers and consumers
Whenever there is software, there are _____ and _____.
user expectations,
developer limits
There is, therefore, a relationship between software producers and users made up of: _____ and _____
Standards;
Reliability
Establishing accepted quality and performance standards for software;
Ensuring that software meets reliability, security, and usability benchmarks;
Following recognized frameworks (e.g., ISO/IEC, IEEE standards)
HIPAA;
GDPR
Development Testing;
Verification and Validation (V&V)
Software reliability
Consistent and dependable software performance;
the probability that the software does not encounter an input sequence resulting in failure, over a specified period under specified conditions.
hardware
Unlike _____, software does not depend on age or wear and tear.
Design quality;
Code accuracy;
Input handling
Poor error handling;
Inadequate testing;
Lack of updates or maintenance
stress testing, fault-tolerance design
redundant systems, automatic recovery features,
continuous quality assurance
Ways To Improve Reliability (3)
Perform _____ and _____;
Use _____ and _____;
Implement _____ throughout the development process
Human factors;
Nature of software
Factors that contribute to software failures (2)
Extreme reliability,
security,
and safety testing
Requirements of safety-critical systems because of the risks involved (3)
Human Factors
Software is created, maintained, and used by people — therefore, human error is one of the most common causes of software failures.
Programming mistakes,
Poor communication,
Inadequate testing,
User errors,
Negligence or lack of training
Common Human-Related Causes:
_____ – logic or syntax errors made by developers.
_____ between developers, designers, and clients.
_____ or skipping testing phases to meet deadlines.
_____ due to unclear instructions or complex interfaces.
_____ among operators or IT staff.
Ariane 5 rocket explosion (1996),
medical software,
End-user errors
Examples of Human Errors:
The _____ – caused by a programming error that converted a 64-bit number to 16-bit, leading to system failure.
A _____ used for radiation therapy delivered excessive doses because of a data entry error and insufficient validation.
_____ like accidentally deleting system files or misconfiguring software settings.
Nature of Software
Unlike physical systems, software does not degrade with use — but it is complex and abstract, which makes it prone to logical errors and design flaws.
Complexity,
Lack of physical limits,
Rapid changes,
Dependency on other systems
Characteristics Leading to Failure:
_____ – large systems with millions of lines of code are hard to fully test.
_____ – software doesn’t wear out, but one wrong instruction can cause total system failure.
_____ – frequent updates and new technologies introduce new bugs.
_____ – failures in connected software or networks can cause cascading effects.
Operating systems,
Mobile apps,
Y2K problem
Examples of Nature of Software:
_____ may crash when incompatible drivers are installed.
_____ may fail after an OS update because of poor compatibility testing.
The _____ occurred due to design limitations (only two digits used for the year).
Nuclear reactors,
Missile systems,
Aircraft and air control systems,
Medical equipment,
Railway or subway systems
Examples of Critical Systems:
_____ – software monitors and controls reactor temperatures; failure could cause meltdown.
_____ – control targeting, timing, and detonation; errors could lead to unintended launches or civilian harm.
_____ – manage flight paths, autopilot, and radar communication; failure could cause collisions or crashes.
_____ – such as ventilators or heart monitors, where software errors can endanger patients.
_____ – automated signaling errors can lead to accidents.
Therac-25 accident (1985–1987);
Boeing 737 MAX crashes
Real-world examples of safety-critical system failures (2)
The Indian Union Carbide — Bhopal;
The Therac-25
Examples of Safety-Critical Failures in History (2)
Bhopal disaster (1984)
Background
The Union Carbide India Limited (UCIL) pesticide plant was located in Bhopal, India.
The plant stored methyl isocyanate (MIC), a highly toxic gas used in pesticide production.
What Happened
On the night of December 2–3, 1984, a large amount of MIC gas leaked from the plant into the surrounding area.
The gas spread rapidly into nearby neighborhoods, causing thousands of deaths and long-term health problems among survivors.
Software/Systems Involvement:
Although the disaster was primarily caused by mechanical and human errors, it also exposed failures in safety-critical monitoring and alarm systems, which did not function properly at the time of the leak.
Poor system design and lack of automated emergency control mechanisms failed to detect, contain, or alert workers early enough.
Result:
Over 3,000 immediate deaths, with long-term effects leading to more than 15,000 total fatalities and chronic illness in the population.
The tragedy emphasized the need for software-based safety systems, real-time monitoring, and automated emergency protocols in chemical and industrial plants.
Therac-25 Incident (1985–1987)
Background
A computer-controlled radiation therapy machine used to treat cancer patients,
developed by Atomic Energy of Canada Limited (AECL).
What Happened:
Between 1985 and 1987, several patients were accidentally exposed to massive overdoses of radiation, causing severe injuries and deaths.
Software Involvement:
The accidents were directly caused by software design errors:
The system lacked proper safety interlocks that would have stopped radiation when a malfunction occurred.
There were race conditions in the software — when two operations happened out of order, leading to an overdose.
AECL reused code from older machines without adequately testing it in the new system.
Result:
At least six patients were severely harmed, and three died due to radiation overdoses.
The incident led to major reforms in software safety engineering, medical device regulation, and verification and validation standards.
Replacement;
Refunds;
Updates
Buyer's rights (3)
Consumer rights and software laws
Protections that ensure software users (buyers) receive fair treatment, product reliability, and accountability from developers or vendors.
These rights allow users to seek remedies if software fails to perform as promised or causes damage.
Replacement
The buyer's right to request a _____ copy or version if the software is defective or cannot perform its intended function.
Refunds
The buyer's right to a _____ if the software remains faulty or misleading despite support or replacement.
Updates
The buyer's right to receive necessary _____ or patches to correct security flaws, improve performance, or ensure compatibility.
Product;
Service;
Mix
Ways of understanding software complexity — software as (3)
Software as a Product
Packaged software sold for installation and ownership,
usually a one-time purchase.
Software as a Service (SaaS)
Software delivered over the internet, often by subscription;
users pay for access, not ownership.
Contract;
Tort
Consumer Protection Tools (2)
Contract
A legal agreement between the seller (developer/vendor) and the buyer (user/customer);
When software is sold as a product, this agreement defines what the buyer can expect and what the seller promises to deliver.
the consumer protection tool used with products (Contract Law).
Express warranties;
Implied warranties;
Third-party beneficiary;
Breach of contract — lack of compliance
Components of Contract (4)
Express warranties
Clearly stated promises or guarantees made by the seller about the product,
which may appear in advertisements, manuals, or user agreements.
Tort
A civil wrong (other than a contract breach) that causes harm or loss to another person;
the consumer protection tool used with services (Tort Law).
Kapabayaan o maling mga gawain sa pagbibigay ng serbisyo (negligence or wrongdoing in the delivery of a service).
Applies when a developer's actions, intentional or accidental, cause damage to the client or user.
Intentional;
Unintentional
Types of Tort in Consumer Protection Tools (2)
Warranties,
obligations,
promises
What Contract covers (Consumer Protection Tool summary table) (3)
Negligence;
Malpractice;
Strict liability;
Misrepresentation
Types of Torts (4)
Negligence
Harm caused by carelessness, lack of competence, or failure to exercise reasonable skill expected of a professional.
Happens when a developer fails to test or maintain software properly, leading to damage or loss.
is a failure to act responsibly or professionally.
Malpractice
A special type of negligence that applies to professionals (such as software engineers, doctors, or lawyers),
meaning not following the accepted standards or best practices in one's field.
is professional negligence.
Strict liability
Liability without proof of fault or negligence;
even if the developer or company did not act carelessly, they can still be held responsible if their software caused harm.
You are responsible for your product's harm, even if you didn't intend it.
Misrepresentation
False information or claims made that mislead a consumer or user into buying or using software;
can be intentional (fraud) or unintentional (honest mistake).
is giving false or misleading information that influences a buyer's decision.
Software quality
The safety and reliability of a software product;
can only be improved during the development cycle
cannot be added after the product is finished — it must be built in during the development cycle.
high-quality software performs its intended functions accurately, securely, and without failure.
Final review;
Inspection;
Walk-throughs;
Phased-inspection
Techniques done during the software development phase to improve software quality (4)
Final review
A comprehensive evaluation of the entire software before release,
ensuring that all requirements are met and all defects have been fixed.
Confirm that the software is ready for delivery and meets customer expectations
Techniques summary table
Overall evaluation before release
Ensure readiness
Inspection
A formal process where the software code, design documents, or specifications are examined line by line to detect errors early,
usually performed by a review team (not just the original developer).
Detect defects before testing or deployment to save time and cost
Techniques summary table
Formal error-checking by peers
Find defects early
Walk-throughs
A peer review where the developer presents the software design or code to a team for feedback;
less formal than inspection and encourages discussion and learning.
Share knowledge, find mistakes collaboratively, and improve understanding of the software
Techniques summary table
Informal peer presentation and feedback
Improve design and understanding
Phased-inspection
Inspection done at every phase of software development (requirements, design, coding, testing, and documentation),
ensuring quality is checked continuously, not just at the end.
Maintain consistent quality control throughout the development lifecycle
Techniques summary table
Review at each phase of development
Continuous quality assurance
Piracy;
Illegal copying/downloading of copyrighted software;
Fraudulent lawsuits by customers
Protections software producers need against (3)
Piracy
The unauthorized copying, use, or distribution of software without permission from the creator or copyright owner,
including installing software on multiple computers using a single license or sharing paid apps for free.
Form of Protection summary table
Unauthorized copying or use
Software licensing agreements (EULAs);
Product keys or activation systems;
Anti-piracy laws like the Intellectual Property Code of the Philippines (RA 8293)
Protection measures against Piracy (3)
Illegal Copying / Downloading of Copyrighted Software
Violation of the developer's exclusive right to distribute and profit from their work, since copyright law protects software as intellectual property.
Form of Protection summary table
Copying or distributing copyrighted software
Digital Rights Management (DRM);
Encryption and license verification;
enforcement through copyright infringement cases
Protection measures against Illegal Copying / Downloading (3)
Fraudulent Lawsuits by Customers
False accusations by users that software developers are responsible for damages or defects that are not due to the software itself;
producers must ensure that terms, conditions, and disclaimers are clearly stated in the contract.
Form of Protection summary table
False or baseless claims by customers
Clear user agreements and documentation;
Legal counsel and liability insurance;
Keeping records of software updates and support activities
Protection measures against Fraudulent Lawsuits by Customers (3)
Court Protection
Developers and software companies taking legal action against piracy, copyright violations, or malicious claims,
filing cases to protect their intellectual property and recover financial losses.
Form of Protection summary table
Legal action against offenders
Register software under copyright law;
Consult legal experts for intellectual property protection;
Enforce penalties under the law for violators
Protection measures for Seeking Protection from the Courts (3)