"H.И.Туккель, А.А.Шалыто "SWITCH-технология - автоматный подход к созданию программного обеспечения "реактивных" систем"" - читать интересную книгу автора

предлагается создавать и сдавать в архив документацию (по
крайней мере в электронном виде), имеющую как минимум
следующую комплектность: структурная схема системы;
распечатки экранов пользовательских интерфейсов; перечни
событий, входных переменных и выходных воздействий;
диаграммы взаимодействия автоматов; для каждого автомата:
словесное задание, схема связей (интерфейс), граф
переходов и исходный текст функции, реализующей автомат;
исходные тексты модулей и функций, реализующих входные
переменные, обработчики событий и выходные воздействия;
протоколы для сертификации программы, выполняющие роль
контрольных примеров; руководство программиста;
руководство пользователя;
- изложенный вариант технологии может использоваться
при построении модели объекта управления;
- при наличии модели объекта для нее должен создаваться
аналогичный комплект документации;
- после этого, при появлении любых изменений,
возникающих в ходе дальнейших этапов жизненного цикла
программы, весь комплект документации (по завершению
каждого этапа) должен корректироваться. В операционной
системе QNX для этого можно использовать средство
контроля содержимого файла с помощью циклической
контрольной суммы - сигнатуры, отражающей любое изменение
в нем. При этом Контролер по документации должен знать
значение этой суммы для исходного файла, и после
завершения каждого этапа при любом изменении указанного
значения требовать представления извещения на выполненную
модификацию, по которому документация должна быть
комплектно откорректирована и сдана в архив.
Предлагаемый вариант технологии обладает следующими
достоинствами:
- без использования объектно-ориентированного подхода
программа четко разделяется на две части, называемые
системонезависимой (например, от операционной системы) и
системозависимой;
- системонезависимая часть программы изоморфно
реализует алгоритм функционирования системы управления;
- реализация входных переменных, обработчиков событий,
выходных воздействий и вспомогательных модулей образует
системозависимую часть программы;
- при проектировании системонезависимой части программы
детали реализации входных и выходных воздействий скрыты.
Они раскрываются только при реализации системозависимой
части программы;
- этапы проектирования и реализации системонезависимой
части программы полностью разделены;
- реализация входных переменных и выходных воздействий
в виде функций обеспечивает: их протоколирование,
простоту перехода от одних типов источников и приемников