Help Icon


Course Title
Creating Functional Specifications


Learn the best methods to facilitate communication among stakeholders, bridging the communications gap between the business and technology.  Learn analysis methods to make the necessary transition from business requirements to functional specifications. Eligible for 14 CDUs (IIBA®) and 14 PDUs (PMI®) and is required for the PMI - Professional in Business Analysis Plus Certificate Program.




Upon completion of this course, each participant will be able to:  

  • Understand the purpose and contents of Functional Specifications Documents, where they fit in software development processes, and how they are used in off-shore and in-house development projects. 
  • Transition the project from Business Case and Business Requirements to the detailed Functional Specifications.
  • Create different types of requirements, employing Use Cases for describing how users will interact with a system, and Supplementary Requirements covering security, performance, reliability and other needs of the business.
  • Understand the basic concepts of Object-Oriented and Structured Analysis methods and how they are used in developing Functional Specifications.
  • Build and understand the need for Business Models including Class and Object models, and the Project Glossary.
  • Understand the purpose and relevant components of UML, the industry standard Unified Modeling Language.
  • Use and understand the role of data gathering and elicitation techniques in learning about the business and gaining agreement from stakeholders.
  • Package the component models into a Functional Specifications Document.


This course is for anyone involved in developing functional specifications for business solutions. Participants will learn the best methods to facilitate communication among stakeholders, bridging the communications gap between the business and technology. The class provides an introduction to analysis methods used in making the necessary transition from business requirements to functional specifications.

This class is endorsed by International Institute of Business Analysis (IIBA) for compliance with “A Guide to Business Analysis Body of Knowledge®" (BABOK® ). Upon successful completion, participants are awarded 14 CDUs recognized by IIBA®. The Endorsed Education Provider number for Total Systems Education is E112.  

This class is also certified by PMI. Upon completion of the program, participants involved with PMI and the PMP® certification program are awarded 14 PDUs. Total Systems Education’s R.E.P. number is 1270.


I. Introduction: What are Functional Specifications, and How are they Used?

A. The Purpose of Developing Functional Specifications

1. Systems

2. Specifications

3. The Functional Specifications Document

     B. The Software Development Process

1. Software Development Activities

2. Planning and Organizing Development Activities

a. Sequential Project Plan (Waterfall)

b. Iterative Project Plan (Spiral)

c. Maintenance

C. The Impact of Out-sourced, aka Off-shore Development

D. From the Business Case to Functional Specifications

1. Business Case

2. Business Requirements

3. Functional Specifications

a. Who Uses Functional Specifications?

b. Who Should Develop Functional Specifications?

c. Functional Specifications: Contents

d. Functional Specifications: Outline

E. Analysis Activities

1. Data Gathering

2. Developing and Using Models

3. Prototyping

F. Industry Standards and Certifications



II. The Use Case Model

A. Use Cases

1. Definition

2. Example

3. Benefits of Use Cases

B. Types of Use Cases


D. Context Diagrams

E. Components of a Use Case

1. Name and Short Description

2. Actors

3. Identifying Actors

4. Kinds of Actors

5. Preconditions

6. Post-conditions

7. Narrative

a. Formatting Narratives

b. How Much Detail to Include

8. Special and Supplementary Requirements

F. Guidelines for Success

G. Limitations of Use Cases

III. The Business Model

A. Modeling the Business Domain

1. The Need for a Business Model

2. Components of a Business Model

B. The Project Glossary

1. Why a Glossary is Needed

2. Organizing and Formatting a Glossary

C. The Business Class Model

1. Purpose

2. Contents

D. Object-Oriented Analysis

1. Definition

2. Benefits

3. Basic Concepts

a. Objects

b. Classes

c. Responsibilities

d. Attributes

e. Associations

f. Methods

g. Messages

h. Inheritance

4. UML Class Diagrams

E. Creating a Business Class Model

1. Identifying Business Classes

a. Using Workshops

b. Working with Patterns

c. The CRC Cards Technique (Running a CRC Cards Workshop)

d. Identifying Classes

F. Analysis and Design

IV. Packaging the Functional Specifications Document

A. Key Sections

B. Level of Detail

C. Tool Options

D. The Audience

1. In-house IT

2. Outsourced Developers

V. Appendix: Structured Analysis Methods

A. Object-Oriented vs. Structured Analysis

B. Structured Analysis

1. Data Flow Diagrams

a. Context Diagram

b. DFD Symbols

c. Level 1 DFD

d. Lower Level DFD’s

2. Data Models

a. Data Dictionary

b. Entity-Relationship Diagrams

i. Entities

ii. Relations

iii. Cardinality

3. Structured Design

a. Structure Charts

b. Physical Data Models

VI. Review and Conclusion

A. Review Major Topics

B. Roles in Outsourced and In-house Development Projects

C. Planning your future on the Project Team



Method of Instruction

During this class, participants develop, present, and critique key Functional Specification components. Issues surrounding in-house and outsourced development methods are discussed in detail.


Exam: no

Demonstration of Skills: skill practice and exercises

Class Participation: expected