- •Этапы проектирования
- •2. Понятие жизненного цикла программного обеспечения
- •2. Проектирование.
- •3. Реализация.
- •Формирование и анализ требований
- •По уровням требования делятся на следующие категории.
- •По характеру различают следующие типы требований.
- •Источниками требований могут быть следующие объекты.
- •Методы проектирования программных систем
- •Структурное проектирование программ
- •Объектно-ориентированое проектирование программ
- •Архитектура программного обеспечения
- •Модель хранения данных
- •6.2. Диаграммы вариантов использования
- •6.3. Диаграммы классов
- •6.4. Диаграммы деятельности
- •6.5. Диаграммы последовательности действий
- •Диаграммы состояний класса
- •Диаграммы компонентов системы
- •Диаграммы размещения (развертывания) программных компонентов
- •Расчет сложности программной системы
- •Средства автоматизации проектирования программного обеспечения
Проектирование программного обеспечения
Литература
Вендров А.М. Проектирование программного обеспечения экономических информационных систем: Учебник., М.: 2003.
Орлов С.А., Цилькер Б.Я., Технологии разработки программного обеспечения: Учебник для вузов. 4-е изд. Стандарт третьего поколения. – СПб.: Питер, 2012. – 608 с.
Смирнов А.А. Технологии программирования [Электронный ресурс]: учебное пособие/ Смирнов А.А., Хрипков Д.В.— Электрон. текстовые данные.— М.: Евразийский открытый институт, 2011.— 191 c.
Ковалевская Е.В. Методы программирования [Электронный ресурс]: учебное пособие/ Ковалевская Е.В., Комлева Н.В.— Электрон. текстовые данные.— М.: Евразийский открытый институт, 2011.— 320 c.
Дэвид Белладжио Стратегия управления конфигурацией программного обеспечения IBM Rational ClearCase [Электронный ресурс]/ Дэвид Белладжио, Том Миллиган— Электрон. текстовые данные.— М.: ДМК Пресс, 2008.— 384 c.
Этапы проектирования
Типовой проект предполагает реализацию следующих этапов разработки программного обеспечения:
анализ требований к проекту;
проектирование;
реализация;
тестирование продукта;
внедрение и поддержка.
На первом этапе формулируются цели и задачи проекта, выделяются базовые сущности и взаимосвязи между ними. То есть, создается основа для дальнейшего проектирования системы. В рамках данного этапа не только фиксируются требования заказчика, но и проводится их формирование – подбирается оптимальное решение проблем, определяется необходимая степень автоматизации, выявляются наиболее актуальные для автоматизации бизнес-процессы. При анализе требований определяются сроки и стоимость разработки ПО, формируется и подписывается ТЗ на разработку программного обеспечения.
На основе предыдущего этапа осуществляется проектирование системы. Методология проектирования соединяет в себе объектную декомпозицию, приемы представления физической, логической, а также динамической и статической моделей системы. При этом разрабатываются проектные решения по выбору платформы, на которой будет функционировать система, языка или языков реализации, определяются требования к пользовательскому интерфейсу и наиболее подходящая СУБД. В процессе проектирования разрабатывается функциональная спецификация ПО: выбирается архитектура системы, оговариваются требования к аппаратному обеспечению, определяется набор организационных мероприятий, которые необходимы для внедрения ПО, а также перечень документов, регламентирующих его использование.
Таким образом, проектированию обычно подлежат:
Архитектура ПО;
Устройство компонентов ПО;
Пользовательские интерфейсы.
Этап реализации организуется в соответствии с моделями эволюционного типа жизненного цикла ПО, которые будут рассмотрены позднее. При этом применяются экспериментирование и анализ, строятся прототипы как целой системы, так и ее частей. Прототипы дают возможность глубже вникнуть в проблему и принять все необходимые проектные решения еще на ранних этапах проектирования. Такие решения могут затрагивать разные части системы: внутреннюю организацию, пользовательский интерфейс, разграничение доступа и т.д. В результате этапа появляется рабочая версия продукта.
Тестирование тесно связано с такими этапами разработки программного обеспечения как проектирование и реализация. В систему встраиваются специальные механизмы, которые дают возможность производить ее тестирование на соответствие требований, проверку оформления и наличие необходимого пакета документации. Результатом тестирования является устранение всех недостатков системы и заключение о ее качестве.
Внедрение системы обычно предусматривает следующие шаги:
установка,
обучение пользователей,
эксплуатация.
К любой разработке прилагается полный пакет документации, который включает в себя описание системы, руководства пользователей и алгоритмы работы.
Поддержка функционирования ПО должна осуществляться группой технической поддержки разработчика.
Таким образом, типичный цикл разработки программного обеспечения можно представить в виде рисунка 1.1.
Подготовка — сбор и обработка требований. Предварительное планирование этапов работ, сроков, ресурсов и стоимости.
Проектирование — получение технических заданий, разработка спецификаций. Партнер получает документальное изложение своих требований и планы проведения работ.
Создание.
Дизайн — получение графических макетов, визуальных форм, разработка интерфейсов. Создание индивидуального стиля.
Кодирование — получение исходного кода.
Тестирование — проверка программы на соответствие всем предъявляемым к ней требованиям.
Документирование — описание модели и структуры системы и ее компонентов, руководство по установке и сопровождению и пр.
Рис.1.1.
Поддержка.
Внедрение — установка программного обеспечения, обучение пользователей.
Сопровождение — исправление выявленных ошибок, поддержка пользователей.
В крупных проектах на этапе проектирования почти невозможно определить все требования к программному обеспечению. Существенные изменения вносятся заказчиком уже в процессе разработки, объем работ меняется. Проблема решается посредством применения итеративной разработки при повременной оплате работ. Такая организация работы позволяет заказчику без негативных последствий внести дополнительные задания и требовать детальной проработки узких мест.
