
- •1.Эффективность вычислений. Основные понятия и определения.
- •2. Алгоритм. Основные понятия и определения.
- •3. Семантическая теория программ.
- •4. Схемы программ.
- •5. Способы задания алгоритмов.
- •6. Универсальные модели алгоритмов.
- •7. Понятийные средства спецификации программ.
- •8. Основные требования к спецификации программ.
- •9. Спецификации в жизненном цикле программ.
- •10. Методы спецификации программ.
- •1. Табличные средства.
- •2. Равенства и подстановки.
- •3. Логические средства и аксиоматические описания.
- •4. Графовые средства: графы, сети, диаграммы.
- •5. Конечно-автоматные диаграммы.
- •6 Синтаксические диаграммы.
- •7. Сети Петри.
- •11. Графические методы спецификации.
- •12.Автоматное преобразование информации
- •13. Основные понятия и определения теории конечных автоматов
- •14.Способы задания конечных автоматов.
- •15. Конечный автомат как модель «реагирующей системы».
- •16. Конечный автомат как модель протокола передачи сообщений в сетях.
- •17. Конечный автомат как модель взаимодействия процессов.
- •18. Автоматы Мура и Милли.
- •19. Примеры конечных автоматов.
- •20. Программная и аппаратная реализация конечных автоматов.
- •21. Сети Петри: принципы построения.
- •22. Теория комплектов.
- •Структура сети Петри.
- •24. Графы сети Петри.
- •25.Аналитическое и графическое представление сети Петри.
- •26. Маркировка сети Петри.
- •27.Выполнение сети Петри.
- •28. Пространство состояний сети Петри.
- •31. Сети Петри как аппарат для моделирования систем
- •32. Одновременность и конфликт сети Петри.
- •33. Моделирование аппаратного обеспечения сетями Петри
- •34.Моделирование программного обеспечения сетями Петри
- •35.Параллелизм в сетях Петри.
- •36,48 Моделирование дискретных процессов сетями Петри.
- •37. Безопасность сетей Петри
- •38.Ограниченность сети Петри
- •39.Тупики в сетях Петри.
- •40. Достижимость в сети Петри. См. Билет 29
- •41. Дерево достижимости в сетях
- •42. Анализ сетей Петри
- •47. Матричное представление сетей Петри.
- •50. Недостатки классических сетей Петри.
- •1.Эффективность вычислений. Основные понятия и определения. 1
7. Понятийные средства спецификации программ.
Программа - задание для ЭВМ, написанное программистом. Спецификация - задание для программиста, написанное спецификатором, постановщиком задачи или системным аналитиком, т.е. лицом, профессиональный статус которого пока окончательно не установился, но явно отличается от профессии программиста.
Грубо говоря, спецификация программы - это описание задачи, которую решает программа. Само слово «спецификация» (specification - англ.) буквально означает описание, «специфицировать» значит описывать. Спецификация обращена прежде всего к человеку, ориентирована на человека, и, в принципе, может быть предназначена только человеку. Программа же обязательно предназначена вычислительной машине.
8. Основные требования к спецификации программ.
Основными чертами или сходствами спецификаций как особого ряда описаний являются точность, понятность и полнота.
Точность спецификации называют формальностью или однозначностью. Причем требования к формализации фактически варьируют в широком диапазоне от полностью формализованного описания до слегка формализованного. Описание на естественном языке обычно считается неудовлетворительным, но какие формальные средства достижения точности следует использовать - вопрос до сих пор дискуссионный. Чаще всего точность отождествляют с «математичностью». Степень формализации описаний в математике сильно варьируется в зависимости от цели.
Спецификация должна быть одновременно точной и понятной. Чтобы понимать точное формализованное понятие нужно хорошо владеть понятийными средствами, которые в нем определены и самим математическим аппаратом. А это требует высокой математической культуры. В принципе спецификация должна быть более понятным описанием задачи, чем программа, ее должно быть легче написать и легче прочесть.
Наконец, полнота спецификации означает, что ничто существенное из задачи в ней не упущено. Спецификация отличается от менее полно и точного, более эскизного и предварительного описания, которое часто называют требованиями к программе, которые упоминаются в ЕСПД (Единая Система Программной Документации, ГОСТ 19.201-79) в качестве раздела технического задания, где спецификация вообще не упоминается.
Часто характерное сходство спецификаций, отличающее их от программ, определяют так: «Спецификация описывает, что надо сделать, а не как это сделать».
9. Спецификации в жизненном цикле программ.
В так называемом «жизненном цикле» программы, охватывающем все время её создания и жизни принято выделять такие этапы:
1. проектирование и разработка, которые завершаются кодированием программы;
2. проверка программы (отладка, тестирование, верификация);
3. эксплуатация и сопровождение (адаптация, модификация, авторский контроль);
Спецификация рождается на этапе проектирования программы и занимает промежуточное положение между эскизными требованиями и готовой программой. Дополненные и уточненные требования - это уже спецификация. Однако гораздо чаще переход от спецификации к программе это более или менее сложный и длительный интеллектуальный процесс, в котором участвуют специалисты и используются все накопленные в науке и практике программирования приемы и методы.
Разработка спецификаций побуждает к созданию новых понятийных средств, повышающих выразительность спецификаций. Иногда полезно различать внешнюю спецификацию, обращенную к внешнему пользователю, заказчику, потребителю программы, и внутреннюю спецификацию, обращенную к разработчику программы.
Развитие средств и языков спецификации оказывает большое влияние на такие области программирования как верификацию программ, синтез программ и разработку новых моделей вычислений.