SlideShare a Scribd company logo
Chapter  26  Quality Management   Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
Quality The American Heritage Dictionary defines quality as  “ a characteristic or attribute of something.”  For software, two kinds of quality may be encountered:  Quality of design encompasses requirements, specifications, and the design of the system.  Quality of conformance is an issue focused primarily on implementation. user satisfaction = compliant product + good quality + delivery within budget and schedule
Software Quality Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.
Cost of Quality Prevention costs include quality planning formal technical reviews test equipment Training Internal failure costs include rework repair failure mode analysis External failure costs are complaint resolution product return and replacement help line support warranty work

Recommended for you

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering

Agile development focuses on effective communication, customer collaboration, and incremental delivery of working software. The key principles of agile development according to the Agile Alliance include satisfying customers, welcoming changing requirements, frequent delivery, collaboration between business and development teams, and self-organizing teams. Extreme Programming (XP) is an agile process model that emphasizes planning with user stories, simple design, pair programming, unit testing, and frequent integration and testing.

other process models of agile development and toolagility and agile process modelextreme programming
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)

Slides from Software Testing Techniques course offered at Kansas State University in Spring'16 and Spring'17. Entire course material can be found at https://github.com/rvprasad/software-testing-course.

software testingcoursesoftware development
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity

Software design is a process through which requirements are translated into a ― blueprint for constructing the software. Initially, the blueprint shows how the software will look and what kind of data or components will be required to in making it. The software is divided into separately named components, often called ‘MODULES’, that are used to detect problems at ease. This follows the "DIVIDE AND CONQUER" conclusion. It's easier to solve a complex problem when you break it into manageable pieces.

softwaredesigntypes
Software Quality Assurance Formal Technical Reviews Test  Planning & Review Measurement Analysis & Reporting Process Definition & Standards
Role of the SQA Group-I Prepares an SQA plan for a project.  The plan identifies evaluations to be performed audits and reviews to be performed standards that are applicable to the project procedures for error reporting and tracking documents to be produced by the SQA group amount of feedback provided to the software project team Participates in the development of the project’s software process description.  The SQA group reviews the process description for compliance with organizational policy, internal software standards, externally imposed standards (e.g., ISO-9001), and other parts of the software project plan.
Role of the SQA Group-II Reviews software engineering activities to verify compliance with the defined software process.  identifies, documents, and tracks deviations from the process and verifies that corrections have been made. Audits designated software work products to verify compliance with those defined as part of the software process.  reviews selected work products; identifies, documents, and tracks deviations; verifies that corrections have been made periodically reports the results of its work to the project manager. Ensures that deviations in software work and work products are documented and handled according to a documented procedure. Records any noncompliance and reports to senior management. Noncompliance items are tracked until they are resolved.
Why SQA Activities Pay Off? cost to find and fix a defect 100 10 log scale 1 Req. Design code test system test field use 0.75 1.00 1.50 3.00 10.00 60.00-100.00

Recommended for you

Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2

A software process provides stability, control, and organization for software development. It consists of a series of predictable steps that lead to a timely, high-quality product. Key elements include framework activities like planning, modeling, requirements analysis, design, construction, testing, and deployment. The specific tasks and level of rigor for each activity may vary based on the project. Process assessment ensures the process meets criteria for successful software engineering. The primary goal of any process is high-quality software delivered on time through reduced rework.

Software development process models
Software development process modelsSoftware development process models
Software development process models

Software development process models Rapid Application Development (RAD) Model Evolutionary Process Models Spiral Model THE FORMAL METHODS MODEL Specialized Process Models The Concurrent Development Model

software engineeringsoftware process models
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3

Prescriptive process models attempt to organize the software development life cycle by defining activities, their order, and relationships. Early models like code-and-fix lacked predictability and manageability. Newer models strive for structure and order to achieve coordination, while allowing for changes as feedback is received. However, relying solely on prescriptive models may be inappropriate in a world that demands flexibility and change.

Reviews & Inspections ... there is no particular reason why your friend and colleague cannot also be your sternest critic. Jerry Weinberg
What Are Reviews? a meeting conducted by technical people for technical people a technical assessment of a work product created during the software engineering process a software quality assurance mechanism a training ground
What Reviews Are Not A project summary or progress assessment A meeting intended solely to impart information A mechanism for political or personal reprisal!
The Players review leader producer recorder reviewer standards bearer (SQA) maintenance  oracle user rep

Recommended for you

Waterfall model
Waterfall modelWaterfall model
Waterfall model

The waterfall model is a sequential (non-iterative) design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.

software engineeringwaterfall modelsoftware development
Slides chapters 21-23
Slides chapters 21-23Slides chapters 21-23
Slides chapters 21-23

The document discusses key concepts for managing software projects including the four Ps of project management: People, Product, Process, and Project. It describes stakeholders and team structures, and emphasizes establishing clear objectives and scope, tracking progress, and learning lessons through post-mortem reviews. Metrics for both processes and products are discussed to assess status, risks, and quality in order to guide improvement.

Software design
Software designSoftware design
Software design

This document discusses various topics related to software design including design principles, concepts, modeling, and architecture. It provides examples of class/data design, architectural design, interface design, and component design. Some key points discussed include: - Software design creates representations and models that provide details on architecture, data structures, interfaces, and components needed to implement the system. - Design concepts like abstraction, modularity, encapsulation, and information hiding are important to reduce complexity and improve design. - Different types of design models include data/class design, architectural design, interface design, and component-level design. - Good software architecture and design lead to systems that are more understandable, maintainable, and of higher quality.

software designsoftware design conceptssoftware architecture
Conducting the Review be prepared—evaluate  product before the review review the product, not  the producer keep your tone mild, ask  questions instead of  making accusations stick to the review agenda raise issues, don't resolve them avoid discussions of style—stick to technical  correctness schedule reviews as project tasks record and report all review results 1. 2. 3. 4. 5. 6. 7. 8.
Review Options Matrix trained leader agenda established reviewers prepare in advance producer presents product “ reader” presents product recorder takes notes checklists used to find errors errors categorized as found issues list created team must sign-off on result IPR—informal peer review  WT—Walkthrough IN—Inspection  RRR—round robin review IPR WT IN RRR no maybe maybe maybe no maybe no no no no yes yes yes yes no yes no no yes yes yes yes yes no yes yes yes yes yes yes yes yes yes no no yes no no yes maybe * *
Sample-Driven Reviews (SDRs) SDRs attempt to quantify those work products that are primary targets for full FTRs. To accomplish this …   Inspect a fraction a i  of each software work product,  i.  Record the number of faults, f i  found within a i . Develop a gross estimate of the number of faults within work product  i  by multiplying f i  by 1/a i . Sort the work products in descending order according to the gross estimate of the number of faults in each. Focus available review resources on those work products that have the highest estimated number of faults.
Metrics Derived from Reviews inspection time per page of documentation inspection time per KLOC or FP errors uncovered per reviewer hour errors uncovered per preparation hour errors uncovered per SE task (e.g., design) number of minor errors (e.g., typos) number of errors found during preparation number of major errors (e.g., nonconformance to req.)  inspection effort per KLOC or FP

Recommended for you

Formal Methods
Formal MethodsFormal Methods
Formal Methods

Formal methods are mathematically based techniques for specifying, designing, and verifying software systems. Formal specifications precisely state what software should do without describing how. Formal verification rigorously proves an algorithm's correctness against a specification using logical rules. While formal methods reduce errors, the cost of full formalization is often prohibitive for industry; lightweight formal methods employing partial specification and focused analysis are alternatives.

Quality Concept
Quality ConceptQuality Concept
Quality Concept

This document defines key concepts related to quality in software engineering, including definitions of quality, software quality, and several quality factor frameworks. It discusses Garvin's quality dimensions, McCall's quality factors, ISO 9126 quality factors, and targeted quality factors. The document also covers concepts like good enough software and the cost of quality.

market analysissoftware testingsoftware quality
Iterative model in sdlc
Iterative model in sdlcIterative model in sdlc
Iterative model in sdlc

The iterative model of the software development lifecycle involves developing software in cycles. Each cycle creates a new version of the software by specifying, implementing, and reviewing a part of the requirements. This allows development to begin before all requirements are known and lets the software evolve through feedback. Benefits include early detection of defects, reliable user feedback, and more time spent designing. Limitations are that each phase is rigid and costly architecture issues may arise from a lack of upfront requirements gathering. The iterative model is best for projects with clearly defined but evolving requirements or large projects where some details can change over time.

sdlciterative model
Statistical SQA Product & Process measurement ... an understanding of how  to improve quality ... Collect information on all defects Find the causes of the defects Move to provide fixes for the process
Six-Sigma for Software Engineering The term “six sigma” is derived from six standard deviations—3.4 instances (defects) per million occurrences—implying an extremely high quality standard.  The Six Sigma methodology defines three core steps: Define customer requirements and deliverables and project goals via well-defined methods of customer communication Measure the existing process and its output to determine current quality performance (collect defect metrics) Analyze defect metrics and determine the vital few causes. Improve the process by eliminating the root causes of defects. Control the process to ensure that future work does not reintroduce the causes of defects.
Software Reliability A simple measure of reliability is  mean-time-between-failure  (MTBF), where  MTBF = MTTF + MTTR The acronyms MTTF and MTTR are  mean-time-to-failure  and  mean-time-to-repair , respectively. Software availability  is the probability that a program is operating according to requirements at a given point in time and is defined as Availability = [MTTF/(MTTF + MTTR)] x 100%
Software Safety Software safety is a software quality assurance activity that focuses on the identification and assessment of potential hazards that may affect software negatively and cause an entire system to fail.  If hazards can be identified early in the software process, software design features can be specified that will either eliminate or control potential hazards.

Recommended for you

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models

The document discusses various software process models including prescriptive models like waterfall model and incremental process model. It also covers evolutionary models like prototyping and spiral process model. Specialized models covered are component based development, formal methods model, aspect oriented development and unified process model. The key highlights are that different models are suited for different situations based on project needs and each model has advantages and disadvantages to consider.

Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt

The document describes a course on software engineering taught by Dr. P. Visu at Velammal Engineering College. It includes the course objectives, outcomes, syllabus, and learning resources. The key objectives are to understand software processes, requirements engineering, object-oriented concepts, software design, testing, and project management techniques. The syllabus covers topics like software processes, requirements analysis, object-oriented concepts, software design, testing, and project management over 5 units. Recommended textbooks and online references are also provided.

Software process
Software processSoftware process
Software process

The software process involves specification, design and implementation, validation, and evolution activities. It can be modeled using plan-driven approaches like the waterfall model or agile approaches. The waterfall model involves separate sequential phases while incremental development interleaves activities. Reuse-oriented processes focus on assembling systems from existing components. Real processes combine elements of different models. Specification defines system requirements through requirements engineering. Design translates requirements into a software structure and implementation creates an executable program. Validation verifies the system meets requirements through testing. Evolution maintains and changes the system in response to changing needs.

cpsc430
Mistake-Proofing Poka-yoke (mistake-proofing) devices—mechanisms that lead to  the prevention of a potential quality problem before it occurs or  the rapid detection of quality problems if they are introduced.  An effective poka-yoke device exhibits a set of common characteristics:  It is simple and cheap. If a device is too complicated or expensive, it will not be cost effective. It is part of the process. That is, the poka-yoke device is integrated into an engineering activity. It is located near the process task where the mistakes occur. Thus, it provides rapid feedback and error correction.
ISO 9001:2000 Standard ISO 9001:2000 is the quality assurance standard that applies to software engineering.  The standard contains 20 requirements that must be present for an effective quality assurance system.  The requirements delineated by ISO 9001:2000 address topics such as  management responsibility, quality system, contract review, design control, document and data control, product identification and traceability, process control, inspection and testing, corrective and preventive action, control of quality records, internal quality audits, training, servicing, and statistical techniques.
Chapter  27 Change Management   Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
The “First Law” No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. Bersoff, et al, 1980

Recommended for you

Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering

What is Software project management?? , What is a Project?, What is a Product?, What is Project Management?, What is Software Project Life Cycle?, What is a Product Life Cycle?, Software Project, Software Triple Constraints, Software Project Manager, Project Planning,

software developmentsoftware project managementsoftware
Software Metrics
Software MetricsSoftware Metrics
Software Metrics

This document provides an overview and introduction to software metrics. It discusses measurement concepts and why measurement is important for software engineering. It covers topics like the basics of measurement, collecting metrics data, analyzing data, and measuring internal and external attributes of software. Specific metrics discussed include size, structure, complexity, reliability, and test coverage. The document is intended to introduce readers to fundamental software metrics concepts.

software metrics
Slides chapters 28-32
Slides chapters 28-32Slides chapters 28-32
Slides chapters 28-32

The document discusses formal methods for software specification and modeling. It provides examples of using formal languages like Z and OCL to formally specify the state and behavior of a print spooler system. Key concepts discussed include using sets, logic, and mathematics to precisely define a system's state, operations, preconditions, and postconditions to ensure consistency and avoid ambiguity.

What Are These Changes? data other documents code Test Project Plan changes in  technical requirements changes in  business requirements changes in user requirements software models
The Software Configuration programs documents data The pieces
Baselines The IEEE (IEEE Std. No. 610.12-1990) defines a baseline as: A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures. a baseline is a milestone in the development of software that is marked by the delivery of one or more software configuration items and the approval of these SCIs that is obtained through a formal technical review
Baselines

Recommended for you

Pressman ch-21-project-management-concepts
Pressman ch-21-project-management-conceptsPressman ch-21-project-management-concepts
Pressman ch-21-project-management-concepts

The document discusses the key elements of project management: people, product, process, and project. It focuses on the importance of: - Engaging the right stakeholders and cultivating a motivated software team led by competent leaders, - Clearly defining the product objectives and scope before planning, - Using the appropriate software process as the framework to establish a comprehensive development plan, and - Planning and controlling the project to manage complexity and avoid common causes of failure like cost overruns.

Lecture 3 software process model
Lecture 3   software process modelLecture 3   software process model
Lecture 3 software process model

The document discusses different software process models. It begins by describing the "build and fix" model, where software is constructed without planning and then repeatedly fixed based on user feedback. This approach is problematic for large projects. The document then introduces prescriptive process models which prescribe ordered activities and tasks. The waterfall model and V-model are described as examples of prescriptive linear sequential models. Finally, incremental process models are covered, which deliver software in prioritized increments to provide early user value.

 
by IIUI
Slides chapter 5
Slides chapter 5Slides chapter 5
Slides chapter 5

The document discusses various software engineering practices. It outlines core principles like keeping things simple, maintaining vision, and planning for reuse. It also discusses specific practices for communication, planning, modeling, construction, coding, testing, and deployment. For each practice area, it provides principles and guidelines to effectively carry out those practices when developing software.

Software Configuration Objects
SCM Repository The SCM repository is the set of mechanisms and data structures that allow a software team to manage change in an effective manner The repository performs or precipitates the following functions [FOR89]: Data integrity Information sharing Tool integration Data integration Methodology enforcement Document standardization
Repository Content
Repository Features Versioning.  saves all of these versions to enable effective management of product releases and to permit developers to go back to previous versions Dependency tracking and change management.  The repository manages a wide variety of relationships among the data elements stored in it.  Requirements tracing.  Provides the ability to track all the design and construction components and deliverables that result from a specific requirement specification Configuration management.  Keeps track of a series of configurations representing specific project milestones or production releases. Version management provides the needed versions, and link management keeps track of interdependencies.  Audit trails.  establishes additional information about when, why, and by whom changes are made.

Recommended for you

Slides chapters 24-25
Slides chapters 24-25Slides chapters 24-25
Slides chapters 24-25

The document discusses project scheduling and tracking in software engineering. It provides reasons why projects may be late, such as unrealistic deadlines or changing requirements. It discusses principles for effective scheduling like compartmentalization of tasks and defining responsibilities. Metrics like earned value analysis are presented to quantitatively track project progress versus what was planned. Risk management techniques like proactive risk analysis are outlined to improve project success.

Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7

The document discusses various modeling techniques used in requirements analysis for web applications (WebApps), including: 1) Content modeling to identify and describe all content objects and their relationships. 2) Interaction modeling using use cases, sequence diagrams, state diagrams, and prototypes to describe how users interact. 3) Functional modeling to define all necessary operations and processing functions implied by usage scenarios. The techniques help analysts understand WebApp requirements by modeling key elements like content, interactions, and functions.

Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7

The document discusses system engineering and requirements engineering for software systems. It covers topics such as: 1) The hierarchy of system elements including software, hardware, people, databases, documentation and procedures. 2) The requirements engineering process including inception, elicitation, elaboration, negotiation, specification and validation. 3) Techniques for eliciting requirements such as use cases, scenarios, interviews and collaborative requirements gathering meetings.

SCM Elements Component elements—a set of tools coupled within a file management system (e.g., a database) that enables access to and management of each software configuration item.  Process elements—a collection of procedures and tasks that define an effective approach to change management (and related activities) for all constituencies involved in the management, engineering and use of computer software. Construction elements—a set of tools that automate the construction of software by ensuring that the proper set of validated components (i.e., the correct version) have been assembled. Human elements—to implement effective SCM, the software team uses a set of tools and process features (encompassing other CM elements)
The SCM Process How does a software team identify the discrete elements of a software configuration? How does an organization manage the many existing versions of a program (and its documentation) in a manner that will enable change to be accommodated efficiently? How does an organization control changes before and after software is released to a customer? Who has responsibility for approving and ranking changes?  How can we ensure that changes have been made properly? What mechanism is used to appraise others of changes that are made?  Addresses the following questions …
The SCM Process
Version Control Version control combines procedures and tools to manage different versions of configuration objects that are created during the software process A version control system implements or is directly integrated with four major capabilities:  a project database (repository) that stores all relevant configuration objects a version management capability that stores all versions of a configuration object (or enables any version to be constructed using differences from past versions);  a make facility that enables the software engineer to collect all relevant configuration objects and construct a specific version of the software.  an issues tracking (also called bug tracking) capability that enables the team to record and track the status of all outstanding issues associated with each configuration object.

Recommended for you

Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1

The document discusses several key aspects of software and software engineering: 1. Software serves both as a product that transforms information and as a vehicle that delivers computing capabilities. It controls programs, enables communications, and helps build other software. 2. Software is more complex and difficult to develop than hardware but easier to modify and upgrade. Software costs are concentrated in design rather than production. 3. Software evolves and deteriorates over time unlike hardware, which wears out. Most software continues to be custom built despite a slow trend toward component-based construction. Maintaining and evolving legacy software poses challenges. 4. The document outlines several "laws" and myths regarding software evolution, management, customers, and practitioners

System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development Methodologies

Discuss about the system development methodologies with brief introduction and some main methodologies. Each and every methodology describe the Basic Principle, Strengths, Weaknesses, Situations where most appropriate and Situations where least appropriate with diagrams.

designbusinesssystem analysis
Personal Hygiene
Personal HygienePersonal Hygiene
Personal Hygiene

I tried to create a complete personal hygiene ppt so that i can present it to my students.Hope you like it.

health and hygienehygiene
Change Control STOP
Change Control Process—I change request from user developer evaluates change report is generated change control authority decides request is queued for action change request is denied user is informed need for change is recognized change control process—II
Change Control Process-II assign people to SCIs check-out SCIs make the change review/audit the change establish a “baseline” for testing change control process—III
Change Control Process-III perform SQA and testing activities promote SCI for inclusion in next release rebuild appropriate version review/audit the change include all changes in release check-in the changed SCIs

Recommended for you

13 software metrics
13 software metrics13 software metrics
13 software metrics

Software metrics involve collecting measurements related to software development processes, projects, and products. There are different types of metrics including process, project, and product metrics. Process metrics measure the software development lifecycle, project metrics measure team efficiency, and product metrics measure quality. Metrics can also be private, used by individuals, or public, used to measure teams and processes. Size-oriented metrics are computed based on the size of the software, often expressed in lines of code.

Unified Process
Unified ProcessUnified Process
Unified Process

The document provides an overview of the Unified Software Process (UP). It discusses the history and development of UP over decades. Key aspects of UP include being use-case driven, architecture-centric, and iterative and incremental. UP recognizes four important aspects of software development: people, project, product, and process. Use cases drive the entire development process. UP emphasizes iterative development and producing incremental working software. The Rational Unified Process (RUP) provides additional tools and content to support applying UP.

rupsoftwaremethodology
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3

Short questions : Que 1 : Define Software Testing. Que 2 : What is risk identification ? Que 3 : What is SCM ? Que 4 : Define Debugging. Que 5 : Explain Configuration audit. Que 6 : Differentiate between white box testing & black box testing. Que 7 : What do you mean by metrics ? Que 8 : What do you mean by version control ? Que 9 : Explain Object Oriented Software Engineering. Que 10 : What are the advantages and disadvantages of manual testing tools ? Long Questions: Que 1 : What do you mean by baselines ? Explain their importance. Que 2 : What do you mean by change control ? Explain the various steps in detail. Que 3 : Explain various types of testing in detail. Que 4 : Differentiate between automated testing and manual testing. Que 5 : What is web engineering ? Explain in detail its model and features.

stqaassignment
Auditing SCIs Change Requests SQA Plan SCM Audit
Status Accounting SCIs Change Requests Change   Reports ECOs Status Accounting Reporting
SCM for Web Engineering-I Content.   A typical WebApp contains a vast array of content—text, graphics, applets, scripts, audio/video files, forms, active page elements, tables, streaming data, and many others.  The challenge is to organize this sea of content into a rational set of configuration objects (Section 27.1.4) and then establish appropriate configuration control mechanisms for these objects. People.  Because a significant percentage of WebApp development continues to be conducted in an ad hoc manner, any person involved in the WebApp can (and often does) create content.
SCM for Web Engineering-II Scalability.  As size and complexity grow, small changes can have far-reaching and unintended affects that can be problematic. Therefore, the rigor of configuration control mechanisms should be directly proportional to application scale. Politics.  Who ‘owns’ a WebApp?  Who assumes responsibility for the accuracy of the information on the Web site? Who assures that quality control processes have been followed before information is published to the site?  Who is responsible for making changes?  Who assumes the cost of change?

Recommended for you

Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training

This document provides an overview of software development lifecycles and testing. It discusses the typical phases of the SDLC, including planning, analysis, design, implementation, and maintenance. It describes two common SDLC methodologies: the waterfall model and agile/scrum model. It also defines different types of testing like static vs dynamic, verification vs validation, functional testing, regression testing, and smoke testing. Finally, it provides details on unit, integration, system, and user acceptance testing.

Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering

1. Software quality assurance involves quality control through inspections, reviews and testing throughout development to ensure work products meet specifications. 2. The costs of quality include prevention costs like planning and training, appraisal costs like testing, and failure costs like rework and support; finding and fixing defects early through reviews reduces costs. 3. Formal technical reviews uncover errors at various stages of development to catch them before they become costly defects later on; a review meeting follows constraints and produces an issues list and report that is tracked to resolution.

software quality assurancesoftware engineeringsoftware development
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt

The document discusses software testing fundamentals and principles. It defines software testing as evaluating a product to determine if it contains any defects and satisfies requirements. Testing is important to prevent errors and ensure quality, security, efficiency and flexibility. The key goals of testing are to find defects, verify that specifications are properly implemented, and ensure customer expectations are met.

Content Management-I The collection subsystem   encompasses all actions required to create and/or acquire content, and the technical functions that are necessary to  convert content into a form that can be represented by a mark-up language (e.g., HTML, XML organize content into packets that can be displayed effectively on the client-side. The management subsystem  implements a repository that encompasses the following elements: Content database —the information structure that has been established to store all content objects Database capabilities —functions that enable the CMS to search for specific content objects (or categories of objects), store and retrieve objects, and manage the file structure that has been established for the content Configuration management functions —the functional elements and associated workflow that support content object identification, version control, change management, change auditing, and reporting.
Content Management-II The  publishing subsystem   extracts from the repository, converts it to a form that is amenable to publication, and formats it so that it can be transmitted to client-side browsers. The publishing subsystem accomplishes these tasks using a series of templates.  Each  template  is a function that builds a publication using one of three different components [BOI02]: Static elements —text, graphics, media, and scripts that require no further processing are transmitted directly to the client-side Publication services —function calls to specific retrieval and formatting services that personalize content (using predefined rules), perform data conversion, and build appropriate navigation links. External services —provide access to external corporate information infrastructure such as enterprise data or “back-room” applications.
Content Management
Change Management for WebApps-I

Recommended for you

Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance

The document discusses software quality assurance. It covers key concepts like quality, quality control, quality assurance, cost of quality. It then discusses topics like software reviews, formal technical reviews, statistical quality assurance, and the SQA plan. The overall goal of software quality assurance is to achieve high-quality software products.

Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting

Software testing involves verifying that software meets requirements and works as intended. There are various testing types including unit, integration, system, and acceptance testing. Testing methodologies include black box testing without viewing code and white box testing using internal knowledge. The goal is to find bugs early and ensure software reliability.

SQA-Lecture-4.pptx
SQA-Lecture-4.pptxSQA-Lecture-4.pptx
SQA-Lecture-4.pptx

This document provides an overview of key topics in software quality assurance including the cost of quality, definitions, the purpose and contents of an SQA plan. The SQA plan aims to ensure the desired quality of software products and development processes. It describes procedures, standards, reviews, problem reporting and resolution processes, configuration management, and other quality control methods. Maintaining thorough documentation, tracking issues, and ensuring supplier quality are important aspects covered in an SQA plan.

Change Management for WebApps-II

More Related Content

What's hot

Software quality
Software qualitySoftware quality
Software quality
jagadeesan
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
swatisinghal
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
HND Assignment Help
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
Danyal Ahmad
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
Priyanka Shetty
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
Priyanka Shetty
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
Manusha Dilan
 
Slides chapters 21-23
Slides chapters 21-23Slides chapters 21-23
Slides chapters 21-23
Priyanka Shetty
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
HendMuhammad
 
Quality Concept
Quality ConceptQuality Concept
Quality Concept
Anand Jat
 
Iterative model in sdlc
Iterative model in sdlcIterative model in sdlc
Iterative model in sdlc
Abdullah Al Rumy
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
Dr VISU P
 
Software process
Software processSoftware process
Software process
Jennifer Polack
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
Muhammad Yousuf Abdul Qadir
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
Massimo Felici
 

What's hot (20)

Software quality
Software qualitySoftware quality
Software quality
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Slides chapters 21-23
Slides chapters 21-23Slides chapters 21-23
Slides chapters 21-23
 
Software design
Software designSoftware design
Software design
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 
Quality Concept
Quality ConceptQuality Concept
Quality Concept
 
Iterative model in sdlc
Iterative model in sdlcIterative model in sdlc
Iterative model in sdlc
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
Software process
Software processSoftware process
Software process
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 

Viewers also liked

Slides chapters 28-32
Slides chapters 28-32Slides chapters 28-32
Slides chapters 28-32
Priyanka Shetty
 
Pressman ch-21-project-management-concepts
Pressman ch-21-project-management-conceptsPressman ch-21-project-management-concepts
Pressman ch-21-project-management-concepts
seethaveera
 
Lecture 3 software process model
Lecture 3   software process modelLecture 3   software process model
Lecture 3 software process model
IIUI
 
Slides chapter 5
Slides chapter 5Slides chapter 5
Slides chapter 5
Priyanka Shetty
 
Slides chapters 24-25
Slides chapters 24-25Slides chapters 24-25
Slides chapters 24-25
Priyanka Shetty
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
mohammad hossein Jalili
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
Priyanka Shetty
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
Priyanka Shetty
 
System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development Methodologies
Devon Ravihansa
 
Personal Hygiene
Personal HygienePersonal Hygiene
Personal Hygiene
Priyanka Shetty
 
13 software metrics
13 software metrics13 software metrics
Unified Process
Unified ProcessUnified Process
Unified Process
guy_davis
 

Viewers also liked (12)

Slides chapters 28-32
Slides chapters 28-32Slides chapters 28-32
Slides chapters 28-32
 
Pressman ch-21-project-management-concepts
Pressman ch-21-project-management-conceptsPressman ch-21-project-management-concepts
Pressman ch-21-project-management-concepts
 
Lecture 3 software process model
Lecture 3   software process modelLecture 3   software process model
Lecture 3 software process model
 
Slides chapter 5
Slides chapter 5Slides chapter 5
Slides chapter 5
 
Slides chapters 24-25
Slides chapters 24-25Slides chapters 24-25
Slides chapters 24-25
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development Methodologies
 
Personal Hygiene
Personal HygienePersonal Hygiene
Personal Hygiene
 
13 software metrics
13 software metrics13 software metrics
13 software metrics
 
Unified Process
Unified ProcessUnified Process
Unified Process
 

Similar to Slides chapters 26-27

Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
Gurpreet singh
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
Dinesh Pokhrel
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
MuhammadTalha436
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
university of education,Lahore
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
nazeer pasha
 
SQA-Lecture-4.pptx
SQA-Lecture-4.pptxSQA-Lecture-4.pptx
SQA-Lecture-4.pptx
SaritaAgrahari2
 
Qa
QaQa
SQA
SQASQA
Qa
QaQa
Qa
QaQa
Software_Verification_and_Validation.ppt
Software_Verification_and_Validation.pptSoftware_Verification_and_Validation.ppt
Software_Verification_and_Validation.ppt
Saba651353
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Er. Nancy
 
Qa
QaQa
Software testing kn husainy
Software testing kn husainySoftware testing kn husainy
Software testing kn husainy
khalid noman husainy
 
Software engineering
Software engineeringSoftware engineering
Software engineering
GuruAbirami2
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
Kamal Acharya
 
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
Deepgaichor1
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
ssusere4c6aa
 
Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6
Abdul Basit
 

Similar to Slides chapters 26-27 (20)

Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
SQA-Lecture-4.pptx
SQA-Lecture-4.pptxSQA-Lecture-4.pptx
SQA-Lecture-4.pptx
 
Qa
QaQa
Qa
 
SQA
SQASQA
SQA
 
Qa
QaQa
Qa
 
Qa
QaQa
Qa
 
Software_Verification_and_Validation.ppt
Software_Verification_and_Validation.pptSoftware_Verification_and_Validation.ppt
Software_Verification_and_Validation.ppt
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Qa
QaQa
Qa
 
Software testing kn husainy
Software testing kn husainySoftware testing kn husainy
Software testing kn husainy
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
 
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
 
Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6
 

More from Priyanka Shetty

Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14
Priyanka Shetty
 
Slides chapter 19
Slides chapter 19Slides chapter 19
Slides chapter 19
Priyanka Shetty
 
Slides chapter 17
Slides chapter 17Slides chapter 17
Slides chapter 17
Priyanka Shetty
 
Slides chapter 16
Slides chapter 16Slides chapter 16
Slides chapter 16
Priyanka Shetty
 
Slides chapter 15
Slides chapter 15Slides chapter 15
Slides chapter 15
Priyanka Shetty
 
Slides chapter 12
Slides chapter 12Slides chapter 12
Slides chapter 12
Priyanka Shetty
 
Slides chapter 11
Slides chapter 11Slides chapter 11
Slides chapter 11
Priyanka Shetty
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
Priyanka Shetty
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
Priyanka Shetty
 

More from Priyanka Shetty (10)

Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14
 
Slides chapter 19
Slides chapter 19Slides chapter 19
Slides chapter 19
 
Slides chapter 17
Slides chapter 17Slides chapter 17
Slides chapter 17
 
Slides chapter 16
Slides chapter 16Slides chapter 16
Slides chapter 16
 
Slides chapter 15
Slides chapter 15Slides chapter 15
Slides chapter 15
 
Slides chapter 12
Slides chapter 12Slides chapter 12
Slides chapter 12
 
Slides chapter 11
Slides chapter 11Slides chapter 11
Slides chapter 11
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
 

Slides chapters 26-27

  • 1. Chapter 26 Quality Management Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
  • 2. Quality The American Heritage Dictionary defines quality as “ a characteristic or attribute of something.” For software, two kinds of quality may be encountered: Quality of design encompasses requirements, specifications, and the design of the system. Quality of conformance is an issue focused primarily on implementation. user satisfaction = compliant product + good quality + delivery within budget and schedule
  • 3. Software Quality Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.
  • 4. Cost of Quality Prevention costs include quality planning formal technical reviews test equipment Training Internal failure costs include rework repair failure mode analysis External failure costs are complaint resolution product return and replacement help line support warranty work
  • 5. Software Quality Assurance Formal Technical Reviews Test Planning & Review Measurement Analysis & Reporting Process Definition & Standards
  • 6. Role of the SQA Group-I Prepares an SQA plan for a project. The plan identifies evaluations to be performed audits and reviews to be performed standards that are applicable to the project procedures for error reporting and tracking documents to be produced by the SQA group amount of feedback provided to the software project team Participates in the development of the project’s software process description. The SQA group reviews the process description for compliance with organizational policy, internal software standards, externally imposed standards (e.g., ISO-9001), and other parts of the software project plan.
  • 7. Role of the SQA Group-II Reviews software engineering activities to verify compliance with the defined software process. identifies, documents, and tracks deviations from the process and verifies that corrections have been made. Audits designated software work products to verify compliance with those defined as part of the software process. reviews selected work products; identifies, documents, and tracks deviations; verifies that corrections have been made periodically reports the results of its work to the project manager. Ensures that deviations in software work and work products are documented and handled according to a documented procedure. Records any noncompliance and reports to senior management. Noncompliance items are tracked until they are resolved.
  • 8. Why SQA Activities Pay Off? cost to find and fix a defect 100 10 log scale 1 Req. Design code test system test field use 0.75 1.00 1.50 3.00 10.00 60.00-100.00
  • 9. Reviews & Inspections ... there is no particular reason why your friend and colleague cannot also be your sternest critic. Jerry Weinberg
  • 10. What Are Reviews? a meeting conducted by technical people for technical people a technical assessment of a work product created during the software engineering process a software quality assurance mechanism a training ground
  • 11. What Reviews Are Not A project summary or progress assessment A meeting intended solely to impart information A mechanism for political or personal reprisal!
  • 12. The Players review leader producer recorder reviewer standards bearer (SQA) maintenance oracle user rep
  • 13. Conducting the Review be prepared—evaluate product before the review review the product, not the producer keep your tone mild, ask questions instead of making accusations stick to the review agenda raise issues, don't resolve them avoid discussions of style—stick to technical correctness schedule reviews as project tasks record and report all review results 1. 2. 3. 4. 5. 6. 7. 8.
  • 14. Review Options Matrix trained leader agenda established reviewers prepare in advance producer presents product “ reader” presents product recorder takes notes checklists used to find errors errors categorized as found issues list created team must sign-off on result IPR—informal peer review WT—Walkthrough IN—Inspection RRR—round robin review IPR WT IN RRR no maybe maybe maybe no maybe no no no no yes yes yes yes no yes no no yes yes yes yes yes no yes yes yes yes yes yes yes yes yes no no yes no no yes maybe * *
  • 15. Sample-Driven Reviews (SDRs) SDRs attempt to quantify those work products that are primary targets for full FTRs. To accomplish this … Inspect a fraction a i of each software work product, i. Record the number of faults, f i found within a i . Develop a gross estimate of the number of faults within work product i by multiplying f i by 1/a i . Sort the work products in descending order according to the gross estimate of the number of faults in each. Focus available review resources on those work products that have the highest estimated number of faults.
  • 16. Metrics Derived from Reviews inspection time per page of documentation inspection time per KLOC or FP errors uncovered per reviewer hour errors uncovered per preparation hour errors uncovered per SE task (e.g., design) number of minor errors (e.g., typos) number of errors found during preparation number of major errors (e.g., nonconformance to req.) inspection effort per KLOC or FP
  • 17. Statistical SQA Product & Process measurement ... an understanding of how to improve quality ... Collect information on all defects Find the causes of the defects Move to provide fixes for the process
  • 18. Six-Sigma for Software Engineering The term “six sigma” is derived from six standard deviations—3.4 instances (defects) per million occurrences—implying an extremely high quality standard. The Six Sigma methodology defines three core steps: Define customer requirements and deliverables and project goals via well-defined methods of customer communication Measure the existing process and its output to determine current quality performance (collect defect metrics) Analyze defect metrics and determine the vital few causes. Improve the process by eliminating the root causes of defects. Control the process to ensure that future work does not reintroduce the causes of defects.
  • 19. Software Reliability A simple measure of reliability is mean-time-between-failure (MTBF), where MTBF = MTTF + MTTR The acronyms MTTF and MTTR are mean-time-to-failure and mean-time-to-repair , respectively. Software availability is the probability that a program is operating according to requirements at a given point in time and is defined as Availability = [MTTF/(MTTF + MTTR)] x 100%
  • 20. Software Safety Software safety is a software quality assurance activity that focuses on the identification and assessment of potential hazards that may affect software negatively and cause an entire system to fail. If hazards can be identified early in the software process, software design features can be specified that will either eliminate or control potential hazards.
  • 21. Mistake-Proofing Poka-yoke (mistake-proofing) devices—mechanisms that lead to the prevention of a potential quality problem before it occurs or the rapid detection of quality problems if they are introduced. An effective poka-yoke device exhibits a set of common characteristics: It is simple and cheap. If a device is too complicated or expensive, it will not be cost effective. It is part of the process. That is, the poka-yoke device is integrated into an engineering activity. It is located near the process task where the mistakes occur. Thus, it provides rapid feedback and error correction.
  • 22. ISO 9001:2000 Standard ISO 9001:2000 is the quality assurance standard that applies to software engineering. The standard contains 20 requirements that must be present for an effective quality assurance system. The requirements delineated by ISO 9001:2000 address topics such as management responsibility, quality system, contract review, design control, document and data control, product identification and traceability, process control, inspection and testing, corrective and preventive action, control of quality records, internal quality audits, training, servicing, and statistical techniques.
  • 23. Chapter 27 Change Management Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
  • 24. The “First Law” No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. Bersoff, et al, 1980
  • 25. What Are These Changes? data other documents code Test Project Plan changes in technical requirements changes in business requirements changes in user requirements software models
  • 26. The Software Configuration programs documents data The pieces
  • 27. Baselines The IEEE (IEEE Std. No. 610.12-1990) defines a baseline as: A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures. a baseline is a milestone in the development of software that is marked by the delivery of one or more software configuration items and the approval of these SCIs that is obtained through a formal technical review
  • 30. SCM Repository The SCM repository is the set of mechanisms and data structures that allow a software team to manage change in an effective manner The repository performs or precipitates the following functions [FOR89]: Data integrity Information sharing Tool integration Data integration Methodology enforcement Document standardization
  • 32. Repository Features Versioning. saves all of these versions to enable effective management of product releases and to permit developers to go back to previous versions Dependency tracking and change management. The repository manages a wide variety of relationships among the data elements stored in it. Requirements tracing. Provides the ability to track all the design and construction components and deliverables that result from a specific requirement specification Configuration management. Keeps track of a series of configurations representing specific project milestones or production releases. Version management provides the needed versions, and link management keeps track of interdependencies. Audit trails. establishes additional information about when, why, and by whom changes are made.
  • 33. SCM Elements Component elements—a set of tools coupled within a file management system (e.g., a database) that enables access to and management of each software configuration item. Process elements—a collection of procedures and tasks that define an effective approach to change management (and related activities) for all constituencies involved in the management, engineering and use of computer software. Construction elements—a set of tools that automate the construction of software by ensuring that the proper set of validated components (i.e., the correct version) have been assembled. Human elements—to implement effective SCM, the software team uses a set of tools and process features (encompassing other CM elements)
  • 34. The SCM Process How does a software team identify the discrete elements of a software configuration? How does an organization manage the many existing versions of a program (and its documentation) in a manner that will enable change to be accommodated efficiently? How does an organization control changes before and after software is released to a customer? Who has responsibility for approving and ranking changes? How can we ensure that changes have been made properly? What mechanism is used to appraise others of changes that are made? Addresses the following questions …
  • 36. Version Control Version control combines procedures and tools to manage different versions of configuration objects that are created during the software process A version control system implements or is directly integrated with four major capabilities: a project database (repository) that stores all relevant configuration objects a version management capability that stores all versions of a configuration object (or enables any version to be constructed using differences from past versions); a make facility that enables the software engineer to collect all relevant configuration objects and construct a specific version of the software. an issues tracking (also called bug tracking) capability that enables the team to record and track the status of all outstanding issues associated with each configuration object.
  • 38. Change Control Process—I change request from user developer evaluates change report is generated change control authority decides request is queued for action change request is denied user is informed need for change is recognized change control process—II
  • 39. Change Control Process-II assign people to SCIs check-out SCIs make the change review/audit the change establish a “baseline” for testing change control process—III
  • 40. Change Control Process-III perform SQA and testing activities promote SCI for inclusion in next release rebuild appropriate version review/audit the change include all changes in release check-in the changed SCIs
  • 41. Auditing SCIs Change Requests SQA Plan SCM Audit
  • 42. Status Accounting SCIs Change Requests Change Reports ECOs Status Accounting Reporting
  • 43. SCM for Web Engineering-I Content. A typical WebApp contains a vast array of content—text, graphics, applets, scripts, audio/video files, forms, active page elements, tables, streaming data, and many others. The challenge is to organize this sea of content into a rational set of configuration objects (Section 27.1.4) and then establish appropriate configuration control mechanisms for these objects. People. Because a significant percentage of WebApp development continues to be conducted in an ad hoc manner, any person involved in the WebApp can (and often does) create content.
  • 44. SCM for Web Engineering-II Scalability. As size and complexity grow, small changes can have far-reaching and unintended affects that can be problematic. Therefore, the rigor of configuration control mechanisms should be directly proportional to application scale. Politics. Who ‘owns’ a WebApp? Who assumes responsibility for the accuracy of the information on the Web site? Who assures that quality control processes have been followed before information is published to the site? Who is responsible for making changes? Who assumes the cost of change?
  • 45. Content Management-I The collection subsystem encompasses all actions required to create and/or acquire content, and the technical functions that are necessary to convert content into a form that can be represented by a mark-up language (e.g., HTML, XML organize content into packets that can be displayed effectively on the client-side. The management subsystem implements a repository that encompasses the following elements: Content database —the information structure that has been established to store all content objects Database capabilities —functions that enable the CMS to search for specific content objects (or categories of objects), store and retrieve objects, and manage the file structure that has been established for the content Configuration management functions —the functional elements and associated workflow that support content object identification, version control, change management, change auditing, and reporting.
  • 46. Content Management-II The publishing subsystem extracts from the repository, converts it to a form that is amenable to publication, and formats it so that it can be transmitted to client-side browsers. The publishing subsystem accomplishes these tasks using a series of templates. Each template is a function that builds a publication using one of three different components [BOI02]: Static elements —text, graphics, media, and scripts that require no further processing are transmitted directly to the client-side Publication services —function calls to specific retrieval and formatting services that personalize content (using predefined rules), perform data conversion, and build appropriate navigation links. External services —provide access to external corporate information infrastructure such as enterprise data or “back-room” applications.
  • 49. Change Management for WebApps-II