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

Общий раздел => Примеры => Задачи студентов => Тема начата: Аффтар от 20 Сентября 2009, 22:49:15

Название: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 20 Сентября 2009, 22:49:15
Приветствую уважаемых участников форума!
Хотел бы услышать (прочесть) ваше профессиональное мнение по поводу моей работы. Разбираюсь с 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.Вариант использования завершается.
Предусловия:
Дверь должна быть в открытом состоянии.
Постусловия:
-

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

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

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

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

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

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

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

опять же думал над этим. но упираемся в задание, там ведь этого не описано. хотя понятно что это происходит априори.
См. выше.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: 474 от 21 Сентября 2009, 11:16:04
я рассматриваю не домофон, а кодовый замок.
А зачем в кодовом замке микрофон (по условию он там есть)? Я бы на вашем месте все-таки рассматривал работу с домофоном.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 21 Сентября 2009, 12:16:37
Где такие задания дают, если не секрет?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 21 Сентября 2009, 13:48:12
вспомогательное это кто еще "условно" участвует в ВИ? я правильно понимаю?
Лицо или система, которая участвует в ВИ для достижения цели пользователя, но приэтом не является частью системы.Человек внутри комнаты, сервомеханизм открытия двери и т.п.

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

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

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

Цитировать
хорошо, а тогда альтернативным потоком что может быть? ошибка системы?
Рекомендации по написанию спецификаций вариантов использования  (http://www.uml2.ru/index.php?option=com_content&task=view&id=399&Itemid=51)
Как моделировать альтернативные потоки (http://www.uml2.ru/index.php?option=com_content&task=view&id=418&Itemid=51)

Цитировать
а вот где предусмотреть? т.е. это должно быть описано в альтернативном потоке? вот с этим у меня и не ладится :(
Нет это не альтернативный поток. Это условие. Ограничение, возможно бизнес-правило. Его можно разместить в разделе дополнительные или особые требования в рамках описания ВИ
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 21 Сентября 2009, 17:02:22
Я бы требования к такой Системе не стал бы описывать с помощью ВИ :) Но это учебный проект, поэтому и мерюсь :)
ясно :). да это учебный проект,но там еще много чего еще надо так что, думаю я тут еще надоем с вопросами :). вот что требуется:
- диаграммы вариантов использования (сценариев)- Use case diagram
- диаграммы активности(видов деятельности) – Activity diagram
- диаграммы взаимодействия – Interaction diagram
                  - диаграммы последовательностей –Sequence diagram
                  - диаграммы кооперации – Collaboration diagram
- диаграммы состояний – Statechart diagram
- диаграммы классов – Class diagram
- диаграммы компонент – Component diagram
Ну Вы же Аналитик и должны не только транслировать требования, но и предлагать и обосновывать альтернативы. Причем Вы еще забыли, что внешний должен\может говорить  в микрофон и это будет слышать внутренний. А вот это очень важно, а его у Вас нет.
да да. все верно, есть микрофоны и динамики, поэтому должна быть возможность разговора. буду думать нверное еще один ВИ-"Говорить"
Я бы назвал его Пользователем.
ок. учту
А зачем в кодовом замке микрофон (по условию он там есть)? Я бы на вашем месте все-таки рассматривал работу с домофоном.
нет. домофон это другое задание (и такое есть :)), у меня именно кодовый замок. поэтому вот. а что касается микрофона, то конечно буду сейчас думать куда его деть :), наверное отдельное ВИ "Говорить" коли уж он есть :)
Где такие задания дают, если не секрет?
Не секрет :)
Пермский Государственный Технический Университет
Электро Технический Факультет
Кафедра Информационных Технологий и Автоматизированных Систем
Специальность Автоматизированные Системы Управления
Лицо или система, которая участвует в ВИ для достижения цели пользователя, но приэтом не является частью системы.Человек внутри комнаты, сервомеханизм открытия двери и т.п.
ясно, а где про "них" писАть?
А сигнал кому подается? Что пр этом должно происходить?
Рекомендации по написанию спецификаций вариантов использования  (http://www.uml2.ru/index.php?option=com_content&task=view&id=399&Itemid=51)
Как моделировать альтернативные потоки (http://www.uml2.ru/index.php?option=com_content&task=view&id=418&Itemid=51)
спасибо, почитаю

В общем не устану говорить всем спасибо, приятно удивлен вниманием к моей теме! Информации много, сейчас буду во всем разбиратся. Думаю переделаю с учетом всех ваших замечаний (насколько смогу) и выложу снова вариант на обсуждение (если вы не против :)). Короче дайте мне 2-3 часа :)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: bas от 21 Сентября 2009, 18:27:39
наверное отдельное ВИ "Говорить" коли уж он есть :)
Аааааааааааааааааа, ща бить начну. Мы призываем Вас в первую очередь подумать о целях Пользователя (если уж говорим о ВИ) по отношению к Системе.
Ну есть ли цель у внешнего просто позвонить или просто поговорить с кодовым замком?

З.Ы. Отвечайте плиз разным людям в разных постах, так будет удобнее нам.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 21 Сентября 2009, 18:35:05
З.Ы. Отвечайте плиз разным людям в разных постах, так будет удобнее нам.
ок.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 21 Сентября 2009, 20:27:54
Ваши ВИ не покрывают требование: "Во время набора кода введенные цифры отображаются на дисплее."
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 21 Сентября 2009, 20:41:34
В общем поломав голову... Представляю это так:
Есть некоторая комната в здании которая закрыта на дверь и установлен кодовый замок. Внутри помещения может находится человек.
Человек внутри помещения должен иметь возможность открыть дверь изнутри (выйти, впустить кого-либо), поговорить с кем-либо за дверью.
Есть человек снаружи, он должен иметь возможность так же поговорить с человеком внутри помещения инициировав разговор (думаю логично что разговор инициируется именно снаружи помещения), открыть дверь введя код доступа. У любого из них (Пользователь) при открытой двери появляется возможность сменить код контроля и сменить код доступа(хотел сделать обобщение ВИ "Сменить код доступа" и "Сменить код контроля" в "Смена кода" не стал, боюсь ошибок наделать).
Добавил (от себя) на панель в комнате кнопку "Ответ", которая "включает" микрофоны и динамики на наружней и внутренней панели (во время звонка). - критикуйте! :)
Пока не проработаны альтернативы, не успел надо еще читать... - принимаются советы :)
Вот как получилось:

Вариант использования: «Открыть дверь»
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.   Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Нет
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 21 Сентября 2009, 20:45:47
Ваши ВИ не покрывают требование: "Во время набора кода введенные цифры отображаются на дисплее."
хм... и правда... спешу просто :( и стараюсь все сделать за раз одним махом :).
вставить в основной поток событий как один из пунктов?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: 474 от 22 Сентября 2009, 10:32:19
Вариант использования: «Открыть дверь»
2.   Если код доступа введен верно
система открывает дверь
Иначе
подает звуковой сигнал, информируя, что введен неправильный код.
3.   Система открывает замок.
А как можно открыть дверь, а уже потом открыть замок?

Вариант использования: «Ответить»
2.   Система включает микрофон и динамик с обоих сторон двери.
Они останутся включенными до конца света?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 22 Сентября 2009, 11:29:26
хм... и правда... спешу просто :( и стараюсь все сделать за раз одним махом :).
вставить в основной поток событий как один из пунктов?
Это зависит от того, насколько детально хотите описать. Можно выделить подчиненный поток "Ввод кода" (который включить в несколько ВИ).

Еще недочет. Постусловия есть всегда. Если их нет -- система может ничего не делать.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 12:33:52
А как можно открыть дверь, а уже потом открыть замок?
Они останутся включенными до конца света?
спасибо. ошибка, исправлю. насколько детально нужно описывать ВИ?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 12:39:57
Это зависит от того, насколько детально хотите описать. Можно выделить подчиненный поток "Ввод кода" (который включить в несколько ВИ).
подчиненный поток? это еще что? :) а нельзя написать в основной поток скажем так:
1. .....
2. Система запрашивает код.
3. Пользователь вводит код.
4. Система отображает введенный код на цифровом дисплее.
5....
Еще недочет. Постусловия есть всегда. Если их нет -- система может ничего не делать.
хорошо. а что будет постусловием в ВИ "Сменить код доступа" - код изменен?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 12:47:51
Для удобства, предлагаю вариант: я редактирую свой второй выложенный вариант (или сам первый пост?) вношу туда все изменения и замечания чтоб не постить больше длинных сообщений. Что скажите bas?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: bas от 22 Сентября 2009, 12:54:55
Аффтар,

Я бы оставил все для истории. Чтобы пост не был слишком длинный я бы поэкспериментировал с тегами кода или другими тегами, они вроде выводятся с прокруткой. А так в принципе Вам решать.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 13:16:26
Аффтар,

Я бы оставил все для истории. Чтобы пост не был слишком длинный я бы поэкспериментировал с тегами кода или другими тегами, они вроде выводятся с прокруткой. А так в принципе Вам решать.
ок. будем писать историю :). для удобства буду подписывать
вечером опять переработаю и выложу новый вариант Use Case, если есть еще какие-то замечания по текущему - пишите буду признателен
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: bas от 22 Сентября 2009, 13:19:41
если есть еще какие-то замечания по текущему - пишите буду признателен
Я написал про цели Пользователя, если считаете что есть цели Вызвать и Ответить непонятно кому, то пусть так и будет.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 13:56:50
Я написал про цели Пользователя, если считаете что есть цели Вызвать и Ответить непонятно кому, то пусть так и будет.
наверное я чего-то не понимаю. неужели не является целью Человека снаружи Вызвать (на разговор) Человека внутри? результатом (разговора) МОЖЕТ БЫТЬ открытие двери (тогда совпадает с имеющейся целью "Открыть дверь"), а МОЖЕТ и НЕ БЫТЬ. Цель - разговор - ВИ - "Вызвать" (можно переименовать чтоб было понятней в "Поговорить").

Это моя первая работа с UML (дай бог не последняя :)) и у меня куча вопросов на которые не всегда я могу получить ответ в книгах. Ведь не даром говорят - самой большой минус книги, что с ней нельзя поспорить :).
Поэтому объясните если я что-то не правильно понимаю, я ведь сюда и обратился за комментариями и мнениями специалистов.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 22 Сентября 2009, 14:24:31
наверное я чего-то не понимаю. неужели не является целью Человека снаружи Вызвать (на разговор) Человека внутри? результатом (разговора) МОЖЕТ БЫТЬ открытие двери (тогда совпадает с имеющейся целью "Открыть дверь"), а МОЖЕТ и НЕ БЫТЬ. Цель - разговор - ВИ - "Вызвать" (можно переименовать чтоб было понятней в "Поговорить").
Какова цель человека снаружи? Открыть дверь или попасть внутрь? Или зачем человек звонит в дверь? Чтобы узнать на месте хозяин? А для чего? Чтобы с ним поговорить или ограбить? :)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 14:37:46
Какова цель человека снаружи? Открыть дверь или попасть внутрь? Или зачем человек звонит в дверь? Чтобы узнать на месте хозяин? А для чего? Чтобы с ним поговорить или ограбить? :)
да елкижжж! :) итак:

в черном-черном городе! есть черное-черное здание! в здании есть черная-черна комната! заперта она черной-черной дверью! в этой черной-черной комнате! сидит черный-черный человек! и ждет:
1. ждет когда ему скажут что-то в микрофон
2. ждет когда в комнату зайдет еще человек (или несколько)
3. ЖДЕТ КОГДА ЕМУ ПРИНЕСУТ ЯБЛОЧКО ПОЕСТЬ :)

а еще в этом черно-черном здании! есть другие не менее черные люди! и они могут:
1. СКАЗАТЬ В МИКРОФОН КАКУЮ-ЛИБО ЦЕННУЮ ИНФОРМАЦИЮ ЧЕЛОВЕКУ ВНУТРИ (пр. "свежые булочки в столовой!", "директор премию просто так дает!" "на нас метеорит летит!" и т.д.)
2. "Открыть дверь" чтобы передать человеку внутри что-либо (пр. яблоко, секретные документы, ФИО убийцы Кенеди, последний номер Playboy и т.д.)
3. "Открыть дверь" чтобы войти к черному-черному человеку (пр. ограбить его, убить, покурить вместе с ним и т.д.)!
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: bas от 22 Сентября 2009, 15:00:10
а еще в этом черно-черном здании! есть другие не менее черные люди! и они могут:
1. СКАЗАТЬ В МИКРОФОН КАКУЮ-ЛИБО ЦЕННУЮ ИНФОРМАЦИЮ ЧЕЛОВЕКУ ВНУТРИ (пр. "свежые булочки в столовой!", "директор премию просто так дает!" "на нас метеорит летит!" и т.д.)
2. "Открыть дверь" чтобы передать человеку внутри что-либо (пр. яблоко, секретные документы, ФИО убийцы Кенеди, последний номер Playboy и т.д.)
3. "Открыть дверь" чтобы войти к черному-черному человеку (пр. ограбить его, убить, покурить вместе с ним и т.д.)!
Вот это все альтернативные сценарии одного ВИ
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 15:07:49
Вот это все альтернативные сценарии одного ВИ
какого????
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 22 Сентября 2009, 18:02:48
подчиненный поток? это еще что? :) а нельзя написать в основной поток скажем так:...
можно, только сделать это надо всюду, где вводится код

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

Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 18:17:04
можно, только сделать это надо всюду, где вводится код
Будет: "Если пользователь ввел верный код контроля, то код доступа изменен, иначе код доступа остался прежним."
спасибо! все ясно, все понятно!
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 18:37:53
может глупый вопрос, но все-таки: кнопки "Вызов" "Контроль" не являются второстепенными ДЛ я правильно понимаю?
в моем случае второстепенными ДЛ в разных ВИ могут быть: Электромеханический замок, Цифровой дисплей, Пользователи (в разных вариантах), Микрофон, Громкоговоритель?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 22 Сентября 2009, 20:27:55
Мы не знаем, какие требования установил Ваш преподаватель. Я бы не рекомендовал создавать такие действующие лица. При моделировании встроенных систем устройства отображаются в граничные классы. Вот тому пример (http://users.evtek.fi/~tk/rt_design/uml_sound_rec.pdf) [135Kb].
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 20:44:48
Use Case Кодовый замок v.3
ДЛ:
•   Человек снаружи – некоторое лицо, всегда находится снаружи охраняемого помещения, взаимодействует с системой через наружную панелью.
•   Человек внутри – некоторое лицо, всегда находится внутри охраняемого помещения, взаимодействует с системой через внутреннею панель.

ВИ:
•   Открыть дверь – этот вариант использования дает возможность человеку снаружи открыть дверь для доступа в помещение.
•   Вызвать – этот вариант использования дает возможность человеку снаружи подать звуковой сигнал внутри помещения для того чтобы начать разговор с человеком внутри.
•   Открыть замок (изнутри) – этот вариант использования дает возможность человеку находящемуся внутри открыть замок изнутри.
•   Сменить код доступа – этот вариант использования позволяет любому человеку сменить код доступа необходимый для доступа в помещение.
•   Сменить код контроля - этот вариант использования позволяет любому человеку сменить код контроля служащий для контроля за изменением кода доступа.
•   Ответить - этот вариант использования дает возможность человеку внутри ответить человеку снаружи.

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

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

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

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

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

Вариант использования: «Ответить»
ID 6
Краткое описание:
Данный вариант использования дает возможность человеку внутри ответить человеку снаружи.
Основное действующее лицо:
Человек внутри
Второстепенные действующие лица:
Человек снаружи, микрофон, громкоговоритель
Предусловия:
Звонок внутри помещения
Основной поток событий:
1. ВИ начинается, когда Человек внутри нажимает кнопку «Ответ».
2. Система включает микрофон и громкоговоритель с обеих сторон двери.
3. Вариант использования завершается.
Альтернативный поток событий:
Нет
Постусловия:
Нет
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 20:49:33
Мы не знаем, какие требования установил Ваш преподаватель. Я бы не рекомендовал создавать такие действующие лица. При моделировании встроенных систем устройства отображаются в граничные классы. Вот тому пример (http://users.evtek.fi/~tk/rt_design/uml_sound_rec.pdf) [135Kb].
Нда... Дело ясное что дело темное. Требований собственно вот таких конкретных нет.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 21:05:53
Хочу как-то понемногу подводить черту под Use Case, потому как кроме Use Case мне нужно еще сделать кучу диаграмм и закодить это все дело. Как говориться чем дальше в лес тем больше дров. :).

Насколько я понимаю некоторые комментарии были типа: "Я бы сделал там вот так" - это означает что у меня в ПРИНЦИПЕ правильно, но можно улучшить?

НО!
Если есть КРИТИЧЕСКИЕ ошибки очевидные для Вас, которые сразу накладывают "крест" на систему (и соответственно на всю работу) очень прошу их писАть!
В связи с этим конкретные вопросы:
1. Есть ли критические ошибки в определении или описании ДЛ?
2. Есть ли критические ошибки в выделении и описании ВИ?
3. Конкретно по каждому ВИ какие ошибки в спецификациях?
4. Есть ли ошибки в графическом представлении диаграммы?

Заранее спасибо всем!
З.Ы. Особенно интересно мнение уважаемых гуру bas и Galogen, все-таки в основном (но не только) по Вашим комментариям я и переделывал свой вариант поэтому будьте любезны прокомментируйте что получилось :)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 22 Сентября 2009, 21:11:43
Как я уже писал следующими диаграммами будут:

- диаграммы активности(видов деятельности) – Activity diagram
- диаграммы взаимодействия – Interaction diagram
                  - диаграммы последовательностей –Sequence diagram
                  - диаграммы кооперации – Collaboration diagram
- диаграммы состояний – Statechart diagram
- диаграммы классов – Class diagram
- диаграммы компонент – Component diagram

планирую результат работы выкладывать здесь (с вашего молчаливого согласия :)) если Вам действительно интересно и эта тема принесет пользу ресурсу в качестве примера.
Как говорится Вы - Мне помощь - Я - Вам пример :)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 23 Сентября 2009, 11:28:59
Аффтар. Я думаю тут были высказаны мнения по поводу того, имеел ли смысл определять требования с применением ВИ. Так или иначе Вы это сделали. Сделали в общем не плохо. Основная задача показать, что должна делать система, а не как. При этом ВИ лишь часть проекта, как Вы верно отметили. Уделять им внимание нужно столько, чтобы было ясно, что делает система. Детали системы Вами будут проработаны на стадии проектирования и реализации ВИ. Возможно, это вызовет изменения в спецификации ВИ. Сама спецификация будет полезна при разработке тестовых примеров, планировании реализации.

Я бы порекомендовал также сформировать концептаульную модель классов, общих частей системы: концепцию пульта управления (наружней и внутренней), микрофона, замка, громкоговорителей
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 23 Сентября 2009, 13:53:57
Аффтар. Я думаю тут были высказаны мнения по поводу того, имеел ли смысл определять требования с применением ВИ. Так или иначе Вы это сделали. Сделали в общем не плохо. Основная задача показать, что должна делать система, а не как. При этом ВИ лишь часть проекта, как Вы верно отметили. Уделять им внимание нужно столько, чтобы было ясно, что делает система. Детали системы Вами будут проработаны на стадии проектирования и реализации ВИ. Возможно, это вызовет изменения в спецификации ВИ. Сама спецификация будет полезна при разработке тестовых примеров, планировании реализации.
ясно. я так и думаю в общем.
Я бы порекомендовал также сформировать концептаульную модель классов, общих частей системы: концепцию пульта управления (наружней и внутренней), микрофона, замка, громкоговорителей
хорошо. спасибо.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 23 Сентября 2009, 14:49:37
to all: еще мнения?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 23 Сентября 2009, 19:52:00
В сменах кодов
Цитировать
Если код введен верно, система запрашивает новый код доступа иначе подает звуковой сигнал, информируя, что введен неправильный код контроля.
Тут как бы неявно предполагается, что при неверном коде также происходит завершение ВИ. Надо бы это явно прописать
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 23 Сентября 2009, 20:28:02
В сменах кодовТут как бы неявно предполагается, что при неверном коде также происходит завершение ВИ. Надо бы это явно прописать
Ок. Переделаю.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 23 Сентября 2009, 21:00:57
Исправил ВИ "Сменить код контроля" и "Сменить код доступа"

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

Вариант использования: «Сменить код контроля»
ID 5
Краткое описание:
Данный вариант использования позволяет пользователю при открытой двери сменить код контроля используемый для контроля смены кода доступа.
Основное действующее лицо:
Пользователь
Второстепенные действующие лица:
Цифровой дисплей
Предусловия:
Дверь открыта
Основной поток событий:
1. ВИ начинается, когда Человек нажимает кнопку «Вызов»
2. Система запрашивает код контроля.
3. Пользователь вводит код контроля.
4. Система отображает введенный код на дисплее.
5. Система проверяет введенный код.
6. Если Пользователь ввел код контроля верно
      6.1. Система запрашивает новый код контроля
      6.2. Человек вводит новый код контроля.
      6.3. Система сохраняет новый код контроля.
7. Если Пользователь ввел код контроля не верно
      7.1. Система подает звуковой сигнал, информируя, что введен неправильный код контроля
8. Вариант использования завершается.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 23 Сентября 2009, 22:08:57
Activity diagram v.1
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 23 Сентября 2009, 22:10:42
продолжение...

комментарии!?м :)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Виктор Малышко от 24 Сентября 2009, 11:08:07
В смену кодов я бы на первое ребро присобачил сторожевое условие [дверь открыта].
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 19:30:45
Приветствую формучан! В связи с сессией и большой загруженностью немного пропал :), исправляюсь. Как и обещал выкладываю результат своей работы. Ошибки конечно есть, но время поджимало и в итоге получилось то что получилось. Смело критикуйте. Надеюсь кому-то будет полезен этот материал.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 19:38:42
Use Case
(http://i1.fastpic.ru/big/2010/0114/6e/230bb893b1ff9b1e28c90e635fc8f06e.jpg)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 19:51:14
что-то не получается у меня запостить рисунок
(http://i1.fastpic.ru/thumb/2010/0114/6e/230bb893b1ff9b1e28c90e635fc8f06e.jpeg) (http://fastpic.ru/view/1/2010/0114/230bb893b1ff9b1e28c90e635fc8f06e.jpg.html)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:09:50
ОПИСАНИЕ ДИАГРАММЫ ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ (Use Case Diagram)

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

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

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

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

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

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

ЭТО ОКОНЧАТЕЛЬНЫЙ ВАРИАНТ КОТОРЫЙ БЫЛ СДАН
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:22:23
ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТЕЙ И КООПЕРАЦИИ (Sequence Diagram Communication Diagram)

На основании выявленных вариантов использования были разработаны классы будущей программы. Затем были построены диаграммы последовательности и кооперации.

Были выявлены классы:
COutsidePanel – класс наружной панели
CSystem – класс системы
CInsidePanel – класс внутренней панели

ВИ «Открыть дверь»
Человек снаружи нажимает кнопку цифра (0-9), (выполняется функция COutsidePanel::EnterKeyNumber(), затем в системе сохраняется значение последней нажатой клавиши (выполняется функция CSystem::SetLastKey()). Система проверяет статус двери (выполняется функция CSystem::GetState()), если дверь открыта система ждет пока не будут введены четыре цифры пароля (выполняется функция CSystem::SetFourDigits()). После набора четырех цифр система начинает проверку введенного кода (выполняется функция CSystem::VerificationPassword()). Если введенный код не проходит проверку система подает сигнал «ошибка» (выполняется функция COutsidePanel::StartRingError()). Если код введен верно система открывает электромеханический замок (выполняется функция CSystem::OpenLock()). Статус двери изменяется (выполняется функция CSystem::SetDoorStatus()).

ВИ «Вызвать»
Человек снаружи нажимает кнопку «Вызов» (выполняется функция COutsidePanel::EnterKeyRing()). Внутри помещения раздается звонок (выполняется функция CInsidePanel::StartRingCall()). Если человек внутри в течение времени пока раздается звонок (10 с) не нажал кнопку «Ответ», снаружи раздается сигнал «ошибка» (выполняется функция COutsidePanel::StartRingError()). Если человек внутри нажимает кнопку «Ответ» в течении времени сигнала «звонок» (10 с), сигнал «звонок» прерывается (выполняется функция CInsidePanel::StopRingCall()), на внутренней панели включается громкоговоритель (выполняется функция CInsidePanel::OnSpeaker()) и микрофон (выполняется функция CInsidePanel::OnMicrophone()), также на наружной панели включается громкоговоритель (выполняется функция COutsidePanel::OnSpeaker()) и микрофон (выполняется функция COutsidePanel::OnMicrophone()). По окончанию разговора человек внутри снова нажимает кнопку «Ответ», на внутренней панели выключается микрофон (выполняется функция CInsidePanel::OffMicrophone()) выключается громкоговоритель (выполняется функция CInsidePanel::OffSpeaker()), также на наружной панели выключается микрофон (выполняется функция COutsidePanel::OffMicrophone()) выключается громкоговоритель (выполняется функция COutsidePanel::OffSpeaker()).

ВИ «Открыть замок (изнутри)»
Человек внутри помещения нажимает кнопку «Открыть» (выполняется функция CInsidePanel::EnterKeyOpen()), система открывает электромеханический замок (выполняется функция CSystem::OpenLock()). Статус двери изменяется (выполняется функция CSystem::SetDoorStatus()).

ВИ «Сменить код доступа»
Человек снаружи нажимает кнопку «Контроль» (выполняется функция COutsidePanel::EnterKeyControl()), происходит проверка статуса двери (выполняется функция CSystem::GetDoorStatus()). Если дверь закрыта то раздается сигнал «ошибка» (выполняется функция COutsidePanel::StartRingError()). Если дверь открыта человек вводит код контроля (выполняется функция CSystem::EnterControlPassword()), система меняет статус (выполняется функция CSystem::SetState()). Устанавливается значение нажатой клавиши (выполняется функция CSystem::ChangeAccessPassword()) фиксируется изменение нажата кнопка «Контроль» (выполняется функция CSystem::SetVizozOrControl()). Начинается проверка введенного пароля (выполняется функция CSystem::VerificationPassword()). Если введенный пароль неправильный подается сигнал «ошибка» (выполняется функция COutsidePanel::StartRingError()). Если введенный пароль правильный запрашивается новый пароль, новый пароль сохраняется (выполняется функция CSystem::SavePassword()).

ВИ «Сменить код контроля»
Человек снаружи нажимает кнопку «Вызов» (выполняется функция COutsidePanel::EnterKeyRing()), происходит проверка статуса двери (выполняется функция CSystem::GetDoorStatus()). Если дверь закрыта то внутри помещения раздается звонок (выполняется функция CInsidePanel::StartRingCall()) выполняется ВИ «Вызвать». Если дверь открыта человек вводит код контроля (выполняется функция CSystem::EnterControlPassword()), статус проверки кода изменяется (выполняется функция CSystem::SetState()).Фиксируется изменение нажата кнопка «Вызов» (выполняется функция CSystem::SetVizozOrControl()). Начинается проверка введенного пароля (выполняется функция CSystem::VerificationPassword()). Если введенный пароль неправильный подается сигнал «ошибка» (выполняется функция COutsidePanel::StartRingError()). Если введенный пароль правильный запрашивается новый пароль, новый пароль сохраняется (выполняется функция CSystem::SavePassword()).

ВИ «Ответить»
Человек внутри во нажимает кнопку «Ответить» (выполняется функция CInsidePanel::EnterKeyAnswer()). Проверка сигнала «звонок» (выполняется функция CInsidePanel::GetRingStatus()). Если сигнал «звонок» есть на внутренней панели включается микрофон (выполняется функция CInsidePanel::OnMicrophone()), на наружной панели включается громкоговоритель (выполняется функция COutsidePanel::OnSpeaker()), на внутренней панели включается громкоговоритель (выполняется функция CInsidePanel::OnSpeaker()), на наружной панели включается микрофон (выполняется функция COutsidePanel::OnMicrophone()).

Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:24:12
продолжение
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:25:11
продолжение
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:28:43
ДИАГРАММЫ СОСТОЯНИЙ (State Mashine Diagram)

Объекты классов COutsidePanel, CInsidePanel, CSystem во время выполнения программы могут находится в разных состояниях. Свое состояние они могут менять как от действий пользователя так и в результате получения сообщений от друг друга. По завершению варианта использования объекты всегда возвращаются в исходное состояние.
На диаграммах состояния представлены состояния объектов в которых они могут находиться и события инициирующие переходы из одного состояния в другое.

Класс наружная панель – COutsidePanel
Данный класс может находится в 4-х состояниях:
1. «микрофон и громкоговоритель выключены» - начальное состояние
2. «микрофон включен» - микрофон включен, принимает звук
3. «громкоговоритель включен» - громкоговоритель включен, передает звук
4. «сигнал «ошибка»» - неверное действие, звучит сигнал «ошибка»

Класс внутренняя панель – CInsidePanel
Данный класс может находится в 4-х состояниях:
1. «микрофон и громкоговоритель выключены» - начальное состояние
2. «микрофон включен» - микрофон включен, принимает звук
3. «громкоговоритель включен» - громкоговоритель включен, передает звук
4. «сигнал «звонок»» - вызов, звучит сигнал «звонок»

Класс наружная панель – CSystem
Данный класс может находится в 6-и состояниях:
1. «дверь закрыта» - начальное состояние
2. «дверь открыта» - код доступа правильный, дверь открыта
3. «введен код доступа» - введен код доступа
4. «введен код контроля» - дверь открыта, введен код контроля
5. «изменен код доступа» - код контроля правильный, новый код доступа сохранен
6. «изменен код контроля» - код контроля правильный, новый код контроля сохранен
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:30:25
ДИАГРАММЫ КЛАССОВ (Class Diagram)

На диаграмме классов представлена структура классов системы.
Диаграмма состоит:
1.   COutsidePanel – класс наружной панели
2.   CInsidePanel – класс внутренней панели
3.   CSystem – класс системы в целом
4.   ZamocDoc – класс «документ» (MFC)
Класс CSystem описывает систему в целом. Классы панелей обмениваются данными между собой через систему.
Класс «документ» содержит экземпляры всех классов системы.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:31:44
ДИАГРАММЫ КОМПОНЕНТОВ (Component Diagram)

На диаграмме компонентов представлены компоненты проекта. Связи обозначают зависимости между ними при компиляции, порядок подключения заголовочных файлов.
CSystem.h+CSystem.cpp – определение и реализация класса CSystem
COutsidePanel.h+COutsidePanel.cpp – определение и реализация класса COutsidePanel
CInsidePanel.h+CInsidePanel.cpp – определение и реализация класса CInsidePanel
ZamocDoc.h+Zamoc.cpp – определение и реализация класса «документ» (MFC)
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:37:01
ОПИСАНИЕ ПРОГРАММЫ

COutsidePanel – класс наружной панели
Класс наружная панель служит интерфейсом для взаимодействия с системой пользователя снаружи охраняемого помещения.
Атрибуты:
int ring_error_status - хранит состояние сигнала "ошибка"
int outside_speak_status - хранит информацию о состоянии громкоговорителя
int outside_mic_status - хранит информацию о состоянии микрофона
Методы:
int GetRingErStatus() - метод получения статуса сигнала "ошибка"
int GetOutsideMicStatus() - метод служит для получения статуса микрофона
intGetOutsideSpStatus() - метод служит для получения статуса громкоговорителя
int OnMicrophone() - метод включает микрофон
int OffMicrophone() - метод выключает микрофон
int OnSpeaker() - метод включает громкоговоритель
int OffSpeaker() - метод выключает громкоговоритель
int StartRingError() - метод старта сигнала "ошибка"
int StopRingError() - метод остановки сигнала ошибка
void EnterKeyNumber(int KEY) - метод реакции на нажатую клавишу
Номер (0-9)
int EnterKeyRing() - метод реакции на нажатую клавишу Вызов
int EnterKeyControl() - метод реакции на нажатую клавишу Контроль

CInsidePanel – класс внутренней панели
Класс внутренняя панель служит интерфейсом между пользователем внутри помещения и системой.
Атрибуты:
int ring_status - хранит состояние сигнала "звонок"
int inside_mic_status - хранит информацию о состоянии микрофона
int inside_speak_status - хранит информацию о состоянии громкоговорителя
Методы:
int GetRingStatus() - метод получения статуса сигнала "звонок"
int GetInsideMicStatus() - метод служит для получения статуса микрофона
int GetInsideSpeakStatus() - метод служит для получения статуса
громкоговорителя
int OnMicrophone() - метод включает микрофон
int OffMicrophone() - метод выключает микрофон
int OnSpeaker() - метод включает громкоговоритель
int OffSpeaker() - метод выключает громкоговоритель
int StartRingCall() - метод старта сигнала "звонок"
int StopRingCall() - метод остановки сигнала "звонок"
int EnterKeyAnswer() - метод реакции на нажатую клавишу Ответ
int EnterKeyOpen() - метод реакции на нажатую клавишу Открыть

CSystem – класс системы
Класс системы обменивается данными с классами наружной и внутренней панели. Имитирует работу системы регулирующей доступ в помещение в целом.
Атрибуты:
int door_status - хранит состояние двери (отк-закр)
int control_password - хранит пароль контроля
int access_password - хранит пароль доступа
int last_key - хранит значение последней нажатой клавиши
int state – хранит состояние (необходимо для переключения сохранения либо код доступа либо код контроля)
int vizov_or_control – хранит информацию нажатой клавиши (контроль или вызов, служит для переключения)
CByteArray four_digits - коллекция типа Array для хранения набранного пароля
int i -  просто счетчик
Методы:
int GetState() - метод получения значения переменной статуса
void SetState (int STATE) - метод установки значения переменной статуса
int GetVozovOrControl () – метод получения значения переменной vizov_or_control
void SetVizivOrControl (int vizov_or_control) - метод установки значения переменной vizov_or_control
int GetDoorStatus() - метод получения статуса двери
void SetDoorStatus(int DOOR_STATUS) - метод установки статуса двери
void SetFourDigits(int FOUR_DIGITS) – метод установки значения переменной four_digits
int EnterControlPassword() - метод установки значени статус (смена контроля)
int EnterAccessPassword() - метод установки значени статус (смена доступа)
int GetLastKey() - метод получить значения последней нажатой клавиши
void SetLastKey(int KEY) - метод установить значение последней клавиши
int GetPassword() - метод получить значение пароля
int SavePassword() - метод сохранить зачения пароля
int VerificationPassword() - метод проверки пароля
int ChangeContolPassword() - метод сменить код контроля
int ChangeAccessPassword() - метод сменить код доступа
int OpenLock() - метод открыть замок
int CloseLock() - метод закрыть замок
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:40:36
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

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

1-я область представляет вид панели устанавливаемой снаружи охраняемого помещения. Непосредственно с ней взаимодействует любой человек находящийся снаружи помещения.
2-я область представляет вид панели устанавливаемой внутри охраняемого помещения. Непосредственно с ней взаимодействует любой человек находящийся внутри помещения.
3-я область служит для наглядного представления о текущем состоянии элементов системы.

Код доступа по умолчанию: 1234
Код контроля по умолчанию: 4321

1.   Открыть дверь.
Для того чтобы открыть дверь (находясь снаружи) необходимо ввести код доступа состоящий их 4-х цифр. Для этого нужно нажать последовательно на кнопки с соответствующим номером. Если код введен правильно дверь открывается.

2.   Вызвать.
Для того чтобы вызвать человека находящегося внутри помещения необходимо нажать кнопку вызов. После чего внутри помещения начнет раздаваться сигнал «звонок». Если человек внутри помещения в течении 10 секунд пока раздается звонок нажимает кнопку «Ответить» начинается разговор. Иначе подается сигнал «ошибка». Для того чтобы закончить разговор человеку внутри необходимо еще раз нажать кнопку «Ответить».

3.   Открыть замок (изнутри).
Для того чтобы открыть замок (изнутри), человеку находящемуся внутри необходимо нажать кнопку «Открыть» на внутренней панели. После нажатия кнопки электромеханический замок открывается.

4.   Сменить код доступа.
Для того чтобы сменить код доступа необходимо чтобы дверь была открыта. Для смены кода доступа необходимо на наружной панели нажать кнопку «Контроль», после чего ввести код контроля состоящий из 4-х цифр. Если код контроля введен верно, можно вводить новый код доступа. Система сохранит новый код доступа.

5.   Сменить код контроля.
Для того чтобы сменить код контроля необходимо чтобы дверь была открыта. Для смены кода контроля необходимо на наружной панели нажать кнопку «Вызов», после чего ввести текущий код контроля. Если код контроля введен верно, можно вводить новый код контроля. Система сохранит новый код контроля.

6.   Ответить.
Для того чтобы начать разговор с человеком снаружи, человеку находящемуся внутри необходимо в течении 10 секунд пока раздается сигнал «звонок» нажать кнопку «Ответить» на внутренней панели. После чего на обоих панелях включаются громкоговорители и микрофоны и начинается разговор.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:45:00
Activity Diagram

ОКОНЧАТЕЛЬНЫЙ ВАРИАНТ КОТОРЫЙ БЫЛ СДАН
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:45:29
продолжение
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 14 Января 2010, 20:52:07
Cобственно все, если что забыл запостить - пишите.

Выражаю огромную благодарность всем тем кто давал советы и оставлял комментарии!

Special thanks: Galogen, bas, Виктор Малышко, 474.

p.s. В настоящее время ведется работа по написанию дипломного проекта, там тоже будет использоваться UML при проектировании так что я не прощаюсь :).
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: bas от 15 Января 2010, 09:16:51
Ну раз еще ЮМЛ понадобится, то делаю комментарий по ВИ:
1. ВИ "Ответить" - это поддействия ВИ "Вызвать"
2. ВИ "Открыть замок изнутри" я бы показал как расширение ВИ "Вызвать"
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 15 Января 2010, 11:01:13
Хорошо сделанная работа. Конечно, не без шероховатостей, но в целом очень даже ничего.

Есть ряд вопросов.
1. Код доступа для замка один и только один? Нет ли потребности хранить несколько валидных кодов доступа? Если такая потребность появится позже, можно ли быстро внести необходимые модификации в структуру программы?

2. Не следует ли класс Система декомпозировать на дополнительные классы: микрофон (причем их два), сигнальная система, ГГС - громкоговоритель (вероятно тоже), запорный механизм, хранилище кодов?
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 15 Января 2010, 11:04:32
Ну раз еще ЮМЛ понадобится, то делаю комментарий по ВИ:
1. ВИ "Ответить" - это поддействия ВИ "Вызвать"
Ответить - будет расширением Вызвать. Причем Ответить явно абстрактный ВИ, т.е. не имеющий собственного экземпляра. Невозможно ответит, пока не будет вызова.

Цитировать
2. ВИ "Открыть замок изнутри" я бы показал как расширение ВИ "Вызвать"
В принципе да, но в отличии от первого случая Открыть замок изнутри будет конкретным ВИ - он срабатывает когда человек покидает комнату.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: bas от 15 Января 2010, 11:50:56
... но в отличии от первого случая Открыть замок изнутри будет конкретным ВИ - он срабатывает когда человек покидает комнату...
Поэтому я и предложил в первом случае объединить Вызвать и Ответить в один ВИ, т.к. (1) он абстрактный, (2) мы должны указать полный положительный ход ВИ в основном сценарии.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 15 Января 2010, 12:54:49
Ну раз еще ЮМЛ понадобится, то делаю комментарий по ВИ:
1. ВИ "Ответить" - это поддействия ВИ "Вызвать"
2. ВИ "Открыть замок изнутри" я бы показал как расширение ВИ "Вызвать"

абсолютно согласен. но понял это когда уже практически доделал работу :).
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 15 Января 2010, 13:02:09
Хорошо сделанная работа. Конечно, не без шероховатостей, но в целом очень даже ничего.

спасибо

1. Код доступа для замка один и только один? Нет ли потребности хранить несколько валидных кодов доступа? Если такая потребность появится позже, можно ли быстро внести необходимые модификации в структуру программы?

думаю нет необходимости хранить несколько кодов. какой смысл? а изменения можно внести конечно.

2. Не следует ли класс Система декомпозировать на дополнительные классы: микрофон (причем их два), сигнальная система, ГГС - громкоговоритель (вероятно тоже), запорный механизм, хранилище кодов?

:) ну прямо заметили самую суть :) все те моменты в которых я сомневался. да, конечно, класс перегружен надо бы по хорошему разделить. но думаю нет смысла слишком декомпозировать. думаю разделить еще на 2 будет вполне достаточно, скажем класс памяти и класс процессор (логика). потому как класс микрофон или подобный с одним методом (или двумя) тоже смсла нет выделять.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 15 Января 2010, 13:10:17
:) ну прямо заметили самую суть :) все те моменты в которых я сомневался. да, конечно, класс перегружен надо бы по хорошему разделить. но думаю нет смысла слишком декомпозировать. думаю разделить еще на 2 будет вполне достаточно, скажем класс памяти и класс процессор (логика). потому как класс микрофон или подобный с одним методом (или двумя) тоже смсла нет выделять.
Конечно для учебного задания и так пойдет. А насчет того, что класс микрофон будет иметь только один два метода - так это не так плохо. Кстати ведь микрофон может диагностировать себя, тогда могут появится дополнительные методы :) Но это так к слову
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Аффтар от 15 Января 2010, 13:27:30
Конечно для учебного задания и так пойдет. А насчет того, что класс микрофон будет иметь только один два метода - так это не так плохо. Кстати ведь микрофон может диагностировать себя, тогда могут появится дополнительные методы :) Но это так к слову
ну... тогда конечно можно :). нет предела совершенству
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: RuZzz от 30 Октября 2010, 16:04:13
Давно хотел сделать кодовый замок на двери моей комнаты, чтоб от родителей закрывать дверь :)
Пару вопросов автору:
1. А что произойдет если отключат свет или сядут батарейки? Система откроет дверь?
2. Нельзя ли выложить doc файл курсовика, чтобы я попытался реализовать его в электронное устройство? Или хотя бы на мыло отправить? Если что то из этого получится то выложу на форум.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: RuZzz от 26 Ноября 2010, 16:23:42
Ещё один вопрос к знатокам. А можно ли на ДВИ изображать злоумышленника который тоже хочет открыть дверь, или как правильно смоделировать поведение системы при действиях нежелательных лиц? Просто если прописывать сценарии без участия нежелательных лиц, можно что то упустить в безопасности системы.
Название: Re: Курсовая работа - Кодовый замок регулирующий доступ в помещение
Отправлено: Galogen от 26 Ноября 2010, 16:58:21
Ещё один вопрос к знатокам. А можно ли на ДВИ изображать злоумышленника который тоже хочет открыть дверь, или как правильно смоделировать поведение системы при действиях нежелательных лиц? Просто если прописывать сценарии без участия нежелательных лиц, можно что то упустить в безопасности системы.
Естественно можно. Помнится у Коберна даже по этому поводу есть строки в его книге.
По сути злоумышленник - некая роль со своим хотением, которое нам как раз не нравится.
Главное понять от тчего следует защищать систему, т.е. какие действия может предпринять злоумышленнник.

Если это типа неверный пин-код и т.п. можно описать в исключениях.