Process Quality Assurance for UML-Based Projects
Addison Wesley
978-0-201-75821-4 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Quality is a subjective term, but while we may struggle defining it, experts recognize that bad quality can derail a software project or tarnish the reputation of a development organization. Good quality is difficult to achieve, but can be attained. This new book spells out a process that teaches practitioners how to achieve an acceptable level of quality. Ultimately, quality application development is all about satisfying the needs of the user. This book spells out a way to achieve that and produce a software product that can evolve, scale, and change according to the needs of the user and the business. As the Unified Modeling Language is the industry standard, the book appeals to a broad audience by defining how to use the UML to enhance quality. The author helps the reader understand the elusive nature of this pursuit, and the important role that modeling plays in software quality. The book also points out advantages, disadvantages, strengths, weaknesses, traps, and pitfalls of using the UML.
Bhuvan Unhelkar, Ph.D., is the principal of MethodScience.com and is a globally respected consultant, trainer, author, and popular orator. Winner of the Computerworld Object Developer's Award for "Best Use of the OO Approach across the Organization," he is the author of four books and numerous papers, publications, and presentations. 0201758210AB08132002
(NOTE: Each chapter concludes with FAQs, Exercises, References and End Notes.)
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 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 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.
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.
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.
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 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 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 Using UML 365
Epilogue 373
Index 375 0201758210T10042002
Erscheint lt. Verlag | 11.11.2002 |
---|---|
Verlagsort | Boston |
Sprache | englisch |
Maße | 234 x 188 mm |
Gewicht | 635 g |
Themenwelt | Informatik ► Software Entwicklung ► Objektorientierung |
ISBN-10 | 0-201-75821-0 / 0201758210 |
ISBN-13 | 978-0-201-75821-4 / 9780201758214 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |