Process Quality Assurance for UML-Based Projects (Paperback)

Bhuvan Unhelkar

  • 出版商: Addison Wesley
  • 出版日期: 2002-11-09
  • 售價: $2,130
  • 貴賓價: 9.5$2,024
  • 語言: 英文
  • 頁數: 432
  • 裝訂: Paperback
  • ISBN: 0201758210
  • ISBN-13: 9780201758214
  • 相關分類: UML
  • 已過版

買這商品的人也買了...

商品描述

Table of Contents

Foreword by Dr. Vicki P. Rainey.
Preface.
Acknowledgments.

I. SETTING THE SCENE FOR SOFTWARE QUALITY ASSURANCE.

1. The Quality Game.

Elusive Software Quality.
Defining Quality!.
Quality and Objective Effort.
Nature of Software.
Assuring Quality: a Distinct Activity.

Pressures on Quality.
Budget.
Time.
Functionality.
Quality.

Quality Levels.
Data Quality.
Code Quality.
Model Quality.
Process Quality.
Management Quality.
Quality Environment.

Quality Software Process.
What constitutes a Process?.
A Sample Cooking Process.
The Orthogonal Process Relationship.
Process in Software Context.
Software Process.
Quality Process.
Quality Assurance and Testing: Lets not confuse them.

Modeling and Quality.
Purpose of Modeling.
Modeling Caveats.
Und-----------------------------7d33d814201e8 Content-Disposition: form-data; name="content_file"; filename="C:\Documents and Settings\Claire\桌面\book cover\Untitled1.htm" Content-Type: text/plain

Table of Contents

Foreword by Dr. Vicki P. Rainey.
Preface.
Acknowledgments.

I. SETTING THE SCENE FOR SOFTWARE QUALITY ASSURANCE.

1. The Quality Game.

Elusive Software Quality.
Defining Quality!.
Quality and Objective Effort.
Nature of Software.
Assuring Quality: a Distinct Activity.

Pressures on Quality.
Budget.
Time.
Functionality.
Quality.

Quality Levels.
Data Quality.
Code Quality.
Model Quality.
Process Quality.
Management Quality.
Quality Environment.

Quality Software Process.
What constitutes a Process?.
A Sample Cooking Process.
The Orthogonal Process Relationship.
Process in Software Context.
Software Process.
Quality Process.
Quality Assurance and Testing: Lets not confuse them.

Modeling and Quality.
Purpose of Modeling.
Modeling Caveats.
Understanding Modeling Spaces in Software.
Problem Space.
Solution Space.
Background Space.

UML and Quality.
A Brief History of UML.
Quality of UML versus Quality by UML.
Quality by UML.
Quality of Visualization.
Quality of Specification.
Quality of Construction.
Quality of Documentation.

Quality Assurance Techniques of Syntax, Semantics, Aesthetics.
Quality Models—Syntax.
Quality Models—Semantics.
Quality Models—Aesthetics.

Quality Assurance of Software Process: Necessity, Sufficiency, Malleability.
Quality of Process—Necessity.
Quality of Process—Sufficiency.
Quality of Process—Malleability.

Reuse, Patterns and Quality.
Increasing Productivity through Reuse.
Reusing Expert Knowledge and Experience.
Applying Standards.

Quality and Usability.
Principles of Usability.
Navigability of Interfaces.
GUI Design and Quality.

UML-based Projects—types.
Development.
Integration (with Legacy).
Package Implementation (CRM, ERP).
Outsourcing.
Data Warehousing/Conversion.
Educational.

UML-Based Projects—Size erstanding Modeling Spaces in Software.
Problem Space.
Solution Space.
Background Space.

UML and Quality.
A Brief History of UML.
Quality of UML versus Quality by UML.
Quality by UML.
Quality of Visualization.
Quality of Specification.
Quality of Construction.
Quality of Documentation.

Quality Assurance Techniques of Syntax, Semantics, Aesthetics.
Quality Models—Syntax.
Quality Models—Semantics.
Quality Models—Aesthetics.

Quality Assurance of Software Process: Necessity, Sufficiency, Malleability.
Quality of Process—Necessity.
Quality of Process—Sufficiency.
Quality of Process—Malleability.

Reuse, Patterns and Quality.
Increasing Productivity through Reuse.
Reusing Expert Knowledge and Experience.
Applying Standards.

Quality and Usability.
Principles of Usability.
Navigability of Interfaces.
GUI Design and Quality.

UML-based Projects—types.
Development.
Integration (with Legacy).
Package Implementation (CRM, ERP).
Outsourcing.
Data Warehousing/Conversion.
Educational.

UML-Based Projects—Size and Scalability.
Small Projects.
Medium Projects.
Large Projects.

Putting it all Together (Key Points).
Bibliographic Notes.
Frequently Asked Questions (FAQs).
Exercises.
References.

II. ORGANIZING AND ENACTING THE PROCESS FOR QUALITY.


2. Quality Environment: Managing the Quality Function.

Quality Management.
Quality Environment.
Non-Technical Management.
Process and Quality.

Team Organization.
Organizing the Roles in the Problem Space.
Business Analyst.
User.
End User.
Domain Expert.
Prototyper in Problem Space.
Organizing the Roles in the Solution Space.
System Designer.
Data Modeler.
Interface Designer.
Programmer.
Tester.
Prototyper in Solution Space.
Organizing the Roles in the Background Space.
System Architect.
Prototyper in Background Space.
Database Manager.
Common Ro and Scalability.
Small Projects.
Medium Projects.
Large Projects.

Putting it all Together (Key Points).
Bibliographic Notes.
Frequently Asked Questions (FAQs).
Exercises.
References.

II. ORGANIZING AND ENACTING THE PROCESS FOR QUALITY.


2. Quality Environment: Managing the Quality Function.

Quality Management.
Quality Environment.
Non-Technical Management.
Process and Quality.

Team Organization.
Organizing the Roles in the Problem Space.
Business Analyst.
User.
End User.
Domain Expert.
Prototyper in Problem Space.
Organizing the Roles in the Solution Space.
System Designer.
Data Modeler.
Interface Designer.
Programmer.
Tester.
Prototyper in Solution Space.
Organizing the Roles in the Background Space.
System Architect.
Prototyper in Background Space.
Database Manager.
Common Roles.
Project Manager.
Steering Committee.
Business Sponser.
Organizing the Quality Team.
Quality Manager.
Quality Analyst.
Process Engineer.
User.
Tester.

The Quality Environment.
E-factor and Quality.
Soft Issues Specific to UML-based projects.
Communication in a Quality Environment.
Telecommuting.

Project Sociology.
Four models for Project Teams.
The Best Fit Approach to Creating a Homogeneous Team.
Flattening the Pyramid.
People in Reusability.
Parallel Development Teams.

Transactional Analysis in Software Projects.
A Brief History of TA.
The Parent, Adult, and Child Ego States.
The Life Positions.
Games.
Games in an OO Project.
Use It or Lose It.
Cowboy Programming.
Flour Mix.
Meetingitis.
Deadline.

Popular Quality techniques.
Walkthroughs.
Inspections.
Reviews.
Audits.
Checklists.
Interviews.
Workshops.

Standards and Quality.
Areas of application of standards.
Project, Organizational and Industrial Standards.

Process Maturity: The CMM Standards.
The Capability Maturity Mles.
Project Manager.
Steering Committee.
Business Sponser.
Organizing the Quality Team.
Quality Manager.
Quality Analyst.
Process Engineer.
User.
Tester.

The Quality Environment.
E-factor and Quality.
Soft Issues Specific to UML-based projects.
Communication in a Quality Environment.
Telecommuting.

Project Sociology.
Four models for Project Teams.
The Best Fit Approach to Creating a Homogeneous Team.
Flattening the Pyramid.
People in Reusability.
Parallel Development Teams.

Transactional Analysis in Software Projects.
A Brief History of TA.
The Parent, Adult, and Child Ego States.
The Life Positions.
Games.
Games in an OO Project.
Use It or Lose It.
Cowboy Programming.
Flour Mix.
Meetingitis.
Deadline.

Popular Quality techniques.
Walkthroughs.
Inspections.
Reviews.
Audits.
Checklists.
Interviews.
Workshops.

Standards and Quality.
Areas of application of standards.
Project, Organizational and Industrial Standards.

Process Maturity: The CMM Standards.
The Capability Maturity Model.
Personal Software Process Maturity.
Applying CMM in UML-based Projects.

Process Checks.
Checking What is Necessary.
Checking What Would Be Sufficient.
Checking the Malleability of a Process.

The Planning Deliverables.
Project Organizational Plan.
The Quality Plan.
Test Plan.

Bibliographic Notes.
Frequently Asked Questions. (FAQs).
Exercises.
References.


3. The Quality Process Architecture.

The Process Backbone.
The Three Dimensions of a Process.
“What” of a Process.
“How” of a Process.
“Who” of a Process.

The Process Metamodel.
Describing the Process Metamodel.
Process Ingredients.
The Role Element in a Process.
The Activity Element in a Process.
The Task Element in a Process.
The Deliverable Element in a Process.
A Process-Component.
Iterations.
Putting Together a Process-Component: A Baking Process.

Quality Software Process.
The Software Process.
The Quality Process.
Rigorous Process.
Process Maturity.
Malleable Process.
Process Timings.

The Software Process.
Personal Software Process Maturity.
Applying CMM in UML-based Projects.

Process Checks.
Checking What is Necessary.
Checking What Would Be Sufficient.
Checking the Malleability of a Process.

The Planning Deliverables.
Project Organizational Plan.
The Quality Plan.
Test Plan.

Bibliographic Notes.
Frequently Asked Questions. (FAQs).
Exercises.
References.


3. The Quality Process Architecture.

The Process Backbone.
The Three Dimensions of a Process.
“What” of a Process.
“How” of a Process.
“Who” of a Process.

The Process Metamodel.
Describing the Process Metamodel.
Process Ingredients.
The Role Element in a Process.
The Activity Element in a Process.
The Task Element in a Process.
The Deliverable Element in a Process.
A Process-Component.
Iterations.
Putting Together a Process-Component: A Baking Process.

Quality Software Process.
The Software Process.
The Quality Process.
Rigorous Process.
Process Maturity.
Malleable Process.
Process Timings.

The Software Process.
Business Evaluation Process-Component.
Roles in Business Evaluation.
Activities and Tasks in Business Evaluation.
Deliverables in Business Evaluation.
Quality Comments on Business Evaluation.
Project Management Process-Component.
Roles in Project Management.
Activities and Tasks in Project Management.
Deliverables in Project Management.
Quality Comments on Project Management.
Process Configuration Process-Component.
Roles in Process Configuration.
Activities and Tasks in Process Configuration.
Deliverables in Process Configuration.
Quality Comments on Process Configuration.
Requirements Modeling Process-Component.
Roles in Requirements Modeling.
Activities and Tasks in Requirements Modeling.
Deliverables in Requirements Modeling.
Quality Comments on Requirements Modeling.
Interface Modeling and Design Process-Component.
Roles in Interface Modeling.
Activities and Tasks in Interface Modeling.
Deliverables in Interface Modeling.
Quality Comments on Interface Modeling.
System Design Process-Component. Business Evaluation Process-Component.
Roles in Business Evaluation.
Activities and Tasks in Business Evaluation.
Deliverables in Business Evaluation.
Quality Comments on Business Evaluation.
Project Management Process-Component.
Roles in Project Management.
Activities and Tasks in Project Management.
Deliverables in Project Management.
Quality Comments on Project Management.
Process Configuration Process-Component.
Roles in Process Configuration.
Activities and Tasks in Process Configuration.
Deliverables in Process Configuration.
Quality Comments on Process Configuration.
Requirements Modeling Process-Component.
Roles in Requirements Modeling.
Activities and Tasks in Requirements Modeling.
Deliverables in Requirements Modeling.
Quality Comments on Requirements Modeling.
Interface Modeling and Design Process-Component.
Roles in Interface Modeling.
Activities and Tasks in Interface Modeling.
Deliverables in Interface Modeling.
Quality Comments on Interface Modeling.
System Design Process-Component.
Roles in System Design.
Activities and Tasks in System Design.
Deliverables in System Design.
Quality Comments on System Design.
Persistence Design Process-Component.
Roles in Persistence Design.
Activities and Tasks in Persistence Design.
Deliverables in Persistence Design.
Quality Comments on Persistence Design.
Implementation Process-Component.
Roles in Implementation.
Activities and Tasks in Implementation.
Deliverables in Implementation.
Quality Comments on Implementation.
Prototyping Process-Component.
Roles in Prototyping.
Activities and Tasks in Prototyping.
Deliverables in Prototyping.
Quality Comments on Prototyping.
Change Management Process-Component.
Roles in Change Management.
Activities and Tasks in Change Management.
Deliverables in Change Management.
Quality Comments on Change Management.
Enterprise Architecture Process-Component.
Roles in Enterprise Architecture.
Activities and Tasks in Enterprise Architecture.
Deliverables in Enterprise Architecture.
Quality Comments on Enterprise Architecture.
System Architecture Process-Component.
Roles in System Architecture.
Activities and Tasks in System Architecture.
Deliverables in System Architecture.
Quality Comments on System Architecture.
Deployment Process-Component.
Roles in Deployment.
Activ>Roles in System Design.
Activities and Tasks in System Design.
Deliverables in System Design.
Quality Comments on System Design.
Persistence Design Process-Component.
Roles in Persistence Design.
Activities and Tasks in Persistence Design.
Deliverables in Persistence Design.
Quality Comments on Persistence Design.
Implementation Process-Component.
Roles in Implementation.
Activities and Tasks in Implementation.
Deliverables in Implementation.
Quality Comments on Implementation.
Prototyping Process-Component.
Roles in Prototyping.
Activities and Tasks in Prototyping.
Deliverables in Prototyping.
Quality Comments on Prototyping.
Change Management Process-Component.
Roles in Change Management.
Activities and Tasks in Change Management.
Deliverables in Change Management.
Quality Comments on Change Management.
Enterprise Architecture Process-Component.
Roles in Enterprise Architecture.
Activities and Tasks in Enterprise Architecture.
Deliverables in Enterprise Architecture.
Quality Comments on Enterprise Architecture.
System Architecture Process-Component.
Roles in System Architecture.
Activities and Tasks in System Architecture.
Deliverables in System Architecture.
Quality Comments on System Architecture.
Deployment Process-Component.
Roles in Deployment.
Activities and Tasks in Deployment.
Deliverables in Deployment.
Quality Comments on Deployment.
Training Process-Component.
Roles in Training.
Activities and Tasks in Training.
Deliverables in Training.
Quality Comments on Training.
Reuse Process-Component.
Roles in Reuse.
Activities and Tasks in Reuse.
Deliverables in Reuse.
Quality Comments on Reuse.

The Quality Process.
Quality Management Process-Component.
Roles in Quality Management.
Activities and Tasks in Quality Management.
Deliverables in Quality Management.
Quality Comments on Quality Management.
Quality Assurance Process-Component.
Roles in Quality Assurance.
Activities and Tasks in Quality Assurance.
Deliverables in Quality Assurance.
Quality Comments on Quality Assurance.
Quality Control Process-Component.
Roles in Quality Control.
Activities and Tasks in Quality Control.
Deliverables in Quality Control.
Quality Comments on Quality Control.

Bibliographic Notes.
Frequently Asked Questions(FAQs).
Exercises.
References.


4. Enacting the Quality Software Process.

Configuration of a Process.
The Waterfall-Based SDLC.
The Spiral-Based SDLC.
The Fountain-Based SDLC.
Deliverables in Deployment.
Quality Comments on Deployment.
Training Process-Component.
Roles in Training.
Activities and Tasks in Training.
Deliverables in Training.
Quality Comments on Training.
Reuse Process-Component.
Roles in Reuse.
Activities and Tasks in Reuse.
Deliverables in Reuse.
Quality Comments on Reuse.

The Quality Process.
Quality Management Process-Component.
Roles in Quality Management.
Activities and Tasks in Quality Management.
Deliverables in Quality Management.
Quality Comments on Quality Management.
Quality Assurance Process-Component.
Roles in Quality Assurance.
Activities and Tasks in Quality Assurance.
Deliverables in Quality Assurance.
Quality Comments on Quality Assurance.
Quality Control Process-Component.
Roles in Quality Control.
Activities and Tasks in Quality Control.
Deliverables in Quality Control.
Quality Comments on Quality Control.

Bibliographic Notes.
Frequently Asked Questions(FAQs).
Exercises.
References.


4. Enacting the Quality Software Process.

Configuration of a Process.
The Waterfall-Based SDLC.
The Spiral-Based SDLC.
The Fountain-Based SDLC.

The Iterative, Incremental, and Parallel Development Process.
Need for Iterations and Increments.
Initial.
Major.
Final.
Parallel Developments within a Lifecycle.
Maintenance or Ongoing Iteration.

Adoption of the Software Process.
Ascertain Current Process State.
Crucial Pilot Project.
Point of Adoption.
Separating UML from the Process.
Keeping All CASE Tool Implementations Separate.
Training and Mentoring. BHEADS = Access to the Process.

Enacting the Quality Process.
Creating Iterations and Increments in Lucky Insurance's Development.
An Iterative Project Task Plan.
Iterative Project Management Tools.

Tracking Quality throughout the Process.
Importance of Road Factors in Process Enactment.
Quality Activities at the End of the Initial Iteration.
Quality Activities at the End of the Major Iteration.
Quality Activities at the End of the Final Iteration.

Frequentl/DIV>
The Iterative, Incremental, and Parallel Development Process.
Need for Iterations and Increments.
Initial.
Major.
Final.
Parallel Developments within a Lifecycle.
Maintenance or Ongoing Iteration.

Adoption of the Software Process.
Ascertain Current Process State.
Crucial Pilot Project.
Point of Adoption.
Separating UML from the Process.
Keeping All CASE Tool Implementations Separate.
Training and Mentoring. BHEADS = Access to the Process.

Enacting the Quality Process.
Creating Iterations and Increments in Lucky Insurance's Development.
An Iterative Project Task Plan.
Iterative Project Management Tools.

Tracking Quality throughout the Process.
Importance of Road Factors in Process Enactment.
Quality Activities at the End of the Initial Iteration.
Quality Activities at the End of the Major Iteration.
Quality Activities at the End of the Final Iteration.

Frequently Asked Questions (FAQs).
Exercises.
References.


5. Estimates and Metrics for UML-Based Projects.

About Estimates and Measures in Software Projects.
Relating Estimates to Quality.
Measurements and Estimates.
Measuring the Technological Dimension.
Measuring the Methodological Dimension.
Measuring the Sociological Dimension.

Project Metrics and Estimates.
Project Size and Type.
Project Time, Budgets, and People.
Caveats in Project Estimates.

Measurement of Processes.
Why Measure Processes?
Measuring Process-Components in Deployment.
Measuring Process-Components in Enactment.
Refining the Project Estimations at the End of Each Iteration.

Quality Metrics.
Measuring Size of Software.
Traditional Measures of Software.
Additional Measures of Software.
Object-Oriented Measures of Software.

Measures of UML Artifacts, Diagrams, and Models.
Measuring Size and Complexity of Use Cases and Use Case Diagrams.
Measuring Size and Complexity of Classes.
Measurement of a Component.
Testing Metrics.

Applying Metrics and Estimates to Lucky Insuray Asked Questions (FAQs).
Exercises.
References.


5. Estimates and Metrics for UML-Based Projects.

About Estimates and Measures in Software Projects.
Relating Estimates to Quality.
Measurements and Estimates.
Measuring the Technological Dimension.
Measuring the Methodological Dimension.
Measuring the Sociological Dimension.

Project Metrics and Estimates.
Project Size and Type.
Project Time, Budgets, and People.
Caveats in Project Estimates.

Measurement of Processes.
Why Measure Processes?
Measuring Process-Components in Deployment.
Measuring Process-Components in Enactment.
Refining the Project Estimations at the End of Each Iteration.

Quality Metrics.
Measuring Size of Software.
Traditional Measures of Software.
Additional Measures of Software.
Object-Oriented Measures of Software.

Measures of UML Artifacts, Diagrams, and Models.
Measuring Size and Complexity of Use Cases and Use Case Diagrams.
Measuring Size and Complexity of Classes.
Measurement of a Component.
Testing Metrics.

Applying Metrics and Estimates to Lucky Insurance's Project.
Considering Metrics and Estimates Specific to Lucky Insurance's Project.
Project and Process Metrics in Enactment.
Measuring Process-Components for Enactment.
Applying Process and Project Metrics to Lucky Insurance's Project.
Arriving at the Productivity Factor for Lucky Insurance's Project.
Refining Estimates Based on the Productivity Factor for Subsequent Iterations.

Prophetic Statements on Estimates and Metrics.
Bibliographic Notes.
Frequently Asked Questions (FAQs).
Exercises.
References.

III. TESTING THE PRODUCT: QUALITY CONTROL.


6. Quality Control of Software Products.

Testing in Context.
Testing Approaches in UML-Based Projects.
Black Box.
White Box.
Manual Testing.
Automated Testing.
Vertical Testing.
Horizontal Testing.
Equivalence Partitioning.
Boundary Value.

Testing Architecture.
Unit Test.
Component Test.
System Test.
Acceptance Test.
Regression Test.
Operational Testing.
Performance (Stress and Volume) Testing.
Security Testing.
Scalability Testing.

Test Planning.
A Goodnce's Project.
Considering Metrics and Estimates Specific to Lucky Insurance's Project.
Project and Process Metrics in Enactment.
Measuring Process-Components for Enactment.
Applying Process and Project Metrics to Lucky Insurance's Project.
Arriving at the Productivity Factor for Lucky Insurance's Project.
Refining Estimates Based on the Productivity Factor for Subsequent Iterations.

Prophetic Statements on Estimates and Metrics.
Bibliographic Notes.
Frequently Asked Questions (FAQs).
Exercises.
References.

III. TESTING THE PRODUCT: QUALITY CONTROL.


6. Quality Control of Software Products.

Testing in Context.
Testing Approaches in UML-Based Projects.
Black Box.
White Box.
Manual Testing.
Automated Testing.
Vertical Testing.
Horizontal Testing.
Equivalence Partitioning.
Boundary Value.

Testing Architecture.
Unit Test.
Component Test.
System Test.
Acceptance Test.
Regression Test.
Operational Testing.
Performance (Stress and Volume) Testing.
Security Testing.
Scalability Testing.

Test Planning.
A Good Test Plan.
Analyzing Risks in Testing.
Test Environment.
Test Resources.
Development Environment.
Test Environment.
Test Schedules.
Test Cycles.
Reusability in Testing.

Test Design.
Description of Test Designs.
Sources for Test Designs.
Format for Test Designs.

Test Cases.
Description of Test Cases.
Designing the Test Cases.
Format for Test Cases.
Example Test Case.
Verifying the Test Cases.
Modifying the Test Cases.

Test Execution.
Getting Ready.
Acceptance Criteria.
Execute Test Suites.
Record Incident Reports.

Recording and Analyzing Test Results.
Software Incidents.
Recording Test Results.
Analyzing Results.
Reporting.

Bibliographic Notes.
Frequently Asked Questions (FAQs).
Exercises.
References.


Glossary of Acronyms and Important Terms 345
Bibliography 349
UML CASE Tools 355
Process Tools Test Plan.
Analyzing Risks in Testing.
Test Environment.
Test Resources.
Development Environment.
Test Environment.
Test Schedules.
Test Cycles.
Reusability in Testing.


Test Design.
Description of Test Designs.
Sources for Test Designs.
Format for Test Designs.

Test Cases.
Description of Test Cases.
Designing the Test Cases.
Format for Test Cases.
Example Test Case.
Verifying the Test Cases.
Modifying the Test Cases.

Test Execution.
Getting Ready.
Acceptance Criteria.
Execute Test Suites.
Record Incident Reports.

Recording and Analyzing Test Results.
Software Incidents.
Recording Test Results.
Analyzing Results.
Reporting.

Bibliographic Notes.
Frequently Asked Questions (FAQs).
Exercises.
References.


Glossary of Acronyms and Important Terms 345
Bibliography 349
UML CASE Tools 355
Process Tools Using UML 365
CD-ROM Contents 369
Epilogue 373