Galin, SQA from theory to implementation © Pearson Education Limited 2004 1 Chapter 13 CASE Tools and their Effect on Software Quality.

Slides:



Advertisements
Similar presentations
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Advertisements

© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Chapter 1 Assuming the Role of the Systems Analyst
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
OHT 14.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software quality infrastructure components The need for procedures and.
Components of software quality assurance system overview
Chapter 1 Assuming the Role of the Systems Analyst
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
OHT 13.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is a CASE tool? The contribution of CASE tools to software product.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Software Quality Assurance
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Chapter 1 The Systems Development Environment
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Chapter 1 The Systems Development Environment
Software Re-engineering
SQA Architecture Software Quality By: MSMZ.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Pertemuan 5 Pengembangan Teknologi Informasi Matakuliah: H0402/PENGELOLAAN SISTEM KOMPUTER Tahun: 2005 Versi: 1/0.
Chapter 2 The process Process, Methods, and Tools
Chapter 1 The Systems Development Environment
SE513 Software Quality Control Lecture01: Introduction to Software Quality Assurance Galin, SQA from Theory to Education Limited.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 1 Assuming the Role of the Systems Analyst Systems Analysis and Design Kendall & Kendall Sixth Edition.
OHT 18.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Introduction The foundations of high quality Foundation 1: software.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
OHT 15.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Templates The contribution of templates to software quality The organizational.
Chapter 1 Introduction to Systems Design and Analysis Systems Analysis and Design Kendall and Kendall Sixth Edition.
Software Engineering Lecture # 1.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
NURHALIMA 1. Identify the trade-offs when using CASE Describe organizational forces for and against adoption of CASE tools Describe the role of CASE tools.
1 Chapter 1 The Software Quality Challenge. 2 The uniqueness of software quality assurance  DO you think that there is a bug-free software?  Can software.
SE513 Software Quality Assurance Lecture10: Documentation and Quality Records Control Galin, SQA from Theory to Education Limited.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(CSE) UIT, M.S(S.E) AAU Denmark Assistant Professor Department.
CASE Tools and their Effect on Software Quality
CASE (Computer-Aided Software Engineering) Tools
OHT 18.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software configuration, software configuration items and software configuration.
OHT 15.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Templates The contribution of templates to software quality The organizational.
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 2 Automated Tools for Systems Development
Software Configuration Management
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Modern Systems Analysis and Design Third Edition
Software Verification and Validation
Chapter 18 Maintaining Information Systems
Computer Aided Software Engineering (CASE)
Modern Systems Analysis and Design Third Edition
Tools of Software Development
Chapter 4 Automated Tools for Systems Development
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Chapter # 6 Software Configuration Management
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality

Galin, SQA from theory to implementation © Pearson Education Limited Introduction There are lots of automated tools to assist in software engineering. Their purpose is to make the work of software development and maintenance easier and more reliable. CASE is Computer Aided Software Engineering.

Galin, SQA from theory to implementation © Pearson Education Limited Introduction Case tools offer us (from book) –Substantial savings in resources required for software development –Shorter time to market –Substantial savings in resources for maintenance –Greater reuse due to increased standardization of the software systems, and –Reduced generation of defects coupled with increased ‘interactive’ identification of defects during development It is the last one that is most concerned with SQA.

Galin, SQA from theory to implementation © Pearson Education Limited What is a CASE tool? The contribution of CASE tools to software product quality The contribution of CASE tools to software maintenance quality The contribution of CASE tools to improved project management We will address CASE and its Contributions

Galin, SQA from theory to implementation © Pearson Education Limited CASE tools are computerized software development tools that support the developer when performing one or more phases of the software life cycle and/or support software maintenance. CASE Tools - Definition

Galin, SQA from theory to implementation © Pearson Education Limited CASE Tools Must distinguish between ‘classic’ case tools and ‘real’ case tools. Classic CASE tools: Interactive debuggers, compilers, project progress control systems Real Case tools: support several phases of development Upper CASE tools support analysis and design. Lower CASE tools refer to the location in these phases in the Waterfall Model. Integrated CASE tools support analysis, design, and coding.

Galin, SQA from theory to implementation © Pearson Education Limited CASE Tools The main component of real CASE tools is the repository! Example: Rational Team Concert (RTC) Repository stores all changes and info related to the project from development through maintenance. Maintenance: –Corrective –Adaptive –Functional improvements. There is a computerized management of the repository! The repository is the glue holding all activities together.

Galin, SQA from theory to implementation © Pearson Education Limited Traditional development life cycle Real CASE tool-supported development life cycle Can see comparisons and real CASE tool supports. Note the Repository; Note the xxx-CASE tools.

Galin, SQA from theory to implementation © Pearson Education Limited CASE Tools Some CASE tools will automatically generate code from designs stored in the repository. Example: Rational Rose and others; often based on a design model and parameters supplied…. Some CASE tools provide for ‘reverse engineering’ –These are used to recover and/or replicate design documents from running, well-established (legacy) software systems. –These tools may create completed updated repository and design documents based on the code.

Galin, SQA from theory to implementation © Pearson Education Limited Traditional development life cycle Real CASE tool-supported development life cycle Can see comparisons and real CASE tool supports. Note the Repository; Note the xxx-CASE tools.

Galin, SQA from theory to implementation © Pearson Education Limited CASE Tool Support Type of CASE tool Editing and Diagramming Repository Query Automated Documentation Design Support Support Provided Editing text and diagrams, generating design diagrams to repository records Display of parts of the design texts, charts, etc.; cross referencing queries and requirements tracing Automatic generation of requested documentation according to updated repository records Editing design recorded by the systems analyst and management of the data dictionary

Galin, SQA from theory to implementation © Pearson Education Limited CASE Tool Support Type of CASE tool Code Editing Code Generation Configuration Management Support Provided Compiling, interpreting or applying interactive debugging code specific coding language or development tool Transformation of design records into prototypes or application software compatible with a given software development language (or development tools) Management of design documents and software code versions, control of changes and software code.

Galin, SQA from theory to implementation © Pearson Education Limited CASE Tool Support Type of CASE tool Reverse Engineering (re- engineering) Project Management and Software Metrics Support Provided Construction of a software repository and design documents, based on code: the “legacy” software systems. Once the repository of the legacy software is available, it can be updated and used to automatically generate new versions of the system. As new re-engineering software version is generated, it can be easily maintained and its documentation automatically updated. Support progress control of software development projects by follow-up of schedules and calculation of productivity and defects metrics

Galin, SQA from theory to implementation © Pearson Education Limited Cause of software errors Classic CASE tools Real CASE tools 1. Faulty requirements definitionNoneAlmost none 2. Client-developer communication failuresNoneAlmost none 3. Deliberate deviations from software requirements NoneHigh 4. Logical design errorsNoneHigh 5. Coding errorsVery high 6. Non-compliance with coding and documentation instructions LimitedVery high 7. Shortcomings in the testing processHigh 8. User interface and procedural errorsHighLimited 9. Documentation errorsLimitedHigh Extent of contribution to quality Contribution of CASE Tools to Software Product Quality Simply stated, CASE tools can signification contribute to a reduction of errors in each development phase. Consider some of the tools you use

Galin, SQA from theory to implementation © Pearson Education Limited Note that most of the contributions are not addressing faulty requirements definition – (this likely with poor requirements management) are the most frequent causes of software failures. But most of the contributions are in traceability based on data in the repository and tracing tools. Great contribution in discovering design errors coding errors testing documentation!

Galin, SQA from theory to implementation © Pearson Education Limited Contribution of CASE tools to Software Maintenance Quality Essentially three kinds of maintenance: –Corrective –Adaptive, and –Functional Improvement Maintenance –(next three slides)

Galin, SQA from theory to implementation © Pearson Education Limited To Corrective Maintenance: (Errors) * CASE-generated updated documentation enables easier and more reliable identification of software failure causes. * Cross-referenced queries enable better anticipation effects of proposed correction. * Correction by means of lower CASE or integrated CASE tools provides automated coding and documentation of corrections. Contribution of CASE tools to Software Maintenance Quality

Galin, SQA from theory to implementation © Pearson Education Limited To adaptive maintenance: Full and updated documentation by CASE tools enables thorough examination of possible software adaptations for new applications. Contribution of CASE tools to Software Maintenance Quality

Galin, SQA from theory to implementation © Pearson Education Limited To functional improvement maintenance: * Use of the repository assures consistency of new applications and improvements with existing software systems. * Cross-referenced repository queries enable better planning of changes and additions. * Changes and additions carried out by means of lower CASE or integrated CASE tools enable automated coding and documentation of the changes and additions. Contribution of CASE tools to Software Maintenance Quality

Galin, SQA from theory to implementation © Pearson Education Limited Contribution of CASE Tools for Improved Project Management There is little question that projects supported by CASE tools can have dramatic positive impacts on Project Management. With a central repository, so many activities are integrated. Example: ClearCase, ClearQuest, ReqPro, … now integrated in RTC CASEtoos can reduce the project budgets and development time But from a quality perspective, we are interested in improvements in budget control and timetables. CASE tools can significantly contribute from deviations of budget and schedule from a plan and the reduction of high error rates and shorter correction cycles when needed..

Galin, SQA from theory to implementation © Pearson Education Limited Homework Develop an answer for question 13.2 and 13.4(2). Turn your assignments in to Blackboard Assignments, Chapter 13.

Galin, SQA from theory to implementation © Pearson Education Limited Discussion Forum Team will present and discuss the main features of Rational Quality Manager, RQM. –Discussion should be in reasonable detail and should take about an hour in length. I will provide links to this CASE tool