Requirements Gathering for Database Design
Document Analysis: Mining Requirements from Existing Artifacts
Read aloud is unavailable in this browser.
The Untold Stories in Documents
Every organization accumulates documents—forms, reports, manuals, emails, spreadsheets, and records—that silently encode decades of operational knowledge. These artifacts are invaluable for database design because they represent formalized, tested, and validated views of organizational data.
Document analysis is the systematic examination of existing written materials to extract data requirements. Where interviews capture what people think they do and believe they need, documents reveal what they actually do and formally require.
Consider a simple invoice form: it defines precisely what data is captured during a transaction, in what format, with what validations. That single document tells you more about the transactional data model than an hour of abstract discussion. When combined with interviews, document analysis creates a requirements base that is both comprehensive and verifiable.
By the end of this page, you will understand how to systematically analyze organizational documents to extract database requirements. You'll learn to identify valuable document sources, interpret different document types, extract data elements, and synthesize findings into actionable requirements specifications.
The Strategic Role of Document Analysis
Document analysis complements user interviews by providing concrete, verifiable evidence of organizational data practices. It serves multiple strategic purposes in requirements gathering:
Verification and Validation: Documents confirm or contradict interview findings. When a manager says "we track customer preferences," the customer intake form either contains preference fields or it doesn't. Documents ground abstract descriptions in reality.
Discovery of Implicit Requirements: Documents often contain requirements that users take for granted. The date format on every form, the mandatory fields marked with asterisks, the approval signatures required—these are requirements users no longer consciously remember because they became automatic.
Historical Context: Old versions of documents reveal how requirements evolved. Understanding what changed and why provides insight into organizational priorities and pain points.
Scope Definition: The volume and variety of documents help define project boundaries. If an organization produces 500 distinct report types, that's a scaling factor that affects the design effort.
- •Objectivity — Documents don't have opinions, biases, or faulty memories. They record what was actually done.
- •Precision — Data elements are named, formatted, and structured explicitly in documents.
- •Completeness — Documents often capture edge cases and exceptions that interviewees forget to mention.
- •Efficiency — Documents can be analyzed asynchronously without scheduling stakeholder time.
- •Traceability — Document sources provide auditable evidence for requirements decisions.
- •Historical Insight — Document evolution reveals changing requirements and organizational learning.
While documents are valuable, they have limitations. Documents show the formal view of operations, not necessarily the actual practice. Outdated documents may no longer reflect reality. Manual workarounds and exceptions often bypass documented procedures. Document analysis must be combined with interviews to get the complete picture.
Types of Documents for Analysis
Organizations produce diverse document types, each valuable for different aspects of requirements gathering. A comprehensive analysis examines multiple document categories to build a complete picture.
| Document Type | Examples | Requirements Value |
|---|---|---|
| Input Forms | Application forms, Order forms, Registration documents | Define data capture points, mandatory fields, valid values, and data formats |
| Output Reports | Financial statements, Sales reports, Status dashboards | Identify derived data, aggregations, reporting periods, and presentation requirements |
| Policy Documents | HR policies, Compliance manuals, Security guidelines | Business rules, constraints, approval workflows, and authorization levels |
| Procedure Manuals | Standard Operating Procedures, Training guides | Workflow sequences, decision points, exception handling, and user roles |
| Correspondence | Emails, Letters, Memos | Communication data requirements, relationship tracking, historical records |
| Contracts/Agreements | Service agreements, Vendor contracts, Employment contracts | Legal constraints, data retention requirements, reporting obligations |
| Legacy System Documentation | Database schemas, ERDs, Data dictionaries | Existing data models, field definitions, relationships, constraints |
| Regulatory Documents | Compliance requirements, Industry standards, Legal mandates | Mandatory data elements, retention periods, audit requirements |
Forms: The Richest Requirements Source
Forms deserve special attention because they explicitly define data collection points. Every form represents a deliberate decision about:
- What data is worth capturing
- How that data should be structured and validated
- What relationships exist between data elements
- What is mandatory versus optional
A well-designed database should be able to store every piece of information that appears on organizational forms—plus any contextual data (who filled it, when, why) needed for audit and analysis.
Reports: Defining Information Needs
Reports reveal what the organization considers valuable output. From reports, you can work backward to determine:
- What raw data must be stored to generate these reports
- What calculations, aggregations, and transformations are needed
- What time horizons and historical data are required
- What groupings and categorizations are meaningful
Pay special attention to handwritten additions on forms, crossed-out fields, and supplementary notes. These often indicate requirements that the current forms don't accommodate—gaps that the new database can address.
Strategies for Document Collection
Gathering documents is itself a structured process. Documents may be scattered across departments, archived in different formats, or guarded by protective stakeholders. A systematic approach ensures comprehensive coverage.
- •Step 1: Identify Document Custodians — During interviews, ask 'What forms do you use?' 'What reports do you receive?' 'Where are procedures documented?' Use organizational charts to identify likely document sources.
- •Step 2: Request Document Inventories — Ask departments for lists of forms, reports, and process documentation. IT departments often maintain document repositories.
- •Step 3: Prioritize by Relevance — Focus first on documents directly related to project scope. Customer data project? Start with customer-facing forms and customer-related reports.
- •Step 4: Collect Samples — Request filled-out examples, not just blank forms. Completed forms show actual data values, typical entries, and real-world variations.
- •Step 5: Capture Document Metadata — Record who uses each document, how often, in what context, and what purpose it serves.
- •Step 6: Note Document Relationships — Forms often feed into reports. Identify these chains to understand data flow.
- •Step 7: Verify Currency — Confirm documents are current versions. Ask when last updated and whether changes are pending.
Dealing with Document Access Challenges:
Not all documents are readily available:
Confidential Documents: Some documents (financial, HR, legal) may be restricted. Work with project sponsors to obtain appropriate access. Sign NDAs if required. In some cases, redacted samples suffice for requirements purposes.
Informal Documents: Many organizations operate with informal documents—spreadsheets passed between colleagues, personal checklists, undocumented macros. These often contain critical operational knowledge. Ask: "Beyond official forms, what tools do you use daily?"
Digital Documents: Modern organizations have much documentation in electronic formats—PDFs, online forms, database screens. Screenshots and exports capture these artifacts.
Legacy Documents: Old paper forms and outdated system printouts may exist only in physical archives. These are valuable for understanding historical decisions and data that must be migrated.
Organizations often run 'shadow systems'—spreadsheets, Access databases, or informal tracking documents that supplement official systems. These shadows indicate requirements the current systems don't meet. They're gold mines for requirements discovery.
Analyzing Form Documents in Detail
Forms are the most direct source of data requirements. Each form field maps to potential database attributes. Systematic form analysis extracts maximum requirements value.
Form Analysis Procedure:
- Identify the Form's Purpose — What transaction, event, or process does this form support?
- Map the Data Flow — Where does information on this form come from? Where does it go?
- Extract Data Elements — List every field, its name, label, and apparent purpose
- Analyze Field Characteristics — Determine data types, lengths, formats, and constraints
- Identify Relationships — Note references to other entities (customer number, product code)
- Determine Cardinality — Are there repeating sections (line items, dependents)?
- Note Derived Values — Identify calculated fields (totals, dates computed from others)
- Record Validation Rules — Look for format specifications, valid ranges, required fields
| Analysis Item | What to Record | Example |
|---|---|---|
| Field Name | Exact label from the form | Customer Name |
| Data Type | Text, Number, Date, Boolean, etc. | Text |
| Length/Format | Character limits, formatting patterns | 50 characters, allows apostrophes |
| Required? | Mandatory or optional indicator | Yes (marked with asterisk) |
| Valid Values | Dropdown options, checkboxes, constrained ranges | Dropdown: Mr/Ms/Mrs/Dr |
| Default Value | Pre-filled values | Today's date |
| Source | Where the data originates | Customer provides during registration |
| Dependencies | Fields that affect this field's behavior | State dropdown depends on Country selection |
| Validation Rules | Format patterns, range checks, cross-field validations | Zip code format: NNNNN or NNNNN-NNNN |
Recognizing Data Patterns:
Experienced analysts recognize common data patterns in forms:
Identifiers: Fields like "Order Number," "Employee ID," "Account #" are entity identifiers—candidates for primary keys.
References: Fields prefixed with another entity name ("Customer Number" on an order form) indicate foreign key relationships.
Repeating Groups: Sections with lines for multiple items (order line items, family members, skills) indicate one-to-many relationships requiring separate tables.
Code Fields: Dropdowns, radio buttons, and checkboxes often represent coded values that might become lookup tables.
Calculated Fields: Totals, rates, and derived dates suggest what the database must compute or store.
Date Patterns: Multiple date fields (created, modified, approved, expired) reveal lifecycle requirements.
If you obtain completed forms, pay attention to what's left blank. Consistently empty fields may indicate obsolete requirements or fields that are mandatory in theory but optional in practice. Also note fields where users have written additional information in margins—these indicate data the form doesn't accommodate but users need to capture.
Analyzing Report Documents
Reports represent the organization's information output—what they consider valuable to know. Report analysis works backward: from presentation to the underlying data that must be stored to produce the report.
Report Analysis Approach:
- •Identify Report Purpose — What decisions does this report support? Who uses it? How often is it generated?
- •List Output Fields — Document every column, row header, and data element that appears on the report.
- •Trace Data Sources — For each output field, determine what raw data must be stored. 'Total Sales' requires individual sale records.
- •Define Calculations — What aggregations (sums, averages, counts), derivations, or transformations produce each output field?
- •Identify Selection Criteria — What filters, date ranges, or categories define the report scope?
- •Note Grouping and Sorting — How is data organized? Groupings often indicate entity hierarchies or categorization schemes.
- •Analyze Time Dimensions — Reports often compare periods. What historical data must be retained?
- •Check Cross-References — Reports may link related data from different entities, revealing relationships.
| Report Element | Question to Ask | Database Implication |
|---|---|---|
| 'Monthly Sales by Region' | What defines regions? How are sales dated? | Need: Sale.SaleDate, Region.RegionID, Sale.Amount |
| 'Year-over-Year Growth %' | How far back must data be stored? | Retention: Minimum 2 years of transaction data |
| 'Top 10 Customers by Revenue' | How is revenue calculated per customer? | Need: Customer-Order-OrderItem relationship with aggregation |
| 'Average Days to Ship' | What dates are captured? | Need: Order.OrderDate, Shipment.ShipDate |
| 'Active vs Inactive Accounts' | What defines 'active'? | Need: Account.Status or Account.LastActivityDate |
Report Requirements Hierarchy:
Reports exist at different organizational levels with different implications:
| Report Level | Characteristics | Database Implications |
|---|---|---|
| Operational | Daily/real-time, detailed, transactional | Requires current, granular data with fast access |
| Tactical | Weekly/monthly, summarized, departmental | Requires aggregation capabilities, period-end snapshots |
| Strategic | Quarterly/annual, trends, executive | Requires historical data, trend calculation, drill-down capability |
| Ad-hoc | On-demand, unpredictable structure | Requires flexible query capability, denormalized access |
| Regulatory | Compliance-mandated, specific format | Requires exact data elements as specified, audit trails |
Dashboards and Visualizations:
Modern organizations use dashboards with charts, gauges, and KPIs. These are reports in visual form. For each visualization element, apply the same analysis: what data produces this chart? What time range? What filters?
Many organizations have accumulated hundreds of reports—many redundant, outdated, or rarely used. Part of requirements gathering is rationalizing reports: which are essential, which could be consolidated, which should be retired. Don't design a database to support obsolete reports.
Analyzing Procedures and Policy Documents
Procedure manuals and policy documents encode business rules—the constraints and logic that govern how data is created, modified, and used. These rules must be enforced by the database or the applications that use it.
Extracting Business Rules from Documents:
Business rules appear in various forms within documentation:
| Rule Type | Document Indicator | Database Implementation |
|---|---|---|
| Existence Rules | "Every order must have a customer" | NOT NULL constraint, foreign key |
| Cardinality Rules | "Each project has one lead" | Unique constraint, check constraint |
| Domain Rules | "Status must be Active, Pending, or Closed" | CHECK constraint, lookup table |
| Derivation Rules | "Total = Quantity × Unit Price" | Computed column or trigger |
| Temporal Rules | "Invoices due 30 days from issue" | Date arithmetic, derived column |
| Authorization Rules | "Managers approve expenses over $1000" | Application logic, audit fields |
| Sequence Rules | "Shipping occurs after payment confirmation" | Status field, workflow state machine |
| Uniqueness Rules | "No two employees share the same SSN" | UNIQUE constraint |
Procedure Analysis Technique:
Procedures describe sequences of activities. From these, you can extract:
States and Transitions: Procedures often describe lifecycle stages ("pending → approved → closed"). These become status fields with valid transition rules.
Roles and Permissions: Who performs each step? This maps to user roles and access control requirements.
Triggering Events: What initiates the procedure? Events often correspond to record creation or status changes.
Decision Points: Branching logic in procedures becomes business rules. "If order > $10,000, require manager approval" is a constraint.
Time Constraints: Deadlines and SLAs revealed in procedures become temporal requirements.
Exception Handling: What happens when standard procedures fail? Exceptions often require special data structures (reversal records, exception codes, escalation logs).
- •Data Retention Policies — How long must each type of data be kept? Legal and regulatory mandates often specify.
- •Privacy Policies — What data is sensitive? Who can access it? Are there geographic restrictions?
- •Audit Requirements — What changes must be logged? What audit trail is required?
- •Security Classifications — Are there data classification levels (public, internal, confidential, restricted)?
- •Approval Hierarchies — What approvals are required for different actions or thresholds?
- •Compliance Mandates — What industry regulations (GDPR, HIPAA, SOX) affect data handling?
Procedures describe intended behavior; actual practice may differ. During interviews, ask: 'Does the actual workflow match this documented procedure?' Organizations often evolve faster than their documentation. Use documents as a starting point, but validate against real-world practice.
Analyzing Legacy System Documentation
When replacing or enhancing existing systems, legacy documentation is invaluable. It reveals what the organization invested engineering effort to build—a strong signal of what matters.
Types of Legacy System Documentation:
- •Database Schemas — Table definitions, column specifications, relationships (the most direct input to new design)
- •Data Dictionaries — Field definitions, business meanings, valid values, relationships
- •Entity-Relationship Diagrams — Visual models of existing data structures
- •System Documentation — Architecture documents, integration specifications, API definitions
- •Source Code — Business logic embedded in applications (stored procedures, triggers, application code)
- •Screen Specifications — UI layouts showing what data users see and enter
- •Test Cases — Tests reveal expected behavior and edge cases
Leveraging Legacy Schemas:
Existing database schemas are requirements in themselves—even if poorly designed, they encode decisions made for reasons. When analyzing legacy schemas:
- Document each table — Record purpose, typical row count, key relationships
- Analyze columns — Data types, naming conventions, null policies
- Identify relationships — Explicit foreign keys and implicit references
- Note anomalies — Unused columns, strange data types, naming inconsistencies
- Look for patterns — Audit fields, soft deletes, versioning schemes
- Profile data — Actual values often reveal constraints not declared in the schema
Data Profiling:
Beyond documentation, profiling actual data in legacy systems reveals:
- Real value distributions and ranges
- Null frequencies and patterns
- Referential integrity violations (despite constraints)
- Data quality issues to address in migration
| Aspect | Question | Implication |
|---|---|---|
| Data Volume | How much data exists? Growth rate? | Storage sizing, archival strategy |
| Data Quality | How clean is existing data? | Migration complexity, cleansing requirements |
| Active vs. Historical | What percentage is actively used? | Archival opportunities, partition strategies |
| Unused Elements | Are there unused tables/columns? | May exclude from new design |
| Missing Elements | What's tracked manually outside the system? | New requirements to address |
| Performance Issues | What queries are slow? | Index requirements, denormalization candidates |
Legacy systems often contain accumulated design debt—columns added expediently, relationships never formalized, constraints never enforced. Use legacy documentation as input, not gospel. The goal is to learn what was needed, not to replicate old mistakes.
KEEP LEARNING
There’s more to understand.
You’re reading the introduction. Create a free account to read the complete lesson, save notes and keep track of your progress.