- •Абстаркция и абсттрагирование
- •Архитектура программной системы.
- •Объектно-ориентированный анализ
- •Объектно-ориентированное проектирование
- •Объектно-ориентированное программирование
- •Аналитическая модель
- •Алгоритмическая и объектно-ориентированная декомпозиция
- •Сложность программных систем. Основные причины, признаки сложной системы.
- •Понятие итеративного цикла разработки. Участники процесса разработки программного обеспечения.
- •Класс, объект. Состояние объекта. Поведение объекта.
- •Расширения uml: ограничения (constraint), стереотипы (stereotypes) и именованные
- •Агрегация и композиция. Их назначение и отличия
- •Понятие итеративного цикла разработки. Участники процесса разработки программного
- •Основные этапы разработки программного обеспечения (Анализ, проектирование,
- •Понятие стереотипов концептуальной модели (boundary, control, entity)
- •16. Язык um, назначение и структура языка uml. Визуальное моделирование
- •17. Интегрированная модель сложной системы
- •18. Модель системы в Rational Rose (Use Case View, Logical View, Component View, Deployment View)
- •Назначение диаграммы компонентов.
- •Диаграммы размещения (Deployment Diagram). Назначение, основные элементы (Processor, Device, Connection).
- •19. Анализ предметной области. Идентификация и систематизация функций системы. Атрибуты системы. Скрытые и типовые функции. Функции бизнес-логики
- •20. Модульность программной системы. Понятие и назначение Package. Отношения между Package. Организационные диаграммы.
- •21. Вариант использования (Use Case). Абстрактный вариант использования.
- •22. Диаграммы вариантов использования. Назначение. Основные элементы (Text Box, Use Case, Note, Anchor Note, Actor, Package)
- •23. Связи на диаграмме Вариантов Использования (Association, Unidirectional Association, Generalization, Extend use case, Include use case).
- •24. Сценарии use case. Описание (потоки событий) и назначение сценариев
- •25 Диаграммы деятельности. Назначение. Основные элементы (Activity, State, Start State, Stop State, State Transition, State to self, Synchronization, Decision, Swimlane)
- •26. Диаграммы последовательности (Sequence Diagram). Назначение, основные элементы (Object, Object Message, Message to Self) Соотнесение объектов с классами, сообщение с операциями.
- •27. Кооперативные диаграммы (Collaboration). Назначение, основные элементы (Object, Class Instance, Object Link, Link to Self, (Reverse) Link Message, (Reverse) Data Flow
- •28. Диаграммы классов (Class Diagram). Назначение, основные элементы (Class, Association, Dependency, Aggregation, Generalization). Атрибуты и операции, множественность (multiplicity) и роли
- •Назначение диаграммы вариантов использования (Use Case Diagram)
- •30. Диаграммы вариантов использования для моделирования предметной области. Назначение, основные элементы (Business Actor, Business Use Case, Association).
- •31. Назначение диаграммы компонентов
- •32. Диаграммы размещения (Deployment Diagram). Назначение, основные элементы (Processor, Device, Connection).
- •33. Последовательность разработки программной системы
- •34. Диаграммы анализа и проектирования
- •35. Основные задачи анализа. Функциональные и нефункциональные требования.
Основные этапы разработки программного обеспечения (Анализ, проектирование,
кодирование, тестирование)
Процесс разработки программного обеспечения (англ. software development process, software process) — структура, согласно которой построена разработка программного обеспечения (ПО). Существует несколько моделей такого процесса, каждая из которых описывает свой подход, в виде задач и/или деятельности, которые имеют место в ходе процесса.
Типовой проект включает в себя следующие этапы разработки программного обеспечения:
анализ требований к проекту;
проектирование;
реализация;
тестирование продукта;
внедрение и поддержка.
Анализ требований к проекту
На этом этапе формулируются цели и задачи проекта, выделяются базовые сущности и взаимосвязи между ними. То есть, создается основа для дальнейшего проектирования системы. В рамках данного этапа не только фиксируются требования заказчика, но и проводится их формирование – клиентам подбирается оптимальное решение их проблем, определяется необходимая степень автоматизации, выявляются наиболее актуальные для автоматизации бизнес-процессы. При анализе требований определяются сроки и стоимость разработки ПО, формируется и подписывается ТЗ на разработку программного обеспечения.
Проектирование
На основе предыдущего этапа проводится проектирование системы. Эта методология проектирования соединяет в себе объектную декомпозицию, приемы представления физической, логической, а также динамической и статической моделей системы.Во время проектирования разрабатываются проектные решения по выбору платформы, где будет функционировать система языка или языков реализации, назначаются требования к пользовательскому интерфейсу, определяется наиболее подходящая СУБД. Разрабатывается функциональная спецификация ПО: выбирается архитектура системы, оговариваются требования к аппаратному обеспечению, определяется набор орг. мероприятий, которые необходимы для внедрения ПО, а также перечень документов, регламентирующих его использование.
Реализация
Данный этап разработки программного обеспечения организован в соответствии с моделями эволюционного типа жизненного цикла ПО. При разработке применяются экспериментирование и анализ, строятся прототипы, как целой системы, так и ее частей. Прототипы дают возможность глубже вникнуть в проблему и принять все необходимые проектные решения еще на ранних этапах проектирования. Такие решения могут затрагивать разные части системы: внутреннюю организацию, пользовательский интерфейс, разграничение доступа и т.д. В результата этапа реализации появляется рабочая версия продукта.
Тестирование продукта
Тестирование тесно связано с такими этапами разработки программного обеспечения как проектирование и реализация. В систему встраиваются специальные механизмы, которые дают возможность производить тестирование системы на соответствие требований к ней, проверку оформления и наличие необходимого пакета документации. Результатом тестирования является устранение всех недостатков системы и заключение о ее качестве.
Внедрение и поддержка
Внедрения системы обычно предусматривает следующие шаги:
установка системы,
обучение пользователей,
эксплуатация.
К любой разработке прилагается полный пакет документации, который включает в себя описание системы, руководства пользователей и алгоритмы работы.
Поддержка функционирования ПО должна осуществляться группой технической поддержки разработчика.
