PPI Articles & Presentations

Read interesting and informative short articles relevant to systems engineering and projects.

Functional Design – Traps For The Unwary

Share

Functional design is one of the foundation practices of Model-Based Systems Engineering (MBSE). But there are plenty of ways of doing it wrongly and losing the benefits. Here is PPI Director Robert Halligan’s list. Do you have any additions?

• defining a function that is the purpose of the system element, but not a function to be performed by the system element as an object

• namingĀ functions with vague names

• usingĀ state names for functions

• definingĀ ā€œfunctionsā€ that are negativesĀ 

• definingĀ functions that are not functions, for reasons other than above

• startingĀ a function name with a noun

• startingĀ a function name with an adjective

• thinkingĀ of the function as being just the short name, rather than the package ofĀ information that the shortĀ name represents

• simplisticĀ logic that would never work if implemented

• muddlingĀ up control flow and item flow

• allocating to system elements without having added item flows

• showingĀ a requirements level function in sequence with its decomposition

• showingĀ sequence when concurrency actually applies

• definingĀ ā€œout-of-boundaryā€ functions in the decomposition

• allocating un-allocatableĀ functions rather than decomposing

• omittingĀ ā€œout-of-boundaryā€ interfacing functions

• omittingĀ item flows to ā€œout-of-boundaryā€ interfacing functions

• notĀ flowing down performance

• identifyingĀ input/output items but not specifying them

• omittingĀ essential preceding functions, e.g. reading something that hasn’t beenĀ stored

• terminating a function by the useĀ of sequence when in fact, the function must continue to be performed

• designingĀ or redesigning the containing system, not the system of interest (SOI)

• usingĀ a loop to try to show continuous operation

• usingĀ a flow chart notation (thereby loosing some of the logic on allocation)

• usingĀ a notation that cannot express the necessary logical relationships, e.g. replication

• using a non-executable notationĀ where complex timing is involved

• usingĀ a notation that cannot distinguish between control flow and item flow

• startingĀ decomposition with item flow rather than control flow

• notĀ considering and reflecting resource utilization in the design

• definingĀ the start of a function as a function

• definingĀ the end of a function as a function

• not including unwanted functionsĀ that will occur and affect behavior

• omittingĀ functions performed by solution elements that are not themselvesĀ engineered

• notĀ doing a Failure Modes and Effects Analysis (FMEA) in relation to eachĀ allocatableĀ function

• doing the FMEA only at the end ofĀ design.

Share

Published By

Systems engineering thought leader, consultant, trainer and coach, impacting people's lives on six continents.
Published 7 years ago

 

PPI_Logo_Symbol_Only.png
FREE Monthly SE Industry News?
Shopping Cart
Scroll to Top