
- •1 Определение проекта и проектирования. Основные особенности и проблемы современных программных проектов
- •2 Жизненный цикл программного обеспечения. Стандарты, регламентирующие жизненный цикл
- •3 Общие принципы проектирования систем. Модели программного обеспечения и их место в процессе проектирования
- •4 Объектная модель
- •5 Определение и история создания языка uml. Состав диаграмм uml
- •Назначение диаграммы вариантов использования. Основные обозначения. Отношения на диаграмме вариантов использования
- •Диаграмма классов. Разновидности классов. Атрибут класса. Операции класса. Отношения на диаграмме классов
- •8 Назначение диаграммы последовательности. Объекты, их графическое представление. Линия жизни и фокус управления. Особенности изображения моментов создания и уничтожения объектов
- •Проектирование классов. Проектирование баз данных
- •10 Технология создания программного обеспечения. Rational Unified Process (rup)
- •Управление требованиями;
Вопросы
Определение проекта и проектирования. Основные особенности и проблемы современных программных проектов
Жизненный цикл программного обеспечения. Стандарты, регламентирующие жизненный цикл
Общие принципы проектирования систем. Модели программного обеспечения и их место в процессе проектирования
Объектная модель
Определение и история создания языка UML. Состав диаграмм UML
Назначение диаграммы вариантов использования. Основные обозначения. Отношения на диаграмме вариантов использования
Диаграмма классов. Разновидности классов. Атрибут класса. Операции класса. Отношения на диаграмме классов
Назначение диаграммы последовательности. Объекты, их графическое представление. Линия жизни и фокус управления. Особенности изображения моментов создания и уничтожения объектов
Проектирование классов. Проектирование баз данных
Технология создания программного обеспечения. Rational Unified Process (RUP)
1 Определение проекта и проектирования. Основные особенности и проблемы современных программных проектов
Основой проектирования программного обеспечения является системный подход. Системный подход – это методология исследования объекта любой природы как системы. Система – это совокупность взаимосвязанных частей, работающих совместно для достижения некоторого результата. Определяющий признак системы – поведение системы в целом не сводимо к совокупности поведения частей системы.
Программное обеспечение (ПО) – это система, включающая в себя: компьютерные программы; документацию; данные, необходимые для корректной работы программ.
Проектирование ПО – это процесс создания спецификаций ПО на основе исходных требований к нему. Проект – текущий или окончательный результат проектирования. Проект ПО включает в себя модели и проектную документацию, описывающие архитектуру, подсистемы, интерфейсы, программные компоненты, структуры данных и алгоритмы.
При создании программных систем выделяется ряд причин неудачных проектов:
недостаточно адекватное управление требованиями;
несогласованность требований, проектных решений и реализации;
жесткая архитектура ПО;
нарастающая сложность ПО;
неточная и противоречивая коммуникация;
недостаточное тестирование;
субъективное отношение к приоритетам отдельных артефактов1 проекта;
игнорирование рисков и отсутствие процедур управления рисками;
бесконтрольное внесение изменений в артефакты проекта;
недостаточное использование CASE-средств и средств поддержки отдельных этапов проекта.
К причинам создания неудачных проектов относится и отсутствие моделей при разработке ПО:
не позволяет справиться с растущей сложностью разрабатываемых программных систем;
не позволяет эффективно управлять разработкой в условиях изменяющихся требований;
создает барьеры непонимания: аналитик не понимает руководителя проекта, разработчик – аналитика, тестировщик – разработчика и пр.;
не позволяет обеспечить контроль изменений в процессе выполнения работ;
не позволяет избежать субъективности в оценке качества разрабатываемых продуктов.
Модель (model) — абстракция физической системы, рассматриваемая с определенной точки зрения и представленная на некотором языке или в графической форме.
В ходе создания программных систем возникает необходимость разработки визуальных моделей.
Лучшие практики разработки ПО:
использование визуальных моделей при разработке ПО;
итеративная2 разработка ПО;
управление требованиями;
управление изменениями и конфигурацией артефактов ПО;
использование компонентных архитектур;
непрерывное тестирование и верификация3 качества ПО;
использование паттернов4 проектирования;
использование CASE-средств и RAD-средств5;
управление рисками:
технологическими рисками;
связанными с требованиями;
связанными с квалификацией персонала проекта;
политическими рисками.
Визуальное моделирование есть моделирование с использованием некоторой графической нотации.
На входе моделей неструктурированная информация. Информация может быть описана в любом виде (текстовом документе, интервьирование6 сотрудников).
На выходе – модели ПО и бизнес-процессов. Модели должны адекватно отражать характер соответствующей предметной области. Необходима фиксация определенной нотации.