Galogen, Внутренний формат, существующий последние лет 20, наверное. Примерно такой состав:
-Перечень определений
-1. Назначение
-2. Состав
-3. Технические требования - пишутся как душе угодно. Содержит тоже все, что в голову придет: уровни сигналов, некоторые временные характеристики, какие-то технические вопросы просто детально проработаны. Регламентирует структуру продукта и какие сигналы из какого устройства куда идут, но про какие-то части обычно разработчик ТЗ не подумал, так как писать на бумаге - одно, а разрабатывать - все же другое. В общем, абсолютно все пожелания, которые родятся у автора ТЗ, здесь. Обычно это до 10 подпунктов, внутри подпунктов - сплошной текст и пара картинок. Объем от 1 до 20 листов.
-4. и т.д. - требования к технологичности, упаковке и прочее - разделы, которые никто не заполняет (точнее, пишут ссылки на одни и те же документы) и не читает традиционно. Считается, что люди, ответственные за эти участки, и так знают, что надо делать.
- Приложения - несколько таблиц с информацией вроде назначения регистров устройств.
В итоге, думаю, из-за того, что ТЗ залезает сразу на много уровней иерархии требований, при чем, бессистемно, все они получаются не полными. И исполнители, наверное, отчасти по этой причине обречены на разработку плохого продукта - перед ними нет ни на одном уровне числого листа, где можно было бы начать проект и полностью понимать и контролировать его.
Взял этот формат за основу (других вариантов и не было). Принципиально старался переломить традиции в нескольких местах:
1. Постарался сделать каждое требование отдельным подпунктом, чтобы на него можно было ссылаться. Уже после передачи исполнителю понял, что много где это не получилось - требования можно еще разбить.
2. Постарался избавиться от неполноты требований: если даются параметры входных/выходных сигналов, то давать все, например. Тоже не вышло идеально.
3. Не разрабатывал структуру, а разбил все на функциональные модули, описал, какие функции они должны решать. Предоставил конкретную структуру выбрать разработчикам.
4. Добавил требование использовать SVN или Git и предоставить доступ Заказчику.
5. Добавил требование перед созданием всех составных частей и ПО разработать и согласовать на них требования, а затем и проект.
6. Добавил требование согласовать стандарт на кодирование (сам же его и разработал, пока шли споры).
7. Добавил требование разработать и согласовать программу и методику тестирования составных частей устройства и самого устройства. Раньше принимали работы бессистемно. Методику разрабатывали уже при постановке на производство. И то очень короткую, не покрывающую почти никаких требований.
8. Добавил требование разработать словарь данных. Хотя, теперь уже сомневаюсь, что правильно смысл термина понимаю. Вижу его как докумет, присваивающий каждой сущности идентификатор, который должен быть использован во всем ПО, на всех схемах.
9. Пытался формулировать требования так, чтобы они были проверяемы. Тоже не все гладко.
Нет, к КТ-178В никаких претензий нет. Есть еще, кажется, с него же списанный ГОСТ 51904-2002. Проблема в том, что я просто запутался - никогда раньше не поднимался выше роли кодировщика. В частности, дорожка от ТЗ до требований к ПО - как в тумане. В КТ-178В есть упоминание "Требований к системе" и "Программы функционирования". Не понятно, это одно и то же, или нет. Не понятно, является ли ТЗ синонимом одного или обоих из этих терминов. В общем, в системной области - полная дезориентация. Буду рад, если участники форума пояснят, что из этих трех документов за чем следует и чем они отличаются.
Humbert, Galogen Спасибо за ссылки. Буду прорабатывать вопрос, правда, поспешить не получится из-за инерционности и патриархальности структуры организации и из-за того, что не понимаю, что мне точно нужно.