Курсовая работа - Кодовый замок регулирующий доступ в помещение(Прочитано 71173 раз)
Приветствую уважаемых участников форума!
Хотел бы услышать (прочесть) ваше профессиональное мнение по поводу моей работы. Разбираюсь с UML около месяца, если честно в голове пока каша. Отчасти свою лепту в создание этой "каши" вносит неоднозначное описание материала в разных книгах, понимаю, что системная аналитика дело не простое вот и спрашиваю вашего совета. На сегодняшний день построил только диаграмму USE CASE (в моем случае думаю СВИ) её и прошу вас оценить. В общем вот:

Постановка задачи:
Требуется разработать программное обеспечение встроенного микропроцессора для кодового замка, регулирующего доступ в помещение.
Кодовый замок состоит из панели с кнопками (цифры «0»…«9», кнопка «Вызов», кнопка «Контроль»), цифрового дисплея, электромеханического замка, звонка, микрофона и громкоговорителя. Панель с кнопками, микрофон и громкоговоритель устанавливаются с наружной стороны двери, замок устанавливается с внутренней стороны двери, звонок, вторые микрофон и громкоговоритель  устанавливаются внутри охраняемого помещения.
В обычном состоянии замок закрыт. Доступ в помещение осуществляется после набора кода доступа, состоящего из четырех цифр. Во время набора кода введенные цифры отображаются на дисплее. Если код набран правильно, то замок открывается на некоторое время, после чего дверь снова закрывается. Содержимое дисплея очищается.
Кнопка «Вызов» используется для подачи звукового сигнала внутри помещения. Внутри помещения имеется кнопка «Открыть» для открытия кодового замка. Кнопка «Контроль» используется для смены кодов. Смена кода доступа осуществляется следующим образом. При открытой двери нужно нажать кнопку «Контроль», набрать код контроля, состоящий из четырех цифр, и новый код доступа. Для смены кода контроля нужно при открытой двери и нажатой кнопке «Вызов» набрать код контроля, после чего – новый код контроля.

Действующие лица(Actor):
1.Человек снаружи – некоторое лицо, всегда находится снаружи охраняемого помещения, взаимодействует с системой через наружную панелью.
2.Человек внутри – некоторое лицо, всегда находится внутри охраняемого помещения, взаимодействует с системой через внутреннею панель.

Варианты использования(Use Case):
1.Открыть дверь – этот вариант использования дает возможность человеку снаружи открыть дверь для доступа в помещение.
2.Подать звуковой сигнал – этот вариант использования дает возможность человеку снаружи подать звуковой сигнал внутри помещения.
3.Открыть замок (изнутри) – этот вариант использования дает возможность человеку находящемуся внутри открыть замок изнутри.
4.Сменить код доступа – этот вариант использования позволяет любому человеку сменить код доступа необходимый для доступа в помещение.
5.Сменить код контроля – этот вариант использования позволяет любому человеку сменить код контроля служащий для контроля за изменением кода доступа.

Вариант использования: «Открыть дверь»
ID 1
Краткое описание:
Данный вариант использования позволяет человеку находящемуся снаружи охраняемого помещения попасть внутрь.
Основной поток событий:
1.ВИ начинается, когда Человек снаружи вводит код доступа.
2.Система подтверждает введенный код доступа. Если код доступа не подтверждается, выполняется альтернативный поток событий.
3.Система открывает замок.
4.Вариант использования завершается.
Альтернативный поток событий:
1.Система подает звуковой сигнал, информируя, что введен неправильный код.
2.Вариант использования завершается.
Предусловия:
-
Постусловия:
-
Вариант использования: «Подать звуковой сигнал»
ID 2
Краткое описание:
Данный вариант использования позволяет человеку находящемуся снаружи подать звуковой сигнал внутри помещения.
Основной поток событий:
1.ВИ начинается, когда Человек снаружи нажимает кнопку «Вызов».
2.Система подает звонок внутри помещения.
3.Вариант использования завершается.
Альтернативный поток событий:
-
Предусловия:
-
Постусловия:
-
Вариант использования: «Открыть замок (изнутри)»
ID 3
Краткое описание:
Данный вариант использования позволяет человеку находящемуся внутри открыть электромеханический замок изнутри.
Основной поток событий:
1.ВИ начинается, когда Человек внутри нажимает кнопку «Открыть».
2.Система открывает электромеханический замок.
3.Вариант использования завершается.
Альтернативный поток событий:
-
Предусловия:
-
Постусловия:
-
Вариант использования: «Сменить код доступа»
ID 4
Краткое описание:
Данный вариант использования позволяет любому человеку при открытой двери сменить код доступа необходимый для доступа в помещение.
Основной поток событий:
1.ВИ начинается, когда Человек нажимает кнопку «Контроль»
2.Человек вводит код контроля.
3.Система подтверждает введенный код. Если код не подтверждается, выполняется альтернативный поток событий.
4.Человек вводит новый код доступа.
5.Вариант использования завершается.
Альтернативный поток событий:
1.Раздается звуковой сигнал, информируя, что введен неправильный код.
2.Вариант использования завершается.
Предусловия:
Дверь должна быть в открытом состоянии.
Постусловия:
-
Вариант использования: «Сменить код контроля»
ID 5
Краткое описание:
Данный вариант использования позволяет любому человеку при открытой двери сменить код контроля используемый для контроля смены кода доступа.
Основной поток событий:
1.ВИ начинается, когда Человек нажимает кнопку «Вызов»
2.Человек вводит код контроля.
3.Система подтверждает введенный код. Если код не подтверждается, выполняется альтернативный поток событий.
4.Человек вводит новый код контроля.
5.Вариант использования завершается.
Альтернативный поток событий:
1.Раздается звуковой сигнал, информируя, что введен неправильный код.
2.Вариант использования завершается.
Предусловия:
Дверь должна быть в открытом состоянии.
Постусловия:
-

З.Ы. Заранее всем благодарен!  :)



Не знаю на сколько Ви тут уместны, но если уже описывать их, то я бы сделал так:
1. Объединил бы ВИ "Подать звуковой сигнал" и ВИ "Открыть замок (изнутри)". По сути это один ВИ только с разными нач. условиями. Ведь нет цели у Человека просто подать звонок, он все-таки хочет открыть дверь в итоге.
2. Сменить код доступа и Сменить код контроля - в принципе одно и тоже. Я бы опять объединил бы их.
3. Использовал бы обобщением Актеров:
http://www.uml2.ru/index.php?option=com_content&task=view&id=404&Itemid=51
4. Не совсем четко прописана реакция Системы, например нет того, что Система проверяет код, Система сохраняет код и т.д.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



bas - Спасибо за оперативный ответ! :)
Не знаю на сколько Ви тут уместны,
что вы имеете ввиду? не совсем понял.
1. Объединил бы ВИ "Подать звуковой сигнал" и ВИ "Открыть замок (изнутри)". По сути это один ВИ только с разными нач. условиями. Ведь нет цели у Человека просто подать звонок, он все-таки хочет открыть дверь в итоге.
а вот черт его знает! я тоже голову ломаю, но так как нет возможности уточнить задание более того чем оно есть решил пусть будут разными. может необходимо подавать сигнал в помещение для, ... скажем условных знаков :)
2. Сменить код доступа и Сменить код контроля - в принципе одно и тоже. Я бы опять объединил бы их.
хм... подумаю. может просто "смена кода"?
3. Использовал бы обобщением Актеров:
http://www.uml2.ru/index.php?option=com_content&task=view&id=404&Itemid=51
тоже подумаю. может обобщение "Человек" :)
4. Не совсем четко прописана реакция Системы, например нет того, что Система проверяет код, Система сохраняет код и т.д.
опять же думал над этим. но упираемся в задание, там ведь этого не описано. хотя понятно что это происходит априори.



1. При описании каждого варианта использования следует явно указывать основное действующее лицо и возможно вспомогательное.

2. Согласен с bas по поводу Подать сигнал. Если и возможно его рассматривать как отдельный ВИ, то нужно предусмотреть наличие второстепенного действующего лица, который нажимает кнопку на трубке для открытия двери

3. ВИ 1, Я бы не стал делить действие системы на подтверждение и открытие, а написал примерно так:
Если код доступа введен верно
   система открывает дверь
Иначе
   подает звуковой сигнал, информируя, что введен неправильный код
И проще и понятнее.

3. При подачи сигнала изнутри человек снаружи сначала набирает номер квартиры и затем нажимает кнопку вызова, иначе как система поймет куда направлять сигнал запроса?

4. В ВИ 2, следует предусмотреть как долго система подает сигнала вызова: бесконечно, в течение некоторого заданного времени. Что произойдет если в это время с другой стороны поступает сигнал открытия двери по ВИ 3



Galogen - спасибо за внимание к моей теме и ваше мнение!
1. При описании каждого варианта использования следует явно указывать основное действующее лицо и возможно вспомогательное.
вспомогательное это кто еще "условно" участвует в ВИ? я правильно понимаю?
2. Согласен с bas по поводу Подать сигнал. Если и возможно его рассматривать как отдельный ВИ, то нужно предусмотреть наличие второстепенного действующего лица, который нажимает кнопку на трубке для открытия двери
вы немного не поняли :), я рассматриваю не домофон, а кодовый замок. есть 1 помещение и к нему нужно контролировать доступ. а если сигнал используется в качестве подачи информации? т.е. 2 звонка - то-то, 3 звонка - другое. тогда все-равно "человек внутри" - второстепенное действующее лицо? и где это описать?
3. ВИ 1, Я бы не стал делить действие системы на подтверждение и открытие, а написал примерно так:
Если код доступа введен верно
   система открывает дверь
Иначе
   подает звуковой сигнал, информируя, что введен неправильный код
И проще и понятнее.
хорошо, а тогда альтернативным потоком что может быть? ошибка системы?
3. При подачи сигнала изнутри человек снаружи сначала набирает номер квартиры и затем нажимает кнопку вызова, иначе как система поймет куда направлять сигнал запроса?
не домофон :)
4. В ВИ 2, следует предусмотреть как долго система подает сигнала вызова: бесконечно, в течение некоторого заданного времени. Что произойдет если в это время с другой стороны поступает сигнал открытия двери по ВИ 3
а вот где предусмотреть? т.е. это должно быть описано в альтернативном потоке? вот с этим у меня и не ладится :(



что вы имеете ввиду? не совсем понял.
Я бы требования к такой Системе не стал бы описывать с помощью ВИ :) Но это учебный проект, поэтому и мерюсь :)

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

тоже подумаю. может обобщение "Человек" :)
Я бы назвал его Пользователем.

опять же думал над этим. но упираемся в задание, там ведь этого не описано. хотя понятно что это происходит априори.
См. выше.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



я рассматриваю не домофон, а кодовый замок.
А зачем в кодовом замке микрофон (по условию он там есть)? Я бы на вашем месте все-таки рассматривал работу с домофоном.



Где такие задания дают, если не секрет?



вспомогательное это кто еще "условно" участвует в ВИ? я правильно понимаю?
Лицо или система, которая участвует в ВИ для достижения цели пользователя, но приэтом не является частью системы.Человек внутри комнаты, сервомеханизм открытия двери и т.п.

Цитировать
вы немного не поняли :), я рассматриваю не домофон, а кодовый замок.
Окей, не сразу понял

Цитировать
есть 1 помещение и к нему нужно контролировать доступ. а если сигнал используется в качестве подачи информации? т.е. 2 звонка - то-то, 3 звонка - другое. тогда все-равно "человек внутри" - второстепенное действующее лицо?

А сигнал кому подается? Что пр этом должно происходить?

Цитировать
хорошо, а тогда альтернативным потоком что может быть? ошибка системы?
Рекомендации по написанию спецификаций вариантов использования
Как моделировать альтернативные потоки

Цитировать
а вот где предусмотреть? т.е. это должно быть описано в альтернативном потоке? вот с этим у меня и не ладится :(
Нет это не альтернативный поток. Это условие. Ограничение, возможно бизнес-правило. Его можно разместить в разделе дополнительные или особые требования в рамках описания ВИ



Я бы требования к такой Системе не стал бы описывать с помощью ВИ :) Но это учебный проект, поэтому и мерюсь :)
ясно :). да это учебный проект,но там еще много чего еще надо так что, думаю я тут еще надоем с вопросами :). вот что требуется:
- диаграммы вариантов использования (сценариев)- Use case diagram
- диаграммы активности(видов деятельности) – Activity diagram
- диаграммы взаимодействия – Interaction diagram
                  - диаграммы последовательностей –Sequence diagram
                  - диаграммы кооперации – Collaboration diagram
- диаграммы состояний – Statechart diagram
- диаграммы классов – Class diagram
- диаграммы компонент – Component diagram
Ну Вы же Аналитик и должны не только транслировать требования, но и предлагать и обосновывать альтернативы. Причем Вы еще забыли, что внешний должен\может говорить  в микрофон и это будет слышать внутренний. А вот это очень важно, а его у Вас нет.
да да. все верно, есть микрофоны и динамики, поэтому должна быть возможность разговора. буду думать нверное еще один ВИ-"Говорить"
Я бы назвал его Пользователем.
ок. учту
А зачем в кодовом замке микрофон (по условию он там есть)? Я бы на вашем месте все-таки рассматривал работу с домофоном.
нет. домофон это другое задание (и такое есть :)), у меня именно кодовый замок. поэтому вот. а что касается микрофона, то конечно буду сейчас думать куда его деть :), наверное отдельное ВИ "Говорить" коли уж он есть :)
Где такие задания дают, если не секрет?
Не секрет :)
Пермский Государственный Технический Университет
Электро Технический Факультет
Кафедра Информационных Технологий и Автоматизированных Систем
Специальность Автоматизированные Системы Управления
Лицо или система, которая участвует в ВИ для достижения цели пользователя, но приэтом не является частью системы.Человек внутри комнаты, сервомеханизм открытия двери и т.п.
ясно, а где про "них" писАть?
А сигнал кому подается? Что пр этом должно происходить?
Рекомендации по написанию спецификаций вариантов использования
Как моделировать альтернативные потоки
спасибо, почитаю

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



наверное отдельное ВИ "Говорить" коли уж он есть :)
Аааааааааааааааааа, ща бить начну. Мы призываем Вас в первую очередь подумать о целях Пользователя (если уж говорим о ВИ) по отношению к Системе.
Ну есть ли цель у внешнего просто позвонить или просто поговорить с кодовым замком?

З.Ы. Отвечайте плиз разным людям в разных постах, так будет удобнее нам.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



З.Ы. Отвечайте плиз разным людям в разных постах, так будет удобнее нам.
ок.



Ваши ВИ не покрывают требование: "Во время набора кода введенные цифры отображаются на дисплее."



В общем поломав голову... Представляю это так:
Есть некоторая комната в здании которая закрыта на дверь и установлен кодовый замок. Внутри помещения может находится человек.
Человек внутри помещения должен иметь возможность открыть дверь изнутри (выйти, впустить кого-либо), поговорить с кем-либо за дверью.
Есть человек снаружи, он должен иметь возможность так же поговорить с человеком внутри помещения инициировав разговор (думаю логично что разговор инициируется именно снаружи помещения), открыть дверь введя код доступа. У любого из них (Пользователь) при открытой двери появляется возможность сменить код контроля и сменить код доступа(хотел сделать обобщение ВИ "Сменить код доступа" и "Сменить код контроля" в "Смена кода" не стал, боюсь ошибок наделать).
Добавил (от себя) на панель в комнате кнопку "Ответ", которая "включает" микрофоны и динамики на наружней и внутренней панели (во время звонка). - критикуйте! :)
Пока не проработаны альтернативы, не успел надо еще читать... - принимаются советы :)
Вот как получилось:

Вариант использования: «Открыть дверь»
ID 1
Краткое описание:
Данный вариант использования позволяет человеку находящемуся снаружи охраняемого помещения попасть внутрь.
Основное действующее лицо:
   Человек снаружи
Второстепенные действующие лица:
   Электромеханический замок
Предусловия:
Нет
Основной поток событий:
1.   ВИ начинается, когда Человек снаружи вводит код доступа.
2.   Если код доступа введен верно
система открывает дверь
Иначе
подает звуковой сигнал, информируя, что введен неправильный код.
3.   Система открывает замок.
4.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
   Дверь открыта

Вариант использования: «Вызвать»
ID 2
Краткое описание:
Данный вариант использования дает возможность человеку снаружи подать звуковой сигнал внутри помещения для того чтобы начать разговор с человеком внутри.
Основное действующее лицо:
   Человек снаружи
Второстепенные действующие лица:
   Звонок, человек внутри, динамик, микрофон
Предусловия:
Нет
Основной поток событий:
1.   ВИ начинается, когда Человек снаружи нажимает кнопку «Вызов».
2.   Система подает 7 кратковременных звонков внутри помещения.
3.   Если человек внутри нажимает кнопку «Ответ» в течении времени пока раздаются звонки, включается динамики и микрофоны начинается разговор
Иначе
подается сигнал, информирующий, что нет ответа.
4.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Нет

Вариант использования: «Открыть замок (изнутри)»
ID 3
Краткое описание:
Данный вариант использования позволяет человеку находящемуся внутри открыть электромеханический замок изнутри.
Основное действующее лицо:
   Человек внутри
Второстепенные действующие лица:
   Электромеханический замок
Предусловия:
Нет
Основной поток событий:
1.   ВИ начинается, когда Человек внутри нажимает кнопку «Открыть».
2.   Система открывает электромеханический замок.
3.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Дверь открыта

Вариант использования: «Сменить код доступа»
ID 4
Краткое описание:
Данный вариант использования позволяет пользователю сменить код доступа необходимый для доступа в помещение.
Основное действующее лицо:
   Пользователь
Второстепенные действующие лица:
   Нет
Предусловия:
Дверь открыта
Основной поток событий:
1.   ВИ начинается, когда Пользователь нажимает кнопку «Контроль»
2.   Система запрашивает код контроля.
3.   Пользователь вводит код контроля.
4.   Система проверяет код контроля.
5.   Если код введен верно, система запрашивает новый код доступа
иначе
подает звуковой сигнал, информируя, что введен неправильный код.
6.   Человек вводит новый код доступа.
7.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Нет

Вариант использования: «Сменить код контроля»
ID 5
Краткое описание:
Данный вариант использования позволяет пользователю при открытой двери сменить код контроля используемый для контроля смены кода доступа.
Основное действующее лицо:
   Пользователь
Второстепенные действующие лица:
   Нет
Предусловия:
Дверь открыта
Основной поток событий:
1.   ВИ начинается, когда Человек нажимает кнопку «Вызов»
2.   Система запрашивает код контроля.
3.   Пользователь вводит код контроля.
4.   Система проверяет введенный код.
8.   Если код введен верно, система запрашивает новый код контроля
иначе
подает звуковой сигнал, информируя, что введен неправильный код.
5.   Человек вводит новый код контроля.
6.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Нет

Вариант использования: «Ответить»
ID 6
Краткое описание:
Данный вариант использования дает возможность человеку внутри ответить человеку снаружи.
Основное действующее лицо:
   Человек внутри
Второстепенные действующие лица:
   Человек снаружи
Предусловия:
Вызов снаружи
Основной поток событий:
1.   ВИ начинается, когда Человек внутри нажимает кнопку «Ответ».
2.   Система включает микрофон и динамик с обоих сторон двери.
3.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Нет
« Последнее редактирование: 21 Сентября 2009, 20:46:23 от Аффтар »



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




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19