Title: Lecture 13: Summary The three aspects: - quality - specification - engineering
1Lecture 13 SummaryThe three aspects -
quality - specification - engineering
Spring 2002
Lecturers H. Muccini and D. J. Richardson
ICS 122 Software Specificationand Quality
Engineering
2Software Quality Elements
1
Quality
Formal and Semi-formal Spec
2
Engineering
Management
3
4
31. Quality
4What is Software Quality?
- Quality Support
- Quality Organization
- Quality Software
- Quality Product
- Quality attributes
Goal Customer Satisfaction
5Distinguishing 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 cant we have it all?
- Trade-offs
6In 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
7Software Quality Attributes
Operational
Maintenance
- 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
8Software Quality process
Inaccurate Req.
Not only development
Development Process Defects
Support Process defects
9Quality System and Total Quality Management
- Quality policy
- Quality organization
- Cultural and Technical Program
- Procedure and Standards
- Methods and Tools
- Review and evaluate
10Quality Principles
- Error prevention
- Error detection
- Establish and eliminate the causes
- Audit work
- Categories of Software defects
11Quality models and metrics
- Different models
- McCall FCM Model and metrics
- Boehm Model
- Different metrics
- Different types of metrics
- Different methods and Tools
12Quality Standards
- ISO 9000
- CMM
- PSP
- TSP
-
- Their complexity, cost, advantages and
applicability
132. Formal and Semi-Formal SpecificationFormal
vs Semi-Formal?
14Formal 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
15Types of Formal Specifications
- Behavioral and Structural
- Model-Oriented and Property-Oriented
- Visual and Executable
16Semi-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?
173. Software Engineering
18Activities and Software Processes
- The Software Process Activities
- Software Processes
- Traditional
- Formal
- The V-model
- Reuse-based
- RUP
- Architecture-based
19Requirements
- User, System and Software Requirements
- Non-functional Requirements and Software Quality
- Activities
- Feasibility, elicitation,
- Specification
- Analysis and validation
- Actual Trend
20Software 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
21General Comments
- Why use these Methods
- Prove it..
- Why dont 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?