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

Post on 27-Dec-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

ICS 122: Software Specificationand Quality Engineering

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

Lecture 13: SummaryThe three aspects:

- quality- specification- engineering

2

Software Quality Elements

Formal and Semi-formal Spec

Quality

EngineeringManagement

1

2

34

3

1. Quality

4

Quality Support

Quality Organization

Quality Software +

Quality Product

Quality attributes

What is Software Quality?

Goal: Customer Satisfaction

hank72
From Lecture1

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

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

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

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

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

10

Quality Principles

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

11

Quality models and metrics

Different models McCall FCM Model and metrics Boehm Model

Different metrics Different types of metrics Different methods and Tools

12

Quality Standards

ISO 9000 CMM PSP TSP …

Their complexity, cost, advantages and applicability

13

2. Formal and Semi-Formal Specification

Formal vs Semi-Formal?

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

15

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

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

17

3. Software Engineering

18

Activities and Software Processes The Software Process Activities Software Processes:

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

19

Requirements

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

Quality Activities:

Feasibility, elicitation, Specification Analysis and validation

Actual Trend

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

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?

top related