The Product and the Process / Part 1: |
The Product / Chapter 1: |
The Evolving Role of Software / 1.1: |
Software / 1.2: |
Software: A Crisis on the Horizon / 1.3: |
Software Myths / 1.4: |
Summary / 1.5: |
References |
Problems and Points To Ponder |
Further Readings and Information Sheets |
The Process / Chapter 2: |
Software Engineering - A Layered Technology / 2.1: |
The Software Process / 2.2: |
Software Process Models / 2.3: |
The Linear Sequential Model / 2.4: |
The Prototyping Model / 2.5: |
The RAD Model / 2.6: |
Evolutionary Software Process Models / 2.7: |
Component-Based Development / 2.8: |
The Formal Methods Model / 2.9: |
Fourth Generation techniques / 2.10: |
Process Technology / 2.11: |
Product and Process / 2.12: |
Further Readings and Information Resources / 2.13: |
Managing Software Projects / Part 2: |
Project Management Concepts / Chapter 3: |
The Management Spectrum / 3.1: |
People / 3.2: |
The Project / 3.3: |
The W5HH Principle / 3.6: |
Critical Practices / 3.7: |
Further Readings and Information Sources / 3.8: |
Software Process and Project Metrics / Chapter 4: |
Measures, Metrics and Indicators / 4.1: |
Metrics in the Process and Project Domains / 4.2: |
Software Measurement / 4.3: |
Reconciling Different Metric Approaches / 4.4: |
Metrics for Software Quality / 4.5: |
Integrating Metrics Within the Software Engineering Process / 4.6: |
The Development of Metrics and GQM / 4.7: |
Managing Variation - Statistical Process Control / 4.8: |
Metrics for Small Organisations / 4.9: |
Establishing a Software Metrics Program / 4.10: |
Further Reading and Information Sources / 4.11: |
Software Project Planning / Chapter 5: |
Observations on Estimating / 5.1: |
Project Planning Objectives / 5.2: |
Software Scope / 5.3: |
Resources / 5.4: |
Software Project Estimation / 5.5: |
Decomposition Techniques / 5.6: |
Empirical Estimation Models / 5.7: |
The Make-Buy Decision / 5.8: |
Automated Estimation Tools / 5.9: |
Risk Analysis and Management / 5.10: |
Reactive vs. Proactive Risk Strategies / 6.1: |
Software Risks / 6.2: |
Risk Identification / 6.3: |
Risk Projection / 6.4: |
Risk Refinement / 6.5: |
Risk Mitigation, Monitoring and Management / 6.6: |
Safety Risks and Hazards / 6.7: |
The RMMM Plan / 6.8: |
Problems and Points to Ponder / 6.9: |
Project Scheduling and Tracking / Chapter 7: |
Basic Concepts / 7.1: |
The Relationship Between People and Effort / 7.2: |
Defining a Set Task for the Software Project / 7.3: |
Selecting Software Engineering Tasks / 7.4: |
Refinement of Major Tasks / 7.5: |
Defining a Task Network / 7.6: |
Scheduling / 7.7: |
Earned Value Analysis / 7.8: |
Error Tracking / 7.9: |
The Project plan / 7.10: |
Software Quality Assurance / 7.11: |
Quality Concepts / 8.1: |
The Quality Movement / 8.2: |
Software Reviews / 8.3: |
Formal Technical Reviews / 8.5: |
Statistical Quality Assurance / 8.6: |
Software Reliability / 8.7: |
Mistake Proofing for Software / 8.8: |
The ISO 9000 Quality standards / 8.9: |
The SQA Plan / 8.10: |
Software Configuration Management / 8.11: |
The SCM Process / 9.1: |
Identification of Objects in the Software Configuration / 9.3: |
Version Control / 9.4: |
Change Control / 9.5: |
Configuration Audit / 9.6: |
Status Reporting / 9.7: |
Conventional Methods for Software Engineering / 9.8: |
Systems Engineering / Chapter 10: |
Computer-Based Systems / 10.1: |
The System Engineering Hierarchy / 10.2: |
Business process Engineering: An Overview / 10.3: |
Product Engineering: An Overview / 10.4: |
Requirements Engineering / 10.5: |
System Modelling / 10.6: |
Analysis Concepts and Principles / 10.7: |
Requirements Analysis / 11.1: |
Requirement s Elicitation for software / 11.2: |
Analysis Principles / 11.3: |
Software Prototyping / 11.4: |
Specification / 11.5: |
Specification review / 11.6: |
Analysis Modelling / 11.7: |
a Brief History / 12.1: |
The Elements of the Analysis Model / 12.2: |
Data Modelling / 12.3: |
Functional modelling and Information Flow / 12.4: |
Behavioural Modelling / 12.5: |
The Mechanics of Structured Analysis / 12.6: |
The Data Dictionary / 12.7: |
An Overview of Other Classical Analysis Methods / 12.8: |
Design Concepts and Principles / 12.9: |
Software Design and Software Engineering / 13.1: |
The Design Process / 13.2: |
Design Principles / 13.3: |
Design Concepts / 13.4: |
Effective Modular Design / 13.5: |
Design Heuristics for Effective Modularity / 13.6: |
The Design Model / 13.7: |
Design Documentation / 13.8: |
Architectural Design / 13.9: |
Software Architecture / 14.1: |
Data Design / 14.2: |
Architectural Styles / 14.3: |
Analysing Alternative Architectural Designs / 14.4: |
Mapping Requirements into a Software Architecture / 14.5: |
Transform Mapping / 14.6: |
Transaction Mapping / 14.7: |
Refining the Architectural Design / 14.8: |
Using Interface DESIGN / 14.9: |
The Golden Rules / 15.1: |
User Interface Design / 15.2: |
Task Analysis and Modelling / 15.3: |
Interface Design Activities / 15.4: |
Implementation Tools / 15.5: |
Design Evaluation / 15.6: |
Component Level DESIGN / 15.7: |
Structured Programming / 16.1: |
Comparison of Design Notation / 16.2: |
Software Testing TECHNIQUES / 16.3: |
Software Testing Fundamental / 17.1: |
Test Case Design / 17.2: |
White-Box Testing / 17.3: |
Basis Path Testing / 17.4: |
Control Structure Testing / 17.5: |
Black-Box Testing / 17.6: |
Testing for Specialised Environments, Architectures and Applications / 17.7: |
Software Testing STRATEGIES / 17.8: |
A Strategic Approach to Software Testing / 18.1: |
Strategic Issues / 18.2: |
Unit Testing / 18.3: |
Integration testing / 18.4: |
Validation testing / 18.5: |
System Testing / 18.6: |
The Art of Debugging / 18.7: |
Technical Metrics for SOFTWARE / 18.8: |
Software Quality / 19.1: |
A Framework for Technical Software Metrics / 19.2: |
Metrics for the Analysis Model / 19.3: |
Metrics for the Design Model / 19.4: |
Metrics for Source Code / 19.5: |
Metrics for testing / 19.6: |
Metrics for Maintenance / 19.7: |
OBJECT-Oriented Software ENGINEERING / 19.8: |
OBJECT-Oriented Concepts and PRINCIPLES / Chapter 20: |
The Object-Oriented Paradigm / 20.1: |
Object-Oriented Concepts / 20.2: |
Identifying the Elements of an Object Model / 20.3: |
Management of Object-Oriented Software Projects / 20.4: |
OBJECT-Oriented Analysis / 20.5: |
Object-Oriented Analysis / 21.1: |
Domain Analysis / 21.2: |
Generic Components of the OO Analysis Model / 21.3: |
The OOA Process / 21.4: |
The Object-Relationship Model / 21.5: |
The Object Behaviour Model / 21.6: |
OBJECT-Oriented Design / 21.7: |
Design for Object-Oriented Systems / 22.1: |
The System design process / 22.2: |
The Object Design Process / 22.3: |
Design Patterns / 22.4: |
Object-Oriented Programming / 22.5: |
OBJECT-Oriented Testing / 22.6: |
Broadening the View of testing / 23.1: |
Testing OOA and OOD models / 23.2: |
Object-Oriented Testing Strategies / 23.3: |
Test Case design for OO Software / 23.4: |
Testing Methods Applicable at the Class Level / 23.5: |
Inter-Class test Case Design / 23.6: |
Technical Metrics for OBJECT-Oriented Systems / 23.7: |
The Intent of Object-Oriented Metrics / 24.1: |
The Distinguishing Characteristics of Object-Oriented Metrics / 24.2: |
Metrics for the OO Design Model / 24.3: |
Class-Oriented metrics / 24.4: |
Operation-Oriented Metrics / 24.5: |
Metrics for Object-Oriented Testing / 24.6: |
Metrics for Object-Oriented Projects / 24.7: |
Advanced Topics in Software Engineering / 24.8: |
Formal Methods / Chapter 25: |
Mathematical preliminaries / 25.1: |
Applying Mathematical Notation for Formal Specification / 25.3: |
Formal Specification Languages / 25.4: |
Using Z to Represent Example Software Component / 25.5: |
The Ten Commandments of Formal Methods / 25.6: |
Formal Methods - The Road Ahead / 25.7: |
Cleanroom Software ENGINEERING / 25.8: |
The Cleanroom Approach / 26.1: |
Functional Specification / 26.2: |
Design Refinement and Verification / 26.3: |
Cleanroom Testing / 26.4: |
COMPONENT-Based Software ENGINEERING / 26.5: |
Engineering of Component-Based Systems / 27.1: |
The CBSE Process / 27.2: |
Domain Engineering / 27.3: |
Classifying and Retrieving Components / 27.4: |
Economics of CBSE / 27.6: |
CLIENT-Server Software / 27.7: |
The Structure of Client Server Systems / 28.1: |
Software Engineering for C/S Systems / 28.2: |
Analysis Modelling Issues / 28.3: |
Design for C/S Systems / 28.4: |
Testing Issues / 28.5: |
The Design of Distributed Systems / 28.6: |
Security Engineering / 28.8: |
Software Engineering for C/S systems / 28.9: |
Testing issues / 28.10: |
WEB ENGINEERING / 28.13: |
The Attributes of Web-Based Applications / 29.1: |
The WebE Process / 29.2: |
A Framework for WebE / 29.3: |
Formulating/Analysing Web-Based Systems / 29.4: |
Design for Web-Based Applications / 29.5: |
Testing Web-Based Applications / 29.6: |
Management Issues / 29.7: |
Reengineering / 29.8: |
Business process Reengineering / 30.1: |
Software Reengineering / 30.2: |
Reverse Engineering / 30.3: |
Restructuring / 30.4: |
Forward Engineering / 30.5: |
The Economics of Reengineering / 30.6: |
Computer-Aided Software Engineering / 30.7: |
What is CASE? / 31.1: |
Building Blocks for CASE / 31.2: |
A Taxonomy of CASE Tools / 31.3: |
Integrated CASE Environments / 31.4: |
The Integration Architecture / 31.5: |
The CASE Repository / 31.6: |
The Road Ahead / 31.7: |
The Importance of software - Revisited / 32.1: |
The Scope of Changes / 32.2: |
People and the Way they Build Systems / 32.3: |
The "New" Software Engineering Process / 32.4: |
New Models for Representing Information / 32.5: |
Technology as a Driver / 32.6: |
A Concluding Comment / 32.7: |