Upload
belinda-owens
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
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
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
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
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
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
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?