Недостаточнаяфункция – это, когда автомобиль не можем выбраться из заноса снега, грязи или преодолеть очень крутой подъем.
1.5.3. Иерархия функций
Иерархия функций:
– главная функция;
– основная функция;
– вспомогательная функция.
Можно рассматривать и функции 3-го и ниже рангов.
Иерархия функций показана на графе (рис. 1.2).
Рис. 1.2. Иерархия функций
Главная функция – это функция высшего (нулевого) ранга, указывающая главное действие – предназначение системы. Она должна выполнять главную цель, обеспечивая главную потребность в системе. Ее еще называют главной полезной функцией.
Основные функции – это функции следующего (первого) ранга, функции основных подсистем. Основные функции обеспечивают работоспособность главной функции, а, следовательно, и всей системы в целом.
Вспомогательные функции – это функции второго ранга, функции подподсистем. Вспомогательные функции обеспечивают работоспособность основных функций. Функции низших (n) рангов, прежде всего, должны обеспечивать работоспособность функций высших (n-1) рангов.
Функции, обеспечивающие работоспособность, будем называть необходимыми функциями. Функциональная работоспособность системы определяется набором необходимых функций всех рангов, который должен быть необходимым и достаточным, и в то же время обеспечивать функциональную полноту.
Пример 1.18. Компьютер
Главнаяфункция – обработка информации (компьютер обрабатывает информацию).
Основныефункции: системного блока – прием, обработка, хранение и вывод цифровых (электрических) сигналов, клавиатуры – ввод цифровой и буквенной информации, монитора – вывод информации на экран и т. д.
Вспомогательнаяфункция части системного блока, блока питания, – обеспечение электрической энергией.
Пример 1.19. Телефон
Главнаяфункция – передача звукового сигнала, например, речи.
Основныефункции: микрофона – преобразование звукового сигнала в электрический, наушника – преобразование электрического сигнала в звуковой, клавиатуры – вводить цифровую и буквенную информацию и т. д.
Вспомогательнаяфункция кнопки клавиатуры – ввод конкретного знака.
Пример 1.20. Автомобиль
Главнаяфункция – перевозка (перемещение) людей.
Основныефункции: бензобака – хранение (удержание) бензина, двигателя – преобразование бензина в поступательное движение, трансмиссии – преобразование поступательного во вращательное движение и т. д.
Вспомогательнаяфункция частей двигателя: поршня и цилиндра – сжатие бензина (создание давления).
1.6. Процесс
Процесс (от лат. processus – продвижение) – это состояние какого-либо явления во времени.
Процесс можно определить, как[32 - Процесс – БСЭ. См. также материал из Википедии.]:
1. последовательную смену состояний стадий развития.
2. совокупность последовательных действий для достижения какого-либо результата (например, производственный потребности – последовательная смена трудовых операций).
Для технических систем мы в основном будем рассматривать второе определение. Первое определение характерно для развития систем.
Пример 1.21. Приготовление кофе
Операция 1 – измельчение зерен кофе. Операция 2 – молотый кофе засыпается в турку. Операция 3 – турка заливается водой. Операция 4 – турку ставят на огонь или помещают в разогретый песок. Операция 5 – ждут пока поднимется пенка. Операция 6 – турку снимают с огня. Операция 7 – ждут, пока пенка опустится. Операции 5—7 повторяются несколько раз.
Пример 1.22. Компьютерная программа
Любая компьютерная программа работает по определенному алгоритму – порядку действий. Таким образом, компьютерная программа осуществляет процесс.
Пример 1.23. Алгоритм Евклида
В качестве процесса представим алгоритм Евклида – метод вычисления наибольшего общего делителя (НОД). Это один из древнейших алгоритмов, который используется до сих пор.
Наибольший общий делитель (НОД) – это число, которое делит без остатка два числа и делится само без остатка на любой другой делитель данных двух чисел. Проще говоря, это самое большое число, на которое можно без остатка разделить два числа, для которых ищется НОД.
Описание алгоритма нахождения НОД делением.
1. Большое число делим на меньшее.
2. Если длится без остатка, то меньшее число и есть НОД (следует выйти из цикла).
3. Если есть остаток, то большее число заменяем на остаток от деления.
4. Переходим к пункту 1.
Например, необходимо найти НОД для 30 и 18.
30/18 = 1 (остаток 12)
18/12 = 1 (остаток 6)
12/6 = 2 (остаток 0). Конец: НОД – это делитель. НОД (30, 18) = 6
Пример 1.24. Компилятор
Большинство компиляторов переводит программу с некоторого высокоуровневого языка программирования в машинный код, который может быть непосредственно выполнен процессором.
Компилятор состоит из следующих этапов.