Course 410:
Writing Functional Specifications

(2 days)


Course Description

When there is high risk involved in developing software for mission critical systems, the structured approach is chosen to provide the stability and security of systematic and time-proven techniques. This course details the tools and techniques used in the top-down structured approach and discusses the methods for ensuring quality in design and execution of software development. The focus of the course is on ensuring that the result of the analytical diagramming is a set of functional specifications that can be used by developers to produce a successful solution.

Learning Objectives

At the end of this course, the participant will know:

  • How to analyze business requirements using diagramming and modeling techniques to produce functional specifications that can be turned into code
  • A variety of diagramming techniques for analyzing information and requirements
  • How to write functional specifications from design and analysis models

Who Should Attend

Audience includes programmers, managers, designers, analysts, and anyone interested in learning established methods for quality software development.


An understanding of the basics of software development is assumed in students attending this class.

Course Outline

Unit 1: Analysis, Design, Modeling, and Architecture

  • Systems and Software Engineering
    • The Tufts Software Life Cycle
    • The Process of Developing Software
    • The Phased Approach
    • Analysis
    • Requirements Analysis
    • Systems Analysis
    • Design
    • The Difference Between Analysis and Design
  • The Role of Modeling in Business Analysis
    • Analysis Modeling
    • Design Modeling
    • Answering Questions
    • Architecture
  • The Role of Documentation

Unit 2: Reading and Analyzing Data Models

  • Overview
    • Data Modeling Using E-R Diagrams
    • Entities
    • Attributes
    • Relationships
    • Many:many Relationships
  • What the Data Model Means About the Solution
    • Define Business Rules in the Data
    • Establish the Structure of the Solution
  • Translate Data Models into Functional Specifications
    • Define the Entities
    • Define the Relationship
  • Cautions and Advice
    • Pick the Right Data Store: SoR or SoU
    • Data Synchronization Issues
    • Data Distribution Issues

Unit 3: Design and Analysis Methods: Process Modeling

  • Overview
  • Entity-Activity Analysis
    • Stimulus – Response
    • Event Processing
    • Cross Reference Matrices
    • Functional Specifications drawn from EA Analysis
  • Dataflow Diagrams
    • Scope or Level 0 Diagram
    • Sources and Sinks
    • Processes
    • Flows
    • Structured Decomposition
    • Leveling the Diagram
    • Quality Checks
    • Detail Dataflow Diagrams
    • Verifications
    • Functional Specifications Drawn from Dataflow Diagrams
  • Activity Diagrams
    • Activity Diagram Syntax
    • Swim Lanes
    • Applying the Activity Diagram
    • Functional Specifications Drawn from Activity Diagrams
  • State Transition Diagrams
    • Application
    • Format
    • Events and Triggers
    • Following the Flow
    • Applying the State Machine
    • Functional Specifications Drawn from State Machine Diagrams

Unit 4: A Quick Look at Specifying Behavior Models

  • Use Case Models
    • Components
    • Converting Use Case Models into Functional Specifications
  • Screen Flows and Navigation Diagrams
    • Description
    • Converting Screen Flow Diagrams into Functional Specifications
  • Wire Frames and Screen Mockup Diagrams
    • Overview
    • Converting Wire Frames and Screen Mockups into Functional Specifications

Unit 5: The Bottom Line

  • Analysis Best Practices
    • Data Modeling
    • Process Modeling
    • Behavior Modeling
  • Recommended Practices for Defining Functional Specifications

Please Contact Your ROI Representative to Discuss Course Tailoring!