4408
« : 09 Января 2008, 14:17:42 »
Спасибо Shur за высказывание. Ваши замечание ценны.
Дискуссия весьма полезна.
Когда я публиковал эту задачу, мною двигало желание понять - достаточно полное и содержательное это описание для ответа на поставленный вопрос: построить ДВИ системы автоматизации службы такси.
Поскольку формулировка задачи мною подчерпнута, но не придумана, как не придуман и вопрос по задаче, как и не известна цель, преследуемая автором этой задачи, я попытался подойти к задаче как студент, обучающийся использованию UML и которому предлагается построить именно ДВИ системы автоматизации службы такси. Предполагая, что я достаточно хороший студент и внимательно слушал лекции, усердно выполнял практические задания, я понимаю, что значимость ДВИ в отрыве от общего контекста и цели задачи (а цель - разработка некоторой системы автоматизирующей работу службы такси), но условия экзамена (например) очевидно упрощены. Мне не сказано какого уровня ДВИ следует построить, хотя указывается ДВИ некой системы, которая будет автоматизировать работу службы. В меру своей компетентности (я хоть и преподаватель, но пока считаю себя студентом в области использования UML) я и нарисовал эту самую диаграмму как понимал ЧТО есть система автоматизации службы.
Поскольку помимо знания по UML в моей бедной голове напиханы знания и по другим нотациям DFD например, я и сделал вывод, что мне следует показать тех, кто пользуется системой непосредственно в ходе ее использования. Потому прочитывая задачу я сделал вывод, что клиент с системой не взаимодействует, водитель с системой не взаимодействует, с ней взаимодействуют диспетчеры и некто из бухгалтерии.
Меня до сих пор волнует вопрос, а как отображать на таких ДВИ факт участия того же клиента или водителя. Читая книги (в первую очередь создателей UML) я однозначно читаю, что клиент или водитель показываться не должен, ну нет у них варианта использования нашей системы автоматизации, хотя он и участник.
Здесь я вижу большую аналогия ДВИ и DFD диаграммы, где в качестве внешних сущностей следует указывать тех кто поставляет информацию в систему и получает их из системы. Ясно, что с точки зрения клиента или водителя - диспетчер некий компонент системы. У клиента четкая задача : разместить заказа, у водителя: получить заказа, отчитаться о выполнении/невыполнении.
Очень похожая ситуация у Лармана в Применении UML, где есть покупатель и кассир, которые взаимодействуют в процессе варината использоание Оформление продажи. На стр. 123 (3-е русское издание) он на фрагменте ДВИ показывает и покупателя, помечая что кассир исполнитель. Мне это не понятно, так как рассогласуется с его же словами и словами Рамбо и Блаха в книге UML2.0 ОО разработка и моделирование.
Я понимаю, что ДВИ полезна для заказчика. Но мне думается она вполне может быть полезна и разработчику т.к. задает контекст, показывает содержание работ. Если разработчика учили, что на ДВИ следует показывать потенциальные роли пользователей, то видя связь от покупателя-клиента,он может предположить, что таковой тоже пользователь системы.
Дело в том, что с похожей интерпретацией я встречаюсь на защите курсовых и дипломных, когда после показания бизнес-контектса с помощью DFD, строиться DFD системных процессов, в которой ровно все внешние сущности показаны. Я задаю вопрос - а вот эта показанная вами сущность взаимодействует с проектируемой Вами ИС и каким образом. В результате оказывается, что вовсе нет.
К примеру система учета прохождения исполнительного листа в неком госучреждении при судебном органе. Студент показывает в бизнес-контексте как и по каким инстанциями проходит исполнительный лист. Далее изображает системные процессы ИС учета, в которой например налоговая инспекция получает отчет о сумме исполнительного листа. Я спрашиваю, что налоговая инспекция имеет доступ в систему и получает возможность простмотра и получения таких отчетов. Оказывается нет, просто пользователь системы готовит такой отчет для налоговой инспекции и отправляет установленным порядком в бумажном виде или по email. Понятны мои логические блуждания?
Далее. В реальной практике, во время обучения, я никогда не предлагаю нарисовать студентам ДВИ, я всегда прелагаю провсети предварительный анализ, используя в качестве рекомендаций рекомендации Коберна. Возможно я интуитивно полагал, хотя наверняка не знал, что просто построить ДВИ малозначимо, потому мой вопрос фурммулируется примерно так:
Построить диаграмму вариантов использования, определив действующих лиц, участников задачи, границы системы и выделив возможные варианты использования уровня цели пользователя.
Вполне вероятно, такая формулировка тоже не очень корректна.
Shur, может быть Вы поможете развеять мои заблуждения?