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

Slides:



Advertisements
Similar presentations
Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware.
Advertisements

Introduction to Software Engineering Lecture 5 André van der Hoek.
Verification and Validation: A Quick Introduction 1-2 Lectures.
® IBM Software Group © 2014 IBM Corporation Innovation for a smarter planet MBSE for Complex Systems Development Dr. Bruce Powel Douglass, Ph.D. Chief.
Software Requirements Analysis and Specification C.Eng 491 Fall
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
SE 555 Software Requirements & Specification Requirements Quality Attributes.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
SE 555 – Software Requirements & Specifications Introduction
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Evaluating Architectures Quality control: rarely fun, but always necessary
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Software Process and Product Metrics
Introduction to Software Testing
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
Software Quality Assurance Activities
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
Requirement Handling
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Quality Factors Chapter Three. Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Formal Methods.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
CSE 303 – Software Design and Architecture
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
Click to edit Master text styles CSM Management of Software Project Software Quality Assurance Lecture - 03.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Software reviews Cost impact of software defects Defect amplification model Review metrics and their use – Preparation effort (E p ), assessment effort.
Metrics "A science is as mature as its measurement tools."
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
 System Requirement Specification and System Planning.
Building Enterprise Applications Using Visual Studio®
16CS202 & Software Engineering
Software Quality Control and Quality Assurance: Introduction
Software Verification and Validation
Source & Courtesy: Doc. S. Dapkūnas
The Systems Engineering Context
Software Engineering Development of procedures and systematic applications that are used on electronic machines. Software engineering incorporates various.
McCall’s Quality Factors
Lecture 15: Technical Metrics
HCI in the software process
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
HCI in the software process
Software metrics.
HCI in the software process
Presentation transcript:

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

2 Software Quality Elements Formal and Semi-formal Spec Quality Engineering Management

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 process Customer needs Product requirements Support requirement Software product Software support Requirements capture process Software Development Process Software Support Process Inaccurate Req. Support Process defects Development Process Defects Not only development

9 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? Obj1Obj2 m1 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?