tehnologia (1018792), страница 29
Текст из файла (страница 29)
Пользователь инициирует новоезадание3. Пользователь выбирает тип задачиОтклик системы2. Система регистрирует новое задание ипредлагает список типов задач4. Система регистрирует тип задачи ипредлагает список способов заданияданных6. Система регистрирует данные ипредлагает список алгоритмов решения5. Пользователь выбирает способзадания данных а) Если выбранввод с клавиатуры, см. раздел Вводданных б) Если выбран ввод из базыданных, см.
раздел Выбор данных избазы7. Пользователь выбирает алгоритм 8. Система регистрирует алгоритм ипредлагает начать решение9. Пользователь инициирует10. Система проверяет полноту оппроцесс решенияределения задания и запускает подпрограмму решения задачи171Типичный ход событий (окончание)Действия исполнителяОтклик системы11. Пользователь ожидает13. Пользователь анализируетрезультаты и выбирает,сохранять их в базе или нет12. Система демонстрирует пользователюрезультаты и предлагает сохранить их в базеданных14. Если выбрано сохранение данных, то системавыполняет запись данных задания в базу 15.Система переходит в состояние ожиданияАльтернатива11. Если время выполнения программы с точки зрения пользователя велико, тоон прерывает процесс выполнения.12.
Система прерывает расчеты, предлагает список алгоритмов решения ивозвращается на шаг 7.Раздел Ввод данныхТипичный ход событийДействия исполнителя1. Пользователь выбрал Вводданных2. Пользователь вводитданные3. Пользователь отвечает назапросОтклик системы2. Система последовательно запрашивает вводданных4. Система проверяет данные и запрашивает,сохранять ли данные в базе6.
Если выбран вариант сохранения данных, тосистема выполняет запись данных в базу ирегистрирует их в текущем заданииАльтернатива4. Если обнаружены некорректные данные, то система выдает сообщение об ошибке ипредлагает их исправить, возвращаясь на предыдущий шаг.172Раздел Выбор данных из базыТипичный ход событийДействия исполнителя1. Пользователь выбрал Выборданных из базы3. Пользователь выбираетданныеОтклик системы2. Система демонстрирует список данных в базе4. Система читает данные и регистрирует их втекущем заданииДиаграммы вариантов использования.
Диаграммы вариантов использованияпозволяют наглядно представить ожидаемое поведение системы. Основными понятиямидиаграмм вариантов использования являются: действующее лицо, вариант использования,связь.Действующее лицо - внешняя по отношению к разрабатываемому программномуобеспечению сущность, которая взаимодействует с ним с целью получения илипредоставления какой-либо информации.
Как уже упоминалось выше, действующимилицами могут быть пользователи, другое программное обеспечение или какие-либотехнические средства, взаимодействующие с разрабатываемым программным обеспечением.Вариант использования - некоторая очевидная для действующего лица процедура,решающая его конкретную задачу. Все варианты использования, так или иначе, связаны стребованиями к функциональности разрабатываемой системы и могут сильно отличаться пообъему выполняемой работы.Связь - взаимодействие действующих лиц и соответствующих вариантовиспользования.Варианты использования также могут быть связаны между собой.
При этом фиксируютсвязи использования и расширения.Использование подразумевает, что существует некоторый фрагмент поведенияразрабатываемого программного обеспечения, который повторяется в нескольких вариантахиспользования. Этот фрагмент оформляют, как отдельный вариант использования иуказывают связь с ним типа «использование».Расширение применяют, если имеется два подобных варианта использования,различающиеся наличием в одном из них некоторых дополнительных действий. В этомслучае дополнительные действия определяют как отдельный вариант использования,который связан с основным вариантом связью типа «расширение».На рис.
6.3 приведены условные обозначения, которые применяют при изображениидиаграмм вариантов использования.Пример 6.1. Построить диаграмму вариантов использования для системы решениякомбинаторно-оптимизационных задач.173Действующее лицо у данной системы одно - Пользователь, который, по сути дела,обращается к системе либо для решения новой задачи, либо для просмотра результатов ранеерешенной задачи, которые должны сохраняться в базе данных.
Представим эти вариантыиспользования на диаграмме (рис. 6.4).174Вариант Выполнение задания на самом деле включает несколько вариантов,различающихся способом определения данных (ввод с клавиатуры или чтение из базы) исохранением введенных данных в базе. Изобразим эти варианты на схеме, указавсоответствующие расширения данного варианта (см. рис. 6.4).Помимо двух основных вариантов использования, система должна такжепредусматривать вспомогательные прецеденты для удаления лишних данных и результатов избазы.Пример 6.2. Построить диаграмму вариантов использования для системы учетауспеваемости студентов.Действующими лицами системы являются Декан, Заместитель декана по курсу иСотрудник деканата.
Варианты использования выявляем, анализируя техническое задание, иизображаем на диаграмме, связывая с соответствующими действующими лицами (рис. 6.5).175Анализ вариантов использования показывает, что вариант получения сводкиуспеваемости по факультету «использует» вариант получения сводки по курсу, что ипредставлено на диаграмме.Полученная диаграмма вариантов использования отражает типичное взаимодействиепользователя с разрабатываемым программным обеспечением. Ее необходимо обсудить сзаказчиком для определения как можно большего числа основных вариантов использования ипроанализировать на полноту обслуживания системы.Естественно, все варианты использования определить, как правило, не удается: новыеварианты фиксируют постоянно, даже в процессе эксплуатации.
Но, чем больше вариантоввыявлено в процессе уточнения спецификаций, тем лучше, так как при этом получают болееточную модель предметной области, что уменьшает вероятность ее пересмотра придобавлении функций.6.3. Построение концептуальной модели предметной областиДиаграммы классов - центральное звено объектно-ориентированных методов разработкипрограммного обеспечения, поэтому все существующие методы используют диаграммыклассов в одной из известных нотаций.
Однако в основном диаграммы классов в этих методахприменяют на этапе проектирования, для того чтобы показать особенности построенияконкретных классов. В отличие от ранее существовавших нотаций, UML предлагает использовать три уровня диаграмм классов в зависимости от степени их детализации:• концептуальный уровень, на котором диаграммы классов, называемыев этом случае контекстными, демонстрируют связи между основными понятиями предметнойобласти;• уровень спецификаций, на котором диаграммы классов отображаютинтерфейсы классов предметной области, т.
е. связи объектов этих классов;• уровень реализации, на котором диаграммы классов непосредственнопоказывают поля и операции конкретных классов.Практически это три разных модели, связь между которыми неоднозначна. Так, есликонцептуальная модель определяет некоторое понятие предметной области как класс, то это неозначает, что для реализации этого понятия будет использован отдельный класс.
Однако вовсех трех моделях нас интересуют типы объектов (классы) и их статические отношения, чтопозволяет использовать единую нотацию.Каждую из перечисленных моделей используют на конкретном этапе разработкипрограммного обеспечения:• концептуальную модель - на этапе анализа;• диаграммы классов уровня спецификации - на этапе проектирования;• диаграммы классов уровня реализации - на этапе реализации.176Концептуальные модели в соответствии с определением оперируют понятиямипредметной области, атрибутами этих понятий и отношениями между ними.
Понятию впредметной области разрабатываемого программного обеспечения могут соответствовать какматериальные предметы, так и абстракции, которые применяют специалисты предметнойобласти.Основным понятиям в модели ставятся в соответствие классы. Класс при этомтрадиционно понимают как совокупность общих признаков заданной группы объектовпредметной области. В соответствии с этим определением на диаграмме классов каждомуклассу соответствует группа объектов, общие признаки которых и фиксирует класс. Так классСтудент объединяет общие признаки группы людей, обучающихся в высших учебныхзаведениях. Экземпляр класса или объект (например, Иванов И.И.) обязательно обладает всейсовокупностью признаков своего класса и может иметь собственные признаки, нефиксированные в классе. Так, например, помимо того, что Иванов И.И.