Форум Сообщества Аналитиков

Дисциплины => Системный Анализ и Требования => Варианты Использования (Use Case) => Тема начата: Andrey Gusev от 15 Октября 2009, 22:56:52

Название: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 15 Октября 2009, 22:56:52
Пример.
Система ведет учет прихода/расхода деталей на складе.


--- СИСТЕМНЫЕ ВАРИАНТЫ ИСПОЛЬЗОВАНИЯ ---
ВИ1. Ввод информации о поступлении деталей.
...

ВИ2. Ввод информации о расходе деталей.
...

ВИ3. Просмотр остатков на складе.
1. ....
2. ....
3. Пользователь выбирает "просмотр остатков на складе"
4. Система показывает ...

что обычно пишут на месте п.4 ВИ3? Указывают ссылку на раздел, описывающий форму пользовательского интерфейса, где указывается, что будет таблица, с колонками "наименование товара" и "остаток". И в разделе описывающем форму, конкретизируют, что источником данных будет то-то и то-то?

Или в тексте ВИ, как-то пишется, что будут показаны данные, получаемые как результат некого алгоритма по исходным данным введенным при ВИ1 и ВИ2?

или еще каким-то третьим способом?
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Galogen от 16 Октября 2009, 09:09:57
Андрей.
1. Мне не нравятся Ваши наименования ВИ. Они не отражают цели, которую преследует пользователь, а скорее показываю некотрую функцию системы, которую она должна обеспечить. Но любая ИС по определению должна обеспечить ввод, изменение и удаление и т.п. просмотр..

2.Ви - это описания требоваий, т.е. того, что следует делать системе в ответ на воздействия внешней сущности, учитывая это, я бы написал Система показывает остатки на складе на текущую дату.
То, о чем вы справшиваете далее, это размещается в дополнительных требованиях (никто не мешает при описании шага ВИ сделать ссылку на прототип GUI

Кроме того существует понятие Иллюстрированные сценарии ВИ (http://www.intuit.ru/department/itmngt/analisis/10/3.html)

Кроме того, все зависит от того, как Вы договоритесь в команде. Всегда нужно учитывать для кого Вы пишите свой документ
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 10:01:44
Спасибо за ответ.

Я вижу цели написания ВИ
1) в том, чтобы разговорить заказчика. (На этапе описания концепции все бывает хорошо, да-да расходный документ, имеет атрибут дата все именно так, но после того как начинает писаться сценарий, выходит, что дату мы ввести не можем, потому, что на практике дата идет задним числом и тп)
2) в том, чтобы связать тесты и требования заказчика. (если ВИ являются входными данными для тестера, то так оно и получается)
3) в том, чтобы [в теории] не тратить время в ситуации "блин, зачем я написал 2 месяца назад if ( invoiceTotal < 3.5 ) { ... }".

4) не цель,а ограничение: -- текст одного ВИ не должен сильно меняться, если меняется способ его реализации.

для (2) - на алгоритм лучше сослаться через интерфейс.
для (4) - лучше этого не делать.

Чем именно плохи мои название ВИ? Не отражает бизнес-смысл операции? "ВИ1. учесть поступление деталей", "ВИ2. учесть расход деталей" :) ?

Делаете ли вы ссылки на алгоритмы? через интерфейс или как-то еще?
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 10:36:35
Цитата: Galogen
1. ... Но любая ИС по определению должна обеспечить ввод, изменение и удаление и т.п. просмотр..

Что-то новое в определении ИС :о)) ИС вроде должна решать какие-то предметные задачи, нее?
Вот именно из-за подобных определений люди и пишут подобные названия ВИ. Это неправильно.

Цитата: Andrey Gusev
Чем именно плохи мои название ВИ? Не отражает бизнес-смысл операции? "ВИ1. учесть поступление деталей", "ВИ2. учесть расход деталей" :) ?

Тем, что они формулируют задачу системы с точки зрения программиста. Что делает Ваша система - позволяет вводить данные? А если они станут откуда-нибудь загружаться - будете что-то менять?
Рекомендую назвать эти действия системы как-нибудь так: регистрация/оформление приход материалов (деталей) на склад и отпуск материалов (деталей) в производство (например, или куда там они у Вас отпускаются). Спросите у Ваших предметников (кладовщиков тех же), как они на своем языке называют эти действия, и так же назовите свои прецеденты. Тем самым Вы убъете сотню (или даже две) зайцев - уберете несколько совершенно ненужных проблем,  и начнете выстраивать какую-никакую коммуникацию с заказчиком.

А "учет" вообще-то - это все действия, связанные с регистраций движения материалов + их инвентаризация на складе, так что отдельное действие само по себе учетом не является.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: bas от 16 Октября 2009, 10:37:33
Кроме того существует понятие Иллюстрированные сценарии ВИ (http://www.intuit.ru/department/itmngt/analisis/10/3.html)
Ну не знаю. Не понравились мне эти ИС ВИ, они хотят и НФТ и Ограничения засунуть в описание ВИ, что ИМХО не совсем верно и ВИ будет перегружен инфой, которую потом будет трудно воспринимать ...
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 10:42:42
Цитата: bas
Ну не знаю. Не понравились мне эти ИС ВИ, они хотят и НФТ и Ограничения засунуть в описание ВИ, что ИМХО не совсем верно и ВИ будет перегружен инфой, которую потом будет трудно воспринимать ...

а мне понравилось :о)) "ИС ВИ НФТ в ВИ ИМХО ВИ" что тут трудного - очень хорошее предложение :о))
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: bas от 16 Октября 2009, 10:47:59
Водолей,

А Вы удосужились прочитать по приведенной Эдом ссылке, прежде чем наезжать?
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 10:52:06
во-первых, "удосужился"
во-вторых, это не "наезд"
в-третьих, речь о количестве употребленных Вами аббревиатур в одном предложении
в-четвертых, было бы неплохо что-то сказать по предмету обсуждения
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Виталий Григораш от 16 Октября 2009, 10:55:36
Такой способ не спасает от изменений. Поменяли циферку и давайте ребята переписывайте все кейсы, где эта циферка использовалась. Лучше сделать ссылку на требование. А в требовании уже указать параметры и другое.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Виталий Григораш от 16 Октября 2009, 10:58:41
что обычно пишут на месте п.4 ВИ3?
Напишите в кейсе:
4. Система отображает параметры объекта. (смотрите Требование1)

Требование1:
Система должна отображать следующие параметры объекта
 - Название
 - Стоимость
 -....
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: bas от 16 Октября 2009, 11:29:06
Водолей,

Специально для Вас перевожу:
Ну не знаю. Не понравились мне эти Иллюстрированные Сценарии Вариантов Использования, они хотят и НеФункциональные Требования и Ограничения засунуть в описание Вариантов Использования, что по моему скромному мнению не совсем верно и Вариант Использования будет перегружен информацией, которую потом будет трудно воспринимать ...

З.Ы. Просто спросить можно по разному, и я призываю более уважительно относится к друг другу.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 11:29:47
Стало быть:
4. Система открывает форму (см ПИ1.) и отображает параметры объекта. (см. Требование1)

Требования к пользовательскому интерфейсу

ПИ1. Форма1
Элемент.       тип                  источник данных
Таблица 1     таблица            см Требование1.

так примерно поступают?
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 11:31:19
Цитата: Andrey Gusev
ВИ3. Просмотр остатков на складе.
1. ....
2. ....
3. Пользователь выбирает "просмотр остатков на складе"
4. Система показывает ...

что обычно пишут на месте п.4 ВИ3? Указывают ссылку на раздел, описывающий форму пользовательского интерфейса, где указывается, что будет таблица, с колонками "наименование товара" и "остаток". И в разделе описывающем форму, конкретизируют, что источником данных будет то-то и то-то?

Или в тексте ВИ, как-то пишется, что будут показаны данные, получаемые как результат некого алгоритма по исходным данным введенным при ВИ1 и ВИ2?

или еще каким-то третьим способом?

а как Вы предполагаете выполнять пункт 3? Выбирать по справочнику деталей одну деталь и потом строить отчет? или деталей будет несколько? или будут другие атрибуты например "поступившие до/после", "необходимые для продукции такой-то"?
потом, что Вы будете помещать в этот отчет? только наименование и количество остатка? а будет это достаточно заказчику? а если он это (смотрит остаток) делает в ходе инвентаризации? тогда ему могут быть нужны стоимость? шкафы/стеллажи/полки, где лежат запрошенные детали? или дата, когда поступили, сколько уже лежат, имеется ли их резервирование для какой-то продукции?

на Ваши вопросы ответить-то просто, но я бы порекомендовал помимо этого поглубже узнать предметную область
я предложил бы сделать три шага:
1. ввод условий отбора, перечислить поля/данные, используемые для отбора и т.п. можно приложить картинку интерфейса
2. запрос отчета, грубо говоря действие, выполняемое по кнопке, без описания самого запроса и источников информации, к которым он обращается (т.е. нижнего технического уровня)
3. форма получаемого отчета, колонки, если есть, то формулы, расчеты и т.п. ссылок на БД я бы не рекомендовал бы делать, но описать "своими словами" какая информация будет помещена в соответствующие ячейки отчета.

Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 11:35:11
Цитата: bas
Водолей,

Специально для Вас перевожу:
Ну не знаю. Не понравились мне эти Иллюстрированные Сценарии Вариантов Использования, они хотят и НеФункциональные Требования и Ограничения засунуть в описание Вариантов Использования, что по моему скромному мнению не совсем верно и Вариант Использования будет перегружен информацией, которую потом будет трудно воспринимать ...

З.Ы. Просто спросить можно по разному, и я призываю более уважительно относится к друг другу.

извините, но от этого абракадабра не перестала быть абракадаброй :о)) Вы ведь хотели сказать, что описание становится перегруженным из-за включения другой информации, которую гуру не советуют туда включать. Но почему по-вашему возникает перегрузка? вот вопрос, достойный ответа.

давайте всё-таки вернемся к исходной теме.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Galogen от 16 Октября 2009, 11:49:47
Приведу цитату
Цитировать
Иллюстрированные сценарии прецедентов, ИСП [10.4], наряду с прототипами позволяют достичь лучшего понимания между Заказчиком и Разработчиком. Но если прототипы адресованы скорее Заказчику, нежели Разработчику, то с ИСП ситуация обстоит наоборот: они содержат дополнительные сведения, помогающие Разработчику лучше понять специфику проблемной области и, тем самым, лучше отразить ее в интерфейсе пользователя.
Т.е. однозначно определяется для кого предназначено иллюстрирование сценариев. И на каком этапе.
Далее вопрос сокрытия или отображения информации - вопрос инструментов которыми мы пользуемся. Если ВИ разрабатываюся на основе некого инструмента - то там можно сделать кнопку - скрывать или открывать примечания. Даже word это умеет. Расцветка видов иллюстрирования дает ясное указание на то, что несет эта информация. Мне кажется это довольно удобно
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 11:52:24
на Ваши вопросы ответить-то просто, но я бы порекомендовал помимо этого поглубже узнать предметную область
я предложил бы сделать три шага:
1. ввод условий отбора, перечислить поля/данные, используемые для отбора и т.п. можно приложить картинку интерфейса
2. запрос отчета, грубо говоря действие, выполняемое по кнопке, без описания самого запроса и источников информации, к которым он обращается (т.е. нижнего технического уровня)
3. форма получаемого отчета, колонки, если есть, то формулы, расчеты и т.п. ссылок на БД я бы не рекомендовал бы делать, но описать "своими словами" какая информация будет помещена в соответствующие ячейки отчета.
Копать предметную область смысла нет - в первом сообщений первой строчкой написано, что это пример, кроме того, то, что вы предлагаете копать - я постарался в первом же сообщении указать.

Пример демонстрировал, как сущность предметной области (накладная) неявно участвует в ВИ1 и ВИ3.
Нерешенная мной задача в том, что как указать в ВИ3 факт некого алгоритма по данным, которые задействованы в ВИ1.

P.S.
В прочем, я с удовольствием наблюдаю за вашей дискуссией.

Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 11:55:20
И соответственно как ( и стоит ли) указываьтт в алгоритме то, что данные участвуют в ВИ1. ( Для тестера было бы удобно, но делают ли это на практике)
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Galogen от 16 Октября 2009, 11:56:55
Пример демонстрировал, как сущность в предметной области (накладная) неявно участвует в ВИ1 и ВИ3.
Нерешенная мной задача в том, что как указать в ВИ3 факт некого алгоритма по данным, которые задействованы в ВИ1.
Да не является ВИ описанием алгоритма. ВИ лишь определяет, что будет делать система. Показывает пути достижения целей пользователя или не достижения и что с этим делать.

ВИ могут ссылаться друг на друга, но не на часть друг друга.

Если один вариант имеет функциональность, которая может использоваться как есть в других ВИ используем либо include либо extend, в зависимости от ситуации

Но опять же ВИ не описание алгоритма работы, а описание контекста взаимодействия. ВИ полезны для определения системных событий и системных операций, которые вы уже дальше и реализуете: посредством ОО парадигмы или посредством иной парадигмы
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 12:00:40
Цитата: Andrey Gusev
Копать предметную область смысла нет - в первом сообщений первой строчкой написано, что это пример, кроме того, то, что вы предлагаете копать - я постарался в первом же сообщении указать.

Пример демонстрировал, как сущность предметной области (накладная) неявно участвует в ВИ1 и ВИ3.
Нерешенная мной задача в том, что как указать в ВИ3 факт некого алгоритма по данным, которые задействованы в ВИ1.

IMHO прямой связи накладной и отчета нет. т.е. ее можно очевидным образом найти, если накладная была в единственном числе. но когда идет поток приходных и расходных накладных, связи между ними и отчетом нет. отчет должен содержать консолидированные данные того, что есть на складе, а не того что было в накладных. поэтому бесперспективно строить алгоритмы типа "из суммы приходных накладных вычесть сумму расходных накладных". Представьте что приходных накладных будет миллион, а расходных - десять.
Ответ Вашей задачи в том, что склад - это регистр. Вот такое у меня мнение.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 12:20:01
Я бы понял ответ, вроде
ВИ должен содержать ЧТО, я отображаю, а не КАК это вычислять. Все точка, закрыли тему. И никакого разговора про ссылки на алгоритмы, GUI, исходные данные, про связи по данным с другими ВИ.

Но в процессе проектирования к ВИ все равно приписываются аспекты типа "как". и я это вижу по вашим ответам, и потому, что заказчик все равно хочет быть уверен, что в этом месте текста ВИ будет сделано так, КАК ему нужно.
Вопрос в том, как поступают с ссылками на артефакты проектирования из ВИ.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 12:30:11
Даже не встоль экзотических случаях, как военные системы, когда заказчик приносит в клюве алгоритм подписанный главным чекистом страны, не лишним будет указать, что под "остатком товара" на складе я понимаю не некое число, которое вычисляется путем умножения температуры воздуха на гравитационную константу.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 12:51:19
Цитата: Andrey Gusev
потому, что заказчик все равно хочет быть уверен, что в этом месте текста ВИ будет сделано так, КАК ему нужно.
Вопрос в том, как поступают с ссылками на артефакты проектирования из ВИ.

IMHO прецеденты вполне могут описывать систему ДО того, как были созданы другие артефакты проектирования. Соответственно ссылок давать просто не на что. Но бывают и обратные случаи. В приведенном Вами напишите, что по кнопке "выполнить" запускается тот самый особо секретный алгоритм, результат отработки которого отображается на следующей форме...

И потом, если заказчик хочет - дайте ему это. Тем более, что в данном случае речь идет о документе.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Galogen от 16 Октября 2009, 13:10:52
Вопрос в том, как поступают с ссылками на артефакты проектирования из ВИ.
Для этого используется трассировка проектных артефактов к ВИ. Их можно демонстрировать на диаграмме или указывать в контексте артефактов ссылки на ВИ ими реализуемые

При этом никто не запрещает писать ВИ как есть, а потом ВИ как надо
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 13:25:07
Да, у нас тоже как-то получается ВИ раньше артефактов проектирования (собственно я и помещаю ВИ в раздел анализ требований, а не в раздел проектирование/реализация), но мы же все из себя такие итеративные :)

Считается ли связью ВИ2 - ФТ1 - ВИ1, если
ВИ1:
i. Пользователь вводит номер накладной

ВИ2:
j. Система отображает "некая сущность" (см ФТ1)

ФТ1:
Система должна вычислять общую сумму по накладным

Стоит ли вообще стремиться указывать такие связи?
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 13:30:24
Эд, вы имеете ввиду разделение БВИ/СВИ ?
БВИ я делал только в курсовике в институте, у меня не было позывов создавать ссылки на алгоритмы. :)
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 14:00:15
накладная - объект предметной области, а не артефакт проектирования.

IMHO такое использование более чем уместно. я бы сказал, что необходимо не просто стремиться, а только их и использовать, чтобы заказчик Вас понял.

Формулировка Вами связи, через "некую сущность" не вполне понятна. Нельзя просто написать "общую сумму по накладным"? только стоило бы конкретизировать про какие конктретно накладные в этом случае идет речь.

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

Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 14:02:44
Для этого используется трассировка проектных артефактов к ВИ. Их можно демонстрировать на диаграмме или указывать в контексте артефактов ссылки на ВИ ими реализуемые
Спасибо, Эд. Понятно, по крайней мере такое понятие существует.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Andrey Gusev от 16 Октября 2009, 14:07:41
накладная - объект предметной области, а не артефакт проектирования.
Под артефактами проектирования я понимал алгоритмы, и отчасти пользовательский интефейс. Накладную я не обижал
Формулировка Вами связи, через "некую сущность" не вполне понятна. Нельзя просто написать "общую сумму по накладным"? только стоило бы конкретизировать про какие конктретно накладные в этом случае идет речь.
это понятно.
Название: Re: Ссылка на алгоритмы при написании вариантов использования
Отправлено: Водолей от 16 Октября 2009, 15:18:04
дайте алгоритмам (включая готовые секретные алгоритмы заказчика) какие-нибудь внятные наименования, можно мнемонические. и используйте при описании прецедентов: "по нажанию кнопки выполняется секретный алгоритм с кодом NSX/RDU-9732948", "результаты работы алгоритма вычисления суммы накладных отображаются в таблице такой-то"

пользовательский интерфейс может быть в значительной мере определен на стадии описания ВИ (да и каркас системы с точки зрения пользователя тоже) и впоследствии будет дополнен при проектировании "внутренних сущностей системы".