Введение
В этом кейс-стади акцентируется внимание на моделировании случаев использования для системы банкомата в банке. Система банкомата разработана для удобного доступа клиентов к своим счетам и выполнения различных банковских операций, таких как снятие наличных, внесение наличных, перевод средств, проверка баланса счета и смена PIN-кода. В кейс-стади обсуждаются описание проблемы и требования к системе, а также диаграммы случаев использования, участники и сценарии, созданные для моделирования функциональности системы. Также рассматривается, как другие типы диаграмм UML, такие как диаграммы деятельности и последовательности, могут использоваться совместно сдиаграммами случаев использования для получения более детального представления о поведении и взаимодействии системы. К концу кейс-стади читатели получат четкое понимание процесса моделирования случаев использования и того, как его можно применять к реальным системам, таким как система банкомата.

Руководящие принципы и советы по разработке эффективных случаев использования и написанию корректных сценариев случаев использования
Вот некоторые руководящие принципы, советы и хитрости по разработке случаев использования и написанию корректных сценариев случаев использования:
- Определите участников:Начните с определения участников, которые будут взаимодействовать с системой. К ним могут относиться пользователи, администраторы и любые другие заинтересованные стороны, использующие систему.
- Определите границы системы:Четко определите границы системы и то, что она должна выполнять. Это поможет обеспечить, чтобы сценарии случаев использования охватывали все необходимые требования.
- Используйте структурированный подход:Используйте структурированный подход для разработки сценариев случаев использования. Это может включать использование шаблонов или руководящих принципов, чтобы обеспечить единообразную структуру каждого сценария.
- Пишите четкие и краткие сценарии:Пишите сценарии случаев использования, которые понятны, кратки и легко воспринимаются. Используйте простой язык и избегайте технической терминологии или аббревиатур, которые могут быть незнакомы всем заинтересованным сторонам.
- Используйте глагольный язык:Пишите сценарии случаев использования с использованием глагольного языка, описывающего, что делает пользователь или система. Это поможет обеспечить понимание и последовательность сценариев.
- Фокусируйтесь на целях и потребностях пользователя:Фокусируйтесь на целях и потребностях пользователя при разработке сценариев случаев использования. Это поможет обеспечить, чтобы сценарии отражали точку зрения пользователя и соответствовали его потребностям.
- Определите предусловия и постусловия:Четко определите все предусловия и постусловия, которые должны быть выполнены для успешного завершения сценария. Это поможет обеспечить полноту и точность сценария.
- Включите сценарии исключений:Определите возможные сценарии исключений и включите их в сценарии случаев использования. Это поможет обеспечить, что система может справляться с неожиданными ситуациями и ошибками.
- Получайте обратную связь и проводите проверку:Получайте обратную связь от заинтересованных сторон и регулярно проверяйте сценарии случаев использования, чтобы убедиться, что они остаются точными и актуальными по отношению к последним спецификациям и требованиям системы.
Следуя этим руководящим принципам, советам и хитростям, разработчики могут создавать сценарии случаев использования, которые точно отражают функциональность системы и соответствуют потребностям всех заинтересованных сторон.
Описание проблемы кейс-стади — банкомат
Банку необходимо предоставить своим клиентам удобный способ доступа к своим счетам и выполнения различных банковских операций, таких как снятие наличных, внесение наличных, перевод средств, проверка баланса счета и смена PIN-кода. Чтобы решить эту проблему, банк планирует внедрить систему банкомата, которая позволит клиентам выполнять эти операции с использованием карт банкомата и PIN-кода.
Требования:
- Безопасность: Система банкомата должна обеспечивать безопасность операций клиентов, проверяя личность клиента с помощью его банковской карты и ПИН-кода. Система должна предотвращать несанкционированный доступ к счетам клиентов и должна быть защищена от различных видов мошенничества и атак, таких как скimming и взлом.
- Доступность: Система банкомата должна быть доступна клиентам в любое время, за исключением периодического технического обслуживания и простоев. Система должна быть надежной и устойчивой к сбоям оборудования и программного обеспечения, чтобы минимизировать перерывы в обслуживании и обеспечить высокий уровень удовлетворенности клиентов.
- Пользовательская доступность: Система банкомата должна быть простой в использовании и навигации для клиентов всех возрастов и социальных слоев. Система должна предоставлять четкие инструкции и обратную связь, чтобы помочь клиентам пройти процесс операции и минимизировать ошибки и путаницу.
- Обработка транзакций: Система банкомата должна точно и эффективно обрабатывать операции клиентов, включая снятие и внесение наличных, перевод средств, проверку баланса счета и смену ПИН-кода. Система должна вести точные записи всех операций и предоставлять клиентам чеки и другие документы по мере необходимости.
- Интеграция: Система банкомата должна интегрироваться с существующей ИТ-инфраструктурой банка, включая его основную банковскую систему, сеть и базы данных. Система должна обеспечивать безопасную и надежную связь с другими системами и компонентами для обеспечения точной и своевременной обработки операций и информации о счетах.
Моделирование случаев использования и разработка сценариев использования
Начиная с описания проблемы системы банкомата, следующим шагом является выявление различных случаев использования, необходимых для удовлетворения потребностей пользователей системы. Это включает анализ требований системы и определение конкретных действий, которые пользователи могут выполнять при взаимодействии с системой. Каждый случай использования будет иметь свою собственную группу сценариев, описывающих, как система и пользователь будут взаимодействовать в конкретных ситуациях. Эти сценарии следует разрабатывать в структурированной форме, используя ясный и краткий язык, чтобы обеспечить их легкое понимание всеми заинтересованными сторонами проекта.
Процесс выявления случаев использования и разработки сценариев использования является критически важным этапом жизненного цикла разработки программного обеспечения. Он позволяет команде разработчиков полностью понять требования системы и разработать решение, отвечающее потребностям пользователей. По мере продвижения процесса разработки может потребоваться уточнение случаев использования и сценариев для отражения изменений в требованиях или для учета обратной связи от заинтересованных сторон. Этот итеративный процесс помогает обеспечить, что конечная система отвечает потребностям всех заинтересованных сторон и способна обрабатывать широкий спектр сценариев и случаев использования.
- Диаграмма случаев использования:
Диаграмма случаев использования для системы банкомата может включать следующих участников:
- Клиент
- Банк
И следующие случаи использования:
- Снять наличные
- Внести наличные
- Проверить баланс
- Перевести средства
- Сменить ПИН-код
Диаграмма показывает взаимосвязи между участниками и случаями использования, указывая, какие случаи использования доступны каким участникам.
- Сценарии использования:
а) Снять наличные:
- Клиент вставляет свою банковскую карту в устройство.
- Система запрашивает у клиента ввести его ПИН-код.
- Клиент вводит свой ПИН-код.
- Система проверяет PIN-код.
- Клиент выбирает опцию «Снять наличные».
- Система предлагает клиенту ввести сумму наличных, которую он хочет снять.
- Клиент вводит сумму наличных.
- Система выдает наличные.
- Клиент извлекает свою банковскую карту и забирает наличные.
b) Внести наличные:
- Клиент вставляет свою банковскую карту в устройство.
- Система предлагает клиенту ввести свой PIN-код.
- Клиент вводит свой PIN-код.
- Система проверяет PIN-код.
- Клиент выбирает опцию «Внести наличные».
- Система предлагает клиенту ввести сумму наличных, которую он хочет внести.
- Клиент вводит сумму наличных.
- Система проверяет сумму и отображает ее клиенту.
- Клиент подтверждает сумму.
- Система принимает наличные и зачисляет их на счет клиента.
c) Проверить баланс:
- Клиент вставляет свою банковскую карту в устройство.
- Система предлагает клиенту ввести свой PIN-код.
- Клиент вводит свой PIN-код.
- Система проверяет PIN-код.
- Система отображает баланс счета клиента.
d) Перевод средств:
- Клиент вставляет свою банковскую карту в устройство.
- Система предлагает клиенту ввести свой PIN-код.
- Клиент вводит свой PIN-код.
- Система проверяет PIN-код.
- Клиент выбирает опцию «Перевод средств».
- Система предлагает клиенту ввести номер счета, на который он хочет перевести средства.
- Клиент вводит номер счета.
- Система предлагает клиенту ввести сумму средств, которые он хочет перевести.
- Клиент вводит сумму средств.
- Система проверяет сумму и отображает ее клиенту.
- Клиент подтверждает сумму.
- Система переводит средства и отображает клиенту сообщение о подтверждении.
е) Сменить PIN:
- Клиент вставляет свою банковскую карту в устройство.
- Система предлагает клиенту ввести свой текущий PIN-код.
- Клиент вводит свой текущий PIN-код.
- Система проверяет текущий PIN-код.
- Система предлагает клиенту ввести свой новый PIN-код.
- Клиент вводит свой новый PIN-код.
- Система предлагает клиенту подтвердить свой новый PIN-код.
- Клиент подтверждает свой новый PIN-код.
- Система обновляет PIN-код клиента и отображает сообщение о подтверждении.
Уточнение сценария использования – Снятие наличных
Уточнение сценария использования по мере продвижения процесса разработки важно по нескольким причинам:
- Чтобы убедиться, что сценарий точен и отражает текущее состояние системы: По мере продвижения процесса разработки система может измениться, и могут появиться новые требования. Уточнение сценария использования помогает обеспечить его точность и актуальность по отношению к последним спецификациям системы.
- Чтобы выявить отсутствующие или незавершенные требования: По мере развития системы может стать очевидным, что для полного отражения функциональности системы требуются дополнительные требования. Уточнение сценария использования помогает выявить отсутствующие или незавершенные требования.
- Чтобы улучшить удобство использования и пользовательский опыт: Уточнение сценария использования может помочь улучшить удобство использования и пользовательский опыт системы. Уточняя сценарий, разработчики могут лучше понять потребности пользователя и принимать решения по проектированию, которые лучше соответствуют этим потребностям.
Процесс уточнения сценария использования может включать несколько этапов, включая:
- Проверка сценария на точность и полноту: Разработчики должны проверить сценарий, чтобы убедиться, что он точно отражает текущее состояние системы и что все требования учтены.
- Выявление любых отсутствующих или неполных требований: Разработчики должны выявить любые отсутствующие или неполные требования и работать над их включением в сценарий.
- Улучшение пользовательского интерфейса: Разработчики должны улучшить пользовательский интерфейс для повышения удобства использования и качества пользовательского опыта с учетом обратной связи пользователей и лучших практик проектирования.
- Включение обратной связи: Разработчики должны учитывать обратную связь заинтересованных сторон и пользователей для улучшения сценария и обеспечения соответствия потребностей всех пользователей.
Шаги по улучшению сценария использования
Постоянно улучшая сценарий использования на протяжении всего процесса разработки, разработчики могут обеспечить соответствие системы потребностям и требованиям пользователей и сделать ее максимально удобной и дружелюбной для пользователя.
Вот подробное описание сценария «Снять наличные» для системы банкомата, включая нормальные и исключительные потоки, а также точки вставки, отражающие реальную жизненную ситуацию:
Сценарий:Снять наличные
Основной участник:Пользователь
Предварительные условия:
- Пользователь вставил свою карту банкомата в устройство.
- Пользователь ввел свой правильный PIN-код.
Основной поток:
- Пользователь выбирает опцию «Снять наличные» в главном меню.
- Банкомат запрашивает у пользователя ввести сумму, которую он хочет снять.
- Пользователь вводит сумму, которую он хочет снять.
- Банкомат проверяет, достаточно ли средств на счете пользователя для покрытия суммы снятия.
- Банкомат выдает запрашиваемые наличные пользователю.
- Банкомат отображает сообщение о подтверждении успешного снятия и предлагает пользователю выбрать другую операцию или завершить сессию.
- Пользователь выбирает другую операцию или завершает сессию.
- Банкомат выдает карту пользователя.
Исключительные потоки:
1a. Недостаточно средств
- Банкомат проверяет, что у пользователя недостаточно средств на счете для покрытия суммы снятия.
- Банкомат отображает сообщение об ошибке, информирующее пользователя, что у него недостаточно средств для завершения операции.
- Банкомат предлагает клиенту либо ввести меньшую сумму снятия, либо отменить транзакцию.
- Клиент либо вводит меньшую сумму снятия, либо отменяет транзакцию.
2a. Неверная сумма
- Клиент вводит недопустимую сумму снятия, например, отрицательное число или значение, превышающее его дневной лимит снятия.
- Банкомат отображает сообщение об ошибке, информирующее клиента о том, что введённая сумма недействительна.
- Банкомат предлагает клиенту ввести допустимую сумму снятия.
- Клиент вводит допустимую сумму снятия.
3a. Карта задержана
- Банкомат не может выдать наличные из-за сбоя оборудования или программного обеспечения.
- Банкомат отображает сообщение об ошибке, информирующее клиента о том, что его карта была задержана.
- Банкомат предлагает клиенту обратиться в свой банк или службу поддержки клиентов за помощью.
- Клиент обращается в свой банк или службу поддержки клиентов, чтобы получить свою карту обратно.
Точки вставки:
- После шага 1: Клиент вставляет свою карту банкомата в устройство и вводит свой PIN.
- После шага 2: Клиент вводит сумму наличных, которую он хочет снять.
- После шага 3: Банкомат проверяет, достаточно ли средств у клиента для покрытия суммы снятия.
- После шага 5: Банкомат выдаёт запрашиваемые наличные клиенту.
Краткое содержание
Приложение – Уточнённые сценарии использования – Банкомат
Название сценария использования: Снять наличные
Участники:Клиент, банкомат
Предварительные условия: Клиент должен иметь действующую карту банкомата и номер PIN. Банкомат должен работать исправно и быть подключенным к банковской сети.
Основной поток:
- Клиент вставляет свою карту банкомата в слот для считывания карт на банкомате.
- Банкомат запрашивает у клиента ввести свой номер PIN с помощью клавиатуры.
- Клиент вводит свой номер PIN.
- Банкомат проверяет номер PIN и отображает варианты главного меню.
- Клиент выбирает опцию «Снять наличные» из меню.
- Банкомат запрашивает у клиента ввести сумму наличных, которую он хочет снять, с помощью клавиатуры.
- Клиент вводит сумму наличных, которую он хочет снять.
- Банкомат проверяет, достаточно ли средств на счете клиента для завершения операции.
- Банкомат выдает запрашиваемую сумму наличных клиенту.
- Банкомат отображает сообщение о том, что операция завершена.
- Клиент извлекает свою карту банкомата из слота для считывания карт.
Альтернативные потоки:
- 1a. Если банкомат не может прочитать карту клиента, банкомат отображает сообщение об ошибке и предлагает клиенту попробовать снова или обратиться в свой банк.
- 4a. Если клиент три раза вводит неверный номер PIN, банкомат оставляет его карту и отображает сообщение о том, что карта была задержана.
- 8a. Если у клиента недостаточно средств на счете для завершения операции, банкомат отображает сообщение об ошибке и предлагает клиенту ввести меньшую сумму или отменить операцию.
Название использования:Проверка баланса счета
Участники:Клиент, банкомат
Предварительные условия: Клиент должен иметь действующую карту банкомата и номер PIN. Банкомат должен работать исправно и быть подключенным к банковской сети.
Основной поток:
- Клиент вставляет свою карту банкомата в слот для считывания карт на банкомате.
- Банкомат запрашивает у клиента ввести свой номер PIN с помощью клавиатуры.
- Клиент вводит свой номер PIN.
- Банкомат проверяет номер PIN и отображает варианты главного меню.
- Клиент выбирает опцию «Проверить баланс счета» из меню.
- Банкомат отображает текущий баланс счета клиента на экране.
- Клиент извлекает свою банковскую карту из слота считывания карт.
Альтернативные потоки:
- 1a. Если банкомат не может прочитать банковскую карту клиента, банкомат отображает сообщение об ошибке и предлагает клиенту попробовать снова или обратиться в свой банк.
- 4a. Если клиент три раза вводит неверный номер PIN, банкомат оставляет его карту и отображает сообщение о том, что карта была задержана.
Название использования:Внести наличные
Актеры:Клиент, банкомат
Предварительные условия:Клиент должен иметь действующую банковскую карту и номер PIN. Банкомат должен работать исправно и быть подключенным к банковской сети.
Основной поток:
- Клиент вставляет свою банковскую карту в слот считывания карт на банкомате.
- Банкомат предлагает клиенту ввести свой номер PIN с помощью клавиатуры.
- Клиент вводит свой номер PIN.
- Банкомат проверяет номер PIN и отображает основные варианты меню.
- Клиент выбирает опцию «Внести наличные» из меню.
- Банкомат предлагает клиенту вставить наличные, которые он хочет внести, в слот для внесения наличных на банкомате.
- Клиент вставляет наличные в слот для внесения.
- Банкомат проверяет наличные и отображает сообщение с указанием суммы, внесенной наличными.
- Клиент извлекает свою банковскую карту из слота считывания карт.
Ссылки: Техники моделирования использования
- Что такое спецификация использования?
- Практическое руководство по анализу устойчивости
- Определение требований пользователей с помощью диаграмм использования
- История пользователя против использования для разработки программного обеспечения по методологии Agile
- Подход, основанный на использовании, для разработки по методологии Agile
- Типы актеров в модели использования
- Что такое диаграмма использования?
- Что такое UML?
- Зачем моделирование UML?
Эта статья также доступна на Deutsch, English, Español, فارسی, Bahasa Indonesia, 日本語, Polski, Portuguese, Việt Nam, 简体中文 and 繁體中文











