Задание на курсовое проектирование (1035401)
Текст из файла
Технологии разработки программного обеспечения, 2017 г.
Задание на курсовое проектирование
по дисциплине Технологии разработки программного обеспечения
Цель работы:
Изучить теоретические принципы унифицированного процесса разработки СОИУ и составляющих его этапов. Получить практические навыки применения шаблонов при проектировании и разработке СОИУ. Освоить применение CASE средств для разработки СОИУ.
Исходные данные для выполнения КР:
-
Описание исходных требований к создаваемой СОИУ (выдается преподавателем),
-
Перечень паттернов для реализации (совпадает с вариантом ДЗ),
-
Паттерн Gof (выдается преподавателем).
Порядок и время проведения работы:
Работа выполняется самостоятельно в часы внеаудиторных занятий. Выполняется студентом индивидуально. По итогам выполнения КР составляется и защищается отчет в бумажном виде, а также проводится демонстрация работающей программы.
Задание:
Выполнить разработку СОИУ в соответствии с описанием ее функциональности (определяется вариантом) на основе моделей унифицированного процесса (RUP). Написать программу, реализующую фрагмент СОИУ, и реализовать в ней паттерны бизнес-логики, работы с БД, gof (по варианту). Для построения диаграмм использовать среду STARUml или ее аналог, например, Software Ideals Modeler. Ниже перечислены этапы разработки и их задачи, выполняемые в КР:
-
Этап анализа и планирования требований (Начало):
-
Определить область применения СОИУ (предназначение, границы, интерфейсы с внешней средой, критерии сдачи-приемки).
-
Определить прецеденты, критические для системы (основные функции и главные решения).
-
Определить основные элементы архитектуры (для выполнения основного сценария).
-
Определить и оценить самые опасные риски (угрожающие успеху разработки), предложить способы управления ими.
-
Оценить затраты, длительность и стоимость разработки по модели СОСОМО-2 этапа композиции приложения.
В пояснительную записку:
-
Постановка задачи (задание по варианту).
-
Спецификация основных проектных требований, ключевых характеристик и главных ограничений (перечень требований-кандидатов, функциональных и нефункциональных требований).
-
Модель предметной области (диаграмма классов предметной области, глоссарий понятий, бизнес-модели).
-
Выявленные актеры.
-
Выявленные прецеденты, их приоритеты и описание (кратко).
-
Диаграмма основных прецедентов.
-
Описание возможной архитектуры (перечень архитектурно-значимых прецедентов, обобщенные механизмы проектирования, системное ПО, используемые компоненты и/или каркасы). По каждой из выбранных технологий (обобщенные механизмы проектирования, системное ПО и т.д.) необходимо привести варианты, их достоинства и недостатки и обосновать выбор.
-
Перечень критических рисков (и рекомендации по управлению).
-
Перечень экранных форм и их сложность; экспертные оценки скорости разработки и масштабных факторов; затраты, длительность и стоимость разработки (по модели СОСОМО-2 этапа композиции приложения).
-
Этап проектирования (Развитие). Для архитектурно-значимых прецедентов выполнить:
-
Составить модель требований (выделить актеров и прецеденты; создать прототип пользовательского интерфейса; детализировать и структурировать прецеденты).
-
Составить модель анализа (анализ архитектуры - выделить пакеты анализа и сервисные пакеты, определить классы сущностей и общие специальные требования; анализ прецедентов — определить классы анализа и их взаимодействие; анализ классов — определить ответственности, атрибуты и связи классов; анализ пакетов – определить состав и зависимости пакетов).
-
Составить модель проектирования (определить узлы и сетевые конфигурации, подсистемы и интерфейсы между ними, архитектурно-значимые и активные классы, обобщенные механизмы проектирования).
-
Выбрать и обосновать структурные шаблоны проектирования (MVC, PCMEF и т. д.)
-
Реализовать базовый уровень архитектуры на основе модели проектирования с применением паттернов базы данных и бизнес-логики.
-
Отслеживать риски, устранить наиболее серьезные.
-
Оценить размер программного продукта на основе функционально-ориентированных метрик (функциональные указатели или указатели свойств).
-
Оценить затраты, длительность и стоимость разработки по модели СОСОМО-2 этапа постархитектуры.
-
Составить план итераций следующего этапа.
Программная реализация:
-
Работающая программа, реализующая основные прецеденты (базовый уровень архитектуры) и паттерны базы данных и бизнес-логики.
В пояснительную записку:
-
Уточненное описание контекста системы (глоссарий понятий, диаграмма классов предметной области и/или бизнес-модель).
-
Уточненная диаграмма (ы) прецедентов.
-
Расширенные описания основных прецедентов (предусловие, запуск и инициатор, порядок выполнения и поток событий, постусловия, запрещенные и альтернативные пути, атрибуты и ресурсы).
-
Прототип пользовательского интерфейса.
-
Диаграммы классов анализа: граничных, управляющих, сущностей.
-
Диаграммы взаимодействия для основных прецедентов.
-
Пакеты анализа и сервисные пакеты (их состав и зависимости) в форме обобщенной диаграммы классов.
-
Диаграмма развертывания (узлы и линии связи).
-
Подсистемы, их уровни, зависимости и интерфейсы в форме диаграммы классов.
-
Диаграммы взаимодействия для главного прецедента: одна диаграмма взаимодействия в терминах подсистем и их интерфейсов (укрупненное представление); диаграммы взаимодействия для каждой подсистемы в терминах ее классов (детализируют выполнение функции интерфейса).
-
Диаграммы компонентов и развертывания для реализации архитектуры (узлы и линии связи; компоненты, их интерфейсы и зависимости; размещение по узлам).
-
Исходный код программы, реализующей архитектурно-значимые прецеденты.
-
Переработанный список рисков.
-
Расчет функциональных указателей на основе прототипа пользовательского интерфейса и коэффициентов сложности (исходные данные, формулы вычислений и результаты расчетов) и перевод их в LOC.
-
Экспертные оценки масштабных факторов и факторов затрат; затраты, длительность и стоимость разработки (по модели СОСОМО-2 этапа постархитектуры).
-
Перечень и состав итераций следующего этапа с указанием прецедентов, коопераций, пакетов, подсистем и компонентов для разработки.
-
Этап построения (Конструирование):
-
Полностью определить и реализовать прецеденты.
-
Завершить анализ, проектирование, реализацию и тестирование.
-
Применить паттерны (по варианту) бизнес-логики, работы с БД и Gof.
-
Провести тестирование и отладку.
Этап построения содержит несколько итераций. В КР достаточно выполнить 1-2 итерации. Каждая итерация реализует определенный ранее набор прецедентов (сценариев).
Программная реализация:
-
Работающая программа.
-
Программа должна содержать реализацию паттернов проектирования (по варианту).
В пояснительную записку по каждой итерации:
-
Состав итерации (описание для новых/ уточненных прецедентов).
-
Модель требований для новых/уточненных прецедентов: спецификации и диаграммы прецедентов, прототип пользовательского интерфейса.
-
Модель анализа для новых/уточненных прецедентов: диаграммы классов, последовательностей, пакетов.
-
Модель проектирования для новых/уточненных прецедентов: диаграммы подсистем, классов и последовательностей (уровня классов и подсистем) для реализуемых прецедентов с учетом паттернов.
-
Модель реализации для новых/уточненных прецедентов: Перечень изменяемых/создаваемых подсистем, классов и компонентов.
-
Описание сборки.
-
Описание тестовых вариантов для тестирования модулей.
В пояснительную записку по этапу:
-
Уточненная диаграмма подсистем.
-
Диаграммы классов с учетом реализованных паттернов (по каждой подсистеме).
-
Диаграммы взаимодействия для основных прецедентов: одна диаграмма взаимодействия в терминах подсистем и их интерфейсов (укрупненное представление); диаграммы взаимодействия для каждой подсистемы в терминах ее классов (детализируют выполнение функции интерфейса). Обязательно отобразить работу паттернов.
-
Уточненная диаграмма компонентов и развертывания.
-
Перечень и последовательность проведения тестов (модульные, интеграционные и системные).
-
Этап внедрения (Переход):
-
Применить ПО в среде заказчика.
-
Завершить реализацию продукта.
В пояснительную записку:
-
Перечень программ и рекомендации по установке.
-
Перечень документации для пользователей и заказчиков.
-
Рекомендации по внедрению (консультации, обучение и т.д.).
Сроки и отчетность:
Этап | Вид отчетности | Срок защиты |
Начало | Отчет и рабочие материалы по этапу | 4 неделя (3 марта) |
Развитие | Отчет и рабочие материалы по этапу Работающая программа с паттернами бизнес-логики и БД | 8 неделя (31 марта) |
Конструирование | Отчет и рабочие материалы по этапу Работающая программа с паттернами бизнес-логики, БД и GOF | 11 неделя (21 апреля) |
Переход | Расчетно-пояснительная записка | 14 неделя (12 мая) |
Литература основная:
-
Унифицированный процесс разработки программного обеспечения: учебное пособие / Виноградова М.В., Белоусова В.И. – М.: МГТУ им.Н.Э. Баумана. – 2015 г. http://ebooks.bmstu.ru/catalog/193/book1303.html
-
Гамма Э. и др. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - Спб.:Питер. - 2009 г.
-
Фаулер М. Архитектура корпоративных приложений. - М.:Изд.дом Вильямс. - 2008 г.
Литература дополнительная:
-
Орлов С.А. Технологии разработки программного обеспечения. - СПб: Питер, - 2002 г.
-
Якобсон А, Дуч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. - Спб.: Питер. - 2002 г.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.