275
Приложение В. Проектирование и разработка программы
Одним из основных компонентов отчета в лабораторных работах №№5-6
является модель написанной программы. Что под этим понимается?
Сложность задачи, которую необходимо решить в этих лабораторных
работах, требует ознакомления с понятием процесса проектирования
программного обеспечения. В упрощенном виде к основным этапам
традиционного потока проектирования ПО можно отнести:
1. Разработку технического задания и
спецификаций (в данном случае они
уже представлены и предложены в виде варианта задания).
2. Архитектурное проектирование (по-другому, системное или
концептуальное проектирование).
3. Разработку программного обеспечения (непосредственная реализация,
т.е. кодирование).
4. Отладку и тестирование.
5. Создание рабочей документации (в данном случае это отчет).
6. Ввод в эксплуатацию, сопровождение (в
данном случае это
демонстрация преподавателю выполненной работы и ее защита).
Вопросам технологий проектирования программного обеспечения в
частности и вычислительных систем в целом, проблемам в различных подходах
к проектированию и разработке систем, так называемому «кризису сложности»
в вычислительной технике посвящено множество статей и книг [28, 30, 40, 41,
42, 43, 49, 64, 69, 14, 15, 20, 25]. Однако недостаточное качество, многократно
заваленные сроки выполнения,
высокая стоимость до сих пор являются
характерными чертами систем такого рода.
В данной работе Вам настоятельно рекомендуется не пропускать этап
архитектурного проектирования, т.е. продумать, как Вы будете решать
поставленную задачу, а потом уж приступать к кодированию придуманного. Что
это Вам даст? Грамотное системное проектирование
• Существенно сократит время реализации ПО
в частности и срок
выполнения работы в целом (примерное временное соотношение этапа
№2 и этапа №3 – «80% к 20%»).
• Сделает Вашу программу прозрачной, простой для понимания,
предсказуемой, значит, легко отлаживаемой.
• Повысит качество.
• Сократит ресурсоемкость.
• Добавит в Вашу программу возможность наращивания
функциональности, модифицируемости и дальнейшего развития (если,
конечно, критерий
повторного использования учитывался на этапе
проектирования).
• Сделает более доступным анализ разработанного ПО.