Форум Сообщества Аналитиков
Общий раздел => Примеры => Задачи студентов => Тема начата: yakrasafcheg от 25 Августа 2010, 21:22:15
-
Снова я! ::)
Нужно составить диаграмму деятельности варианта использования.
Проект представляет собой программу для школы (инф-я об ученика, оценках, родителях и т.д.)
Рассматриваю вариант использования: Работать с информацией о родителях.
Привожу предполагаемую спецификацию варианта использования, ну и мою activity diagram.
1.0. Имя прецедента:
Работать с таблицей родителей
1.1. Краткое описание:
Этот вариант использования дает пользователю возможность работать с информацией о родителях.
2.0. Поток событий:
2.1. Основной поток событий:
Данный вариант использования начинает выполняться, когда пользователю требуется получить или
редактировать данные родителей учеников.
2.1.1. Запуск программы:
Пользователь запускает программу. Программа отображает главное окно.
2.1.2. Выбор ученика:
Пользователь программы выбирает ученика, информация о родителях которого требуется,
посредством выбора номера класса, буквы класса, в котором ученик числится, иначе выполняется
альтернативный поток 2.2.1.
2.1.3. Информация о родителях:
Пользователь программы вызывает диалог с информацией о родителях ученика.
2.1.4. Просмотр информации о родителях:
Пользователь просматривает информацию о родителях, когда пользователь совершает действие,
выполняется один из починенных потоков, иначе выполняется альтернативный поток 2.2.2.
2.1.4.1. Просмотр записи о родителях:
Пользователь просматривает данные родителей, выбранного им ученика.
2.1.4.2. Просмотр других записей родителей:
Пользователь непосредственно из диалога просмотра информации о родителях выбранного
ученика вызывает информацию о других родителях, не связанных с данным учеником.
2.2. Альтернативные потоки:
2.2.1. Поиск родителя:
Пользователь программы запускает поиск родителя, вводит фамилию родителя для поиска, после
чего если родители с такой фамилией найдены система выводит их список, пользователь выбирает
требуемую запись.
2.2.2. Редактирование информации о родителях:
Пользователь редактирует данные родителей, когда пользователь совершает действие,
выполняется один из починенных потоков.
2.2.2.1. Внести изменения:
Пользователь вносит изменения в данные родителей.
2.2.2.1. Удалить запись о родителях:
Пользователь удаляет выбранную запись о родителях.
2.2.2.2. Привязать запись:
Пользователь привязывает выбранную запись родителей к выбранному ученику.
2.2.2.3. Новая запись:
Пользователь создает новую запись о родителях.
2.2.3. Сохранение изменений:
В любой момент времени работы с диалогом оценок пользователь может сохранить внесенные
изменения.
3.0. Специальные требования:
Отсутствуют.
4.0. Предусловия:
Отсутствуют.
5.0. Постусловия:
Если вариант использования завершен успешно, если пользователь
6.0. Точки расширения:
Отсутствуют.
Направьте на путь истинный... ???
-
Красавчиг, чего это вас все время на синхронизацию тянет?
Линия синхронизации используется тогда и только тогда, когда необходимо отобразить распараллеливание или свертку параллельных процессов.
Если нет разделение потоков с какого перепуга возникает потребность слияния?
Какая-то забавная у вас последняя диаграмма - имхо что-то не так
Не надо путать разделение потока управления в decision node и слияние потока управления в merge
-
;D
Немного перерисовал.
На счет последней - сам пока не могу ничего путного придумать.
-
Диаграмма деятельности "Редактировать информацию о родителях"
-
Так на много лучше и понятнее. Только при использовании Decision node следует указывать условие, а на ветках потока управления показывать по какому результату выбирается ветка.
А то у вас получается дошли до развилки и дальше? Какой вопрос стоит на камне - направо пойдешь информацию о родителя посмотришь, налево пойдешь отредактируешь, верно? d.n. точка принятия решения, точка выбора 1 из альтернативных путей.
Если же по сути порядок действия не важен, если они могут исполнятся параллельно: включить сигнал тревоги, вызвать ответственное лицо, сообщить в 01, тогда сначала рисуется 1 линия синхронизации (распараллеливания), потом слияние
А у вас получалось - начинает всего один единственный путь, он нигде не разбивался на параллельные потоки и вдруг происходит слияние, которое следует читать так - поток управления действию за слиянием будет передан тогда и только тогда, когда все входящие параллельные потоки будет завершены, необязательно одновременно. А у вас на диаграмме не было двух параллельных потоков, отсюда диаграмма дойдя до этого момента никогда не исполнится