Ответы к контрольной работе: Контрольная работа по дисциплине
Описание
- Задания к разделам контрольной работы
1. Техническое задание на создание программного продукта
Цель: Освоение методики объектно-ориентированного анализа разрабатываемой программы; освоение задач формулирования функциональных и нефункциональных требований к программной реализации отдельных задач и к программе в целом; выработка навыков разработки технического задания.
Задание
- Установить назначение и общую цель создания программы.
- Определить структуру программы и состав функциональных задач.
- Разработать функциональные требования к программе:
- требования к входным и выходным данным;
- требования к программной реализации задач;
- специальные требования к математическому обеспечению программной реализации задач;
- требованиях к прикладному программному обеспечению.
- Установить нефункциональные требования к программе:
- требования к надежности;
- требования к эффективности;
- требования к безопасности;
- требования к эргономичности и удобству использования;
- требования к численности и квалификации персонала и режиму его работы;
- требования к переносимости;
- требования к сопровождаемости;
- требования к особенностям поставки;
- требования к защите информации от несанкционированного доступа;
- требования по сохранению информации при авариях;
- требования к соответствию стандартам качества.
2. Проектирование функциональной структуры программного продукта
Цель: изучение методики объектно-ориентированного подхода программной инженерии для разработки и описания функциональности разрабатываемого программного обеспечения.
Методические указания к построению диаграмм UML прилагаются в виде отдельного документа. Использовать CASE-средство ROSE ENTERPRISE либо STAR UML.
Задание
- Проанализировать описание функционирования ПО, разработанного при выполнении технического задания, на предмет выявления набора абстракций предметной области проектируемой ИС. В качестве предварительных кандидатов в абстракции принять подлежащие, выделенные из текста анализируемого потока событий.
- Разделить выделенные абстракции на три типа: абстракции сущности, абстракции поведения, абстракции интерфейсы. Результат представить в виде таблицы 2.1. Для каждой абстракции указать ее класс согласно следующей классификации:
- Люди
- Места
- Предметы
- Инструменты
- Организации
- Концепции
- События
- Показатели
Таблица 2.1. Абстракции подсистемы
№ | Абстракция | Тип | Класс | Описание |
- Проанализировать поведение выделенных абстракций. Выделить возможное поведение каждой абстракции в пределах функциональности проектируемой ИС, представленной моделью требований UML (рис. 2.1). Заполнить таблицу 2.2.
Таблица 2.2. Абстракции подсистемы и их поведение
№ | Абстракция | Требование согласно модели UML | Описание поведения |
- Построить диаграмму классов UML (class diagram), указывая при этом лишь имена классов без указания свойств класса. Пример диаграммы приведен на рисунке 10.
Рис. 2.1 – Пример диаграммы классов UML
- На основе анализа описания предметной области, выявить атрибуты и операции классов. Заполнить секции атрибутов и операций классов.
- Выбрать в модели классов такой класс, которых характеризуется наиболее частой сменой состояний, и построить для него диаграмму состояния (statechart diagram).
- Для каждого из базовых вариантов использования, разработанной ранее, построить диаграмму деятельности (activity diagram). Для вариантов использования, с которыми связаны несколько действующих лиц, диаграмму деятельности построить в виде дорожек с привязкой к исполнителям конкретных операций алгоритма
- Для каждого варианта использования выделить список объектов участвующих во взаимодействии в этом прецеденте, заполнить таблицу 2.3.
Таблица 2.3. Список объектов для каждого потока событий
№ п.п. | Прецедент | Объект | Описание объекта |
- Создать диаграммы последовательности (sequence diagram) для перечисленных прецедентов (одну диаграмму для всех объектов из табл. 2.3).
3. Разработка программного кода
Задание
- В соответствии с требованиями технического задания, а также разработанными проектными решениями разработать специальное программное обеспечение.
- Выполнить описание разработанных компонентов приложения в виде табл. 3.1. Типы компонентов указать согласно табл. 3.3. Имена компонентов-файлов привести с указанием расширения.
Таблица 3.1. Перечень разработанных компонентов приложения
№ | Имя | Тип | Описание |
- Построить структурную схему разработанного приложения в виде диаграммы компонентов UML, выражающую взаимодействие его компонентов с компонентами БД в процессе функционирования приложения.
- Запустить приложение на выполнение. Убедиться в соответствии результатов выполнения приложения требованиям, установленным в техническом задании. При обнаружении логических ошибок задокументировать их и устранить.
- Представить экранные формы компонентов приложения, в том числе отчетов.
- Проанализировать код приложения по критерию сложности. В качестве критерия сложности использовать:
- число модулей (классов) приложения;
- суммарное число переменных подпрограмм (методов классов), включая их формальные параметры;
- суммарное количество операторов подпрограмм (методов классов);
- глубину вложенности структурных операторов ветвления и повторения;
- глубину наследования классов.
- Выполнить описание физических элементов ПО в виде табл. 3.2. Типы элементов указать согласно табл. 3.4.
Таблица 3.2. Перечень узлов программной системы
№ | Имя | Тип | Описание |
- Построить диаграмму развертывания UML, выражающую зависимости между узлами ПО и развернутыми на них компонентами из табл. 3.1.
4. Управление качеством программного продукта
Цель: Освоение методики обеспечения качества разработанного программного кода, тестирования программы в ручном режиме, анализ производительности.
Задание
Выполнить системное пользовательское тестирование работоспособности ПО посредством воздействия на её интерфейсную часть. Для этого необходимо:
- Согласно функциональным требованиям, предъявленным в техническом задании, разработать несколько сценариев тестирования ПО.
- Реализовать сценарии и задокументировать полученные результаты тестирования.
- Выполнить интеграционное тестирование на компонентном уровне разработанных автоматизированных функций программного продукта, используя подход Bottom Up Integration.
- Выполнить нагрузочное тестирование программы и оценить эффективность разработанных автоматизированных функций программного продукта. В качестве критерия эффективности использовать время выполнения функции. Предварительно подготовить 5 массивов исходных данных на 10, 50, 100, 500 и 1000 записей. Построить графики зависимости времени вычислений от объема исходных данных.
СибГУТИ










