You are previewing Requirements Analysis: From Business Views to Architecture.
O'Reilly logo
Requirements Analysis: From Business Views to Architecture

Book Description

The complete guide to requirements analysis for every system analyst and project team member.

Thousands of software projects are doomed from the start because they're based on a faulty understanding of the business problem that must be solved. The solution is effective requirements analysis. In Requirements Analysis: From Business Views to Architecture, David C. Hay gives you a comprehensive overview of the world's best requirements analysis practices, organized coherently to help you choose and execute the best approach for every project. In addition, he guides you through the process of defining an architecture—from gaining a full understanding of what business people need to the creation of a complete enterprise architecture.

Practical solutions will help you:

  • Focus more clearly on the goals of requirements analysis

  • Represent the fundamental structures and systems environment of any enterprise more accurately

  • Identify key information processing gaps and discover which information technologies can best address them

  • Clarify the goals of your new system and reflect them more accurately in your models

  • Understand crucial people-related issues that impact requirements

  • Plan smooth transitions to new systems

  • Requirements Analysis: From Business Views to Architecture provides the complete process of defining an architecture—so that you can build a rock-solid foundation for your next software project.

    Table of Contents

    1. Copyright
      1. Dedication
    2. Foreword
    3. Preface
      1. The Inspiration for This Book: Object-Oriented Analysis
      2. About the Book
      3. The Important Stuff
      4. Acknowledgments
    4. Introduction
      1. About Requirements Analysis
        1. History
          1. Structured Techniques
          2. Information Engineering
          3. Object orientation
      2. From Analysis to Design
      3. About This Book
        1. System Development Life Cycle
        2. Architecture Framework
          1. The Framework and Requirements Analysis
    5. 1. A Framework for Architecture
      1. The Zachman Framework
        1. The Rows
        2. The Columns
      2. The Architecture Framework
      3. The Analysis Process
        1. Data
        2. Activities
        3. Locations
        4. People and Organizations
        5. Timing
        6. Motivation
      4. Implications
    6. 2. Managing Projects
      1. Introduction
      2. Summary of Development Phases
      3. About Strategy
        1. Articulation
        2. Definition
      4. About Requirements Analysis
      5. Process One: Define Scope
      6. Process Two: Plan the Process
      7. Process Three: Gather Information
        1. Step 1: Conduct Briefing
        2. Step 2A: Conduct Interviews
        3. Step 2B: Joint Application Development (JAD) and Feedback Sessions
        4. Step 3: Obtain Industry Information and Patterns
        5. Step 4: Examine Current Systems
        6. Step 5: The Deliverable
      8. Process Four: Describe the Enterprise
        1. Step 1: Define Data Models (See Chapter 3)
          1. Task 1: Create Business Data Model
          2. Task 2: Create Conceptual Data Model
        2. Step 2: Define Activity Models (See Chapter 4)
          1. Task 1: Identify Current Business Processes
          2. Task 2: If Appropriate, Create Essential Data Flow Diagrams
          3. Task 3: If Appropriate, Create IDEF0 Diagram
          4. Task 4: If Appropriate, Create Function Hierarchy
          5. Task 5: Create Function/Data Map
        3. Step 3: Define Location Models (See Chapter 6)
          1. Task 1: Describe Location Network
          2. Task 2: Define Roles, Data-Distribution Requirements
        4. Step 4: Define People and Organization Models (See Chapter 5)
          1. Task 1: Articulate Organizational Philosophy
          2. Task 2: Create Organization Chart, Including Descriptions of Lateral Communications and Roles
          3. Task 3: Map Organization to Viable Systems 1–5
          4. Task 4: Define Information Requirements, by Role
        5. Step 5: Define Event and Timing Models (See Chapter 7)
          1. Task 1: If Appropriate, Create Essential Data Flow Diagram
          2. Task 2: If Appropriate, Create State/Transition Diagrams
          3. Task 3: If Appropriate, Create Entity Life Histories
        6. Step 6: Define Motivation Models (See Chapter 8)
          1. Task 1: Describe Background
          2. Task 2: Define Ends and Means
          3. Task 3: Articulate Business Policies
          4. Task 4: Define Business Expression of Business Rules
          5. Task 5: Map Business Rules to Data Model
          6. Task 6: Map business rules to function model
        7. Step 7: Present Models
        8. Step 8: Deliverables: Model Descriptions
      9. Process Five: Define What Is Required of a New System
        1. Step 1: Restate Project Purpose
        2. Step 2: Identify Key Players
        3. Step 3: Identify Required Capabilities
          1. Task 1: Identify Missing Data
          2. Task 2: Identify Missing Functions
          3. Task 3: Propose Systems and Define Use Cases for Them
        4. Step 4: Identify Requirement Constraints
        5. Step 5: Identify Non-functional Requirements
          1. Task 1: Identify Quality Requirements
          2. Task 2: Define Response-Time Requirements
          3. Task 3: Define Look and Feel Requirements
          4. Task 4: Define Security Requirements
          5. Task 5: Define Cultural and Political Requirements
          6. Task 6: Define Legal Requirements
        6. Step 6: Determine Level of Technology
        7. Step 7: Identify Capacity Requirements
        8. Step 8: Decide Whether to Make or Buy
        9. Step 9: Deliverable: Requirements Statement
      10. Process Six: Determine the Existing Systems Environment
        1. Step 1: Define Operating Environment
        2. Step 2: Identify Software Environment
          1. Task 1: Identify Development Tools
        3. Step 3: Define Technological Architecture
        4. Step 4: Define Operational Procedures
        5. Step 5: Identify Existing Capacity
        6. Step 6: Deliverable: System Inventory
      11. Process Seven: Plan for Transition
        1. Step 1: Begin Reorganization
        2. Step 2: Begin Education
        3. Step 3: Prepare for Training
        4. Step 4: Prepare for Data Conversion
        5. Step 5: Prepare for Implementation of Hardware and Software
        6. Step 6: Deliverable: Transition Plan
      12. Summary
    7. 3. Column One: Data
      1. Views of Data
      2. A Brief History of Data Architecture
        1. The “Application Approach” to Systems . . .
        2. What Went Wrong?
        3. 1. Input's Connections to Output
        4. 2. Overlapping Applications
        5. 3. Encoding Business in the Programs
        6. The Solution—Version 1
        7. Data Management
        8. The Solution—Version 2
      3. Advanced Data Management—Meta-data
      4. Graphics—Data Modeling
        1. A Short History
        2. Entity/Relational Modeling
        3. Object Modeling
        4. Object-Role Modeling (ORM)
        5. How to Draw a Data Model
        6. Entity Types
        7. Sub-types and Super-types
        8. Relationships
        9. Attributes
        10. Unique Identifiers
      5. Using Entity/Relationship and Object Models
        1. Business Owners' Views (Row Two)
        2. Architect's View (Row Three)
        3. Designer's View (Row Four)
      6. Normalization
        1. Before Normal Forms
        2. First Normal Form
        3. Second Normal Form
        4. Third Normal Form
        5. Boyce/Codd Normal Form
        6. Fourth Normal Form
        7. Fifth Normal Form
        8. Data Modeling and Normalization
        9. Object-Oriented Design
        10. Referential Integrity
      7. Data Modeling Conventions
        1. Syntactic—Symbols
        2. Positional—The Crow's Foot Rule
        3. Semantic—Data Model Patterns
          1. People and Organizations
          2. Geography
          3. Products
          4. Activity Type/Activity
          5. Contract
          6. Hierarchy/Network
        4. Type
      8. Entity/Relationship Model Validation
      9. The Requirements Analysis Deliverable—Column One
        1. Entity Types and Relationships, with Narrative
        2. Attributes
        3. Domains
        4. Unique Identifiers
        5. Referential Integrity
      10. Data and the Other Columns
        1. Data and Activities
        2. Data and Locations
        3. Data, People, and Organizations
        4. Data and Timing
        5. Data and Business Rules
      11. Conclusion
    8. 4. Column Two: Activities
      1. From the Business Owners' View to the Architect's View
      2. Approach
      3. Function Hierarchies
      4. Dependency Diagrams
      5. Data Flow Diagrams
        1. “Exploding” Processes
        2. Context Diagram
        3. Physical Data Flow Diagrams
        4. Logical (“Essential”) Data Flow Diagrams
      6. IDEF0
        1. Syntax
        2. Rules
          1. Box Rules
          2. Arrow Rules
          3. Diagram Rules
          4. Model Rules
      7. The UML Activity Diagram
      8. Interaction Diagrams
      9. Use Cases
      10. A Word About Business Process Re-engineering
        1. Business Process Diagrams
      11. Detailed Function and Process Documentation
        1. Structured Natural Language
          1. Format
          2. Key Words
        2. Action Diagrams
        3. Decision Trees and Decision Tables
        4. Other Hierarchical Techniques
      12. Implications of Analyzing Activities
        1. Implications for Relational Design
        2. Implications for Object-Oriented Design
      13. The Requirements Analysis Deliverable—Column Two
        1. A Comparison of the Techniques
      14. Activities and the Other Columns
        1. Activities and Data
        2. Activities and Locations
        3. Activities and People
        4. Activities and Timing (Events)
        5. Activities and Motivation
    9. 5. Column Four: People and Organizations
      1. How to Organize the Enterprise (Row One)
      2. Row Two: The Business Owner's View
        1. Times Change...
        2. A Very Short History of the World
        3. Human Capital
        4. Structural Capital
        5. Customer Capital
        6. Requirements for Knowledge Management
        7. The New Workplace and Knowledge Management
      3. Row Three: The Nature of a (Human) System
        1. A System
        2. Management
        3. A Model of the Viable System—System One
        4. Freedom
        5. System Two: Dampen Waves
        6. System Three: Achieve Synergy
        7. System Four: Opportunities
        8. System Five: System Identity
        9. Extra Communication Channels
      4. Implications of This Model
        1. Information Overload
        2. Jobs
        3. Our Personal Lives
      5. System Use
      6. Requirements Analysis Deliverable—Column Four
      7. People, Organizations, and the Other Columns
        1. People and Data
        2. People and Activities
        3. People and Locations
        4. People and Timing
        5. People and Motivation
    10. 6. Column Three: Locations
      1. Row Two—Geography
        1. Headquarters and Field Offices
        2. Production Network
        3. Distribution Network
        4. Research Network
        5. Customer Locations
        6. The Set of Sites
      2. Row Three—Network (and the Other Columns)
        1. Column One: Where Are Data Created? Where Are They Used?
        2. Column Two: Which Functions Are Where?
        3. Column Four: Which Roles Are Where?
        4. Column Five: What Events Are Where?
        5. Column Six: Which Business Rules Are Where?
      3. The Requirements Analysis Deliverable—Column Three
    11. 7. Column Five: Timing
      1. Introduction
      2. Row One: Scope
      3. Row Two: The Business Owner's View
        1. Schedules
        2. Events and States
        3. State/Transition Diagram
      4. Row Three: The Architect's View
        1. Events and States
        2. Essential Data Flow Diagrams
        3. Entity Life Histories
          1. A Data Model
        4. Events
        5. Event/Entity Type Matrix
        6. Asset Type
        7. Physical Asset
        8. Site
        9. Contract
        10. Line Item
        11. Movement
        12. Activity Fragments
      5. The Requirements Analysis Deliverable—Column Five
      6. Timing and the Other Columns
        1. Timing and Data
        2. Timing and Activities
        3. Timing and Locations
        4. Timing, People, and Organizations
        5. Timing and Motivation
      7. Conclusion
    12. 8. Column Six: Motivation
      1. Introduction
      2. Row One: Scope
      3. Row Two: Business Owners' Views
        1. End
          1. Goal
          2. Objective
        2. Means
        3. Course of Action
          1. Element of Guidance
        4. Assessment
        5. Discovering Rules
      4. Row Three: Architect's View
        1. Classes of Rules
          1. Terms and Definitions
          2. Facts
          3. Rules
            1. Derivations
          4. Constraints
          5. Action Enabler Rules
        2. Quality Criteria
        3. Rule Descriptions
          1. Natural Language
          2. Object Constraint Language
          3. Ronald Ross Notation
            1. Instance Verifiers
            2. Type Verifiers
            3. Position Verifiers
            4. Functional Verifiers
            5. Comparative Evaluators
            6. Mathematical Evaluators
            7. Projection Controllers
          4. Object-Role Modeling (ORM)
            1. Entity Types, Attributes, and Relationships
            2. About Constraints
            3. Mandatory Roles
            4. Uniqueness
            5. Objectified Relationships
            6. Occurrence Frequency
            7. Derivations
            8. Value Constraints
            9. Set Constraints—Subsets
            10. Set Constraints—Join Subset Constraint
            11. Set Constraints—Equality
            12. Set Constraints—Exclusion
            13. Ring Constraints
            14. Other Constraints
          5. Rule Patterns
          6. Business Rule Patterns—CASEtech, Inc.
      5. Requirements Analysis Deliverable—Column Six
      6. Motivation and the Other Columns
        1. Motivation and Data
        2. Motivation and Activities
        3. Motivation and Locations
        4. Motivation, People, and Organizations
        5. Motivation and Timing
      7. Conclusion
    13. A. The Zachman Framework
    14. B. A Comparison of Data Modeling Techniques(Syntactic Conventions)
      1. Peter Chen
        1. Entity Types and Attributes
        2. Relationships
          1. Cardinality/Optionality
          2. Names
        3. Unique Identifiers
        4. Sub-types
        5. Constraints between Relationships
        6. Comments
      2. Information Engineering
        1. Entity Types and Attributes
        2. Relationships
          1. Names
          2. Cardinality/Optionality
        3. Unique Identifiers
        4. Sub-types
        5. Constraints between Relationships
        6. Comments
      3. Richard Barker's Notation (as Used by Oracle Corporation)
        1. Entity Types and Attributes
        2. Relationships
          1. Cardinality/Optionality
          2. Names
          3. Unique Identifiers
        3. Sub-types
        4. Constraints between Relationships
        5. Comments
      4. IDEF1X
        1. Entity Types and Attributes
        2. Relationships
          1. Cardinality/Optionality
          2. Names
        3. Unique Identifiers
        4. Sub-type
        5. Constraints between Relationships
        6. Comments
      5. Object-Role Modeling (ORM)
        1. Entity Types and Attributes
        2. Relationships
          1. Cardinality/Optionality
          2. Names
        3. Unique Identifiers
        4. Sub-types
        5. Constraints between Relationships
        6. Comments
      6. The Unified Modeling Language (UML)
        1. Entity Types (Object Classes) and Attributes
        2. Relationships (Associations)
          1. Cardinality/Optionality
          2. Names
          3. “Part of/composed of”
        3. Unique Identifiers
        4. Sub-types
        5. Constraints between Relationships
        6. Comments
      7. Extensible Markup Language (XML)
        1. What Is It?
        2. Entity Types and Attributes
          1. Cardinality/Optionality
          2. Names
        3. Unique Identifiers
        4. Sub-types
        5. Constraints between Relationships
        6. Comments
      8. Recommendations
        1. For Analysis—Richard Barker's Notation
          1. Aesthetic simplicity
          2. Completeness
          3. Language
        2. For Object-Oriented Design—The UML
        3. For Relational Design—IDEF1X
        4. Summary
    15. C. The Business Rules Group Motivation Model
    16. D. The Business Rules Group and David C. Hay Modified Motivation Model
    17. Glossary
    18. Bibliography