Автор работы: Пользователь скрыл имя, 22 Января 2012 в 17:08, курсовая работа
В рамках учебной программы специальности «Информационные системы и технологии» студент обязан выполнить курсовой проект по предмету «Проектирование информационных систем». Целью данной работы является погружение студента в обстановку близкую к реальной. Предлагаются темы курсовых, одну из которых студент обязан выбрать и в последствии реализовать с помощью полученных навыков и знаний в области проектирования информационных систем.
Введение ……………………………………………………………………………………………….. 3
1. Задание …………. ………………………………………………………………………………….. 4
2. Описание предметной области ……………………………………………………………………. 5
3. Проектирование ……………………………………………………………………………………. 6
3.1. Диаграмма вариантов использования ………….……………………………………………….. 6
3.2. Диаграмма классов ………………………………………………………………………………. 7
3.3. Диаграммы последовательностей и активностей ...……………………………………………. 8
3.4. Диаграммы состояний ………………………………………………………………………….. 11
4. Заключение ………………………………………………………………………………………... 13
Приложение А ……………………………………………………………………………………….. 14
ДОНСКОЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
Факультет
«Электромеханика и технологические
машины»
Студент Васильев Степан Анатольевич
Адрес г. Ростов-на-Дону ул. Ленина д.107 кв. 14
Группа ЭЗИ3-1
ШИФР
309731
КУРСОВАЯ
РАБОТА № 1
По дисциплине:
«Проектирование информационных сетей»
Проверил:
ассистент Галушка В.В за 3 курс
Вариант
№ 22
Дата отправления
в академию
«26» октября 2011
г.
2011\2012 г
Содержание
Введение ………………………………………………………
2. Описание предметной
области …………………………………………………………
3. Проектирование
………………………………………………………………………………
3.1. Диаграмма вариантов использования ………….……………………………………………….. 6
3.2. Диаграмма
классов …………………………………………………………
3.3. Диаграммы последовательностей и активностей ...……………………………………………. 8
3.4. Диаграммы
состояний ……………………………………………………
4. Заключение
………………………………………………………………………………
Приложение А
………………………………………………………………………………
В рамках
учебной программы
Требуется
разработать модель программного обеспечения
встроенного микропроцессора
Домофон регулирует доступ в подъезд многоквартирного дома. В подъезде имеется дверь с замком. С наружной стороны двери установлена панель с кнопками на каждую квартиру, микрофон и динамик. В каждой квартире имеется кнопка «СВЯЗЬ», «БЛОКИРОВКА» и «ОТКРЫТЬ». Кроме того, в квартире имеется микрофон и динамик.
Жильцы
могут открывать дверь ключом. Посетитель
может нажать кнопку квартиры на внешней
панели. При этом в квартире раздается
звонок (если подача звонка в квартиру
не заблокирована). Услышав звонок, жилец
квартиры нажимает на кнопку «СВЯЗЬ» внутренней
панели домофона, после чего домофон устанавливает
звуковое сообщение между жильцом и посетителем.
Звуки, произносимые посетителем в микрофон,
установленный на внешней панели, воспроизводятся
в динамике, установленном в квартире.
Звуки из микрофона в квартире, передаются
в динамик на внешней панели. После сеанса
связи жилец может нажать на кнопку «ОТКРЫТЬ»,
чтобы замок на двери в подъезд открылся,
и посетитель смог войти. По истечении
минуты замок должен снова заблокировать
вход в подъезд. Жилец, который желает,
чтобы его не беспокоили, может отключить
подачу звонка в свою квартиру, нажав на
кнопку «БЛОКИРОВКА». Повторное нажатие
на эту кнопку вновь включает подачу звонка.
2. Описание предметной области
Так
как домофон напрямую
Диаграмма вариантов использования является основной в плане описания аспектов. Это интуитивно понятный способ разобраться в особенностях системы. Верность выполнения данной части модели, диктует ее качество и соответствие требованиям. На этапе реализации этой диаграммы выявляется множество непониманий между заказчиком и исполнителем.
Можно выделить такие цели создания диаграмм прецедентов:
На рисунке 1 изображена диаграмма вариантов использования, на который выделено 3 сущности: домофон, посетитель и жилец. А с помощью вариантов использования статически описаны функционалы каждой из них с привязкой к исполнителю.
Рис. 1. Диаграмма вариантов использования
Если вспомнить классовый подход в объектно-ориентированных языках программирования, то можно легко предугадать функциональность этой диаграммы. В отличие от диаграммы прецедентов она информирует нас не только о составе действий, но более детально и четко возлагает каждую из функций на объект класса. Ко всему прочему наследование станет очень удобным инструментом для отражения аспектов проектируемой системы, выявит зависимости. Описание возможностей класса в виде операций класса – присвоит каждому из объектов ряд индивидуальных функций.
На рисунке
2 изображена диаграмма классов
Рис.2. Диаграмма классов
Несмотря
на то, что предыдущие два вида диаграмм
очень важны и обладают большой
информативностью, они никаким образом
не описывают проектируемую
Рис 3. Диаграмма
последовательности для прецедента «Открыть
дверь из квартиры»
Рис 4. Диаграмма
последовательности для прецедента «Заблокировать
звонки»
Попытка описать разговор жильца с посетителем с помощью диаграмм последовательностей привела к очень сомнительному результату. Она не позволяет описать параллельные действия, хотя на уровне пользователя система реализует разговор в режиме реального времени, что означает следующее: для описания этого прецедента лучше использовать диаграмму активности.
Рис. 5. Диаграмма
активности для прецедента «Разговаривать
через домофон»
Как видно, диаграмма активности позволяет описать параллельно происходящие процессы.
Таким
же образом понадобилась диаграмма
активности для прецедента «Позвонить
в квартиру». Так как система
имеет условности при использовании
функции звонка, а именно: жилец
может заблокировать
Рис. 6. Диаграмма
последовательности для прецедента «Позвонить
в квартиру»
Диаграмма последовательностей «Позвонить в квартиру» не удовлетворяет по причине отсутствия возможности описать прецедент, который имеет несколько вариантов выполнения в зависимости от состояния кнопки «Заблокировать» и присутствия жильца в квартире.
Рис. 7. Диаграмма
активности для прецедента «Позвонить
в квартиру»
Рис. 8. Диаграмма
последовательности для прецедента «Связь
с посетителем»
Диаграмма описывает последовательный процесс ответа жильца на звонок в квартиру.
Рис. 9. Диаграмма
состояний для класса «домофон»
Диаграмма состояний для класса «домофон» детально описывает состояние самого контроллера домофона. Ни на одной из диаграмм ранее не описывалась ситуация, когда жилец отклоняет входящий звонок. Состояние «взаимодействие с замком» показывает, как микроконтроллер управляет замком двери.
Рис. 10.
Диаграмма состояний для класса «жилец»
Диаграмма состояний для класса «жилец» описывает все возможные состояния жильца важные с точки зрения описания системы. Как видно, существует 4 возможных исхода взаимодействия домофона и жильца.
Рис 11. Диаграмма
состояний для класса «посетитель»
На этой диаграмме есть небольшое сознательное допущение проникновения состояния класса-родителя. Это состояние «человек». Сделано это с целью более точного описания поведения такого сложного объекта как «посетитель».
Case-средство
Rational Rose в полной мере позволило воспользоваться
широкими возможностями UML для проектирования.
Данная модель отражает весь функционал
и схематически отражает все требования,
предъявляемые к реальному программному
обеспечению микроконтроллера домофона.
Приложение A
Дверь в подъезд.h
#ifndef ДВЕРЬ_В_ПОДЪЕЗД_H_HEADER_
#define ДВЕРЬ_В_ПОДЪЕЗД_H_HEADER_
//##ModelId=4EA659EB013C
class Дверь в подъезд
{
public:
//##ModelId=4EA65A53038E
Открыть();
//##ModelId=4EA65A5D02C3
Закрыть();
};
#endif /* ДВЕРЬ_В_ПОДЪЕЗД_H_HEADER_
Дверь в подъезд.cpp