Chapter 20 Quality Assurance Through Software Engineering

Slides:



Advertisements
Similar presentations
Requirements Engineering Processes – 2
Advertisements

Zhongxing Telecom Pakistan (Pvt.) Ltd
1
© 2005 by Prentice Hall Chapter 13 Finalizing Design Specifications Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 7 System Models.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Chapter 5: Repetition and Loop Statements Problem Solving & Program.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
Making the System Operational
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Chapter 16 Quality Assurance Through Software Engineering
Week 2 The Object-Oriented Approach to Requirements
1 Daily ATM/Debit Maintenance through CU*BASE A Preview of ATM and Debit Card Maintenance Screens Prepared June 24, 2009.
Turing Machines.
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Advanced Features AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
PP Test Review Sections 6-1 to 6-6
Legacy Systems Older software systems that remain vital to an organisation.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
GL Interfaces 1 Using General Ledger Interfaces The File Maintenance and Procedures to successfully use the General Ledger Interfaces Jim Simunek, CPIM.
CS 240 Computer Programming 1
Chapter 10: The Traditional Approach to Design
Analyzing Genes and Genomes
Systems Analysis and Design in a Changing World, Fifth Edition
Types of selection structures
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 View Design and Integration.
Essential Cell Biology
Chapter 15 System Implementation
PSSA Preparation.
Chapter 11 Describing Process Specifications and Structured Decisions
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
Chapter 13 Preparing The Systems Proposal Systems Analysis and Design Kendall and Kendall Fifth Edition.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 13 - Exception Handling Outline 13.1 Introduction 13.2 Exception-Handling Overview 13.3 Other.
Physics for Scientists & Engineers, 3rd Edition
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Energy Generation in Mitochondria and Chlorplasts
© Copyright 2011 John Wiley & Sons, Inc.
Benchmark Series Microsoft Excel 2013 Level 2
Quality Assurance Through Software Engineering Systems Analysis and Design, 7e Kendall & Kendall 16 © 2008 Pearson Prentice Hall.
Quality Assurance Through Software Engineering
Chapter 11 Trisha Cummings. Structure Charts The recommended tool for designing a modular, top- down system is a structure chart. A structure chart is.
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Chapter 14 Maintaining Information Systems Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 9 Describing Process Specifications and Structured Decisions
Chapter 1 Assuming the Role of the Systems Analyst
Quality Assurance Through Software Engineering
Chapter 1 Assuming the Role of the Systems Analyst
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
System Analysis and Design
Chapter 16 Quality Assurance Through Software Engineering Systems Analysis and Design Kendall & Kendall Sixth Edition.
Chapter 1 Assuming the Role of the Systems Analyst Systems Analysis and Design Kendall & Kendall Sixth Edition.
Chapter 16 Quality Assurance Through Software Engineering Systems Analysis and Design Kendall & Kendall Sixth Edition.
TESTING THE NEW SYSTEM Various Approaches to Testing.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
BÁO CÁO THUYẾT TRÌNH MÔN: PHÂN TÍCH VÀ THI Ế T K Ế H Ệ TH Ố NG Đ Ề TÀI: Đ Ả M B Ả O CH Ấ T L Ư Ợ NG QUA CÔNG NGH Ệ PH Ầ N M Ề M QUALITY ASSURANCE THROUGH.
Chapter 14 Maintaining Information Systems
QUALITY ASSURANCE THROUGH SOFTWARE ENGINEERING
Quality Assurance Through Software Engineering
Chapter 11 Describing Process Specifications and Structured Decisions
Presentation transcript:

Chapter 20 Quality Assurance Through Software Engineering Systems Analysis and Design Kendall and Kendall Fifth Edition

Copyright © 2002 by Prentice Hall, Inc. Major Topics Quality assurance Walkthroughs Structure charts Modules Data and control passing Documentation Testing Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Quality Assurance Three quality assurance approaches through software engineering have been developed to evaluate the quality of the information system's design and analysis Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Guidelines for Quality Software Quality assurance approaches are Securing total quality assurance through designing systems and software with a top-down and modular approach Documenting software with appropriate tools Testing, maintaining, and auditing software Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Total Quality Management Total quality management (TQM) is a conception of quality as an evolutionary process toward perfection instead of conceiving quality as controlling the number of defective products produced The full organizational support of management and early commitment to quality from the analyst and from the business are necessary Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Structured Walkthroughs One of the strongest quality assurance actions is structured walkthroughs Walkthroughs use peer reviewers to monitor the system's programming and overall development They point out problems, and allow the programmer or analyst to make suitable changes Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Personnel Involved in Structured Walkthroughs Structured walkthroughs involve at least four people: The person responsible for the part of the system being reviewed A walkthrough coordinator A programmer or analyst peer A person to take notes about suggestions Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Top-Down and Bottom-Up Approaches The bottom-up approach and the top-down approach are available for quality system design Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

The Bottom-Up Approach The bottom-up design refers to Identifying the processes that need computerization as they arise Analyzing them as systems Either coding them or purchasing packaged software to meet the immediate problem Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Disadvantages of a Bottom-up Approach The disadvantages of a bottom-up approach to design are There is a duplication of effort in purchasing software, and entering data Much worthless data are entered into the system Overall organizational objectives are not considered and therefore cannot be met Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. The Top-Down Approach Top-down design allows the systems analyst to ascertain overall organizational objectives along with ascertaining how they are best met in an overall system The system is divided into subsystems and their requirements Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Advantages of the Top-down Approach The advantages of a top-down approach to design are Avoiding the chaos of attempting to design a system “all at once” The ability to have separate systems analysis teams working in parallel on different but necessary subsystems Losing sight of system goals as a result of getting so mired in detail Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Disadvantages of the Top-down Approach The three disadvantages of a top-down approach are There is a danger that the system will be divided into the wrong subsystems Once subsystem divisions are made, their interfaces may be neglected or ignored The subsystems must be reintegrated, eventually Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Modular Programming and the Top-Down Approach The modular programming concept is useful for a top-down approach Once the top-down design approach is taken, the whole system is broken into logical, manageable sized modules, or subprograms to use modular programming techniques Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Advantages of Modular Programming Modules are easier to write and debug Tracing an error in a module is less complicated Modules are easier to maintain Modules are easier to grasp because they are self-contained subsystems Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Guidelines for Modular Programming Four guidelines for correct modular programming are Keep each module to a manageable size Pay particular attention to the critical interfaces Minimize the number of modules the user needs to modify when making changes Maintain the hierarchical relationships set up in the top-down phases Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Linking Programs in Microsoft Windows There are two systems to link programs in Microsoft Windows: Dynamic Data Exchange (DDE) updates data in one program based on data in another program Object Linking and Embedding (OLE) where an object in a second program retains the properties of an object in the first program Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Structure Charts The recommended tool for designing a modular, top-down system is a structure chart They help systems analysts by providing a picture of modules and the relationships among those modules A diagram consisting of rectangular boxes that represents the modules Connecting lines or arrows Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Objectives of a Structure Chart The objectives of a structure chart are To encourage a top-down design To support the concept of modules and identify the appropriate modules To identify and limit as much as possible the data couples and control flags that pass between modules Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Data and Control Passing Data and control passed between structure chart modules is either Data coupling, only the data required by the module are passed, or Stamp coupling, more data than necessary are passed between the modules Control coupling Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Control Coupling Control coupling is passing: Switches, which have only two values, and Flags, which have more than two values Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Control Coupling Control flags should be passed up the structure chart Control modules make the decisions about which lower-level modules should be executed Lower-level modules are functional, performing only one task Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Minimal Coupling Systems analysts should keep the number of couples to a minimum The fewer data couples and control flags one has in the system, the easier it is to change the system Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Transform and Transaction Centered Design There are two approaches to structure chart design: Transform-centered structure charts are used when all the transactions follow the same path Transaction-centered structure charts are used when all the transactions do not follow the same path Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Data Flow Diagrams and Structure Charts A data flow diagram may be used to create a structure chart in the following two ways: Indicating the sequence of the modules Indicating modules subordinate to a higher module Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Types of Modules Modules fall into three classes: Control modules, determining the overall program logic Transformational modules, changing input into output Specialized modules, performing detailed, functional work Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Improper Subordination A subordinate module is one found lower on the structure chart, called by another higher module Allowing a lower-level module to perform any function of the calling, higher-level module, is called improper subordination Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. System Documentation One of the requirements for total quality assurance is preparation of an effective set of system documentation This serves as A guideline for users A communication tool A maintenance reference as well as development reference Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Forms of System Documentation Documentation can be one of the following: Nassi-Schneiderman charts Pseudocode Procedure manuals The FOLKLORE method Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Advantages of Nassi-Schneiderman Charts The main advantages of Nassi-Schneiderman charts are They adopt the philosophy of structured programming They use a limited number of symbols so that the N-S charts are easier to draw and understand Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Pseudocode Pseudocode is an English-like code to represent the outline or logic of a program It is not a particular type of programming code, but it can be used as an intermediate step for developing program code It does not have strict syntax rules Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Procedure Manuals The biggest complaints with procedure manuals are that They are poorly organized It is difficult to find needed information The specific case in question does not appear in the manual The manual is not written in plain English Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. FOLKLORE The FOLKLORE documentation method collects information in the categories of Customs Tales Sayings Art forms Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Web Documentation A Web site can help maintain and document the system by providing FAQ (Frequently Asked Questions) Help desks Technical support Fax-back services Some Web sites have a question-and-answer approach for providing help Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Choosing a Documentation Technique Guidelines for choosing a documentation technique: Is compatible with existing documentation Is understood by others in the organization Does it allow you to return to working on the system after you have been away from it for a period of time Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Choosing a Documentation Technique Further guidelines Is it suitable for the size of the system you are working on? Does it allow for a structured design approach if it is considered to be more important than other factors? Does it allow for easy modification? Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Code Generation and Design Reengineering Code generation uses the CASE design information to create or generate all or part of the computer source program code Design reengineering, or reverse engineering, allows the analyst to create CASE design entities from existing computer source code Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Code Generation and Design Reengineering Advantages The advantages of code generation and design reengineering are Documentation is produced for the programs The generated code does not contain any software "bugs” The regenerated code may be in a newer version of the compiler language Unused code may be easily removed Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Testing Overview The new or modified application programs, procedural manuals, new hardware, and all system interfaces must be tested thoroughly Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Testing Procedures The following testing process is recommended: Program testing with test data Link testing with test data Full system testing with test data Full system testing with live data Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Program Testing with Test Data Desk check programs Test with valid and invalid data Check for errors and modify programs Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Link Testing with Test Data Also called string testing See if programs can work together within a system Test for normal transactions Test with invalid data Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Full System Testing with Test Data Operators and end users test the system Factors to consider Is adequate documentation available? Are procedure manuals clear? Do work flows actually flow? Is output correct and do the users understand the output? Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Full System Testing with Live Data Compare the new system output with the existing system output Only a small amount of live data are used Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Maintenance Maintenance is due to Errors or flaws in the system Enhancing the system Feedback procedures must be in place to communicate suggestions Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.

Copyright © 2002 by Prentice Hall, Inc. Auditing There are internal and external auditors Internal auditors study the controls used in the system to make sure that they are adequate Internal auditors check security controls External auditors are used when the system influences a company’s financial statements Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc.