Информационные сети
ДОНСКОЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
Факультет
«Электромеханика и технологические
машины»
Студент Васильев Степан Анатольевич
Адрес г. Ростов-на-Дону ул. Ленина д.107 кв. 14
Группа ЭЗИ3-1
ШИФР
309731
КУРСОВАЯ
РАБОТА № 1
По дисциплине:
«Проектирование информационных сетей»
Проверил:
ассистент Галушка В.В за 3 курс
Вариант
№ 22
Дата отправления
в академию
«26» октября 2011
г.
2011\2012 г
Содержание
Введение ………………………………………………………
1. Задание
…………. ……………………………………………………………………………… …..
4
2. Описание предметной
области …………………………………………………………
3. Проектирование
………………………………………………………………………………
3.1. Диаграмма вариантов использования ………….……………………………………………….. 6
3.2. Диаграмма
классов …………………………………………………………
3.3. Диаграммы последовательностей и активностей ...……………………………………………. 8
3.4. Диаграммы
состояний ……………………………………………………
4. Заключение
………………………………………………………………………………
Приложение А
………………………………………………………………………………
Введение
В рамках
учебной программы
1. Задание
Требуется
разработать модель программного обеспечения
встроенного микропроцессора
Домофон регулирует доступ в подъезд многоквартирного дома. В подъезде имеется дверь с замком. С наружной стороны двери установлена панель с кнопками на каждую квартиру, микрофон и динамик. В каждой квартире имеется кнопка «СВЯЗЬ», «БЛОКИРОВКА» и «ОТКРЫТЬ». Кроме того, в квартире имеется микрофон и динамик.
Жильцы
могут открывать дверь ключом. Посетитель
может нажать кнопку квартиры на внешней
панели. При этом в квартире раздается
звонок (если подача звонка в квартиру
не заблокирована). Услышав звонок, жилец
квартиры нажимает на кнопку «СВЯЗЬ» внутренней
панели домофона, после чего домофон устанавливает
звуковое сообщение между жильцом и посетителем.
Звуки, произносимые посетителем в микрофон,
установленный на внешней панели, воспроизводятся
в динамике, установленном в квартире.
Звуки из микрофона в квартире, передаются
в динамик на внешней панели. После сеанса
связи жилец может нажать на кнопку «ОТКРЫТЬ»,
чтобы замок на двери в подъезд открылся,
и посетитель смог войти. По истечении
минуты замок должен снова заблокировать
вход в подъезд. Жилец, который желает,
чтобы его не беспокоили, может отключить
подачу звонка в свою квартиру, нажав на
кнопку «БЛОКИРОВКА». Повторное нажатие
на эту кнопку вновь включает подачу звонка.
2. Описание предметной области
Так
как домофон напрямую
3. Проектирование
3.1 Диаграмма вариантов использования
Диаграмма вариантов использования является основной в плане описания аспектов. Это интуитивно понятный способ разобраться в особенностях системы. Верность выполнения данной части модели, диктует ее качество и соответствие требованиям. На этапе реализации этой диаграммы выявляется множество непониманий между заказчиком и исполнителем.
Можно выделить такие цели создания диаграмм прецедентов:
- определение границы и контекста моделируемой предметной области на ранних этапах проектирования;
- формирование общих требований к поведению проектируемой системы;
- разработка концептуальной модели системы для ее последующей детализации;
- подготовка документации для взаимодействия с заказчиками и пользователями системы.
На рисунке 1 изображена диаграмма вариантов использования, на который выделено 3 сущности: домофон, посетитель и жилец. А с помощью вариантов использования статически описаны функционалы каждой из них с привязкой к исполнителю.
Рис. 1. Диаграмма вариантов использования
3.2 Диаграмма классов
Если вспомнить классовый подход в объектно-ориентированных языках программирования, то можно легко предугадать функциональность этой диаграммы. В отличие от диаграммы прецедентов она информирует нас не только о составе действий, но более детально и четко возлагает каждую из функций на объект класса. Ко всему прочему наследование станет очень удобным инструментом для отражения аспектов проектируемой системы, выявит зависимости. Описание возможностей класса в виде операций класса – присвоит каждому из объектов ряд индивидуальных функций.
На рисунке
2 изображена диаграмма классов
Рис.2. Диаграмма классов
3.3 Диаграммы последовательностей и активностей
Несмотря
на то, что предыдущие два вида диаграмм
очень важны и обладают большой
информативностью, они никаким образом
не описывают проектируемую
Рис 3. Диаграмма
последовательности для прецедента «Открыть
дверь из квартиры»
Рис 4. Диаграмма
последовательности для прецедента «Заблокировать
звонки»
Попытка описать разговор жильца с посетителем с помощью диаграмм последовательностей привела к очень сомнительному результату. Она не позволяет описать параллельные действия, хотя на уровне пользователя система реализует разговор в режиме реального времени, что означает следующее: для описания этого прецедента лучше использовать диаграмму активности.
Рис. 5. Диаграмма
активности для прецедента «Разговаривать
через домофон»
Как видно, диаграмма активности позволяет описать параллельно происходящие процессы.
Таким
же образом понадобилась диаграмма
активности для прецедента «Позвонить
в квартиру». Так как система
имеет условности при использовании
функции звонка, а именно: жилец
может заблокировать
Рис. 6. Диаграмма
последовательности для прецедента «Позвонить
в квартиру»
Диаграмма последовательностей «Позвонить в квартиру» не удовлетворяет по причине отсутствия возможности описать прецедент, который имеет несколько вариантов выполнения в зависимости от состояния кнопки «Заблокировать» и присутствия жильца в квартире.
Рис. 7. Диаграмма
активности для прецедента «Позвонить
в квартиру»
Рис. 8. Диаграмма
последовательности для прецедента «Связь
с посетителем»
Диаграмма описывает последовательный процесс ответа жильца на звонок в квартиру.
3.4 Диаграммы состояний
Рис. 9. Диаграмма
состояний для класса «домофон»
Диаграмма состояний для класса «домофон» детально описывает состояние самого контроллера домофона. Ни на одной из диаграмм ранее не описывалась ситуация, когда жилец отклоняет входящий звонок. Состояние «взаимодействие с замком» показывает, как микроконтроллер управляет замком двери.
Рис. 10.
Диаграмма состояний для класса «жилец»
Диаграмма состояний для класса «жилец» описывает все возможные состояния жильца важные с точки зрения описания системы. Как видно, существует 4 возможных исхода взаимодействия домофона и жильца.
Рис 11. Диаграмма
состояний для класса «посетитель»
На этой диаграмме есть небольшое сознательное допущение проникновения состояния класса-родителя. Это состояние «человек». Сделано это с целью более точного описания поведения такого сложного объекта как «посетитель».
4. Заключение
Case-средство
Rational Rose в полной мере позволило воспользоваться
широкими возможностями UML для проектирования.
Данная модель отражает весь функционал
и схематически отражает все требования,
предъявляемые к реальному программному
обеспечению микроконтроллера домофона.
Приложение A
Дверь в подъезд.h
#ifndef ДВЕРЬ_В_ПОДЪЕЗД_H_HEADER_
#define ДВЕРЬ_В_ПОДЪЕЗД_H_HEADER_
//##ModelId=4EA659EB013C
class Дверь в подъезд
{
public:
//##ModelId=4EA65A53038E
Открыть();
//##ModelId=4EA65A5D02C3
Закрыть();
};
#endif /* ДВЕРЬ_В_ПОДЪЕЗД_H_HEADER_
Дверь в подъезд.cpp
#include "Дверь в подъезд.h"
//##ModelId=4EA65A53038E
Дверь в подъезд::Открыть()
{
}
//##ModelId=4EA65A5D02C3
Дверь в подъезд::Закрыть()
{
}
Диалог из квартиры.h
#ifndef ДИАЛОГ_ИЗ_КВАРТИРЫ_H_HEADER_
#define ДИАЛОГ_ИЗ_КВАРТИРЫ_H_HEADER_
//##ModelId=4EA65DA0036F
class Диалог из квартиры
{
public:
//##ModelId=4EA65DEC03CD
Говорить();
//##ModelId=4EA65DF801F8
Слушать();
};
#endif /* ДИАЛОГ_ИЗ_КВАРТИРЫ_H_HEADER_
Диалог из квартиры.cpp
#include "Диалог из квартиры.h"
//##ModelId=4EA65DEC03CD
Диалог из квартиры::Говорить()
{
}
//##ModelId=4EA65DF801F8
Диалог из квартиры::Слушать()
{
}
Диалог с улицы.h
#ifndef ДИАЛОГ_С_УЛИЦЫ_H_HEADER_
#define ДИАЛОГ_С_УЛИЦЫ_H_HEADER_
//##ModelId=4EA65E0D0004
class Диалог с улицы
{
public:
//##ModelId=4EA65E2A017B
Посыл вызова();
//##ModelId=4EA65E360246
Говорить();
//##ModelId=4EA65E4100A0
Слушать();
};
#endif /* ДИАЛОГ_С_УЛИЦЫ_H_HEADER_
Диалог с улицы.cpp
#include "Диалог с улицы.h"
//##ModelId=4EA65E2A017B
Диалог с улицы::Посыл вызова()
{
}
//##ModelId=4EA65E360246
Диалог с улицы::Говорить()
{
}
//##ModelId=4EA65E4100A0
Диалог с улицы::Слушать()
{
}
Кнопка.h
#ifndef КНОПКА_H_HEADER_INCLUDED_
#define КНОПКА_H_HEADER_INCLUDED_
//##ModelId=4EA652E2018A
class Кнопка
{
public:
//##ModelId=4EA653310071
Номер кнопки;
};
#endif /* КНОПКА_H_HEADER_INCLUDED_
Кнопка.cpp
#include "Кнопка.h"
Контролирующая панель.h
#ifndef КОНТРОЛИРУЮЩАЯ_ПАНЕЛЬ_H_
#define КОНТРОЛИРУЮЩАЯ_ПАНЕЛЬ_H_
//##ModelId=4EA65E82036E
class Контролирующая панель
{
public:
//##ModelId=4EA65EBA01B8
Открыть дверь();
//##ModelId=4EA65ECE0080
Связь();
//##ModelId=4EA65EDD016A
Блокирование проигрывния
};
#endif /* КОНТРОЛИРУЮЩАЯ_ПАНЕЛЬ_H_
Контролирующая панель.cpp
#include "Контролирующая панель.h"
//##ModelId=4EA65EBA01B8
Контролирующая панель::Открыть дверь()
{
}
//##ModelId=4EA65ECE0080
Контролирующая панель::Связь()
{
}
//##ModelId=4EA65EDD016A
Контролирующая панель::Блокирование проигрывния звукового сигнала()
{
}
Обработка сигнала вызова.h
#ifndef ОБРАБОТКА_СИГНАЛА_ВЫЗОВА_H_
#define ОБРАБОТКА_СИГНАЛА_ВЫЗОВА_H_
//##ModelId=4EA653F503BD
class Обработка сигнала вызова
{
public:
//##ModelId=4EA65476010D
Ввод номера квартиры();
//##ModelId=4EA6549001F8
Обработка сигнала();
//##ModelId=4EA654A000CF
Сброс();
//##ModelId=4EA6541A011D
Квартира;
};
#endif /* ОБРАБОТКА_СИГНАЛА_ВЫЗОВА_H_
Обработка сигнала вызова.cpp
#include "Обработка сигнала вызова.h"
//##ModelId=4EA65476010D
Обработка сигнала вызова::Ввод номера квартиры()
{
}
//##ModelId=4EA6549001F8
Обработка
сигнала вызова::Обработка
{
}
//##ModelId=4EA654A000CF
Обработка сигнала вызова::Сброс()
{
}
Открыть дверь с помощью ключа.h
#ifndef ОТКРЫТЬ_ДВЕРЬ_С_ПОМОЩЬЮ_КЛЮЧА_
#define ОТКРЫТЬ_ДВЕРЬ_С_ПОМОЩЬЮ_КЛЮЧА_
//##ModelId=4EA657220301
class Открыть дверь с помощью ключа
{
public:
//##ModelId=4EA6575D0227
Открыть ключом();
//##ModelId=4EA6576300EE
Boolean Enable;
};
#endif /* ОТКРЫТЬ_ДВЕРЬ_С_ПОМОЩЬЮ_КЛЮЧА_
Открыть дверь с помощью ключа.cpp
#include "Открыть дверь с помощью ключа.h"
//##ModelId=4EA6575D0227
Открыть дверь с помощью ключа::Открыть ключом()
{
}
Отображение
всех действий.h
#ifndef ОТОБРАЖЕНИЕ_ВСЕХ_ДЕЙСТВИЙ_H_
#define ОТОБРАЖЕНИЕ_ВСЕХ_ДЕЙСТВИЙ_H_
//##ModelId=4EA655C000DF
class Отображение всех действий
{
public:
//##ModelId=4EA656090330
Дисплей;
};
#endif /* ОТОБРАЖЕНИЕ_ВСЕХ_ДЕЙСТВИЙ_H_
Отображение всех действий.cpp
#include "Отображение всех действий.h"
Таймер открытия.h
#ifndef ТАЙМЕР_ОТКРЫТИЯ_H_HEADER_
#define ТАЙМЕР_ОТКРЫТИЯ_H_HEADER_
//##ModelId=4EA6586B0227
class Таймер открытия
{
public:
//##ModelId=4EA6592300B0
Старт();
//##ModelId=4EA6593B0217
Окончание();
};
#endif /* ТАЙМЕР_ОТКРЫТИЯ_H_HEADER_
Таймер открытия.cpp
#include "Таймер открытия.h"
//##ModelId=4EA6592300B0
Таймер открытия::Старт()
{
}
//##ModelId=4EA6593B0217
Таймер открытия::Окончание()
{
}

- Информационные сети в информационном обеспечении управления
- Информационные системы
- Информационные системы
- Информационные системы
- Информационные системы
- Информационные системы
- Информационные системы
- Информационные свойства документа
- Информационные свойства документа
- Информационные свойства документа
- Информационные свойства документа (2)
- Информационные свойства документов
- Информационные свойства документов
- Информационные свойства унифицированных документов