Проектирование программного обеспечения
Проектирование программного обеспечения — процесс создания проекта программного обеспечения (ПО), а также дисциплина, изучающая методы проектирования. Проектирование ПО является частным случаем проектирования продуктов и процессов.
Проектирование ПО включает следующие основные виды деятельности[1]:
- выбор метода и стратегии решения;
- выбор представления внутренних данных;
- разработка основного алгоритма;
- документирование ПО;
- тестирование и подбор тестов;
- выбор представления входных данных.
Первоначально программа рассматривается как чёрный ящик. Ход процесса проектирования и его результаты зависят не только от состава требований, но и выбранной модели процесса, опыта проектировщика.
Модель предметной области накладывает ограничения на бизнес-логику и структуры данных.
В зависимости от класса создаваемого ПО, процесс проектирования может обеспечиваться как «ручным» проектированием, так и различными средствами его автоматизации. В процессе проектирования ПО для выражения его характеристик используются различные нотации — блок-схемы, ER-диаграммы, UML-диаграммы, DFD-диаграммы, а также макеты.
Проектированию обычно подлежат:
- Архитектура ПО;
- Устройство компонентов ПО;
- Пользовательские интерфейсы.
В российской практике проектирование ведется поэтапно в соответствии со стадиями, регламентированными ГОСТ 2.103-2013[2] :
- Техническое задание(по ГОСТ 2.103-2013 к стадиям разработки не относится),
- Техническое предложение,
- Эскизный проект,
- Технический проект,
- Рабочий проект.
На каждом из этапов формируется свой комплект документов, называемый проектом (проектной документацией).
В зарубежной практике регламентирующими документами, например, являются Software Architecture Document, Software Design Document.
См. также
Примечания
- ↑ Турский, 1981, с. 203.
- ↑ ГОСТ 2.103-2013. Единая система конструкторской документации. Стадии разработки . Дата обращения: 25 февраля 2023. Архивировано 25 февраля 2023 года.
Ссылки
- Статьи по проектированию ПО на RSDN.ru
- Форум «Объектно-ориентированный анализ и проектирование» на AgileDev.ru
- Форум «Проектирование ПО» на UML2.ru
- Учебный курс «Объектно-ориентированный анализ и проектирование»
Литература
- Турский В. Методология программирования. — М.: Мир, 1981. — 264 с. — 30 000 экз.