Professional Documents
Culture Documents
Topic Page
Data Function Counting Examples 1-3
ILF Counting Examples 1-7
EIF Counting Examples 1-37
Transactional Function Counting Examples 2-1
Elementary Process Identification Examples 2-7
EI Counting Examples 2-25
EO Counting Examples 2-59
EQ Counting Examples 2-89
Contents This section explains the organization of the examples and includes detailed
examples for counting ILFs and EIFs.
Topic Page
Data Function Counting Examples 1-3
ILF Counting Examples 1-7
EIF Counting Examples 1-37
Example Example
Identify ILFs Identify EIFs
Count RETs/DETs Count RETs/DETs
Diagram of The following diagram illustrates the components for each example and the
Components flow of information.
Basis for the The basis for the measurement begins each example. As shown in the
Measurement diagram of components, the measurement may be based on the following
components:
• User requirements
• Data and process models
• Windows, screens, or reports
Note: All components in the diagram are not included in all examples. In
some examples, the requirements stand alone as the basis for the
measurement. Other examples include a data or process model,
windows, screens, and reports.
Counting The analysis to identify functions is presented in a table that lists the counting
Rules Table rules for the function type. The rules are applied to the components that make
up the basis for the measurement. The analysis is explained in the table in the
column "Does the Rule Apply?".
Note: If all the rules apply, the example is counted as an ILF or EIF.
The next table shows the rules and explanation for the complexity for each
function type identified.
Topic Page
Summary Descriptions of ILF Counting Examples 1-8
Example: Audit Data for Inquiries and Reports 1-9
Example: Report Definition 1-15
Example: Alternate Index 1-20
Example: Shared Application Data 1-21
Example: Different Users/Different Data Views 1-29
User Analysis of the following user security requirements showed a need for audit
Requirements data:
1. Allow or deny user access to each screen in the application.
2. Change a user's access to each screen.
3. Report on any screen security added or changed using the following data:
− Identification of the user who is adding or changing security
information
− The user and screen security that was added or changed
− The user and screen security images before and after a change was
made
− Date and time the add or change occurred.
4. Capture audit data to monitor and report daily security activity. This
requirement was determined when a design was implemented to satisfy
the user's screen security requirements.
ERD
Legend:
Entity Type
Data Flow
Diagram
Report info
Request Report
date, time,
user id,
before, after
Screen
Screen
1.1
Security
Add screen security info
Audit
Add Screen
Security 1.3
user ID, SS#,
access allowed, user id, Report Security
window ID date, time, Changes
before, after
Screen
Screen
Security change 1.2
screen
security Change Screen
info Security
Legend:
User or Application
Data Stored
Process
Flow of Data
The Screen Security Audit is not counted as a data function on its own
because it is dependent upon Screen Security. Screen Security Audit is part of
the Screen Security data function.
The analysis of the DETs for the Screen Security ILF is shown below:
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user User ID, SS #, Window ID, Access
recognizable, non-repeated attribute Allowed, Date Change Made and
maintained in or retrieved from the data Time Change Made.
function through the execution of all
elementary processes within the counting
scope
2. Count only those DETs being used by There are no attributes of this type.
the application being measured when
two or more applications maintain and/or
reference the same data function
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if User ID Before, Window ID
they are grouped and counted as a single Before and Access Allowed Before
DET or whether they are counted as are grouped and counted as Before
multiple DETs; grouping will depend on Image. The same is also done for
how the elementary processes use the the After Image attributes.
attributes within the application
The RET and DET totals for Screen Security are shown in the following
table.
RETs DETs
• Screen Security • User ID
• Screen Security Audit • SS #
• Window ID
• Access Allowed
• Date Change Made
• Time Change Made
• Before Image
• After Image
Total 2 RETs Total 8 DETs
User The user requires the ability to perform the following activities:
Requirements 1. Enter a report definition which includes
The analysis of the DETs for the Screen Security ILF is shown below:
The RET and DET totals for report definition are shown in the following
table.
RETs DETs
• Report Definition group • Report Identifier
• Report Name
• Attributes
• Calculations
Total 1 RET Total 4 DETs
User The user needs to inquire on report definitions using the report name as the
Requirements key to finding the desired definition. To satisfy the user requirement, an
alternate index is created using the report name as the key.
Based on the analysis in the table, the alternate index is not a logical group;
therefore, it is not counted as an ILF.
User The HR user requires the ability to maintain information on each new
Requirements employee.
The information that must be maintained by the HR user includes:
• Employee ID
• Employee Name
• Employee Mailing Address
• Employee Pay Grade
• Employee Job Title
* As a result of creating a new employee record, the employee’s anticipated
Pension Eligibility Date should be automatically calculated and saved with
the other employee information.
The Security user requires that a security level be assigned to each new
employee. The Security department conducts a background search after each
employee is hired and assigns the appropriate organizational security
authorization level. This is not application security which determines the
access of individual users within the application.
The information that must be maintained by the Security user includes:
• Employee ID
• Organizational Security Authorization Level
The Security user also requires a report listing the following information:
• Count of Employee IDs
• Employee Name
• Employee ID
• Organizational Security Authorization Level
Data Flow The following diagram shows the data flow for this example.
Diagram
The analysis shows that the Employee information is an ILF for the HR
application.
The RET and DET totals for the Employee ILF in the HR application are
shown in the following table.
RETs DETs
• Employee information group • Employee ID
• Employee Name
• Employee Mailing Address
• Employee Pay Grade
• Employee Job Title
• Pension Eligibility Date
Total 1 RET Total 6 DETs
The analysis shows that the Employee information is also classified as an ILF
for the Security application.
The RET and DET totals for the Employee ILF in the Security application
are shown in the following table.
RETs DETs
• Employee information group • Employee ID
• Employee Name
• Organizational Security
Authorization Level
Total 1 RET Total 3 DETs
Data Flow The following diagram shows the data flow for this example.
Diagram
The analysis shows that the Employee information is an ILF for the HR
application.
The analysis of the DETs for the Employee ILF is shown below:
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user The following attributes satisfy this
recognizable, non-repeated attribute rule:
maintained in or retrieved from the data • Employee ID
function through the execution of all • Employee Name
elementary processes within the counting
• Employee Mailing Address
scope
• Employee Pay Grade
• Employee Job Title
• Pension Eligibility Date
• Organizational Security Level
2. Count only those DETs being used by Only the Employee ID, Employee
the application being measured when Name, Employee Mailing Address,
two or more applications maintain and/or Employee Pay Grade, Employee
reference the same data function Job Title, and Pension Eligibility
Date are used by the HR
application. The Organizational
Security Level attribute was not
counted as a DET, because it is not
used by the HR application.
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if Employee Mailing Address is
they are grouped and counted as a single counted as a single DET.
DET or whether they are counted as
multiple DETs; grouping will depend on
how the elementary processes use the
attributes within the application
The RET and DET totals for the Employee ILF in the HR application are
shown in the following table.
RETs DETs
• Employee information group • Employee ID
• Employee Name
• Employee Mailing Address
• Employee Pay Grade
• Employee Job Title
• Pension Eligibility Date
Total 1 RET Total 6 DETs
The analysis shows that the Employee information is an ILF for the Mail
Distribution application.
The analysis of the DETs for the Employee information in the Mail
Distribution application is shown below:
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user The following attributes satisfy this
recognizable, non-repeated attribute rule:
maintained in or retrieved from the data • Employee ID
function through the execution of all • Floor
elementary processes within the counting
• Building Code
scope
2. Count only those DETs being used by Only the Employee ID, Floor, and
the application being measured when Building Code are used by the Mail
two or more applications maintain and/or Distribution application.
reference the same data function
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if There are no attributes of this type.
they are grouped and counted as a single Although Employee Mailing
DET or whether they are counted as Address was considered a single
multiple DETs; grouping will depend on attribute in the HR application, the
how the elementary processes use the two separate attributes (Floor &
attributes within the application Building Code) are counted as
separate DETs in the Mail
Distribution application.
The RET and DET totals for the Employee ILF in the Mail Distribution
application are shown in the following table.
RETs DETs
• Employee information group • Employee ID
• Floor
• Building Code
Topic Page
Summary Descriptions of EIF Examples 1-38
Example: Referencing Data from Other Applications 1-39
Example: Referencing Data from Another Application 1-43
Example: Providing Data to Other Applications 1-48
Example: Help Application 1-50
Example: Data Conversion 1-58
Example: Transaction Input File 1-60
Example: Different Users/Different User View 1-62
Example: Multiple Data Uses 1-66
Referencing Data from This example also looks at referencing data 1-43
Another Application to from another application. This example
use as part of an input identifies EIFs for an application that
process references data maintained by another
application to use for an external input.
Transaction Input File This example applies EIF counting rules to a 1-60
transaction input file processed to add jobs to
the Human Resources application.
Different Users/Different This example shows that the view differs 1-62
User View when an EIF is used by multiple applications.
Multiple Data Uses This example illustrates multiple uses for the 1-66
same data.
User The user wants the Human Resources System to provide the ability to:
Requirements 1. Enter, inquire, and report employee information
Based on the analysis, Employee and Location are each identified as a data
function.
Based on the analysis, the Location information is classified as an EIF for the
HR application.
The following table shows the summary analysis of the DET count.
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user Building Code, Building Name,
recognizable, non-repeated attribute Building Description, City, State
maintained in or retrieved from the data and Country. The repeating lines of
function through the execution of all Building Description are counted
elementary processes within the counting as only one DET.
scope
2. Count only those DETs being used by There are no attributes of this type.
the application being measured when
two or more applications maintain and/or
reference the same data function
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if There are no attributes of this type.
they are grouped and counted as a single
DET or whether they are counted as
multiple DETs; grouping will depend on
how the elementary processes use the
attributes within the application
The RET and DET totals for the Location EIF are shown in the following
table.
RETs DETs
• Location data • Building Code
• Building Name
• Building Description (repeating
lines)
• City
• State
• Country
User The user requires the Human Resources application to provide the following
Requirements capabilities:
• All hourly employees must be paid in United States dollars.
• When the user adds or changes employee information, the Human
Resources application must access the Currency application to retrieve a
conversion rate. After retrieving the conversion rate, the HR application
converts the employee's local standard hourly rate to a U.S. hourly rate
using the following calculation:
Standard Hourly Rate
= US Dollar Hourly Rate
Conversion Rate
Data Model The following diagram shows the relationships for this example.
EMPLOYEE
CONVERSION SALARIED_EMPL
RATE
HOURLY_EMPL
DEPENDENT
Legend:
Entity Type
Entity Subtype
Mandatory One-to-Many Relationship
Optional One-to-Many Relationship
Because the Currency application provides the conversion rate for the HR
application, the group of Currency Conversion data is an EIF for the HR
application.
The RET and DET totals for the Currency Conversion information EIF are
shown in the following table.
RETs DETs
• Conversion information • Conversion Rate
• Currency
Total 1 RET Total 2 DETs
User The user has the following requirements for the Currency application:
Requirements
• Maintain conversion rates for other currencies to U.S. dollars.
• Provide an interface to enable other applications, such as Human
Resources, to retrieve conversion information.
Data Flow The following diagram illustrates the data flow for this example.
Diagram
User
2.1
Human
Add window help Add Resources
Window Help Application
Legend:
The following table shows the DET analysis for window help.
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user Window Identifier, Business
recognizable, non-repeated attribute Function Description.
maintained in or retrieved from the data
function through the execution of all
elementary processes within the counting
scope
2. Count only those DETs being used by All attributes are referenced by the
the application being measured when HR application.
two or more applications maintain and/or
reference the same data function
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if There are no attributes of this type.
they are grouped and counted as a single
DET or whether they are counted as
multiple DETs; grouping will depend on
how the elementary processes use the
attributes within the application
The RET and DET totals for the Window Help EIF are shown in the
following table.
RETs DETs
• Window Help information • Window Identifier
• Business Function Description
The following table shows the DET analysis for Field Help.
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user Window Identifier, Field Identifier,
recognizable, non-repeated attribute Field Description, Default Values,
maintained in or retrieved from the data Valid Values.
function through the execution of all
elementary processes within the counting
scope
2. Count only those DETs being used by All attributes are referenced by the
the application being measured when HR application.
two or more applications maintain and/or
reference the same data function
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if There are no attributes of this type.
they are grouped and counted as a single
DET or whether they are counted as
multiple DETs; grouping will depend on
how the elementary processes use the
attributes within the application
The RET and DET totals for the Field Help EIF are shown in the following
table.
RETs DETs
• Field Help information • Window Identifier
• Field Identifier
• Field Description
• Default Values
• Valid Values
Total 1 RET Total 5 DETs
Data Model The following diagram shows the data for the two applications.
Old New
HR Application HR Application
EMPLOYEE EMPLOYEE
SALARIED_EMPL SALARIED_EMPL
HOURLY_EMPL HOURLY_EMPL
DEPENDENT
Legend:
Entity Type
Entity Subtype
Mandatory One-to-Many Relationship
Optional One-to-Many Relationship
The Employee file from the old HR application is used to add employees to
the new HR application. The Employee file from the old HR application has
the primary intent to maintain (i.e., populate) the Employee file in the new
application. The Employee file from the old HR application does not meet
the primary intent of an EIF which is to hold data referenced through one or
more elementary processes.
1. Identify all logically related and user The old Employee file is not a logical
recognizable data or control information group of data from the user perspective.
within the counting scope
2. Entities that are entity independent are The old Employee file is an output (i.e.,
considered to be separate logical groups extract) from the prior application, rather
of data. than a logical file that is maintained.
3. Group related entities that are entity There are no entities of this type.
dependent
4. Exclude those entities referred to as There are no entities of this type.
code data
5. Exclude entities that do not contain There are no entities of this type.
attributes required by the user
6. Remove associative entities that contain There are no entities of this type.
additional attributes not required by the
user and associative entities that contain
only foreign keys; group foreign key
attributes with the primary entities
Record The following diagram shows the record layout for this example for adding
Layout and changing job information in batch mode.
123456789101234567890123456789012345678901234567890123456789012345678901234567890
Record The following table includes descriptions for each record type.
Descriptions
Record Position Description
01 1-3 Transaction Type
4-5 Record Type
6-10 Job Number
11-45 Job Name
46-47 Job Pay Grade
02 1-3 Transaction Type
4-5 Record Type
6-10 Job Number
11-12 Job Description Line Number
13-41 Job Description Lines
1. Identify all logically related and user Yes. Data is grouped into transactions
recognizable data or control which enter the boundary to maintain the
information within the counting scope Job ILF.
2. Entities that are entity independent are The Transaction File is excluded. The
considered to be separate logical transactions entering the boundary to
groups of data. update the Job ILF make up the
elementary processes. There is no
elementary process to update the
transaction file.
3. Group related entities that are entity There are no entities of this type.
dependent
4. Exclude those entities referred to as There are no entities of this type.
code data
5. Exclude entities that do not contain There are no entities of this type.
attributes required by the user
6. Remove associative entities that There are no entities of this type.
contain additional attributes not
required by the user and associative
entities that contain only foreign keys;
group foreign key attributes with the
primary entities
There are no EIFs for this example. Refer to EI/EO/EQ Counting Examples
to see the explanation of how an input transaction file may be counted as an
external input.
User The HR user requires the ability to maintain information on each new
Requirements employee.
The information that must be maintained by the HR user includes:
• Employee ID
• Employee Name
• Employee Mailing Address
• Employee Pay Grade
• Employee Job Title
• Pension Eligibility Date *
Data Flow The following diagram shows the data flow for this example.
Diagram
HR Application Pension
Application
User
User
The Employee information meets all the requirements for an EIF for the
Pension application.
The following table shows the DET analysis for the Employee EIF for the
Pension application.
Data Function DET Counting Rules Does the Rule Apply?
1. Count one DET for each unique user The Employee information
recognizable, non-repeated attribute includes the following attributes:
maintained in or retrieved from the data • Employee ID
function through the execution of all • Employee Name
elementary processes within the counting
• Employee Mailing Address
scope
• Employee Pay Grade
• Employee Job Title
• Pension Eligibility Date
• Organizational Security Level
2. Count only those DETs being used by Only the Employee Name and
the application being measured when Pension Eligibility Date are
two or more applications maintain and/or recognized by the Pension user. All
reference the same data function others are not counted as DETs for
the Pension application.
3. Count one DET for each attribute There are no attributes of this type.
required by the user to establish a
relationship with another data function
4. Review related attributes to determine if There are no attributes of this type.
they are grouped and counted as a single
DET or whether they are counted as
multiple DETs; grouping will depend on
how the elementary processes use the
attributes within the application
The RET and DET totals for the Employee EIF in the Pension application.
RETs DETs
Data Flow The following diagram shows the data flow for this example.
Diagram
HR Application
User
Print
Employee Emp_Id Request
Emp_Name
Info Mailing Address
Pay_Grade
Emp_ID
Job_Title Emp_Name
Pension_Elig_Date Print Employee
Create Employee
Listing
Employee
Emp_Id
Emp_Name
M ailing Addres s
Pay _Grade
Jo b_Title
Pen sion_Elig_Date
Security_ Level
The Employee information used for creating the Employee Listing is not an
EIF for the HR application.
Contents This section explains the organization of the examples and includes detailed
examples for each transactional function.
Topic Page
Organization of the Counting Examples 2-2
Overview of Transactional Function Procedures 2-5
Elementary Process Identification Examples 2-7
EI Counting Examples 2-61
EO Counting Examples 2-103
EQ Counting Examples 2-127
Diagram of Components
The following diagram illustrates the components for each example and the
flow of information.
Basis for the The basis for the count begins each example. As shown in the diagram of
Count components, the functional size measurement may be based on the following
components included in the examples:
• User requirements
• Data and process models
• Windows, screens, or reports
Note: All components in the diagram are not included in all examples. In
some examples, the requirements stand alone as the basis for the
count. Other examples include a data or process model, windows,
screens, and reports.
Counting The analysis to identify functions is presented in a table that lists the counting
Rules Tables rules for the function type. The rules are applied to the components that make
up the basis for the count. The analysis is explained in the table in the
column "Does the Rule Apply?"
Note: If all the rules apply, the example is counted as an EI, EO, or EQ.
The next tables show the rules and explanation for types that make up the
complexity for each function type identified.
Introduction This section uses several examples to illustrate procedures for identifying
elementary processes, each of which stands on its own.
Note: Each example shows only the requirement specific to the situation
being illustrated, although in practice we must evaluate all
requirements and their functional impact. References are occasionally
made to related functions that also exist but are not illustrated (e.g.,
Add Employee vs. Update Employee).
Add Employee Determine whether adding the employee information without the associated
Without dependent information is an elementary process. The following table shows
Dependent
Information
the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Adding an employee is part of the
functional user requirements.
• constitutes a complete transaction No. The complete transaction includes
adding the employee information with the
associated dependent information, if the
number of dependents is greater than zero.
These steps cannot be logically separated.
• is self-contained and No. Adding the associated dependent
information to the added employee is a
subsequent processing step necessary to
complete the elementary process.
• leaves the business of the application No. Adding the employee without adding
being counted in a consistent state the dependent does not leave the business
of the application in a consistent state. To
be in a consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, the dependent must also
be added.
2. Identify an elementary process for each Adding an employee (without adding
unit of activity identified that meets all of dependents) does not meet all of the
the above criteria criteria.
Conclusion Add Employee Without Dependent Information does not meet the
requirements of an elementary process.
Add Only Determine whether adding only the dependent information without the
Dependent employee information is an elementary process. The following table shows
Information
the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Adding a dependent is part of the
functional user requirements.
• constitutes a complete transaction No. This activity is not a complete
transaction because it cannot be executed
independent of adding an employee.
• is self-contained and No. This activity is not self-contained
because it cannot be executed
independently of adding an employee.
• leaves the business of the application No. Adding the dependent without adding
being counted in a consistent state the employee does not leave the business of
the application in a consistent state. To be
in a consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, both the employee and
the associated dependent must be added.
2. Identify an elementary process for each Adding a dependent (without the applicable
unit of activity identified that meets all of employee) does not meet all of the criteria.
the above criteria It is not an elementary process.
Conclusion Add Only Dependent Information does not meet the requirements of an
elementary process. In this example, adding an employee (without adding
dependent information) does not meet all of the criteria. Other systems may
treat maintenance of dependent information independently from employee.
Add an For an employee who has dependents, determine whether adding the
Employee with employee information with the associated dependent information is an
Dependent
Information
elementary process. The following table shows the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Adding an employee including
dependent is part of the functional user
requirements.
• constitutes a complete transaction Yes. Together employee and dependent
information are used to add an employee to
the HR system. These steps cannot be
logically separated.
• is self-contained and Yes. This activity is meaningful by itself
and all necessary information is added to
the HR application.
• leaves the business of the application Yes. The business is left in a consistent
being counted in a consistent state state when the employee is added,
including applicable dependents.
2. Identify an elementary process for each Add an Employee with Dependent
unit of activity identified that meets all of Information meets all of the above criteria.
the above criteria
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and Yes. Add Employee requires the same set
of DETs as Update Employee.
• Require the same set of FTRs and Yes. Add Employee requires the same set
of FTRs as Update Employee.
• Require the same set of processing No. Add Employee has a different set of
logic to complete the elementary processing logic than Update Employee.
process
2. Do not split an elementary process with The functional user requirement considers
multiple forms of processing logic into there to be a single function. We do not
multiple elementary processes split Add Employee into two elementary
processes (i.e., Add Employee Only, Add
Dependent Only).
Conclusion The Add Employee elementary process is unique from all other identified
elementary processes.
Send Determine whether sending the transactions file to the Benefits System is an
Transaction additional elementary process. The following table shows the analysis.
File to Benefits
System
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Sending the transaction file to the
Benefits System is part of the functional
user requirements.
• constitutes a complete transaction Yes. Sending the transaction file to the
Benefits System is a complete transaction.
It is a logically separate function from the
Add Employee function.
• is self-contained and Yes. The activity to send the transactions to
the Benefits System is self-contained. The
Transaction file is sent independently (i.e.,
at end of day) from the Add Employee
function.
• leaves the business of the application Yes. After the transactions are sent to the
being counted in a consistent state Benefits System, the business of the HR
application is in a consistent state. The
functional user requirement has been fully
satisfied with nothing more to be done.
2. Identify an elementary process for each Send Transaction File to Benefits System
unit of activity identified that meets all of meets all of the above criteria.
the above criteria
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. Sending the transaction file to the
Benefits System requires different DETs
than other identified EPs.
• Require the same set of FTRs and Yes. Sending the transaction file to the
Benefits System requires the same set of
FTRs as Add Employee.
• Require the same set of processing No. Sending the transaction file to the
logic to complete the elementary Benefits System has a different set of
process processing logic than other identified EPs.
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
Conclusion The Send Transaction File to Benefits System elementary process is unique
from all other identified elementary processes.
The following diagram shows the data flow for this example.
Print check
Check ILF
Check Number
Check Amount
Recipient
Account Paid Indicator
Check Date
Mark the Determine whether marking the account as paid is an elementary process.
Account as The following table shows the analysis.
Paid
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Marking the account as paid is part of
the functional user requirements.
• constitutes a complete transaction No. Marking the account as paid is not a
complete transaction, unless the check is
also printed. These steps cannot be
logically separated.
• is self-contained and No. Marking the account as paid without
also printing a check is not a self-contained
function. The account cannot be marked as
paid independently from printing the check.
• leaves the business of the application No. Marking the account as paid without
being counted in a consistent state printing the check does not leave the
business in a consistent state. To be in a
consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, marking the account as
paid must occur when printing the check.
2. Identify an elementary process for each Marking the account as paid does not meet
unit of activity identified that meets all of all of the criteria. It is not an elementary
the above criteria process.
Conclusion Mark the Account as Paid does not meet the requirements for an elementary
process.
Print a Check Determine whether printing a check without marking the account as paid is an
elementary process. The following table shows the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Printing a check is part of the
functional user requirements.
• constitutes a complete transaction No. Printing a check is not a complete
transaction, unless the account is marked as
paid. These steps cannot be logically
separated.
• is self-contained and No. Printing a check is not self-contained
until the subsequent step of marking the
account as paid has been performed.
• leaves the business of the application No. Printing a check without marking the
being counted in a consistent state account as paid does not leave the business
in a consistent state. To be in a consistent
state, the functional user requirement must
be satisfied with nothing more to be done.
To satisfy the functional user requirement,
the account must also be marked as paid.
2. Identify an elementary process for each Printing a check does not meet all of the
unit of activity identified that meets all of criteria. It is not an elementary process.
the above criteria
Conclusion Print a Check does not meet the requirements for an elementary process.
Print a Check Determine whether printing the check and marking the account as paid is an
and Mark the elementary process. The following table shows the analysis.
Account as
Paid
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Printing a check and marking the
account as paid is part of the functional user
requirements.
• constitutes a complete transaction Yes. Printing a check and marking the
account as paid is a complete transaction.
These steps cannot be logically separated.
• is self-contained and Yes. Printing a check and marking the
account as paid is self-contained. There are
no prior or subsequent steps that need to be
performed.
• leaves the business of the application Yes. Printing a check and marking the
being counted in a consistent state account as paid leaves the business in a
consistent state. The functional user
requirement has been fully satisfied.
2. Identify an elementary process for each Printing a check and marking the account
unit of activity identified that meets all of as paid meets all of the criteria. It is an
the above criteria elementary process.
Conclusion Print a Check and Mark the Account as Paid meets the requirements for an
Elementary Process.
The user requirement is to print the check. Marking the field Account Paid
Indicator is part of the printing process. Printing and marking together are the
smallest unit of activity that is meaningful to the user. The entire process is
meaningful to the user, constitutes a complete transaction, is self-contained
and leaves the business of the application being counted in a consistent state.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for printing a check
and marking it complete is different than
that of any other EP.
• Require the same set of FTRs and No. The set of FTRs for printing a check
and marking it complete is different than
that of any other EP.
• Require the same set of processing No. The set of processing logic for printing
logic to complete the elementary a check and marking it complete is different
process than that of any other EP.
2. Do not split an elementary process with Marking the account paid is part of the
multiple forms of processing logic into processing logic of printing a check.
multiple elementary processes
Conclusion The Print a Check and Mark the Account as Paid elementary process is
unique from all other identified elementary processes.
Employee ID
Print
Start Date
Cancel
End Date
Enter Selection Determine whether entering the selection criteria (without viewing the job
Criteria assignments) is an elementary process. The following table shows the
analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Entering the selection is part of the
functional user requirements.
• constitutes a complete transaction No. Entering the selection criteria (without
viewing the job assignments) is not a
complete transaction. These steps cannot be
logically separated.
• is self-contained and No. Entering the selection criteria (without
viewing the job assignments) is not self-
contained. Viewing the job assignment list
is a subsequent processing step necessary to
complete the elementary process.
• leaves the business of the application No. Entering the selection criteria (without
being counted in a consistent state viewing the job assignments) does not leave
the business in a consistent state. To be in a
consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, the job assignments list
must be viewed.
2. Identify an elementary process for each Entering the selection criteria (without
unit of activity identified that meets all of viewing the job assignments) does not meet
the above criteria the criteria.
Conclusion Enter Selection Criteria does not meet the requirements for an elementary
process.
View Job Determine whether viewing job assignments (without entering the selection
Assignments criteria) is an elementary process. The following table shows the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Viewing job assignments is part of the
functional user requirements.
• constitutes a complete transaction No. Viewing job assignments (without
entering the selection criteria) cannot be
performed without entering the selection
criteria. These steps cannot be logically
separated.
• is self-contained and No. Viewing job assignments (without
entering the selection criteria) is not self-
contained. The job assignments cannot be
viewed independently from the prior step of
entering the selection criteria.
• leaves the business of the application No. Viewing job assignments (without
being counted in a consistent state entering the selection criteria) does not
leave the business in a consistent state. To
be in a consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, the selection criteria must
also be entered.
2. Identify an elementary process for each Viewing job assignments (without entering
unit of activity identified that meets all of the selection criteria) does not meet the
the above criteria criteria.
Conclusion View Job Assignments (without entering the selection criteria) does not meet
the requirements for this elementary process.
Enter Selection Determine whether entering the selection criteria and viewing the job
Criteria and assignments is an elementary process. The following table shows the
View Job
Assignments
analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Entering the selection criteria and
viewing job assignments is part of the
functional user requirements.
• constitutes a complete transaction Yes. Entering the selection criteria and
viewing job assignments is a complete
transaction. These steps cannot be logically
separated.
• is self-contained and Yes. Entering the selection criteria and
viewing job assignments is a self-contained
transaction. There are no prior or
subsequent steps that need to be performed.
• leaves the business of the application Yes. Entering the selection criteria and
being counted in a consistent state viewing job assignments leaves the
business in a consistent state. To be in a
consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, the selection criteria must
be entered and the job assignments viewed.
2. Identify an elementary process for each Entering the selection criteria and viewing
unit of activity identified that meets all of job assignments meets all of the above
the above criteria criteria.
Conclusion Enter Selection Criteria and View Job Assignments meets the criteria for an
elementary process.
Control information is the input side of an EO or EQ. The request specifying
what and/or how data is to be retrieved or generated is part of the elementary
process to provide the user data and is not an elementary process itself.
Entering the selection criterion is not the smallest unit of activity that is
meaningful to the user. It is not self-contained because it cannot be
performed independently of producing the report. Entering the selection
criteria and generating the report together comprise the smallest unit of
activity that is meaningful to the user, constitutes a complete transaction, is
self-contained and leaves the business of the application being counted in a
consistent state.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for entering selection
criteria and viewing assignments is
different than that of any other EP.
• Require the same set of FTRs and No. The set of FTRs for entering selection
criteria and viewing assignments is
different than that of any other EP.
• Require the same set of processing No. The set of processing logic for entering
logic to complete the elementary selection criteria and viewing assignments
process is different than that of any other EP.
2. Do not split an elementary process with It is necessary to enter the selection criteria
multiple forms of processing logic into in order to view the job assignments.
multiple elementary processes
Conclusion The Enter Selection Criteria and View Job Assignments elementary process is
unique from all other identified elementary processes.
The following diagram shows the data flow for this example.
Enter & Save Determine whether saving the selection criteria (without printing a job
Selection assignment list) is an elementary process. The following table shows the
Criteria
analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Saving the selection criteria is part of
the functional user requirements.
• constitutes a complete transaction Yes. Saving the selection criteria is a
complete transaction. It is a logically
separate function from printing a job
assignment list.
• is self-contained and Yes. Saving the selection criteria is a self-
contained transaction. It can be performed
independently from printing the job
assignment list.
• leaves the business of the application Yes. Saving the selection criteria leaves the
being counted in a consistent state business in a consistent state. The
functional user requirement has been fully
satisfied with nothing more to be done.
2. Identify an elementary process for each Saving the selection criteria meets all of the
unit of activity identified that meets all of above criteria.
the above criteria
Conclusion Enter & Save Selection Criteria meets the requirements for an elementary
process.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for saving selection
criteria is different than that of any other
EP.
• Require the same set of FTRs and No. The set of FTRs for saving selection
criteria is different than that of any other
EP.
• Require the same set of processing No. The set of processing logic for saving
logic to complete the elementary selection criteria is different than that of
process any other EP.
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
Conclusion The Save Selection Criteria elementary process is unique from all other
identified elementary processes.
Print Job Determine whether printing a job assignment list, whether the selection
Assignments criteria is saved or not, is an elementary process. The following table shows
the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Printing a job assignment list is part of
the functional user requirements.
• constitutes a complete transaction Yes. Printing a job assignment list is a
complete transaction. It is a logically
separate function from saving the selection
criteria.
• is self-contained and Yes. Printing a job assignment list is a self-
contained transaction. It can be performed
independently of saving the criteria.
• leaves the business of the application Yes. Printing a job assignment list leaves
being counted in a consistent state the business in a consistent state. The
functional user requirement has been fully
satisfied with nothing more to be done.
2. Identify an elementary process for each Printing a job assignment list meets all of
unit of activity identified that meets all of the above criteria.
the above criteria
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for printing a job
assignment list is different than that of any
other EP.
• Require the same set of FTRs and No. The set of FTRs for printing a job
assignment list is different than that of any
other EP.
• Require the same set of processing No. The set of processing logic for printing
logic to complete the elementary a job assignment list is different than that of
process any other EP.
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
Conclusion The Print Job Assignments elementary process is unique from all other
identified elementary processes.
The following diagram shows the data flow for this example.
Create Employee
Employee SSN Create
Surname Cancel
Address
Interviewer Comments
Employee ILF
SSN
Surname
Address
...
Interviewer Name
Interview Date
Interviewer Comments
Entering the Determine whether entering only the employee’s personal information is an
Employee’s Elementary Process. The following table shows the analysis.
Personal Data
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Entering the employee’s personal data
is part of the functional user requirements.
• constitutes a complete transaction No. The complete transaction includes
entering the employee’s personal data as
well as the interview details. These steps
cannot be logically separated.
• is self-contained and No. Adding the associated interview details
is a subsequent step step necessary to
complete the elementary process.
• leaves the business of the application No. Entering the employee’s personal data
being counted in a consistent state without also entering interview details does
not leave the business of the application in
a consistent state. To be in a consistent
state, the functional user requirement must
be satisfied with nothing more to be done.
To satisfy the functional user requirement,
the interview details must also be entered.
2. Identify an elementary process for each Entering the employee’s personal data only
unit of activity identified that meets all of does not meet all of the criteria.
the above criteria
Conclusion Entering the Employee’s Personal Data (without entering the interview
details) does not meet the requirements for an elementary process.
Entering the Determine whether entering the employee’s personal data along with the
Employee’s interview details is an elementary process. The following table shows the
Personal Data
and Interview
analysis.
Details
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Entering the employee’s personal data
and interview details are both part of the
functional user requirements.
• constitutes a complete transaction Yes. Entering the employee’s personal data
and interview details together are a
complete transaction. These steps cannot be
logically separated.
• is self-contained and Yes. Entering the employee’s personal data
and interview details together are a self-
contained function. There are no prior or
subsequent steps that need to be performed.
• leaves the business of the application Yes. Entering an employee’s personal data
being counted in a consistent state and interview details leaves the business of
the application in a consistent state. To
satisfy the functional user requirement, both
steps must be performed.
2. Identify an elementary process for each Entering the employee’s personal data and
unit of activity identified that meets all of interview details meets all of the criteria.
the above criteria
Conclusion Entering the Employee’s Personal Data and Interview Details meets the
criteria for an elementary process.
If two input processes are always sequential and dependent (step one and step
two are mandatory), then there is one elementary process and one function.
A new employee cannot be recorded until both the employee’s personnel data
and the employee’s interview details are entered. Entering the personal data
or the interview details alone would not be the smallest unit of activity that is
meaningful to the user.
Entering the Employee’s Personal Data and Interview Details together
comprise the smallest unit of activity that is meaningful to the user,
constitutes a complete transaction, is self-contained and leaves the business of
the application being counted in a consistent state.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for Entering the
Employee’s Personal Data and Interview
Details is different from that of any other
EP.
• Require the same set of FTRs and No. The set of FTRs for Entering the
Employee’s Personal Data and Interview
Details is different from that of any other
EP.
• Require the same set of processing No. The set of processing logic for Entering
logic to complete the elementary the Employee’s Personal Data and
process Interview Details is different from that of
any other EP.
2. Do not split an elementary process with A new employee cannot be recorded until
multiple forms of processing logic into both the employee’s personal data and the
multiple elementary processes employee’s interview data are entered.
Conclusion The Entering the Employee’s Personal Data and Interview Details elementary
process is unique from all other identified elementary processes.
The following diagram shows the data flow for this example.
Create Employee
Employee SSN Create
Surname Cancel
Driver’s
Create Add License
License?
Employee Information
No
Employee ILF
SSN
Surname
Address
Driver’s License
License Number
Classification
Expiration Date
Entering the Determine whether entering only the employee’s personal information is an
Employee’s Elementary Process. The following table show the analysis.
Personal Data
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Adding an employee is part of the
functional user requirements.
• constitutes a complete transaction No. The complete transaction includes
entering the employee’s personal data as
well as the driver’s license (if it exists).
These steps cannot be logically separated.
• is self-contained and No. Entering the driver’s license (if it
exists) is a subsequent processing step
necessary to complete the elementary
process.
• leaves the business of the application No. Entering the employee’s personal data
being counted in a consistent state without also entering the driver’s license (if
it exists) does not leave the business of the
application in a consistent state. To be in a
consistent state, the functional user
requirement must be satisfied with nothing
more to be done. To satisfy the functional
user requirement, the driver’s license must
also be entered (if it exists).
2. Identify an elementary process for each Entering the employee’s personal data only
unit of activity identified that meets all of does not meet all of the criteria.
the above criteria
Conclusion Entering the Employee’s Personal Data without entering the driver’s license
(if it exists) does not meet the requirements for an elementary process.
Entering the Determine whether entering the driver’s license information without the
Employee’s employee’s personal information is an elementary process. The following
License
Information
table shows the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Adding license information is part of
the functional user requirements.
• constitutes a complete transaction No. The complete transaction includes
entering the employee’s personal data as
well as the driver’s license (if it exists).
These steps cannot be logically separated.
• is self-contained and No. Entering personal information is a prior
processing step necessary to complete the
elementary process.
• leaves the business of the application No. Adding only license information does
being counted in a consistent state not leave the business of the application in
a consistent state. To be in a consistent
state, the functional user requirement must
be satisfied with nothing more to be done.
To satisfy the functional user requirement,
both personal data and driver’s license (if it
exists) must be entered.
2. Identify an elementary process for each Adding only license information does not
unit of activity identified that meets all of meet all of the criteria.
the above criteria
Conclusion If two input processes are always sequential and dependent, but the second
process is optional (but is mandatory if it applies), then there is one
elementary process.
Adding Employee and License Information is an Elementary Process. If an
employee does not have a license, the step “Add License Information” is not
relevant. If an employee does have a driver’s license, a secondary screen
must be completed to complete the Elementary Process and leave the business
of the application in a consistent state.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for Adding Employee
and License Information is different from
that of any other EP.
• Require the same set of FTRs and No. The set of FTRs for Adding Employee
and License Information is different from
that of any other EP.
• Require the same set of processing No. The set of processing logic for Adding
logic to complete the elementary Employee and License Information is
process different from that of any other EP.
2. Do not split an elementary process with If an employee has a driver’s license, a new
multiple forms of processing logic into employee cannot be recorded until both the
multiple elementary processes employee’s personal data and the
employee’s license data are entered.
Conclusion The Entering the Employee’s Personal Data and Interview Details elementary
process is unique from all other identified elementary processes.
The following diagram shows the data flow for this example.
HR Application
Empl
Feed Employee
Process an Determine whether accepting an Employee Data Feed and processing the
Employee Data transactions without reporting errors and summary data is an elementary
Feed
process. The following table shows the analysis.
Identify the Elementary Process Does the Rule Apply?
1. Compose and/or decompose the
Functional User Requirements into the
smallest unit of activity, which satisfies
all of the following:
• is meaningful to the user Yes. Accepting an Employee Data Feed
and processing the transactions is part of
the functional user requirements.
• constitutes a complete transaction No. The complete transaction includes
reporting the errors and summary data from
the Employee Data Feed. These steps
cannot be logically separated.
• is self-contained and No. Producing the Error Report and Email
Notification are subsequent processing
steps necessary to complete the elementary
process.
• leaves the business of the application No. Processing the Employee Data Feed
being counted in a consistent state without producing the Error Report and
Email Notification does not leave the
business of the application in a consistent
state. To be in a consistent state, the
functional user requirement must be
satisfied with nothing more to be done. To
satisfy the functional user requirement, the
errors and summary data from processing
the Employee Data Feed must be reported.
2. Identify an elementary process for each All of the criteria have not been met.
unit of activity identified that meets all of
the above criteria
Conclusion Accepting the feed and processing the transactions without producing the
error report or sending the summary email does not meet the requirements of
an elementary process.
Conclusion Producing the Error Report without processing the Employee Data Feed does
not meet the requirements of an elementary process.
Conclusion Producing the Email Notification without processing the Employee Data Feed
does not meet the requirements of an elementary process.
Conclusion Processing the Employee Data Feed including producing the Error Report and
Email Notification together satisfy the functional user requirements.
Accepting the Employee Data Feed, processing the transactions, producing
the Error Report and Email Notification is one Elementary Process. If the
feed is not accepted and the transactions are not processed, the steps “Produce
Error report” and “Produce Email Notification” are not relevant. All
processing steps must be performed to complete the elementary process and
leave the business of the application in a consistent state.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and No. The set of DETs for Processing the
Employee Data Feed is different from that
of any other EP.
• Require the same set of FTRs and No. The set of FTRs for Processing the
Employee Data Feed is different from that
of any other EP.
• Require the same set of processing No. The set of processing logic for
logic to complete the elementary Processing the Employee Data Feed is
process different from that of any other EP.
2. Do not split an elementary process with As was previously discussesd, subdividing
multiple forms of processing logic into an elementary process is not appropriate.
multiple elementary processes
Conclusion The Processing the Employee Data Feed elementary process is unique from
all other identified elementary processes.
Employee This window shows the list of employees and the jobs assignments for each
Assignments employee.
List Window
Human Resources System
Employee Jobs Assignments Locations Reports Security Help
Employee Assignments
Last Name First Name MI Job
Job Assignment The next window shows the assignment of an employee to a job (by
Setup Window employee).
Human Resources System
Employee Jobs Assignments Locations Reports Security Help
Employee Assignments
Job Number
Date
OK
Salary
If the user does not enter data correctly, an error message is shown.
Job The next window shows a list of jobs and the employee assigned.
Assignments
List Window
Human Resources System
Employee Jobs Assignments Locations Reports Security Help
Job Assignments
Job ID Last Name First Name MI
Employee The next window shows the assignment of an employee to a job (by job).
Assignment
Setup Window
Human Resources System
Employee Jobs Assignments Locations Reports Security Help
Job Assignments
Employee Assignment Setup
RD14379305 May Issue - Print Text
Last Name
First Name
Middle Initial
Social Security - -
Salary Cancel
Performance Rating
If the user does not enter data correctly, an error message is shown.
Conclusion Assigning an Assigning Employee to Job (by Job) meets the requirements of
an elementary process.
Determine The following table shows the analysis to determine whether the Listing
Unique Employee Assignments and Listing Job Assignments elementary processes
Elementary are unique.
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and Yes. The set of DETs for Listing Employee
Assignments is the same as the set of DETs
for Listing Job Assignments.
• Require the same set of FTRs and Yes. The set of FTRs for Listing Employee
Assignments is the same as the set of FTRs
for Listing Job Assignments.
• Require the same set of processing Yes. The set of processing logic for Listing
logic to complete the elementary Employee Assignments is the same as the
process set of processing logic Listing Job
Assignments. The only difference between
them is the arrangement of the fields and
the sort sequence of the rows. As stated in
the Forms of Processing Logic, differences
in the arrangement or sorting does not
constitute a unique EP.
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
Determine The following table shows the analysis to determine whether the Assigning
Unique Employee to Job (by Employee) and Assigning Employee to Job (by Job)
Elementary elementary processes are unique.
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and Yes. The set of DETs for Assigning
Employee to Job (by Employee) is the same
as the set of DETs for Assigning Employee
to Job (by Job).
• Require the same set of FTRs and Yes. The set of FTRs for Assigning
Employee to Job (by Employee) is the same
as the set of FTRs for Assigning Employee
to Job (by Job).
• Require the same set of processing Yes. The set of processing logic for
logic to complete the elementary Assigning Employee to Job (by Employee)
process is the same as the set of processing logic
Assigning Employee to Job (by Job). The
only difference between them is the
arrangement of the attributes on the screen.
As stated in the Forms of Processing Logic,
differences in the arrangement of attributes
does not constitute a unique EP.
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
All of the data on the reports come from the same logical file except for the
email address that comes from a different logical file that is maintained
within the same application.
Conclusion The Employee Listing (Without Email Address) meets the requirements of an
elementary process.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and Yes. Employee Listing (Without Email
Address) requires a different set of DETs
than Employee Listing (With Email
Address).
• Require the same set of FTRs and Yes. Employee Listing (Without Email
Address) requires a different set of FTRs
than Employee Listing (With Email
Address).
• Require the same set of processing Yes. Employee Listing (Without Email
logic to complete the elementary Address) has a different set of processing
process logic than Employee Listing (With Email
Address).
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
Conclusion The Employee Listing (Without Email Address) elementary process is unique
from all other identified elementary processes.
Conclusion The Employee Listing (With Email Address) meets the requirements of an
elementary process.
Determine The following table shows the analysis to determine whether the elementary
Unique process is unique.
Elementary
Processes
Determine Unique Elementary Processes Does the Rule Apply?
1. When compared to an Elementary Process
(EP) already identified, count two similar
EPs as the same Elementary Process if
they:
• Require the same set of DETs and Yes. Employee Listing (With Email
Address) requires a different set of DETs
than Employee Listing (Without Email
Address).
• Require the same set of FTRs and Yes. Employee Listing (With Email
Address) requires a different set of FTRs
than Employee Listing (Without Email
Address).
• Require the same set of processing Yes. Employee Listing (With Email
logic to complete the elementary Address) has a different set of processing
process logic than Employee Listing (Without
Email Address).
2. Do not split an elementary process with There is nothing to split.
multiple forms of processing logic into
multiple elementary processes
Conclusion The Employee Listing (With Email Address) elementary process is unique
from all other identified elementary processes.
Two processes are determined to meet the criteria of an elementary process,
then compared to each other to determine if they contain different DETs,
FTRs or Processing Logic.
When the two elementary processes are compared and it is determined that
they contain different DETs, FTRs or Processing Logic, they are identified as
separate elementary processes if they are specified as distinct functional user
requirements by the user.
Topic Page
Summary Descriptions of EI Counting Examples 2-62
Example: Report Control Information 2-63
Example: Screen Input 2-67
Example: Batch with Multiple EIs and Duplicate EIs 2-70
Example: Correcting Suspended Transactions 2-73
Example: EI with Multiple File Types Referenced 2-76
Example: Data Conversion 2-80
Example: Referencing Data from Another Application 2-83
Example: EI with Screen Output - 1 2-85
Example: EI with Screen Output - 2 2-88
Example: EI with Attributes Retrieved from an EIF 2-91
Example: EI Delete 2-97
Example: Add Window Security 2-100
Batch with Multiple This example shows counting a transaction file 2-70
EIs and Duplicate EIs with multiple types or formatted record types.
EI with Multiple File This example illustrates using a data flow 2-76
Types Referenced diagram to count an external input that
references multiple files.
Referencing Data from This example looks at why an external interface 2-83
Another Application file (discussed in Part 2,Chapter 6) is not
counted as an external input.
Example The following Job Assignments Report window is used to Establish Controls
Window for Reporting Job Assignments.
1 Employee
Ident ify with 1, 2 & 3
Print er Port
( ) LPT
( ) LPT
OK
( ) LPT
Cancel
G enerate Microf iche Copy
Restore
Generate Paper Copy
• maintaining one or more ILFs or Yes. The data entering the boundary will
eventually be used as control data. It is
business data stored on the Report Control
ILF.
• altering the behavior of the No.
application
2. It includes processing logic to accept data Yes. Report Control information enters the
or control information that enters the boundary.
boundary of the application
Example The following Job Data screen is used to Add a New Job.
Screen
Enter: returns to calling screen. F1: shows screen or field level help.
Action 7: shows prior job data, if present. F7: scrolls up 10 job description lines.
Action 8: shows following job data, if present. F8: scrolls down 10 job description lines.
Action 9: saves entered job data. F12: returns to calling screen.
Construction It was decided that during the batch process, any jobs not successfully
Requirements updated would error into a suspense file, which will be separately
maintained. (See next example)
Record Layout The following diagram shows the record layout for this example.
123456789101234567890123456789012345678901234567890123456789012345678901234567890
Record The following table includes descriptions for each record type.
Descriptions
Does the Transactional Function meet Yes. Job and description are
the requirements of an Elementary meaningful to the user.
Process?
Is the Transactional Function unique Yes. The Add a Job Batch function
from other elementary processes? (Transaction Type 1+2) is similar to
the Add a Job Online function in the
previous example. The Add a Job
Batch function maintains an
additional ILF (Suspended Job) that
the online function does not.
• maintaining one or more ILFs or Yes. Add Job has the primary intent to
maintain the Job ILF.
• altering the behavior of the No. The behavior of the application is not
application altered.
2. It includes processing logic to accept data Yes. Add Job includes processing logic to
or control information that enters the accept Job information.
boundary of the application
Data Flow The following diagram shows the data flow for this example.
Diagram
2.7
View
Suspended Job
2.1.2
2.7
User List Pay Grades User
Add Job Batch pay grade list
transaction type, job name,
job#, pay grade, description
Legend:
Example The following diagram shows an example of the window to add job
Window assignments.
Employee Assignments
Job Assignment Setup
First Name MI Last Name
Mark J Manship
Date
OK
Salary
Data Flow The following diagram shows the data flow for the job assignment process.
Diagram
3.8
SCR
Process Screen
HELP screen id, screen Level Help
name, description
effective date,
status inactive
EMPLOYEE /
DEPENDENT
job assignment info job name
3.4
name, location,
bargain unit Inquire Job
Assignment
ssn, job# name, ssn, location, bargain unit, job#, job
name, salary, effectiv e date, perf rating
Legend:
• maintaining one or more ILFs or Yes. Add Job Assignments has the primary
intent to maintain the Job Assignment ILF.
• altering the behavior of the No. The behavior of the application is not
application altered.
2. It includes processing logic to accept data Yes. Add Job Assignment includes
or control information that enters the processing logic to accept Job Assignment
boundary of the application information.
Data Diagrams The following diagram shows the data for the old and new applications.
Old New
HR Application HR Application
EMPLOYEE EMPLOYEE
SALARIED_EMPL SALARIED_EMPL
HOURLY_EMPL HOURLY_EMPL
DEPENDENT
Legend:
Entity Type
Entity Subtype
Mandatory One-to-Many Relationship
Optional One-to-Many Relationship
Data Diagram The following diagram shows the relationship for this example.
EMPLOYEE
CONVERSION SALARIED_EMPL
RATE
HOURLY_EMPL
DEPENDENT
Legend:
Entity Type
Entity Subtype
Mandatory One-to-Many Relationship
Optional One-to-Many Relationship
Does the Transactional Function meet No. Referencing the data is only
the requirements of an Elementary meaningful when associated with
Process? adding an employee.
Conclusion There is not an EI for the retrieval of currency conversion information. Refer
to the EIF counting examples in the Data Function Counting Examples to see
why currency conversion information may be counted as an EIF when adding
or changing employee information. Adding and Changing Employee
information are counted as EIs.
Example Screen The following sales transaction screen is a simplification to illustrate how
output fields are counted. The user enters the customer name and transaction
date. As each item and quantity required is entered, the system calculates and
displays the costs as shown.
Sales Transaction
F1=Save
• maintaining one or more ILFs or Yes. Entering a Sales Transaction has the
primary intent to maintain the Sales
Transaction ILF.
• altering the behavior of the No. The behavior of the application is not
application altered.
2. It includes processing logic to accept data Yes. Entering a Sales Transaction includes
or control information that enters the processing logic to accept sales information.
boundary of the application
Example Screen The following Job Assignment screen is a simplification to illustrate how
output fields are counted. The user selects the employee from a drop down
list showing the employee name and employee number. On selection, the
system needs the employee number for the assignment. The user selects the
job from a dropdown list showing the job number and its description. The
system needs the job number for the assignment. When the assignment is
saved, the system determines the number of employees and displays it to the
user.
Job Assignment
Save
Total Number of Employees assigned to this Job 3
The list boxes for Jobs and Employees are EQs and are not analyzed in this
example.
• maintaining one or more ILFs or Yes. Assign a Job has the primary intent to
maintain the Job Assignment ILF.
• altering the behavior of the No. The behavior of the application is not
application altered.
2. It includes processing logic to accept data Yes. Assign a Job includes processing logic
or control information that enters the to accept Job Assignment information.
boundary of the application
Employee Setup
Last Name
First Name
Middle Initial
Number of Dependents
Salary Type OK
( ) Hourly
( ) Salaried Cancel
Employee Setup
Last Name
First Name
Middle Initial
OK
Cancel
Dependents
Employee Setup
Last Name
First Name
Middle Initial
Dependents
Employee Setup
Salaried Employee Data
Dependent Setup
Last Name
First Name
Middle Initial
OK
Social Security Number
Cancel
Birth Date
More Dependents
OK
Saves new dependent data and returns to EN-1 Employee Setup
• maintaining one or more ILFs or Yes. Add an Employee has the primary
intent to maintain the Employee ILF.
• altering the behavior of the No. The behavior of the application is not
application altered.
2. It includes processing logic to accept data Yes. Add an Employee includes processing
or control information that enters the logic to accept Employee information.
boundary of the application
Example: EI Delete
User The user requires the ability to Delete an Employee.
Requirements
Employee Edit
First Name MI Last Name
Kathleen Schmidt-Taylor
• maintaining one or more ILFs or Yes. Delete an Employee has the primary
intent to maintain the Employee ILF.
• altering the behavior of the No. The behavior of the application is not
application altered.
2. It includes processing logic to accept data Yes. Delete an Employee includes
or control information that enters the processing logic to accept Employee
boundary of the application information.
Add Window The following illustration shows the window to add window security.
Security Screen
User Id
Job Employee
Job Assignment
Setup Setup
Setup
Inquiry Inquiry
Inquiry (Job)
Edit Edit
Inquiry (Employee)
Reports Reports
Edit
Reports
Topic Page
Summary Descriptions of EO Counting Examples 2-104
Example: Hard Copy Report Output 2-105
Example: Online Reporting 2-108
Example: Transaction Sent to Another Application 2-111
Example: Error/Confirmation Messages 2-113
Example: Performance Review Notification 2-114
Example: EO Triggered without Data Entering the 2-117
Boundary
Example: Primary Intent of an EO 2-120
Example: EO Transaction File 2-123
Hard Copy Report This example illustrates counting a hard copy 2-105
Output report.
Online Reporting This example shows the count for an online 2-108
report.
User The user of the Human Resources System requires a listing of employee job
Requirements assignments.
The report is generated by retrieving:
• An assignment from the job assignment ILF
• Additional information from the employee and job ILFs
The report control ILF is referenced to determine how to generate the report.
Example The following Job with Employees Report lists jobs and the employees
Report assigned to them.
Example Record The following employee dependent record layout contains information about
Layout dependent additions and changes.
123456789101234567890123456789012345678901234567890123456789012345678901234567890
Field The following table includes descriptions for each field on the record.
Descriptions
Record
Type Position Description
Header 1 Record type H
2-13 File name
14-19 Date created
Dependent 1 Record type D
2-10 Employee social security number
11-19 Dependent social security number
20-39 Dependent name
40-45 Dependent birth date
Trailer 1 Record type T
2-10 Total number of records
Does the Transactional Function meet No. The header contains no user
the requirements of an Elementary meaningful data.
Process?
Does the Transactional Function meet No. The trailer contains no user
the requirements of an Elementary meaningful data.
Process?
Does the Transactional Function meet Yes. The dependent section of the
the requirements of an Elementary transaction file satisfies the
Process? requirements for an EP.
• the behavior of the application is No. The behavior of the application is not
altered altered.
Conclusion The Dependent File does not qualify as an EO; it would be counted as an EQ
(not analyzed here).
Example Screen The following Job screen shows a confirmation message (bottom of screen).
Does the Transactional Function meet No. The output of an error message
the requirements of an Elementary is not a self-contained function. It is
Process? an output DET on the Add Job EI.
As of Date: xx/xx/xx
• the behavior of the application is No. The behavior of the application is not
altered altered.
Data Model The following diagram shows the data flow for this example.
• the behavior of the application is No. The behavior of the application is not
altered altered.
The following diagram shows the data flow for this example.
Print check
Check ILF
Check Number
Check Amount
Recipient
Account Paid Indicator
Check Date
• the behavior of the application is No. The behavior of the application is not
altered altered.
Data Model The following diagram shows the data flow for this example.
Application A Application B
Generate
Monthly Check File
Monthly Check
File
Check number
Check Amount
Check Date
Month
No. of Checks Printed
Check ILF Total $ for all checks
Check Number
Check Amount
Check Date
• derived data is created or Yes. The file includes two calculated fields.
• the behavior of the application is No. The behavior of the application is not
altered altered.
Topic Page
Summary Descriptions of EQ Counting Examples 2-128
Example: Application Menus 2-129
Example: List of Retrieved Data 2-131
Example: Drop-Down List Box 2-136
Example: Field Level Help–First Occurrence 2-140
Example: Field Level Help–Second Occurrence 2-143
Example: Implied Inquiry 2-145
Example: EQ Triggered without Data Entering the Boundary 2-149
Example: Data Sent to Another Application 2-152
Example: Additional Help Functionality 2-155
Example: Security Logon 2-159
List of Retrieved Data This example illustrates the count for a list. 2-131
Field Level Help–First This example illustrates that field level help is 2-140
Occurrence counted for the first occurrence.
Field Level Help–Second This example illustrates that a second instance 2-143
Occurrence of field level help is not counted.
EQ Triggered without Data This example illustrates counting data retrieval 2-149
Entering the Boundary and display triggered internally by time.
Data Sent to Another This example illustrates counting data sent to 2-152
Application another application via a file.
Example The following diagram shows the Employee drop-down menu on the Human
Windows Resources System main menu. This is the input request.
When the user selects New on the Employee drop-down menu, the following
empty Employee Setup window is displayed.
Employee Setup
Last Name
First Name
Middle Initial
Number of Dependents
Currency Location
OK
Salary Type
( ) Hourly
( ) Salaried Cancel
Data Flow The following diagram shows the data flow for this example.
Diagram
User
Inquire Employee
empl
info Employee
access allowed
Security
Employee List
1.5 ssn, name, type,
empl info sal_type
EMPL/DEP Inquire List
of Employees
Review Request
Legend:
Example The following diagram shows the drop-down menu for employee. The
Windows Review field and the enter key make up the input side of this example.
New
Review
Edit
Report
When the user selects Review on the Employee drop-down menu, the
following window displays with a list of employees.
Employee List
Last Name First Name MI Social Security Salary Type
Example The following diagram shows the Hourly Employee Data window with the
Windows Bargaining Unit field.
Employee List
Employee Data
Mark J Manship
345-67-8901
Hourly Rate
When the user selects the arrow, the following drop-down list box appears.
Employee List
Employee Data
Mark J Manship
345-67-8901
Hourly Rate
Employee List
Employee Data
Mark J Manship
345-67-8901
Hourly Rate
When the user presses F1 while the cursor is on the hourly rate field, a box
displays the help text as shown in the following diagram.
Hourly Rate
The amount an employee is paid for each hour of
work completed.
This information must be provided for each hourly employee.
Hourly Rate
Employee List
Employee Data
Mark J Manship
345-67-8901
Hourly Rate
The user places the cursor on the field for which help is desired, and presses
F1 to view help about that field.
Is the Transactional Function unique No. This function performs the same
from other elementary processes? function as that depicted in the prior
example. The DETs, FTRs and
processing logic for this function are
the same as the prior example. It is
not counted again.
Conclusion The Second Occurrence of Field Level Help is not a unique elementary
process and is not counted as an EQ.
Example The following diagram shows the Job Assignment Edit window with only the
Windows employee name and job number.
Employee Assignments
Job Assignment Edit
Mark J Manship
345-67-8901
Date OK
03/27/93
Cancel
Salary 17.28
Restore
Performance Rating Satisfactory Delete
AE-5
OK Commits changes, returns to AE-1
Cancel Ignores changes, returns to AE-1
Restore Restores prior values
Delete Asks for confirmation, then deletes job assignment
When the user enters employee name and job number, the job information
appears as shown in the following diagram.
Employee Assignments
Job Assignment Edit
Mark J Manship
345-67-8901
Date OK
03/27/93
Cancel
Salary 17.28
Restore
Performance Rating Satisfactory Delete
AE-5
OK Commits changes, returns to AE-1
Cancel Ignores changes, returns to AE-1
Restore Restores prior values
Delete Asks for confirmation, then deletes job assignment
Is the Transactional Function unique Yes. We have not counted any other
from other elementary processes? elementary process that performs
this function. If a direct inquiry also
exists, it would be considered a
duplicate and would not be counted
again.
Conclusion The Job Assignment Implied Inquiry is a unique elementary process and is
counted as an EQ. If a direct inquiry also exists, it would be considered a
duplicate and would not be counted again.
The following diagram shows the data flow for this example.
Membership ILF
Member ID
Name
City
Country
Conclusion The Monthly Membership Report is one EQ. In this example, the transaction
is triggered by a time event within the boundary.
The following diagram shows the data flow for this example.
Application A Application B
Check ILF
Check Number
Check Amount
...
Employee List
Employee Data
Mark J Manship
345-67-8901
Hourly Rate
When the user selects the Help function at the top of any Window, three
choices become available: Window, Search and About.
Does the Transactional Function meet Yes, Window, Search and About
the requirements of an Elementary appear to perform three independent
Process? functions.
Conclusion Window Help is one EQ and the Search capability is one EQ. About Help is
not counted because it is not maintained through an elementary process.
It is important to ensure that you do not count Static Help. Popular
environments, especially web applications, frequently contain static help.
It is also important to ensure that the boundaries are correctly assessed. Help
functionality is often provided by an external application, such as RoboHelp,
which provides all of the help functionality (i.e., maintenance, storage and
display of help). In this instance, no functionality is credited to the application
about which the help pertains.
Window Help and Search Help are each analyzed separately below.
Security Logon The following illustration shows the window to logon to the system.
Screen
User ID
Password
The user presses enter after all information is entered. The User ID and
Password are validated and logically all user access is assigned.
Index to Part 4
A Examples
Alternate index example, 1-20 alternate index, 1-20
Application application menus, 2-129
menus counting example, 2-129 batch with multiple and duplicate EIs, 2-70
B control information, 2-63
Batch with multiple and duplicate EIs, 2-70 conversion information, 1-43
C converting data to a new format, 2-80
Control information data conversion, 1-58, 2-80
for reporting, 2-63 data flow diagram to count referenced to multiple
Conversion data model, 1-43 files, 2-76
Conversion information, 1-43 EI with multiple file types referenced, 2-76
Converting data to a new format with additional data field-level help, 1-50
elements, 2-80 hard copy report, 2-105
D Help application, 1-50
Data conversion, 1-58, 2-80 online add transaction, 2-67
Data conversion data model, 1-58 providing data to other applications, 1-48
Diagrams references to multiple files, 2-76
components in EI/EO/EQ Counting Examples, 2-3 referencing data from another application, 1-43, 2-
components in ILF/EIF Counting Examples, 1-5 83
conversion data model, 1-43 referencing data from other applications, 1-39
data conversion data model, 1-58 report output, 2-105
Employee Data for field help input side of inquiry, screen input, 2-67
2-143 summary descriptions of external inputs examples,
Job Assignments Data window, 2-76 2-62
Job Data input screen, 2-67 summary descriptions of external output examples,
menu for input side of inquiry, 2-129 2-104
online reporting screen, 2-108 transaction with formatted record types, 2-70
organization of EI/EO/EQ Counting Examples, 2-2 transaction with multiple types, 2-70
record layout transaction input file example, 1-60 window help, 1-50
E External inputs
EI with multiple file types referenced, 2-76 batch with multiple and duplicate EIs, 2-70
EI/EO/EQ Counting Examples, 2-2 control information, 2-63
Employee Data field help, 2-143 data conversion example, 2-80