Добавлен: 15.11.2018
Просмотров: 2450
Скачиваний: 15
Предположим, начальная фаза проекта Алтын заняла 5 дней. В результате двухдневного семинара и последующей работы по анализу прецедентов было принято решение о целесообразности проекта.
Прецеденты на стадии развития
Фаза развития включает несколько итераций фиксированной длительности (скажем, четыре недели), в течение которых реализуются наиболее рискованные, значимые и архитектурно важные части системы, а также идентифицируется и проясняется большая часть требований. Благодаря наличию обратной связи разработчики лучше понимают требования, постепенно уточняют и конкретизируют их. На каждой итерации желательно провести двухдневный семинар. Однако на каждом семинаре не нужно обсуждать все прецеденты. Их нужно упорядочить по приоритетности и сначала рассматривать самые важные прецеденты.
На каждом следующем семинаре нужно дорабатывать и уточнять основные требования. На начальных итерациях процесс изменения требований может происходить достаточно интенсивно. Однако в дальнейшем он стабилизируется. В итеративном процессе происходит постепенная доработка наиболее важных частей системы.
На каждом семинаре список задач пользователей и прецедентов постепенно уточняется. По окончании фазы развития большинство прецедентов должны быть описаны или переписаны в развернутом формате (примерно 80-90%). Если для POS-системы выделено 20 прецедентов, то как минимум 15 наиболее сложных и рискованных из них должны быть определены полностью.
Заметим, что на стадии развития разработка части системы доводится до программной реализации. Поэтому по окончании этой фазы команда разработчиков системы Алтын будет иметь не только достаточно полно определенные прецеденты, но и качественный исполняемый код.
Прецеденты на стадии конструирования
Этап конструирования состоит из некоторого числа итераций фиксированной длительности (например, 20 итераций по 2 недели каждая), в течение которых основное внимание уделяется доработке системы, поскольку наиболее принципиальные вопросы уже решены на стадии развития. На этом этапе тоже некоторое внимание уделяется описанию прецедентов, однако значительно Меньшее, чем на стадии развития. К этому моменту большая часть функциональных и нефункциональных требований должна быть постепенно стабилизирована. Это не означает необходимости замораживания требований и завершения исследований. Однако теперь степень модификации требований от итерации к итерации значительно снижается.
Пример: прецеденты начальной фазы проекта Алтын
На начальной стадии не все прецеденты описываются детально. Модель прецедентов на этом этапе может быть разработана на следующем уровне детализации.
В развернутом формате |
В свободном формате |
Краткое описание |
Оформление продажи Возврат товара |
Вычисление арендной платы Анализ торговой деятельности |
Регистрация выручки Управление пользователями Запуск системы Завершение работы Управление системными таблицами |
Определение остальных требований
Введение
Для определения требований одного описания прецедентов недостаточно. Необходимо определить и другие виды требований, в частности, соглашения о лицензировании, возможностях поддержки системы и т.д. Все эти требования описываются в дополнительной спецификации (supplementary specification).
В словарь терминов (glossary) включаются термины и определения. Он также может служить словарем данных.
Документ "Видение" определяет видение проекта. В нем кратко описываются основные цели проекта, проблемы, указывается круг заинтересованных лиц, их потребности, а также основные идеи предложенного решения.
"Документ "Видение" определяет точку зрения заинтересованных лиц на разрабатываемый продукт в терминах их основных потребностей и свойств продукта. Этот документ содержит описание неочевидных основных требований и составляет основу для более детального описания технических требований".
Примеры для системы Алтын
Целью последующих примеров является не подробное составление документов "Видение", "Словарь терминов" п "Дополнительная спецификация". Задачей этой книги является изучение объектного проектирования, анализа требований в контексте описания прецедентов и объектно-ориентированного анализа, а не изучение проблематики POS-систем или разработка конкретной системы. Поэтому основной пример этой книги будет упомянут только в некоторых разделах, чтобы сохранить последовательность изложения материала, выделить основные моменты и обеспечить быстрое продвижение вперед.
Пример Алтын: фрагмент дополнительной спецификации
Дополнительная спецификация
Введение
В этом документе описаны все требования к POS-системе Алтын, не вошедшие в описание прецедентов.
Функциональность
(Имеющая отношение ко многим прецедентам)
Регистрация событий и обработка ошибок
Все ошибки регистрируются на постоянном носителе.
Подключаемые бизнес-правила
Необходимо обеспечить возможность настройки функциональности системы в различных точках сценариев нескольких прецедентов (эти точки нужно определить) на основе заданных правил.
Безопасность
Необходимо выполнять аутентификацию всех пользователей.
Удобство использования
Человеческие факторы
Пользователь POS-системы будет работать с большим монитором, поэтому необходимо следующее.
• Текст должен быть виден с расстояния 1 м
• Нужно избегать мерцающих цветов
Быстрая, простая и корректная обработка информации — вот главные принципы системы автоматизации торговли, поскольку пользователь хочет поскорее совершить покупку. В противном случае ему не понравится этот магазин (и продавец). Кассир зачастую смотрит не на экран компьютера, а на покупателя или товары. Поэтому предупреждающие сообщения нужно сопровождать звуковыми сигналами, а не только графически отображать на экране.
Надежность
Возможность восстановления информации
При сбоях в работе внешних систем (службы авторизации платежей, бухгалтерской системы и т.д.) нужно обеспечить возможность локальной обработки данных (их сохранение и последующую передачу внешним системам). Этот вопрос требует более детальной проработки.
Производительность
Покупатель хочет сделать покупку как можно скорее. Задержка этого процесса может быть связана с внешней службой авторизации. Наша задача — выполнить авторизацию не более чем за 1 минуту в 90% случаев.
Возможности поддержки
Адаптация системы
Различные пользователи POS-системы Алтын могут устанавливать свои бизнес-правила для обработки данных о продажах. Поэтому в нескольких заранее определенных точках сценария (например, при инициализации новой продажи или при добавлении нового наименования товара) нужно обеспечить возможность подключения бизнес-правил.
Конфигурирование
Сетевые конфигурации различных пользователей POS-системы могут отличаться. Могут использоваться архитектуры "тонкого" и "толстого" клиентов, двухуровневые и многоуровневые архитектуры и т.д. Кроме того, конфигурация ресурсов каждого клиента может изменяться со временем, отражая производственные потребности и потребности в производительности. Следовательно, система должна быть настраиваемой и отражать потребности пользователей. Этот вопрос требует тщательной дополнительной проработки, изучения степени гибкости и способов ее достижения.
Ограничения
Руководство проекта Алтын настаивает на применении технологии Java, поскольку это улучшит возможности по поддержке системы и ее переходу на различные платформы, а также обеспечит простоту разработки,
Приобретаемые компоненты
• Система вычисления налоговых платежей. Разрабатываемая система должна поддерживать работу с подключаемыми внешними системами различных стандартов для разных стран.
Бесплатные компоненты на основе открытого кода
В целом, рекомендуется максимальное использование в этом проекте компонентов на основе открытого кода в рамках Java-технологии.
Несмотря на то, что пока преждевременно определять проектные решения, предлагаются следующие варианты.
• Контур регистрации Jlog
Интерфейсы
Важные интерфейсы и аппаратные средства
-
Сенсорный монитор (воспринимаемый операционной системой как обычный монитор; прикосновения обрабатываются как события мыши).
-
Лазерный сканер для считывания штрих-кодон (ои«чмп подключаемый к специальной клавиатуре; считанный код оЬраЬатывается как последовательность нажатия клавиш).
-
Устройство для печати чеков.
-
Устройство считывания данных с кредитной/дебитной карточки.
-
Устройство считывания подписи (не в первой версии системы).
Бизнес-правила
Имя |
Правило |
Возможность изменения |
ПРАВ1 |
Для платежей по кредитной карточке требуется подпись |
Подпись покупателя будет нужна, но через 2 года большинство пользователей захотят применять цифровое устройство для ввода подписи, з, через пять лет может понадобиться поддержка уникальной цифровой закодированной подписи, введенной в настоящее время в США |
ПРАВ2 |
Правила вычисления налоговых платежей. С продаж отчисляются налоги. Правила налогообложения изложены в официальных документах |
|
ПРАВЗ |
При возврате товара, купленного по кредитной карточке, возврат денег осуществляется не наличными, а путем перевода на кредитную карточку |
|
Вопросы законодательства
Рекомендуется использование бесплатных компонентов на основе открытых систем.
Высокая вероятность изменения. В каждой торговой организации используются свои правила, которые могут изменяться ежедневно и ежечасно
Информация из предметной области
Ценовая политика
Помимо описанных выше правил ценообразования, каждому товару могут соответствовать две цены; исходная и постоянная сниженная цена. Указанная цена товара (без вычисления положенных скидок) соответствует постоянной сниженной цене, если таковая имеется. Однако организации сохраняют исходную цену даже при наличии постоянной сниженной для бухгалтерской отчетности.
Обработка платежей по кредитной и дебитной карточке
Если электронные платежи по кредитной или дебитной карточке подтверждены службой авторизации платежей, то за них несет ответственность эта служба, а не сам покупатель. Следовательно, для каждого платежа продавец должен зафиксировать получение денежных сумм от службы авторизации. Обычно перевод денег за все выполненные в текущий день платежи на счет торговой организации выполняется в ночное время, при этом за каждую транзакцию служба взимает небольшой взнос.
Вычисление налогов
Налоги могут вычисляться по сложным схемам, и суммы отчислений могут часто изменяться на правительственном уровне. Поэтому желательно возложить задачу вычисления налоговых платежей на отдельную программу. Налоги могут взиматься городскими, региональными властями или на уровне государства, Некоторые ставки налогов могут зависеть от категории покупателя или назначения товара (например, товары для детей или фермеров).
Дополнительная спецификация (комментарии)
В дополнительной спецификации содержатся требования, ограничения и другая информация, не вошедшая в описание прецедентов или словарь терминов, включая атрибуты качества и специальные требования. Заметим, что требования, связанные с прецедентами, должны быть представлены в описаниях прецедентов в разделе "Специальные требования", однако некоторые предпочитают также включать их в дополнительную спецификацию. В дополнительную спецификацию можно включать следующие элементы.
• Требования согласно модели FURPS+ — функциональные, требования к удобству использования, надежности, производительности и возможности поддержки.
• Отчеты.
• Ограничения на аппаратные и программные средства (операционные и сетевые системы и т.д.).
• Ограничения, накладываемые на процесс разработки (например, процесс или средства разработки).
• Другие ограничения проектирования или реализации.
• Международные соглашения (единицы измерения, языки и т.д.). В Документация (пользовательская, руководство по установке и администрированию) и справочная информация.
• Соглашения о лицензировании или другие юридические соглашения.
• Разбиение на пакеты.
• Стандарты (технические, обеспечения качества и безопасности).
• Физические требования к окружению (например, температурный режим эксплуатации или ограничения на вибрацию).
• Операционные требования (например, способ обработки ошибок, частота архивации).
• Информация из предметной области (например, о полном цикле обработки платежа по кредитной карточке).
Ограничения (constraints) относятся не к поведению системы, а к проектированию. Они тоже являются требованиями, но название указывает на их ограничительный характер. Приведем следующий пример.
Необходимо использовать продукты Oracle (поскольку с этой компанией существует лицензионное соглашение).
Система должна работать в операционной системе Linux (она бесплатна).
Не стоит принимать проектные решения и устанавливать ограничения на ранних этапах разработки, особенно на начальной стадии, когда имеется слишком мало информации о системе. Однако некоторые ограничения неизбежны, например, интерфейсы с внешними системами или юридические ограничения.
Атрибуты качества
Некоторые требования называются атрибутами качества (quality attributes) системы. К ним относятся удобство использования, надежность и т.д. Заметим, что это качественные характеристики системы, однако не все они должны обеспечивать высокое качество соответствующего процесса (слово "качество" имеет два разных значения). Например, возможности поддержки (качественная характеристика) могут быть низкими, если данный программный продукт не предназначен для долгосрочной эксплуатации.
Атрибуты качества делятся на два типа.
1. Наблюдаемые в процессе работы системы (функциональность, удобство использования, надежность, производительность и т.д.).
2. Ненаблюдаемые в процессе работы системы (возможность поддержки, удобство тестирования и т.д.).
Функциональность системы определяется в описании прецедентов (например, требования к производительности указываются при описании прецедента Оформление продажи).
Другие атрибуты качества, согласно модели FURPS+, определяются в дополнительной спецификации.
Несмотря на то, что функциональность системы относится к качественным характеристикам, ее зачастую не включают в число атрибутов качества. Однако термин "атрибуты качества" не является синонимом термина "нефункциональные требования". Последнее понятие гораздо шире, поскольку включает в себя все характеристики, за исключением функциональности (например, лицензионные соглашения или соглашения о пакетировании).
Атрибуты качества (а значит, и дополнительная спецификация, в которой они описываются) относятся к сфере интересов системного архитектора, поскольку архитектурный анализ и проектирование подразумевают идентификацию и обоснование атрибутов качества в контексте функциональных требований. Например, предположим, что одним из атрибутов качества системы Алтын должна быть ее абсолютная надежность при сбоях внешних систем. С точки зрения архитектора, это требование накладывает отпечаток на крупномасштабные проектные решения.