1 ics 122: software specification and quality engineering spring 2002lecturers: h. muccini and d. j....

21
1 ICS 122: Software Specification and Quality Engineering Spring 2002 Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects: - quality - specification - engineering

Upload: belinda-owens

Post on 27-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

1

ICS 122: Software Specificationand Quality Engineering

Spring 2002 Lecturers: H. Muccini and D. J. Richardson

Lecture 13: SummaryThe three aspects:

- quality- specification- engineering

Page 2: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

2

Software Quality Elements

Formal and Semi-formal Spec

Quality

EngineeringManagement

1

2

34

Page 3: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

3

1. Quality

Page 4: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

4

Quality Support

Quality Organization

Quality Software +

Quality Product

Quality attributes

What is Software Quality?

Goal: Customer Satisfaction

hank72
From Lecture1
Page 5: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

5

Distinguishing Qualities

Security and Integrity Expandability (user needs) Flexibility(new env)

Portability Manageability, Maintainability, Survivability Usability and Learnability What is Correctness? Why do we care about qualities?

Associated Costs Why can’t we have it all?

Trade-offs

Page 6: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

6

In practical contexts

Sometimes quality is not a primary concept in developing software systems, but

In some contexts, it becomes essential: Medical Instruments Satellite systems Air traffic controller Systems with millions of LOC

hank72
From Lecture 1
Page 7: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

7

Software Quality Attributes

Functional: what the software does

integrity reliability survivability usability

Performance: how well it does it

correctness efficiency safety interoperability

Change: modifying the software

maintainability expandability flexibility portability reusability

Management: planning, controlling, testing, installation

verifiability manageability

Operational Maintenance

hank72
From Lecture 2
Page 8: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

8

Software Quality processCustomer

needs

Product

requirements

Support

requirement

Software

product

Software

support

Requirements

capture process

Software

Development

Process

Software Support

Process

Inaccurate Req.

SupportProcessdefects

DevelopmentProcessDefects

Not only development

hank72
From Lecture 1
Page 9: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

9

InitiateQuality

Programme

PlanQuality

Programme

ImplementCultural

Programme

ImplementTechnical

Programme

Reviewand

Evaluate

Quality System and Total Quality Management Quality policy Quality organization Cultural and Technical Program Procedure and Standards Methods and Tools Review and evaluate

hank72
From Lecture 3
Page 10: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

10

Quality Principles

Error prevention Error detection Establish and eliminate the causes Audit work Categories of Software defects

Page 11: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

11

Quality models and metrics

Different models McCall FCM Model and metrics Boehm Model

Different metrics Different types of metrics Different methods and Tools

Page 12: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

12

Quality Standards

ISO 9000 CMM PSP TSP …

Their complexity, cost, advantages and applicability

Page 13: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

13

2. Formal and Semi-Formal Specification

Formal vs Semi-Formal?

Page 14: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

14

Formal Specification What are formal specifications

Mathematical Precise Abstraction

Use of Formal specifications Why Why not Who

When use formal specifications Requirements Software Architectures Design Testing Formal specification and Software Process

Page 15: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

15

Types of Formal Specifications Behavioral and Structural Model-Oriented and Property-Oriented Visual and Executable

Page 16: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

16

Semi-formal specifications and UML Goals/advantages of Uml Diagrams and Views

Each diagram focus on a particular aspect or the system system decomposition in viewpoints

UML Semantics Several weaknesses Do you remember this example?

Obj1 Obj2m1

m2

Page 17: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

17

3. Software Engineering

Page 18: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

18

Activities and Software Processes The Software Process Activities Software Processes:

Traditional Formal The V-model Reuse-based RUP Architecture-based

Page 19: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

19

Requirements

User, System and Software Requirements Non-functional Requirements and Software

Quality Activities:

Feasibility, elicitation, Specification Analysis and validation

Actual Trend

Page 20: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

20

Software Architectures Different aspects

Components and connectors Structural and Behavioral

ADL Different languages for different purposes UML as an ADL

Analysis SA management is expensive and time consuming

maximize the benefits

Analyze SA as much as possible

Page 21: 1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:

21

General Comments Why use these Methods

Prove it.. Why don’t people use these Methods?

Costly Too hard Too much time..

Do all companies care about quality? NO!

Should all software development focus on quality? Maybe. .maybe Not!

How do we prove reliability without testing for years? Reuse and OTS – are the ots products good?