Функциональные возможности:
· Система должна обеспечивать многопользовательский режим работы.
· Если конкретный курс оказывается заполненным в то время, когда студент формирует свой учебный график, включающий данный курс, то система должна известить его об этом.
Удобство использования:
· Пользовательский интерфейс должен быть Windows-совместимым.
Надежность.
· Система должна быть в работоспособном состоянии 24 часа
в день 7 дней в неделю, время простоя — не более 10%.
Производительность.
· Система должна поддерживать до 2000 одновременно работающих с центральной базой данных пользователей и до 500 пользователей, одновременно работающих с локальными серверами.
Безопасность.
· Система не должна позволять студентам изменять любые учебные графики, кроме своих собственных, а также не должна позволять профессорам модифицировать конкретные курсы, выбранные другими профессорами.
· Только профессора имеют право ставить студентам оценки.
· Только регистратор может изменять любую информацию о студентах.
Проектные ограничения.
· Система должна быть интегрирована с существующей сис-
темой каталога курсов, функционирующей на основе реля-
ционной СУБД.
Создание начальной версии модели вариантов использования
Действующие лица:
· Регистратор — формирует учебный план и каталог курсов, записывает студентов на курсы, ведет все данные о курсах, профессорах, успеваемости и студентах.
· Расчетная система — получает от данной системы информацию по оплате за курсы.
· Каталог курсов — база данных, содержащая информацию о курсах.
Варианты использования.
Исходя из потребностей действующих лиц, выделяются следующие варианты использования:
· Войти в систему;
· Зарегистрировать студента на курсы;
· Вывести табель успеваемости;
· Назначить курсы для преподавания;
· Проставить оценки;
· Вести информацию о профессорах;
· Вести информацию о студентах;
· Закрыть регистрацию.
Начальная версия диаграммы вариантов использования показана на рис. 3.19.
Рис. 3.19. Начальная версия диаграммы вариантов использования
Модификация модели вариантов использования
Согласно постановке задачи в состав пользователей системы следует ввести студентов и профессоров. При этом в описание действующих лиц и вариантов использования вносятся изменения. Модифицированная версия диаграммы вариантов использования показана на рис. 3.20.
Рис. 3.20. Модифицированная диаграмма вариантов использования для системы регистрации
Поскольку вход в систему полностью одинаков для регистратора, студента и профессора, их поведение можно обобщить и ввести новое действующее «Пользователь» (супертип) с общим вариантом использования «Войти в систему», подтипами которого являются Регистратор, Студент и Профессор.
Действующие лица:
· Студент — записывается на курсы и просматривает табель успеваемости.
· Профессор - выбирает курсы для преподавания и ставит оценки.
· Регистратор — формирует учебный план и каталог курсов, ведет все данные о курсах, профессорах и студентах.
· Расчетная система — получает отданной системы информацию об оплате за курсы.
· Каталог курсов — база данных, содержащая информацию о курсах.
Варианты использования:
· Войти в систему;
· Зарегистрироваться на курсы;
· Просмотреть табель успеваемости;,
· Выбрать курсы для преподавания;
· Проставить оценки;
· Вести информацию о профессорах;
· Вести информацию о студентах;
· Закрыть регистрацию.
Примеры спецификаций вариантов использования
Вариант использования «Войти в систему».
Краткое описание.
Данный вариант использования описывает вход пользователя в систему регистрации курсов.
Основной поток событий.
Данный вариант использования начинает выполняться, когда пользователь хочет войти в систему регистрации курсов.
1. Система запрашивает имя пользователя и пароль.
2. Пользователь вводит имя и пароль.
3. Система подтверждает имя и пароль, после чего открывается доступ в систему.
Альтернативные потоки.
Неправильное имя/пароль.
Если во время выполнения основного потока обнаружится, что пользователь ввел неправильное имя и/или пароль, система выводит сообщение об ошибке. Пользователь может вернуться к началу основного потока или отказаться от входа в систему, при этом выполнение варианта использования завершается.
Предусловия.
Отсутствуют.
Постусловия.
Если вариант использования выполнен успешно, пользователь входит в систему. В противном случае состояние системы не изменяется.
Вариант использования «Зарегистрироваться на курсы»:
Краткое описание.
Данный вариант использования позволяет студенту зарегистрироваться на предлагаемые курсы в текущем семестре. Студент может изменить свой выбор (обновить или удалить курсы), если изменение выполняется в установленное время в начале семестра. Система каталога курсов предоставляет список всех конкретных курсов текущего семестра.
Основной поток событий.
Данный вариант использования начинает выполняться, когда студент хочет зарегистрироваться на предлагаемые курсы или изменить свой график курсов.
1. Система запрашивает требуемое действие (создать график, обновить график, удалить график).
2. Когда студент указывает действие, выполняется один из подчиненных потоков (создать, обновить, удалить или принять график).
Создать график.
1. Система выполняет поиск в каталоге доступных предлагаемых курсов и выводит их список.
2. Студент выбирает из списка 4 основных курса и 2 альтернативных курса.
3. После выбора система создает график студента.
4. Выполняется подчиненный поток «Принять график».
Обновить график.
1. Система выводит текущий график студента.
2. Система выполняет поиск в каталоге доступных предлагаемых курсов и выводит их список.
3. Студент может обновить свой выбор курсов, удаляя или добавляя предлагаемые курсы.
4. После выбора система обновляет график.
5. Выполняется подчиненный поток «Принять график».
Удалить график.
1. Система выводит текущий график студента.
2. Система запрашивает у студента подтверждения удаления графика.
3. Студент подтверждает удаление.
4. Система удаляет график. Если график включает предлагаемые курсы, на которые записался студент, он должен быть удален из списков этих курсов.
Принять график.
Для каждого выбранного, но еще не «зафиксированного» предлагаемого курса в графике система проверяет выполнение студентом предварительных требований (прохождение определенных курсов), факт открытия предлагаемого курса и отсутствие конфликтов графика. Затем система добавляет студента в список выбранного предлагаемого курса. Курс фиксируется в графике и график сохраняется в системе.
Альтернативные потоки.
Сохранить график.
В любой момент студент может вместо принятия графика сохранить его. В этом случае шаг «Принять график» заменяется на следующий:
1. «Незафиксированные» предлагаемые курсы помечаются в графике как «выбранные».
2. График сохраняется в системе.
Не выполнены предварительные требования, курс заполнен или имеют место конфликты графика.
Если во время выполнения подчиненного потока «Принять график» система обнаружит, что студент не выполнил необходимые предварительные требования или выбранный им предлагаемый курс заполнен, или имеют место конфликты графика, то выдается сообщение об ошибке. Студент может либо выбрать другой предлагаемый курс и продолжить выполнение варианта использования, либо сохранить график, либо отменить операцию, после чего основной поток начнется с начала.
График не найден.
Если во время выполнения подчиненных потоков «Обновить график» или «Удалить график» система не может найти график студента, то выдается сообщение об ошибке. После того, как студент подтвердит это сообщение, основной поток начнется с начала.
Система каталога курсов недоступна.
Если окажется, что невозможно установить связь с системой каталога курсов, то будет выдано сообщение об ошибке. После того, как студент подтвердит это сообщение, вариант использования завершится.
Регистрация на курсы закончена.
Если в самом начале выполнения варианта использования окажется, что регистрация на текущий семестр закончена, будет выдано сообщение, и вариант использования завершится.
Удаление отменено.
Если во время выполнения подчиненного потока «Удалить график» студент решит не удалять его, удаление отменяется, и основной поток начнется с начала.
Предусловия.
Перед началом выполнения данного варианта использования студент должен войти в систему.
Постусловия.
Если вариант использования завершится успешно, график студента будет создан, обновлен или удален. В противном случае состояние системы не изменится.
Вариант использования «Закрыть регистрацию».
Краткое описание.
Данный вариант использования позволяет регистратору закрывать процесс регистрации. Предлагаемые курсы, на которые не записалось достаточного количества студентов (менее трех), отменяются. В расчетную систему передается информация о каждом студенте по каждому предлагаемому курсу, чтобы студенты могли внести оплату за курсы.
Основной поток событий.
Данный вариант использования начинает выполняться, когда регистратор запрашивает прекращение регистрации.
1. Система проверяет состояние процесса регистрации. Если регистрация еще выполняется, выдается сообщение и вариант использования завершается.
2. Для каждого предлагаемого курса система проверяет, ведет ли его какой-либо профессор и записалось ли на него не менее трех студентов. Если эти условия выполняются, система фиксирует предлагаемый курс в каждом графике, который включает данный курс.
3. Для каждого студенческого графика проверяется наличие в нем максимального количества основных курсов; если их недостаточно, система пытается дополнить альтернативными курсами из списка данного графика. Выбирается первый доступный альтернативный курс. Если таких курсов нет, то никакое дополнение не происходит.
4. Система закрывает все предлагаемые курсы. Если в каком-либо предлагаемом курсе оказывается менее трех студентов (с учетом добавлений, сделанных в п.З), система отменяет его и исключает из каждого содержащего его графика.
5. Система рассчитывает плату за обучение для каждого студента в текущем семестре и направляет информацию в расчетную систему. Расчетная система посылает студентам счета для оплаты с копией их окончательных графиков.
Альтернативные потоки.
Предлагаемый курс никто не ведет.
Если во время выполнения основного потока обнаруживается, что некоторый курс не ведется никаким профессором, то этот курс отменяется. Система исключает данный курс из каждого содержащего его графика.
Расчетная система недоступна.
Если невозможно установить связь с расчетной системой, через некоторое установленное время система вновь попытается связаться с ней. Попытки будут повторяться до тех пор, пока связь не установится.
Предусловия.,
Перед началом выполнения данного варианта использования регистратор должен войти в систему.
Постусловия.
Если вариант использования завершится успешно, регистрация закрывается. В противном случае состояние системы не изменится.
! Следует запомнить.
1. Моделирование бизнес-процессов является важной составной частью проектов по созданию крупномасштабных систем ПО. Отсутствие таких моделей является одной из главных причин неудач многих проектов.
2. Бизнес-процесс определяется как логически завершенный набор взаимосвязанных и взаимодействующих видов деятельности, поддерживающий деятельность организации и реализующий ее политику, направленную на достижение поставленных целей.
3. Бизнес-модель — это формализованное описание процессов, связанных с ресурсами и отражающих существующую или предполагаемую деятельность предприятия. Построение бизнес-моделей заключается в применении различных методов и средств для визуального моделирования бизнес-процессов.
4. Для выявления требований используются (в различных сочетаниях) следующие методы:
· собеседование (интервьюирование);
· анкетирование;
· моделирование и анализ бизнес-процессов;
· сессии по выявлению требований (мозговой штурм);
· создание и демонстрация пользователям работающих прототипов приложений (для выявления замечаний и дополнительных требований).
Основные понятия
Бизнес-процесс, бизнес-модель, бизнес-правила, действующее лицо бизнес-процессов, вариант использования с точки зрения бизнес-процессов, бизнес-объект.
? Вопросы для самоконтроля
1. Что такое бизнес-процесс и бизнес-модель?
2. Что дает построение бизнес-моделей и какие проблемы с ним связаны?
3. Охарактеризуйте достоинства и область применения методики моделирования Rational Unified Process.
4. Какие проблемы могут возникнуть при спецификации требований в случае отсутствия бизнес-моделей?
ГЛАВА 4.
АНАЛИЗ И ПРОЕКТИРОВАНИЕ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Прочитав эту главу, вы узнаете:
· Что представляет собой анализ и проектирование ПО.
· В чем заключается структурный подход к анализу и проектированию ПО.
· В чем заключается объектно-ориентированный подход к анализу и проектированию ПО.
4.1.