Chapter 1 the uniqueness of software quality assurance Dr. AlaaEddin Almabhouh.

Slides:



Advertisements
Similar presentations
1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Advertisements

Lecture 2 1 Introduction to Software Engineering.
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Fundamentals of Information Systems, Second Edition
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Software Quality Assurance
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
Chapter 1 The Uniqueness of Software Quality Assurance
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality - continued So let’s move on to ‘exactly’ what we mean.
Development and Quality Plans
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Chapter 1 The Uniqueness of Software Quality Assurance.
Even More SQA: Work Procedures
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Laudon & Laudon: Canadian Edition
Chapter 4 Components of the Software Quality Assurance System
Lec#3 Project Quality Management Ghazala Amin. 2 Quality Specialist-Job responsibility Responsibilities Reports monitoring and measurement of processes.
SE513 Software Quality Control Lecture01: Introduction to Software Quality Assurance Galin, SQA from Theory to Education Limited.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
1.  Project: temporary endeavor to achieve some specific objectives in a defined time  Project management ◦ Dynamic process ◦ Controlled and structured.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
SECTION 1 THE PROJECT MANAGEMENT FRAMEWORK
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Pre-Project Components
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 1 Diploma of Project Management.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Lecture # 1.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Software Quality Assurance and Testing Fazal Rehman Shamil.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Software Engineering Lecture 8: Quality Assurance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Chapter 1 The Software Quality Challenge. 2 The uniqueness of software quality assurance  DO you think that there is a bug-free software?  Can software.
Chapter 1 Outline - The uniqueness of software quality assurance - The environments for which SQA methods are developed.
CASE Tools and their Effect on Software Quality
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Software Configuration Management
Software Project Configuration Management
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Chapter 1 The Uniqueness of Software Quality Assurance
Software Verification and Validation
Chapter 18 Maintaining Information Systems
Integrating Quality Activities in the Project Life Cycle
The Software Quality Challenge
Modern Systems Analysis and Design Third Edition
Chapter 8 – Software Testing
د. حنان الداقيز خريف /28/2016 Software Quality Assurance ضمان جودة البرمجيات ITSE421 5 – The components of the SQA.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Chapter # 4 Development and Quality Plans
Planning Training Programs
Chapter # 1 Overview of Software Quality Assurance
Software Quality assurance SQA – SWE 333
What is Software Engineering?
Presentation transcript:

Chapter 1 the uniqueness of software quality assurance Dr. AlaaEddin Almabhouh

The Software Quality Challenge This chapter is essentially about two major topics: The uniqueness of software quality assurance The environments for which SQA methods are developed.

Introduction Why study Quality Assurance and Testing? With all the methodology wars, numerous processes, huge number of tools to assist in software development, why this separate topic? What makes SQA important that it deserves so much attention? SQA is a key course in software engineering curricula.

Introduction Does the system have “good” test? Does the system conform to coding standards? Does the system contain code known to be defect-prone? Does the system satisfy its requirements?

Introduction We use a combination of “manual” and “automated” technology to assist SQA. Example of “manual”: Conducting code reviews Advantage Find defects ( العيوب ) Disadvantage Difficult/Expensive approach

Introduction Example of “automated”: ‐Source code analysis ‐Run time analysis Advantage Can find classes of implementation defects that developer may not be skilled enough in the language. Disadvantage Does not find required-level defects

Differences between Software Products and Industrial Products High complexity The potential ways in which a software product can be used with different data / data paths reflecting different incoming data is almost infinite. Manner in which industrial products can be used are usually well-defined. Think about software: every loop with different values of data reflects a different opportunity to see software fail. In truth, the number of paths through a non-trivial software product is infinite.

Differences between Software Products and Industrial Products Invisibility of the product In an industrial product, missing parts are obvious. Something missing? Easily identified. Not so in software products. May not be noticeable for years – if at all! Cite: phantom paths product at AFDSDC! Parts may have never been in the software ever!

Differences between Software Products and Industrial Products Product Development and Production Process Product Development for Industrial Products: Product Development – Designers and QA people check / test the prototype for defects Product Production Planning – Here, production process and tools are designed and prepared. May require special production line to be designed and built Lots of opportunities to check for defects that escaped reviews and tests conducted during development Manufacturing – QA procedures are applied to detect failures of the products themsleves during manufacturing. Can be corrected by change in the design or in production tools and this will change the way products are manufactured in the future.

Differences between Software Products and Industrial Products Will see: Comparing industrial products with software products we see that the only phase when defects can be corrected is really in the development phase. Let’s look at the same three activities for Software Products:

Differences between Software Products and Industrial Products Will see: Comparing industrial products with software products we see that the only phase when defects can be corrected is really in the product development phase. Let’s look at the same three activities for Software Products:

Differences between Software Products and Industrial Products Product Development and Production Process Product Development for Software Products: Product Development – Best Chance to Detect Errors! Here, we look for inherent product defects and hope to arrive at an acceptable prototype. Product Production Planning This phase is not required for software production process. Copies are simply reproduced / printed automatically…. Numbers of copies of no consequence. Manufacturing Manufacturing limited to copying product / printing copies of manuals. Chances for detect defects here is quite limited.

Only Chance to Discover Defects: Best chance to really detect defects occurs during the software development process itself! “The need for special tools and methods for the software industry is reflected in the professional publications as well in special standards devoted to SQA, such as ISO , “Guidelines for the application of ISO 9001 to the development, supply, and maintenance of software.” Another: ISO : “Quality Management and Quality Systems Elements: Guidelines for the Services.”

Only Chance to Discover Defects: These characteristics of software – complexity, invisibility, and limited opportunity to detect bugs has led to the development of the ISO Guidelines and an awareness of real SQA methodology.

The Environment for which SQA Methods are Developed Let’s look at the environment for professional software development and maintenance Main Characteristics: Contractual Conditions Subjection to Customer – Supplier Relationship Required Teamwork Cooperation and coordination with other teams. Interfaces with other software systems The need to continue carrying out a project despite team member changes The need to continue carrying out software maintenance for an extended period.

The Environment for which SQA Methods are Developed Contractual Conditions These include functional requirements, the project budget, and the project timetable. These are the bigees! Delivering software on time, within budget that meets or exceeds the functional requirements constitutes the thrust of contracts.

The Environment for which SQA Methods are Developed Subjection to Customer-Supplier Relationship We must realize that the customer drives the process in many cases – submitting changes, evaluating deliverables, approving the deliverables This is the relationship that is critical when software is developed by software professionals.

The Environment for which SQA Methods are Developed Required Teamwork Three very motivating factors for teams vice done individually: Timetable requirements – team members work together Have a variety of specializations Mutual support and review to enhance product quality

The Environment for which SQA Methods are Developed Cooperating and coordination with other software teams In a large software development organization, there are many teams and may need to cooperate with them Expertise may exist in another team. Software development may outsourced in part. Other teams may have developed similar software for the client and can offer tremendous help. Conflicts Escalation! ( التصعيد )

The Environment for which SQA Methods are Developed Interfaces with Other Systems A Course Registration System – may well interface with a Class Scheduling System and perhaps a Billing System. Oftentimes outputs from one system are inputs to another and vice versa! A course registration system may need to ‘interface’ with an existing Billing system with different file / database formats, and more. Sometimes outputs from one system are inputs to several others Or, outputs from some system update master files / databases that are processed by other systems.

The Environment for which SQA Methods are Developed

The Need to continue Carrying out a Project despite Team Member Changes ( الحاجة إلى مواصلة تنفيذ المشروع على الرغم من تغيير أعضاء الفريق ) Very commonplace! “The show must go on” Adding people to a late project makes it later. Communications with new members Getting new people up to speed. Team members leave, are hired, fired, take unexpected vacations, transferred within the company, and more. You can count on disruption!

The Environment for which SQA Methods are Developed The Need to Continue Carrying out Software Maintenance for an Extended Period Software is developed to run for years. Maintenance is good and where software development corporations make their money. Remember, when developing software, company is in the ‘red.’ Takes some time after deployment for transition into the black and make revenue.

Internal Software Development Not terribly different from external clients. But in-house development normally eschews formal contracts and/or formal customer/supplier relationships. Much in-house development or upgrading of in-house software is typical. The relationships between ‘internal’ customers and development varies greatly ‘when measured by a formal- informal scale.’ Some managers claim that the closer the relationships to the formal form, the greater the probability for project success.

Apps f = new Apps(); if (Membership.GetUser() != null) { DataTable dtStatus = f.GetUserAppsStatus(Session[“AppId"], Session["UserId"]); if (dtStatus.Rows.Count > 0) { if (dtStatus.Rows[0]["AppStatusId"].ToString() == "0") { Button2.Text = "Installed"; Button1.Visible = false; Button2.Visible = true; btnAddComment.Visible = true; } else{ Button1.Text = "Update"; btnAddComment.Visible = true; } else { Button1.Text = "Install"; btnAddComment.Visible = false; } else Button1.Visible = false;

Homework – Chapter 1 You are to answer the following question in essay format and submit to me via upinar Chapter 1. Question 1.3, p12 Due: the date of the next class.

Discussion Forum Team 1 will lead a discussion and prepare materials to fully talk about the following questions in our next class: Question 1.1 Question 1.3, and Question 1.5