• No results found

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

N/A
N/A
Protected

Academic year: 2021

Share "Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

CS213 © Peter Lo 2005 1

Software Quality Assurance and Software Quality Assurance and

Software Reuse Software Reuse

Peter Lo

CS213 © Peter Lo 2005 2

Software Quality Software Quality

„ Conformance to explicitly-stated functional and performance requirements, explicitly-documented development standards, and implicit

characteristics that are expected of all professionally developed software.

Three Important Points Three Important Points

„ Quality will be measured with Software Requirements

„ Specified standards define a set of development criteria that guide the manner in which software is engineered.

„ The set of implicit requirements, such as good maintainability, must still be followed.

Quality Factors Quality Factors

„ Product Operations: A software product's operational characteristics

„ Product Revision: Its ability to undergo change

„ Produced Transition: Its adaptability to new environments

(2)

CS213 © Peter Lo 2005 5

Product Operations Product Operations

„ Correctness

‹The extent to which a program satisfies its specification and fulfils the mission objectives.

‹Example:

Does it do what I want?

CS213 © Peter Lo 2005 6

Product Operations Product Operations

„ Reliability

‹The extent to which a program can be expected to perform its intended function with required precision.

‹Example:

Does it do it accurately all the time?

Product Operations Product Operations

„ Efficiency

‹The amount of computing resources and code required by a program to perform a function.

‹Example:

Will it run on my hardware as well as it can?

Product Operations Product Operations

„ Integrity

‹The extent to which access to software or data by unauthorized persons can be controlled.

‹Example

Is it secure?

(3)

CS213 © Peter Lo 2005 9

Product Operations Product Operations

„ Usability

‹The effort required to learn, operate, prepare input, and interpret output of a program.

‹Example

Is it designed for the user?

CS213 © Peter Lo 2005 10

Product Revision Product Revision

„ Maintainability

‹The effort required to locate and fix an error in a program.

‹Example

Can I fix it?

Product Revision Product Revision

„ Flexibility

‹The effort required to modify an operational program.

‹Example

Can I change it?

Product Revision Product Revision

„ Testability

‹The effort required to test a program to ensure that it performs its intended function.

‹Example

Can I test it?

(4)

CS213 © Peter Lo 2005 13

Product Transition Product Transition

„ Portability

‹The effort to transfer the program from one hardware and/or software system environment to another.

‹Example

Will I be able to use it on another machine?

CS213 © Peter Lo 2005 14

Product Transition Product Transition

„ Reusability

‹The extent to which a program (or parts of a program) can be reused in other applications- related to the packaging and scope of the functions that the program performs.

‹Example:

Will I be able to reuse some of the software?

Product Transition Product Transition

„ Interoperability

‹The effort required to couple one system to another.

‹Example

Will I be able to interface it with another system?

Software Quality Assurance Software Quality Assurance

„ Software Quality Assurance (SQA) is a “planned and systematic pattern of actions” that are required to ensure quality in software.

(5)

CS213 © Peter Lo 2005 17

SQA Activities SQA Activities

„ Application of Technical Methods

‹Software Quality Assurance begins with a set of technical methods and tools that help the analyst to achieve a high-quality specification and the designer to develop a high-quality design.

CS213 © Peter Lo 2005 18

SQA Activities SQA Activities

„ Conduct of Formal Technical Review

‹Activity that accomplishes quality assessment for the specification and the design.

‹The Formal Technical Review is a stylized meeting conducted by technical staff with the sole purpose of uncovering quality problems.

SQA Activities SQA Activities

„ Testing of Software

‹Combines a multi-step strategy with a series of test case design methods that help ensure effective error detection.

SQA Activities SQA Activities

„ Enforcement of standards

‹Degree in which this is applied varies from company to company.

‹In many cases, standards are dictated by customers or regulatory mandates. In other situations, standards are self-imposed.

(6)

CS213 © Peter Lo 2005 21

SQA Activities SQA Activities

„ Control of Change

‹Every change to software has the potential of introducing errors or creating side effects that propagate errors.

‹The change control process thus contributes directly to software quality by formalizing requests for change, evaluating the nature of change, and controlling the impact of change.

CS213 © Peter Lo 2005 22

SQA Activities SQA Activities

„ Measurement

‹Track software quality and assess the impact of methodological and procedural changes on improved software quality.

SQA Activities SQA Activities

„ Record keeping and recording

‹Collection and dissemination of SQA information.

‹The results of reviews, audits, change control, testing, and other SQA activities must become part of a historical record for a project and should be disseminated to the development staff on a need-to-know basis.

Formal Technical Reviews Formal Technical Reviews

„ Reviews are applied at various points during software development and serve to uncover errors that can then be removed.

„ Formal technical review is a class of reviews that include walkthroughs, inspections, round-robin reviews, and other small group technical

assessments of software.

„ It is a planned and controlled meeting attended by a group of diversified people.

(7)

CS213 © Peter Lo 2005 25

Purposes of Reviews Purposes of Reviews

„ Point out need improvements in the product of a single person or team.

„ Confirm those parts of a product in which improvement is either not desired or not needed.

„ Achieve technical work of more uniform, or at least more predictable, quality than can be achieved without reviews, in order to make technical work more manageable.

CS213 © Peter Lo 2005 26

Objectives of Formal Technical Objectives of Formal Technical

Review (FTR) Review (FTR)

„ To uncover errors in function, logic, or implementation for any representation of the software

„ To verify that the software under review meets its requirements

„ To ensure that the software has been represented according to predefined standards

„ To achieve software that is developed in a uniform manner

„ To make projects more manageable

Guidelines for the Organization Guidelines for the Organization and Preparation of FTR

and Preparation of FTR

„ Should involve between three and five people

„ Advance preparation should occur but should not require more than 2 hours of work for each person

„ The duration of the review meeting should be less than 2 hours

„ Focus on a components of the software

‹ e.g. a portion of requirements specification, a detailed module design, a source code listing for a module

„ Producer should report his/her progress

Guidelines for the Organization Guidelines for the Organization

and Preparation of FTR and Preparation of FTR

„ A recorder should actively record all issues as

‹ What was reviewed?

‹ Who reviewed it?

‹ What were the findings and conclusions?

„ The attendees must make a decision at the end of the session as to

‹ Accept the product

‹ Reject the product

‹ Accept the product provisionally, subject to further modification

(8)

CS213 © Peter Lo 2005 29

Review Guidelines during the FTR Review Guidelines during the FTR

„ Review the product, not the producer

„ Set an agenda and maintain it

„ Limit debate and rebuttal

„ Enunciate problem areas, but don't attempt to solve every problem noted

„ Take written notes

„ Limit the number of participants and insist upon advance preparation

CS213 © Peter Lo 2005 30

Review Guidelines during the FTR Review Guidelines during the FTR

„ Develop a checklist for each product that is likely to be reviewed

„ Allocate resources and time schedule for Formal Technical Reviews

„ Conduct meaningful training for all reviewers

„ Review your early reviews

Software Reliability Software Reliability

„ Software Reliability is the probability of failure free operation of a computer program in a

specified environment for a specified time.

„ Software Availability is the probability that a program is operating according to requirements at a given point in time.

Types of Failure Types of Failure

„ Transient

‹Occasional, or only with certain inputs.

„ Permanent

‹Occurs with all inputs.

„ Recoverable

‹Allows system to continue operation without operator intervention.

(9)

CS213 © Peter Lo 2005 33

Types of Failure Types of Failure

„ Unrecoverable

‹Forces system to halt operation.

„ Non-corrupting

‹Doesn't destroy data.

„ Corrupting

‹Does destroy data.

CS213 © Peter Lo 2005 34

Tradeoff between Cost and Reliability Tradeoff between Cost and Reliability

„ It demands more time and resources for testing and debugging.

„ It requires more internal safety checks, and this makes programs larger and slower.

Reliability Metric Reliability Metric

„ Reliability metric is an indicator of how broken a program is.

„ Metrics are best weighted by the by severity of errors.

„ A minor error every hour is better than a catastrophe every month.

„ These metrics are not the same as counting bugs, but indicate different probabilities of happening.

Mean Time Between Failure (MTBF) Mean Time Between Failure (MTBF)

„ MTBF = MTTF + MTTR

„ Measures how long a program is likely to run before it does something bad like crash.

‹MTTF is the mean time to failure.

‹MTTR is the mean time to repair.

(10)

CS213 © Peter Lo 2005 37

Availability Availability

„ Availability = MTTF/ (MTTF + MTTR) * 100%

‹MTTF is the mean time to failure.

‹MTTR is the mean time to repair.

CS213 © Peter Lo 2005 38

Probability of Failure on Demand Probability of Failure on Demand

„ Common for safety-critical systems

‹e.g. a specification may be that there not exceed 1 chance in 1010that a missile gets through.

Rate of Failure Occurrence Rate of Failure Occurrence

„ This tells how many may occur in a given period

‹e.g. 2 errors per 100 minutes. This is considered one of the best metrics

Software Quality Assurance Approach Software Quality Assurance Approach

„ At the low end of the scale, quality is the sole responsibility of the individual who may engineer, review, and test at any comfort level.

„ At the high end of the scale, an SQA group is charged with the responsibility standards and procedures for achieving software quality and ensuring that each is followed.

(11)

CS213 © Peter Lo 2005 41

Benefits of Software Quality Benefits of Software Quality Assurance

Assurance

„ Software will have fewer latent defects, resulting in reduced effort and time spent during testing and maintenance

‹Higher reliability will result in greater customer satisfaction

‹Maintenance costs

‹Overall life cycle cost of software is reduced

CS213 © Peter Lo 2005 42

Constraints of Software Quality Constraints of Software Quality

Assurance Assurance

„ Difficult to institute in small organizations, where available resources to perform the necessary activities are not available

„ Software Quality Assurance represents cultural change - and change is never easy

„ Software Quality Assurance required the

expenditure of dollars that would not otherwise be explicitly budgeted to software engineering or quality assurance

Software Reuse Software Reuse

„ Modern, complex, high-quality computer-based systems must be built in very short time periods, and this demands a more organized approach to software reuse.

Management Issues in Software Reuse Management Issues in Software Reuse

„ Few companies and organizations have anything that even slightly resembles a comprehensive software reusability plan.

„ Relatively little training is available to help software engineers and managers understand and apply reuse.

„ Many software practitioners continue to believe that reuse is “more trouble than it is worth.”

„ Many companies continue to encourage the use of methodologies that do not facilitate reuse

„ Few companies provide incentives to produce reusable program components.

(12)

CS213 © Peter Lo 2005 45

Reusable Artifacts Reusable Artifacts

„ Project Plans

„ Cost estimates

„ Requirements models and specifications

„ Source code

„ User and technical documentation

„ Human interfaces

„ Data: e.g. tables, lists, record structures

„ Test cases

CS213 © Peter Lo 2005 46

Impact of Reuse on Quality Impact of Reuse on Quality

„ Software component that is developed for reuse would contain defects.

„ These defects like these can be found and eliminated, and the reused component quality improves.

„ Over time, the component becomes virtually defect free.

Impact of Reuse on Productivity Impact of Reuse on Productivity

„ When reusable artifacts are applied throughout the software process, less time is spent creating the plans, models, documents, code and data that are normally required to create a deliverable system.

„ The same level of functionality can be delivered to the customer with less input effort.

Impact of Reuse on Cost Impact of Reuse on Cost

„ The net savings for reuse can be estimated by the following:

‹Net Savings = (Cost of the project developed from scratch) – (sum of costs associated with reuse) – (Actual cost of the software as delivered)

References

Related documents

hydrophobic area upon ligand binding (Figure S1), but arises from a more favorable entropy of binding. There are two plausible explanations for this increased binding affinity: i)

A proposta do Interacionismo Sociodiscursivo para o ensino de línguas estrangeiras propõe que os conteúdos linguísticos-discursivos devem ser trabalhados a partir

Equally you might find that the ownership issue of social customer service between Marketing, PR and Customer Services provokes a broader debate about collaboration using the rich

This could either mean that our models are not flexible enough, or that the input data contain biases (either in the APOGEE stellar parameters or in the seismic masses), or that

A absorção de água pelas sementes submetidas aos tratamentos de escarificação mecânica e imersão em NaClO é mais rápida do que no tratamento controle (Figura 1), devido

It introduces a new approach to handling these outliers using a method based on robust statistics: namely, the median multitaper method for power spectral estimation.. It

This result contradicts the results obtained by previous studies in which trait helpfulness was significantly and positively associated with helpful behavior on the THHT (Saleem

Building on this conceptual foundation, this study employs a quantitative and survey- based approach to measure the organizational cultures of a sample of various