Разработка верхнего уровня Информационной Системы Университета
а именно - все переменные и массивы, используемые в системе, имеют свои
копии на жестком диске, это позволяет при отказе системы полностью
восстановить ее на момент отключения.
При анализе входной и выходной информации были спроектированы все
пакеты, необходимые для обеспечения работоспособности и выполнения всех
поставленных задач и функций перед ИСУ. Структура пакетов полностью
отвечает требованиям уменьшения избыточности и уменьшения времени
обработки сообщений при передаче между различными частями ИСУ. Введение
контрольной суммы обеспечивает защиту от ошибок при передаче пакетов.
Разработана и описана клиентская часть верхнего уровня, со всеми
правилами взаимодействия с серверной частью. Определены все пакеты и
возможные сообщения для полной работоспособности "Клиента". Правила
построения основаны на тех же принципах, что и "Сервер", а именно -
уменьшение избыточности данных, увеличение надежности, защита от ошибок и
др. Клиентская часть позволяет пользователям опубликовывать свои объявления
в системе непосредственно со своего рабочего места. Это позволяет улучшить
оперативность и качество предоставления информации конечному потребителю.
При этом введена иерархия пользователей: каждый пользователь, принадлежит к
своей группе, с определенным приоритетом, сформированной администратором
системы. Это позволяет более важные объявления опубликовывать в первую
очередь.
В системе заложена возможность опубликования различных объявлений,
сообщений и другой текстовой и графической информации, которая позволяет
привлечь государственные и не государственные предприятия для опубликования
объявлений рекламного характера. Это дает возможность открыть еще одну
статью доходов университета и окупить все затраты на создание и поддержание
работоспособности системы.
Внедрение разработанной информационной системы позволит повысить
статус и имидж университета, что является одной из задач поставленной перед
ИСУ.
Список использованных источников
1. Бирник А.С. Информация и управление. – М., 1994. – 240 с.
2. www.citforum.ru Дьяконов В.П. 95 вопросов по серийной Windows 95.
3. www.citforum.ru Олифер Н.А. Сетевые операционные системы.
4. www.citforum.ru Громов Ю.Ю. Программирование на языке СИ.
5. www.citforum.ru Брежнев А.Ф. Семейство протоколов TCP/IP.
6. www.citforum.ru Комер Д.А. Протоколы TCP/IP. Том 1. Принципы,
протоколы и архитектура.
7. www.citforum.ru Олифер В.С. Введение в IP-сети.
8. Робачевский А.М. Операционная система UNIX.-СПб.: BHV – Санкт-
Петербург, 1998. – 528 с.
9. Труфанов В.А. Производственная практика по специальности
"Автоматизированные системы обработки информации и управления":
Учебно-методическое пособие / Амурский гос. ун-т. – Благовещенск,
1997. – 12 с.
10. Е.Л.Еремин, А.Д.Плутенко. Учебно-методическое пособие по
дипломному проектированию для студентов специальности
"Автоматизированные системы обработки информации и управления" –
2202. Благовещенск, 1997. – 48 с.
11. Араманов И.Н. Пакеты и сообщения в сетях TCP/IP, IPX/SPX, NetBios
и др. –М.: Известия. 1998. – 286 с.
12. www.elec.ru
13. Удавиченко М.Ф. Строим алгоритмы. – М.: СТУ. 1990. – 78 с.
14. Боэм Б.У. Инженерное проектирование программного обеспечения: Пер.
с англ./Под ред А.А.Красилова. – М.: Радио и связь. 1985. - 512 с.
15. Гласс Р. Руководство по надежному программированию: Пер. с англ.
–М.: Финансы и статистика, 1982. - 280 с.
16. Липаев В.В. Тестирование программ. – М.: Радио и связь, 1986 - 292
с.
17. Шураков В.В. Надежность программного обеспечения систем обработки
данных. –М.: Статистика, 1981. - 215 с
Приложение 1. Функциональная схема "Сервер". Подсистемы Управления и
Интерфейсная
Приложение 2. Функциональная схема "Сервер". Подсистема взаимодействия с
"Клиентом"
Приложение 3. Функциональная схема "Клиент"
-----------------------
Рис. 7
Рис. 6
Рис. 5
Рис. 4
Рис. 2
Информация как основа управления
Методы воздействия на ОУ
Рис. 1
Технология управления
Структура управления
Организация управления труда
Теория управления, функции, стиль, принципы, цели
К
Mas1.Тип сообщения=08
Mas1.Текст объявления =””
Mas1.ID = True
Да
Нет
Нет
Да
Mas1.Тип сообщения=06
Mas1.Приоритет = Приоритет
Mas1.Устройства =Устройства
Mas1.Время = Время
Mas1.Текст объявления = Текст объявления
Mas1.ID = True
Ввести номера устройств
Время
Текст объявления
Устройства i-ый бит =1
Выбрано i-ое устройство
I>15
I=I+1
I=-1
Нет
Да
Mas1.ID =False
Нет
Да
Послать объявление
Описание устройств было успешно принято
N=1-ый байт Mas2.Текст
а=2+203*i байт Mas2.Текст
Устройства[а].Не работает=1+203*i байт Mas2.Текст
Устройства[а].Описание=3-203+203*i байт Mas2.Описание
Нет
Да
I>n
I=I+1
I=-1
Обработать сообщение с типом сообщения = 08
Нет
Да
Нет
Да
Объявление было успешно принято системой
Устройства[i].Не работает = True
i-ое Устройство на которое было послано объявление не работоспособно
Текст i байт =1
I>15
I=I+1
I=-1
Обработать сообщение с типом сообщения = 06
Да
Нет
Нет
Да
Сетевое имя=Mas1.Сетевое имя
Приоритет= Mas1.Приоритет
Ок=true
Вам присваивается Сетевое имя Гость с наименьшим приоритетом
Пароль не опознан
Ваше сетевое имя не обнаружено в системе
Mas1.Ошибка=1
Вы зарегистрированы на сервере и имеете право отправлять сообщения под
своим именем и приоритетом
Mas1.Ошибка=0
Обработать сообщение с типом сообщения = 05
Проверка на завершение
Н
Сервер получил сообщение с неправильной Контрольной суммой. Повторите свое
сообщение
Mas2.ID=False
Пришло неопознанное сообщение от сервера, повторите предыдущее действие
Нет
Нет
Нет
Да
Да
Да
Да
Нет
Да
Обработать сообщение с типом сообщения = 08
Обработать сообщение с типом сообщения = 06
Обработать сообщение с типом сообщения = 05
Mas2.Тип сообщения=07
Mas2.Тип сообщения=06
Mas2.Тип сообщения=05
Mas2.Контрольная сумма=true
Mas2.ID=true
Нет
Нет
Да
Mas1.ID =False
Нет
Да
Н
А=Ввести сетевое имя
В=Ввести приоритет
Mas1.Тип сообщения=05
Mas1.Сетевое имя=А
Mas1.Приоритет=B
Mas1.ID=True
Сетевое имя=Гость
Приоритет=минимальный
Ок=true
Зарегистрироваться как Гость
К
Добавить к Текст
1-ый +203*k байт = Устройства[k].Не работает
2-ой +203*k байт = k
3-202 +203*k байт = Устройства[k].Описание
k=0, Текст=1 байт n
Нет
Да
Нет
Да
Mas2[i].ID=False
Mas2[i].Тип сообщения=08
Mas2[i].Текст=Текст
Mas2[i].ID[i]=True
Mas2[i].Арес приемника= Mas1[i].Адрес источника
k>n
k=k+1
Обработать сообщение с Типом сообщения =08
I=1
I>5
I=I+1
I=0
Mas[i].Идентификатор устройств=Mas1[i].Устройства
Mas[i].Время начала вывода сообщения= Mas1[i].Время
Mas[i].Текст сообщения= Mas1[i].Текст объявления
Mas[i].Приоритет= Mas1[i].Приоритет
Mas[i].Адрес источника= Mas1[i].Адрес источника
Mas[i] Свободен
Сетевое имя =Mas1[i].Сетевое имя
Приоритет = Приоритет из БДП
Сетевое имя =Гость
Приоритет минимальный
Mas2[i].Тип сообщения=05
Mas2[i].Ошибка=Ошибка
Mas2[i].Сетевое имя=Сетевое имя
Mas2[i].Приоритет=Приоритет
Mas2[i].ID=True
Mas2[i].Адрес приемника= Mas1[i].Адрес источника
Нет
Да
Да
Нет
Ошибка=0
Ошибка=2
Mas1[i].Пароль совпадает с паролем в БДП
Ошибка=1
Mas1[i].Сетевое имя присутствует в БДП
Нет
Да
Mas2[i].ID=False
Нет
Да
Mas2[i].ID=False
Mas2[i].Тип сообщения=07
Mas2[i].Текст=””
Mas2[i].Адрес приемника= Mas1[i].Адрес источника
Mas2[i].ID=True
Обработать сообщение с Типом сообщения =06
Проверка на завершение
Нет
Да
Послать сообщение с Типом сообщения =07
Mas1[i].Контрольная сумма = true
Обработать сообщение с Типом сообщения =08
Да
Обработать сообщение с Типом сообщения =06
Да
Обработать сообщение с Типом сообщения =05
Нет
Нет
Mas1[i].Тип сообщения=06
Mas1[i].Тип сообщения=05
Да
Нет
Нет
Да
I=1
I=I+1
Н
I=1
I > 5
Mas1[i].ID[i]=true
Массив неопубликованных объявлений[j].Номер объявления= Временный
массив[j].Str[MaxK].Col[1]
ID[j]=True
Удалить строку MaxK и сдвинуть все ниже лежащие строки на одну вверх
Временный массив[j].Str[1].Col[1]= Временный массив[j].Str[1].Col[1]-1
Нет
Да
Нет
Да
Временный массив[j].Str[1].Col[1]=0 или Динамический массив[j].занят=true
Max=Временный массив[j].Str[k].Col[2]
MaxK=К
Да
Нет
K >= Временный массив[j].Str[1].Col[1]
K=K+1
K=-1 Max=1 MaxK=1
J>15
J=J+1
J=-1
Да
Нет
Временный массив[j].Str[К].Col[2]
>Max
Заполнение массива неопубликованных объявлений
Заполнение массива неопубликованных объявлений
Да
Нет
Да
Существуют объявления, время вывода которых наступило
Нет
Нет
Да
J>15
J=J+1
j-ый бит=1
Выделить j-ый бит из Объявление.Идентификатор устройств
J=0
Из массива объявлений считать объявление время вывода, которого пришло
A=Временный массив[j].Str[1].Col[1]
Временный массив[j].Str[A].Col[1] = Объявление.Номер
Временный массив[j].Str[A].Col[1]= Объявление.Приоритет
Временный массив[j].Str[1].Col[1]=A+1
Определить объявления, которые должны быть выведены в данный момент
Да
Массив исходящих сообщений клиенту
Тип сообщения =06.
Адрес приемника=Временный массив объявлений[i].Адрес источника
Текст=device
ID=true
Нет
J=J+1
j>15
Да
device j-бит = 1
Нет
device j-бит = 0
Нет
Да
j-ый бит=1
Устройство[j].Не работает = True
J=0
Выделить j-ый бит из Временный массив объявлений[i].Идентификатор устройств
Сформировать сообщение с Типом сообщения = 06
Проверка на завершение
НЕТ
ДА
НЕТ
ДА
Временный массив[i] существует объявление
I = 0
I > 5
I=i+1
Н
I = 0
Определить объявления, которые должны быть выведены в данный момент
Сформировать сообщение с Типом сообщения = 06
Проверка на завершение
Нет
Устройства[i].Не работает=True
Да
Время[i]=60
ID[i](вых)=True
Нет
Да
Нет
Да
Повтор[i] n
Прерывание раз в секунду
К
Инициализировать динамический массив
Последовательно вызвать процедуру Order с параметром Номер устройства,
перебрав все устройства существующие в системе
Нет
Да
Создать Временный массив объявлений на диске и обнулить информацию
хранящуюся в оперативной памяти системы
Считать массив с диска и разместить его в оперативной памяти
Существует на диске Временный массив объявлений
Нет
Да
Последовательно запросить информацию обо всех устройствах нижнего уровня у
администратора системы и сохранить полученную информацию на диске и в
оперативной памяти
Считать массив с диска и разместить его в оперативной памяти
Массив Устройств существует на диске
Н
Проверка на завершение
5. Пусто
Нет
Да
5. первые 2 байта Текст= Номер объявления[i](вых)
5. последующие байты Текст = Текст объявления
Н
i>n
I = 1
ID[i](вых) = True
Нет
i= i + 1
Да
Нет
Тип сообщения = 02
I=1
Да
Добавить в строку
1.Заголовок пакета
2.Адрес источника
3.Адрес приемника=Устройства[i]. Физический адрес устройства в сети
4.Тип сообщения = Тип сообщения[i](вых)
6.Контрольная сумма(вычислить)
7.Префикс пакета
Поместить сформированную строку в выходной буфер и в массив сообщений в
системе
Нет
Да
I существует
К
Нет
Тип сообщения[i] = 03
Ответ[i]=Текст(1-ый байт)
Номер объявления[i]=Текст(2 и 3-ий байт)
ID[i]=True
Да
Тип сообщения[i] = 02
Ошибка[i]=Текст
ID[i]=True
Да
Тип сообщения[i] = 01
ID[i]=True
Нет
Да
Тип сообщения = 04
Тип сообщения = 02
Тип сообщения = 01
Тип сообщения[i] = 04
ID[i]=True
Нет
Да
Контрольная сумма правильная
Посчитать Контрольную сумму принятого пакета
n =n + 1
Массив сообщений в системе[n] = Входной буфер
n = 1
n > 100
Прерывание
Нет
Нет
Да
I=Номер(адрес источника)
К
Н
Нет
Да
Массив исходящих сообщений[i].Текст=””
Тип сообщения[i](вых)=02
Повтор[i] = 0; Время[i] = 60
ID[i](вых) =true
Динамический массив[i].Занят = true
Из Массив объявлений.Номер объявления(Динамический массив[i].Номер
объявления)
Массив исходящих сообщений[i].Текст= Массив объявлений.Текст сообщения
Номер объявления[i] (вых)= Динамический массив[i].Номер объявления
Тип сообщения[i](вых)=02
Повтор[i] = 0; Время[i] = 60
ID[i](вых) =true
Да
Нет
ID[i](вых) = True
Повтор[i] = 0
Время[i] = 60
Тип сообщения(вых) >1 and n
Нет
Да
i=1
i = 1
Нет
Нет
Массив неопубликованных объявлений ID[i] = True
ID1[i]=true
Да
i = i + 1
Информация
Да
Mas1.ID =False
Нет
Да
Ок=True
Да
Нет
Вам запрещено посылать объявления. Зарегистрируйтесь.
Рис. 32
Н
К
Закрыть программу
Kol=kol+1
Kol=Количество процедур работающих пораллельно-1
Close=true
Проверка на завершение
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|