Смекни!
smekni.com

Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации (Диплом)

ГосударственныйКомитет РоссийскойФедерации по

высшемуобразованию

МосковскийГосударственныйИнститутРадиотехники,Электроникии Автоматики(ТехническийУниверситет)


Факультет ВМС

КафедраКибернетики

Шифр АВ-4-92156


ДипломныйПроект


Тема: Системауправлениябазой данныхобъектов ГражданскойОбороны дляпринятия решенийв чрезвычайныхситуациях.


Исполнитель: Сафронов С.О.


Руководительпроекта: МошкинВ. В.


Консультантпо спец. части:Юсупов Э. И.


Консультантпо организационно-

экономическойчасти:ЗабродинаМ. В.


Консультантпо технике

безопасности:Ахобадзе Г.И.


Консультантпо гражданской

обороне:к.т.н. МанукаловВ.В.


Консультантпо эргономике:Пименов А.И.


Рецензент:


«Допущенк защите»

Зав. Кафедрой:


МОСКВА - 1998 г.


ЗАДАНИЕ

РЕФЕРАТ

Темойразработанногодипломногопроекта является"Система управлениябазой данныхобъектов ГражданскойОбороны дляпринятия решенийв чрезвычайныхситуациях".

Результатомдипломногопроектированияявляетсяразработаннаябаза данныхпо объектамэкономики,объектам гражданскойобороны и учащихсяв учебно-методическомцентре. А также программапо управлениюбазой данных,которая позволяетпроизводитьразличныедействия:ведение,корректировкуданных, построениеотчетов и составлениеразличной статистическойинформации.

Дипломныйпроект содержит_____ страниц текста, ____ рисунков и ____ таблиц. Приложениязанимают ____страниц. Списоклитературысодержит ____ наименований.

В расчетно-пояснительной записке приведено экономическоеобоснование созданиепрограммного продукта;представленрасчет затрати определениецены ПП, экономическаяэффективностьразработки.Определены мероприятия,обеспечивающиеоптимальныеусловия трудапользователяна рабочемместе. Произведенаразработкапрограммы порасчету основныхпоражающихфакторов ядерноговзрыва. Приведенэргономическийанализ стилейпрограммирования.Сделаны соответствующиевыводы по выборуоперационнойсистемы и базыданных.

Даннаяпрограммапозволяетполностьюавтоматизироватьсуществующуюсистему сбораи храненияинформации.Заменяет книгиучёта объектовГражданскойОбороны и облегчаеткорректировкуи поиск любойнеобходимойинформации.


ОГЛАВЛЕНИЕ

ЗАДАНИЕ3

РЕФЕРАТ3

ОГЛАВЛЕНИЕ5

СОКРАЩЕНИЯ8

1. ВВЕДЕНИЕ9

2. ВЫБОР ОПЕРАЦИОННОЙСИСТЕМЫ11

2.1. Определениеоперационнойсистемы11

2.2. ОС как системауправленияресурсами 12

2.3. КлассификацияОС13

2.3.1. Особенностиалгоритмовуправленияресурсами13

2.3.1.1. Поддержкамногозадачности.13

2.3.1.2. Поддержкамногопользовательскогорежима. 14

2.3.1.3. Вытесняющаяи невытесняющаямногозадачность14

2.3.1.4. Поддержкамногонитевости15

2.3.1.5. Многопроцессорнаяобработка 15

2.3.1.6. Поддержкасети 16

2.3.2. Особенностиаппаратныхплатформ16

2.3.3. Особенностиобластейиспользования18

2.3.3.1. Системыпакетной обработки18

2.3.3.2. Системыразделениявремени19

2.3.3.3. Системыреальноговремени20

2.4.Обзор сетевыхоперационныхсистем21

2.5. Выбор операционнойсистемы23

3. ВЫБОР БАЗЫДАННЫХ28

3.1. ОпределениеСУБД28

3.2. Основныефункции СУБД28

3.2.1. Непосредственноеуправлениеданными вовнешней памяти29

3.2.2. Управлениебуферами оперативнойпамяти29

3.2.3. Управлениетранзакциями29

3.2.4. Журнализация31

3.2.5. Поддержкаязыков БД33

3.3. Вариантыпостроенияинформационныхприложенийс использованиемСУБД35

3.3.1. Централизованныемноготерминальныесистемы37

3.3.2. Файл-серверныеприложения38

3.3.3.Приложенияклиент-сервер39

4. ВЫБОР ЯЗЫКАПРОГРАММИРОВАНИЯ42

4.1.Традиционныесистемы программирования43

4.2. Инструментыдля созданияфайл-серверныхприложений44

4.3. Средстваразработкиприложенийклиент-сервер46

4.3.1. Среды разработкиприложенийдля серверовбаз данных46

4.3.2. Средстваподдержкираспределенныхинформационныхприложений48

5. ВЫВОДЫ ПОВЫБОРУ ОПЕРАЦИОННОЙСИСТЕМЫ, ЯЗЫКАПРОГРАММИРОВАНИЯИ БАЗЫ ДАННЫХ52

6. СТРУКТУРАИ ОСНОВНЫЕЗАДАЧИ УПРАВЛЕНИЯПО ДЕЛАМ ГРАЖДАНСКОЙОБОРОНЫ ИЧРЕЗВЫЧАЙНЫМСИТУАЦИЯМ56

6.1. ОпределениеГО56

6.2. Основныезадачи ГО56

6.3. Схема управленияпо делам ГО иЧС57

7. РАЗРАБОТКАПРОГРАММНОГООБЕСПЕЧЕНИЯДЛЯ СИСТЕМЫУПРАВЛЕНИЯБАЗОЙ ДАННЫХОБЪЕКТОВ ГО.58

7.1. Назначение и цели созданияпрограммногопродукта58

7.2. Решаемыезадачи59

7.3. Определениенеобходимыхтаблиц базыданных59

7.4. Нормализациябазы данных62

7.4.1. Перваянормальнаяформа63

7.4.2. Втораянормальнаяформа63

7.4.3. Третьянормальнаяформа63

7.4.4. Четвертаянормальнаяформа64

7.4.5. Пятая нормальнаяформа64

7.5. Определениестолбцов втаблицах64

7.6. СозданиеSQL сценария80

7.6.1. Созданиебазы данных80

7.6.2. Созданиетаблиц81

7.6.3. Созданиеиндексов81

7.6.4. Определениепервичных ключей81

7.6.5. Определениевторичныхключей82

7.6.6. Созданиетриггеров82

7.6.7. Созданиепоследовательностей82

7.7.Выбор типасоздаваемогоприложения83

7.8. Соглашениео названиекомпонентовв программеGOBASE83

7.9. Структураглавного меню85

7.9.1. Меню «Файлы»86

7.9.2. Меню «Таблицы»87

7.9.3. Меню «Отчеты»88

7.9.4. Меню «Помощь»88

7.10. Проектированиеиерархий форми отчетов88

7.11. Иерархияформ программы89

7.12. Основныеорганы управленияформ программыGOBase90

7.13. Основныеформы программы92

7.13.1. Форма вводаобъектовэкономики92

7.13.2. Форма вводаучащихся вУМЦ93

7.13.3. Форма отчетов(управления)96

7.14. Экспортв Excel98

7.15. Требованияк аппаратуреи программнымсредствам99

7.16. Установкапрограммы100

8. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙРАЗДЕЛ100

8.1. Введение100

8.2. Описаниепрограммы102

8.3. Последовательностьвыполненияработ102

8.4. Оценкаиздержек наразработкупрограммы.109

8.4.1. Статья I.Оплата труда110

8.4.2. Статья II.Материальныересурсы112

8.4.3. Статья III.Отчисленияна социальныенужды113

8.4.4. Статья IV. Накладныерасходы 113

8.5. Цена программногопродукта114

8.6. Анализэффективностивнедрения программы 114

9. МЕРОПРИЯТИЯ,ОБЕСПЕЧИВАЮЩИЕОПТИМАЛЬНЫЕУСЛОВИЯ ТРУДАПОЛЬЗОВАТЕЛЯНА РАБОЧЕММЕСТЕ117

9.1. Спецификадипломногопроекта117

9.2. Обзор вредныхособенностейработы, встречающихсяпри изготовлении, наладке иэксплуатациипрограмм118

9.3.1. Работа смонитором118

9.3.2. Кресло118

9.3.3. Клавиатура119

9.3.4. Эффектыотражения ирабочий стол.119

9.3.5. Оригиналодержатель119

9.3.6. Шумы119

9.3.7. Выделениеизбытков теплоты120

9.4. Анализкатегориитяжести трудаинженера-программиста.120

9.5. Анализосвещения нарабочем местепрограммиста.126

10. ПРИМЕНЕНИЕЭВМ ДЛЯ ПОВЫШЕНИЯЭФФЕКТИВНОСТИРАБОТЫ ШТАБАГО 131

10.1. Задачигражданскойобороны.131

10.2. Основнойрасчет поражающихфакторов ядерноговзрыва132

10.2.1. Исходныеданные:132

10.2.2. Выходныеданные:133

10.3. Текст программы133

10.4. Провркаработоспособности134

10.5. Выводы: 135

11. ЭРГОНОМИЧЕСКАЯОЦЕНКА ИНФОРМАЦИОННОГООБЕСПЕЧЕНИЯЭВМ135

11.1. Введение135

11.2. Проектированиеформ136

11.3. Формы выдачирешений139

11.4. Интерактивныеформы.140

11.5.Формы вводаданных.142

11.6. Проектированиеотчетов.143

12. ВЫВОДЫ145

13. ЛИТЕРАТУРА147

ПРИЛОЖЕНИЕ1149

П.1. ТЕХНИЧЕСКОЕЗАДАНИЕ149

П.1.1 Общиесведения149

П.1.2. Постановказадачи149

П.1.3. Основаниядля разработки149

П.1.4. Назначение и цели созданияпрограммногопродукта150

П.1.5. Требованияк программе151

П.1.6. Состави содержаниеработ по созданиюпрограммы151

П.1.7. Входнаяинформация152

П.1.8. Выходнаяинформация153

П.1.9. Порядокконтроля иприемки программы153

П.1.10. Требованияк составу исодержаниюработ по установкепрограммы нарабочем местеоператора 153

П.1.11. Требованияк документированию154

П.1.12. Источникиразработки154

ПРИЛОЖЕНИЕ2154

ПРИЛОЖЕНИЕ3157

ПРИЛОЖЕНИЕ4158


СОКРАЩЕНИЯ

BL (Business or ApplicationLogic) Прикладнаялогика
DL (Data Logic Логикауправленияданными
DS (Data Services) Операциис БД
FK

ForeignKey (вторичныйключ)

FS (File Services) Файловыеоперации
ID идентификатор

ODBC

OpenDataBase Connectivity

PK

PrimaryKey (первичныйключ)

PL (Presentation Logic) Логикапредставлений
PS (Presentation Services) средствапредставления.
RAD (Rapid ApplicationDevelopment) Средствабыстрой разработкиприложений
АС Автоматизированнаясистема
АСУ

Автоматизированнаясистема управления

БД Базаданных
ВТ Вычислительнаятехника
ГО ГражданскаяОборона
ДП Дипломныйпроект
КЧС Комиссия по ЧС
МТС Материально-техническиесредства
ОП Оперативнаяпамять
ОП Особыйпериод
ОС Операционнаясистема
ОТ Охранатруда
ПК Персональныйкомпьютер
ПО Программноеобеспечение
ПП Прикладнаяпрограмма
ППП ПакетПП
ПУФ

Повышениеустойчивостифункционирования

ПЭВМ ПерсональнаяЭВМ
РФ РоссийскаяФедерация
РФ РоссийскаяФедерация
СУБД Системауправлениябазами данных
ТЗ Техническоезадание
ТП Техническоепредложение
УМЦ Учебно-методическийцентр
ЦП Центральныйпроцессор
ЧС Чрезвычайныеситуации
ЭВМ Электронно-вычислительнаямашина
ЭЛТ Электронно-лучеваятрубка

1. ВВЕДЕНИЕ

Прогресс, достигнутыйза последниенесколько летво всех аспектахвычислительнойтехники, включаятеорию, технологиюи приложения, привели к значительному расширению области применениякомпьютерови росту числа их пользователей.Существенной частью современного общества являются разнообразные системы доступаи храненияинформации,которые являются неотъемлемойсоставляющейсовременногонаучно-техническогопрогресса.Существуетмного вескихпричин переводасуществующейинформациина компьютернуюоснову, т.к. болеебыстрая обработкаданных и централизацияих храненияс использованиемклиент/серверныхтехнологийпозволяютсберечь значительныесредства, аглавное и времядля получениянеобходимойинформации,а также упрощаетдоступ и ведение.

В любойорганизации,как большой,так и маленькой,возникаетпроблема такойорганизацииуправленияданными, котораяобеспечилабы наиболееэффек­тивнуюработу. Некоторыеорганизациииспользуютдля этого шкафыс папками, нобольшинствопредпочитаюткомпьютеризированныеСУБД, позволяющиеэф­фективнохранить, извлекатьинформациюи управлятьбольшими объемамидан­ных.СовременныеСУБД - многопользовательскиесистемы управлениябазой данных,которые специализируетсяна управлениимассивом ин­формацииодним или множествомодновременноработающихпользователей.

В настоящеевремя, вследствиенестабильнойэкономическойи политическойситуации вРоссии возрастаетопасностьвозникновенияЧС на хозяйственныхобъектах (заводах,фабриках,электростанцияхи т.п.), возникновенияаварий, стихийныхбедствий ипрочих катаклизмов.С каждым годомчрезвычайныеситуации, порождаемыепроизводственнымии транспортнымиавариями,катастрофамии стихийнымибедствиями,становятсявсе более частыми,масштабнымии опасными,сопровождаютсявсе большимичеловеческимижертвами,материальнымущербом и деградациейприроднойсферы.

Как свидетельствуетанализ статистическихданных большаячасть ЧС возникаетв РФ в регионахс высокойконцентрациейпредприятийугольной, химической,нефтяной игазовой промышленности,с разветвленнойсетью автомобильныхи железныхдорог, а такжев крупных городах.В основном этоЧС техногенногохарактера(свыше 70% от общегочисла) [1]. (См. ПРИЛОЖЕНИЕ2)

Для решениязадач предотвращенияи ликвидацииЧС, снижениявозможныхпотерь населенияи ущерба экономикев случае ихвозникновенияв РФ созданаи действуетединая государственнаясистема предупрежденияи ликвидацииЧС. В соответствиис законом “Озащите населенияи территорийот ЧС природногои техническогохарактера”в стране функционируетединая государственнаясистема предупрежденияи ликвидацииЧС, котораярасполагаеторганами управления,силами, техническимисредствамии другимиматериальнымиресурсами длятого чтобызащитить населениеи национальноедостояние отвоздействийаварий, катастроф,экологическихи стихийныхбедствий илиуменьшить ихвоздействия.

Основнойцелью созданияэтой системыявляется объединениеусилий центральныхорганов исполнительнойвласти, органовпредставительнойи исполнительнойвласти республикв составе РФ,краев, областей,городов и районов,а также организаций,учрежденийи предприятий,их сил средствв деле предупрежденияи ликвидацииЧС.

В связис этим необходимоуделить пристальноевнимание вопросамгражданскойобороны, а такжеоснащенностьчастей гражданскойобороны современнойтехникой, в томчисле компьютерной,для своевременногои оперативногореагированияна возникшуюкритическуюситуацию и наустранениеее последствий.Для этогокомпьютернаятехника должнабыть оснащенасоответствующимпрограммнымобеспечением.

К сожалению,на сегодняшниймомент не существуетединой базыданных объектовГО, даже длятакого крупногогорода какМосква. Существующеехранение информациитолько с использованиемкартотек становитсяне приемлемымв складывающейсяситуации.

В даннойдипломнойработе разработанапрограмма поуправлениюбазой данныхобъектов экономики,с помощью которой можно оперативнособрать всенеобходимыеданные (о находящейсяв распоряжениитехники, защитныхсооружений,близ находящиеся объектах идругой информации)об объектахэкономикиокруга илигорода в чрезвычайнойситуации припланированиии организацииспасательныхи других неотложныхработ и темсамым сократитьвремя на сборинформации,которая такнеобходимав первые минутыЧС, когда каждаяминута промедленияможет стоитьжизни людей.Результатомдипломногопроектированияявляетсяразработаннаябаза данныхпо объектамэкономики,объектам гражданскойобороны и учащихсяв учебно-методическомцентре. А также программапо управлениюбазой данных,которая позволяетпроизводитьразличныедействия:введение,корректировкуданных, построениеотчетов и составлениеразличнойстатистическойинформации.


2.ВЫБОР ОПЕРАЦИОННОЙСИСТЕМЫ

2.1. Определениеоперационнойсистемы

Операционнаясистема в наибольшейстепени определяетоблик всейвычислительнойсистемы в целом.Довольнозатруднительно дать определениеоперационнойсистеме. Частичноэто связанос тем, что ОСвыполняет двепо существумало связанныефункции: обеспечениепользователю-программистуудобств посредствомпредоставлениядля него расширенноймашины и повышениеэффективностииспользованиякомпьютерапутем рациональногоуправленияего ресурсами.

2.2. ОСкак системауправленияресурсами

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

  • планированиересурса - тоесть определение,кому, когда, адля делимыхресурсов и вкаком количестве,необходимовыделить данныйресурс;

  • отслеживаниесостоянияресурса - тоесть поддержаниеоперативнойинформациио том, занятили не занятресурс, а дляделимых ресурсов- какое количестворесурса ужераспределено,а какое свободно.

Для решенияэтих общихзадач управленияресурсамиразные ОС используютразличныеалгоритмы, чтов конечномсчете и определяетих облик в целом,включая характеристикипроизводительности,область примененияи даже пользовательскийинтерфейс.

Так, например,алгоритм управленияпроцессоромв значительнойстепени определяет,является лиОС системойразделениявремени, системойпакетной обработкиили системойреальноговремени.

2.3. КлассификацияОС

Операционныесистемы могутразличатьсяособенностямиреализациивнутреннихалгоритмовуправленияосновнымиресурсамикомпьютера(процессорами,памятью, устройствами),особенностямииспользованныхметодов проектирования,типами аппаратныхплатформ, областямииспользованияи многими другимисвойствами.

Ниже приведенаклассификацияОС по несколькимнаиболее основнымпризнакам.

2.3.1. Особенностиалгоритмовуправленияресурсами

От эффективностиалгоритмовуправлениялокальнымиресурсамикомпьютераво многом зависитэффективностьвсей сетевойОС в целом. Поэтому,характеризуясетевую ОС,часто приводятважнейшиеособенностиреализациифункций ОС поуправлениюпроцессорами,памятью, внешнимиустройствамиавтономногокомпьютера.Так, например,в зависимостиот особенностейиспользованногоалгоритмауправленияпроцессором,операционныесистемы делятна многозадачныеи однозадачные,многопользовательскиеи однопользовательские,на системы,поддерживающиемногонитевуюобработку ине поддерживающиеее, на многопроцессорныеи однопроцессорныесистемы.

2.3.1.1. Поддержкамногозадачности.

По числуодновременновыполняемыхзадач операционныесистемы могутбыть разделенына два класса:

  • однозадачные(например, MS-DOS,MSX)

  • многозадачные(OC EC, OS/2, UNIX, Windows 95/NT).

ОднозадачныеОС в основномвыполняютфункцию предоставленияпользователювиртуальноймашины, делаяболее простыми удобным процессвзаимодействияпользователяс компьютером.ОднозадачныеОС включаютсредства управленияпериферийнымиустройствами,средства управленияфайлами, средстваобщения спользователем.

МногозадачныеОС, кроме вышеперечисленныхфункций, управляютразделениемсовместноиспользуемыхресурсов, такихкак процессор,оперативнаяпамять, файлыи внешние устройства.

2.3.1.2. Поддержкамногопользовательскогорежима.

По числуодновременноработающихпользователейОС делятся на:

  • однопользовательские(MS-DOS, Windows 3.x, ранниеверсии OS/2);

  • многопользовательские(UNIX, Windows NT).

Главнымотличиеммногопользовательскихсистем отоднопользовательскихявляется наличиесредств защитыинформациикаждого пользователяот несанкционированногодоступа другихпользователей.Следует заметить,что не всякаямногозадачнаясистема является многопользовательской,и не всякаяоднопользовательскаяОС являетсяоднозадачной.

2.3.1.3. Вытесняющаяи невытесняющаямногозадачность

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

  • невытесняющаямногозадачность(NetWare, Windows 3.x);

  • вытесняющаямногозадачность(Windows NT, OS/2, UNIX).

Основнымразличием междувытесняющими невытесняющимвариантамимногозадачностиявляется степеньцентрализациимеханизмапланированияпроцессов. Впервом случаемеханизм планированияпроцессовцеликом сосредоточенв операционнойсистеме, а вовтором - распределенмежду системойи прикладнымипрограммами.При невытесняющеймногозадачностиактивный процессвыполняетсядо тех пор, покаон сам, по собственнойинициативе,не отдаст управлениеоперационнойсистеме длятого, чтобы тавыбрала изочереди другойготовый к выполнениюпроцесс. Привытесняющеймногозадачностирешение опереключениипроцессорас одного процессана другой принимаетсяоперационнойсистемой, а несамим активнымпроцессом.


2.3.1.4. Поддержкамногонитевости

Важнымсвойствомоперационныхсистем являетсявозможностьраспараллеливаниявычисленийв рамках однойзадачи. МногонитеваяОС разделяетпроцессорноевремя не междузадачами, амежду их отдельнымиветвями (нитями).

2.3.1.5. Многопроцессорнаяобработка

Другимважным свойствомОС являетсяотсутствиеили наличиев ней средствподдержкимногопроцессорнойобработки -мультипроцессирование.Мультипроцессированиеприводит кусложнениювсех алгоритмовуправленияресурсами.

В наши днистановитсяобщепринятымвведение в ОСфункций поддержкимногопроцессорнойобработкиданных. Такиефункции имеютсяв операционныхсистемах Solaris 2.xфирмы Sun, Open Server 3.x компанииSanta Crus Operations, OS/2 фирмы IBM,Windows NT фирмы Microsoft иNetWare 4.1 фирмы Novell.

МногопроцессорныеОС могут классифицироватьсяпо способуорганизациивычислительногопроцесса всистеме смногопроцессорнойархитектурой:асимметричныеОС и симметричныеОС. АсимметричнаяОС целикомвыполняетсятолько на одномиз процессоровсистемы, распределяяприкладныезадачи по остальнымпроцессорам.СимметричнаяОС полностьюдецентрализованаи используетвесь пул процессоров,разделяя ихмежду системнымии прикладнымизадачами.

2.3.1.6. Поддержкасети

Выше былирассмотреныхарактеристикиОС, связанныес управлениемтолько однимтипом ресурсов- процессором.Важное влияниена облик операционнойсистемы в целом,на возможностиее использованияв той или инойобласти оказываютособенностии других подсистемуправлениялокальнымиресурсами -подсистемуправленияпамятью, файлами,устройствамиввода-вывода.

СпецификаОС проявляетсяи в том, какимобразом онареализуетсетевые функции:распознаваниеи перенаправлениев сеть запросовк удаленнымресурсам, передачасообщений посети, выполнениеудаленныхзапросов. Приреализациисетевых функцийвозникаеткомплекс задач,связанных сраспределеннымхарактеромхранения иобработкиданных в сети:ведение справочнойинформациио всех доступныхв сети ресурсахи серверах,адресациявзаимодействующихпроцессов,обеспечениепрозрачностидоступа, тиражированиеданных, согласованиекопий, поддержкабезопасностиданных.

2.3.2. Особенностиаппаратныхплатформ

На свойстваоперационнойсистемы непосредственноевлияние оказываютаппаратныесредства, накоторые онаориентирована.По типу аппаратурыразличаютоперационныесистемы персональныхкомпьютеров,мини-компьютеров,мейнфреймов,кластеров исетей ЭВМ. Средиперечисленныхтипов компьютеровмогут встречатьсякак однопроцессорныеварианты, таки многопроцессорные.В любом случаеспецификааппаратныхсредств, какправило, отражаетсяна спецификеоперационныхсистем.

Очевидно,что ОС большоймашины являетсяболее сложнойи функциональной,чем ОС персональногокомпьютера.Так в ОС большихмашин функциипо планированиюпотока выполняемыхзадач, очевидно,реализуютсяпутем использованиясложных приоритетныхдисциплин итребуют большейвычислительноймощности, чемв ОС персональныхкомпьютеров.Аналогичнообстоит делои с другимифункциями.

СетеваяОС имеет в своемсоставе средствапередачи сообщениймежду компьютерамипо линиям связи,которые совершенноне нужны в автономнойОС. На основеэтих сообщенийсетевая ОСподдерживаетразделениересурсов компьютерамежду удаленнымипользователями,подключеннымик сети. Дляподдержанияфункций передачисообщенийсетевые ОСсодержат специальныепрограммныекомпоненты,реализующиепопулярныекоммуникационныепротоколы,такие как IP, IPX,Ethernet и другие.

Многопроцессорныесистемы требуютот операционнойсистемы особойорганизации,с помощью которойсама операционнаясистема, а такжеподдерживаемыеею приложениямогли бы выполнятьсяпараллельноотдельнымипроцессорамисистемы. Параллельнаяработа отдельныхчастей ОС создаетдополнительныепроблемы дляразработчиковОС, так как вэтом случаегораздо сложнееобеспечитьсогласованныйдоступ отдельныхпроцессов кобщим системнымтаблицам, исключитьэффект гоноки прочие нежелательныепоследствияасинхронноговыполненияработ.

Другиетребованияпредъявляютсяк операционнымсистемам кластеров.Кластер - слабосвязаннаясовокупностьнесколькихвычислительныхсистем, работающихсовместно длявыполненияобщих приложений,и представляющихсяпользователюединой системой.Наряду со специальнойаппаратуройдля функционированиякластерныхсистем необходимаи программнаяподдержка состороны операционнойсистемы, котораясводится восновном ксинхронизациидоступа к разделяемымресурсам, обнаружениюотказов идинамическойреконфигурациисистемы. Однойиз первых разработокв области кластерныхтехнологийбыли решениякомпании DigitalEquipment на базе компьютеровVAX. Недавно этойкомпаниейзаключеносоглашениес корпорациейMicrosoft о разработкекластернойтехнологии,использующейWindows NT. Несколькокомпаний предлагаюткластеры наоснове UNIX-машин.

Нарядус ОС, ориентированнымина совершенноопределенныйтип аппаратнойплатформы,существуютоперационныесистемы, специальноразработанныетаким образом,чтобы они моглибыть легкоперенесеныс компьютераодного типана компьютердругого типа,так называемыемобильные ОС.Наиболее яркимпримером такойОС являетсяпопулярнаясистема UNIX. В этихсистемахаппаратно-зависимыеместа тщательнолокализованы,так что припереносе системына новую платформупереписываютсятолько они.Средством,облегчающемперенос остальнойчасти ОС, являетсянаписание еена машинно-независимомязыке, например,на С, которыйи был разработандля программированияоперационныхсистем.

2.3.3. Особенностиобластейиспользования

МногозадачныеОС подразделяютсяна три типа всоответствиис использованнымипри их разработкекритериямиэффективности:

  • системыпакетной обработки(например, OC EC),

  • системыразделениявремени (UNIX, VMS),

  • системыреальноговремени (QNX, RT/11).

2.3.3.1. Системыпакетной обработки

Системыпакетной обработкипредназначалисьдля решениязадач в основномвычислительногохарактера, нетребующихбыстрого получениярезультатов.Главной цельюи критериемэффективностисистем пакетнойобработкиявляется максимальнаяпропускнаяспособность,то есть решениемаксимальногочисла задачв единицу времени.Для достиженияэтой цели всистемах пакетнойобработкииспользуютсяследующая схемафункционирования:в начале работыформируетсяпакет заданий,каждое заданиесодержит требованиек системнымресурсам; изэтого пакетазаданий формируетсямультипрограммнаясмесь, то естьмножествоодновременновыполняемыхзадач. Дляодновременноговыполнениявыбираютсязадачи, предъявляющиеотличающиесятребованияк ресурсам,так, чтобыобеспечиваласьсбалансированнаязагрузка всехустройстввычислительноймашины; так,например, вмультипрограммнойсмеси желательноодновременноеприсутствиевычислительныхзадач и задачс интенсивнымвводом-выводом.Таким образом,выбор новогозадания изпакета заданийзависит отвнутреннейситуации,складывающейсяв системе, тоесть выбирается"выгодное"задание. Следовательно,в таких ОС невозможногарантироватьвыполнениетого или иногозадания в течениеопределенногопериода времени.В системахпакетной обработкипереключениепроцессорас выполненияодной задачина выполнениедругой происходиттолько в случае,если активнаязадача самаотказываетсяот процессора,например, из-занеобходимостивыполнитьоперациюввода-вывода.Поэтому одназадача можетнадолго занятьпроцессор, чтоделает невозможнымвыполнениеинтерактивныхзадач. Такимобразом, взаимодействиепользователяс вычислительноймашиной, накоторой установленасистема пакетнойобработки,сводится ктому, что онприносит задание,отдает егодиспетчеру-оператору,а в конце дняпосле выполнениявсего пакетазаданий получаетрезультат.Очевидно, чтотакой порядокснижает эффективностьработы пользователя.

2.3.3.2.Системы разделениявремени

Системыразделениявремени призваныисправитьосновной недостатоксистем пакетнойобработки -изоляциюпользователя-программистаот процессавыполненияего задач. Каждомупользователюсистемы разделениявремени предоставляетсятерминал, скоторого онможет вестидиалог со своейпрограммой.Так как в системахразделениявремени каждойзадаче выделяетсятолько квантпроцессорноговремени, ниодна задачане занимаетпроцессорнадолго, и времяответа оказываетсяприемлемым.Если квантвыбран достаточнонебольшим, тоу всех пользователей,одновременноработающихна одной и тойже машине,складываетсявпечатление,что каждый изних единоличноиспользуетмашину. Ясно,что системыразделениявремени обладаютменьшей пропускнойспособностью,чем системыпакетной обработки,так как на выполнениепринимаетсякаждая запущеннаяпользователемзадача, а нета, которая"выгодна"системе, и, крометого, имеютсянакладныерасходы вычислительноймощности наболее частоепереключениепроцессорас задачи назадачу. Критериемэффективностисистем разделениявремени являетсяне максимальнаяпропускнаяспособность,а удобство иэффективностьработы пользователя.


2.3.3.3. Системыреальноговремени

Системыреальноговремени применяютсядля управленияразличнымитехническимиобъектами,такими, например,как станок,спутник, научнаяэкспериментальнаяустановка илитехнологическимипроцессами,такими, какгальваническаялиния, доменныйпроцесс и т.п.Во всех этихслучаях существуетпредельнодопустимоевремя, в течениекоторого должнабыть выполнената или инаяпрограмма,управляющаяобъектом, впротивномслучае можетпроизойтиавария: спутниквыйдет из зонывидимости,экспериментальныеданные, поступающиес датчиков,будут потеряны,толщина гальваническогопокрытия небудет соответствоватьнорме. Такимобразом, критериемэффективностидля системреальноговремени являетсяих способностьвыдерживатьзаранее заданныеинтервалывремени междузапуском программыи получениемрезультата(управляющеговоздействия).Это время называетсявременем реакциисистемы, асоответствующеесвойство системы- реактивностью.Для этих системмультипрограммнаясмесь представляетсобой фиксированныйнабор заранееразработанныхпрограмм, авыбор программына выполнениеосуществляетсяисходя из текущегосостоянияобъекта илив соответствиис расписаниемплановых работ.

Некоторыеоперационныесистемы могутсовмещать всебе свойствасистем разныхтипов, например,часть задачможет выполнятьсяв режиме пакетнойобработки, ачасть - в режимереальноговремени илив режиме разделениявремени. В такихслучаях режимпакетной обработкичасто называютфоновым режимом.

2.4.Обзорсетевых операционныхсистем

Большоеразнообразиетипов компьютеров,используемыхв вычислительныхсетях, влечетза собой разнообразиеоперационныхсистем: длярабочих станций,для серверовсетей уровняотдела и серверовуровня предприятияв целом. К ниммогут предъявлятьсяразличныетребованияпо производительностии функциональнымвозможностям,желательно,чтобы они обладалисвойствомсовместимости,которое позволилобы обеспечитьсовместнуюработу различныхОС.

СетевыеОС могут бытьразделены надве группы:масштаба отделаи масштабапредприятия.ОС для отделовили рабочихгрупп обеспечиваютнабор сетевыхсервисов, включаяразделениефайлов, приложенийи принтеров.Они также должныобеспечиватьсвойстваотказоустойчивости,например, работатьс RAID-массивами,поддерживатькластерныеархитектуры.Сетевые ОСотделов обычноболее простыв установкеи управлениипо сравнениюс сетевыми ОСпредприятия,у них меньшефункциональныхсвойств, онименьше защищаютданные и имеютболее слабыевозможностипо взаимодействиюс другими типамисетей, а такжехудшую производительность.

Сетеваяоперационнаясистема масштабапредприятияпрежде всегодолжна обладатьосновнымисвойствамилюбых корпоративныхпродуктов, втом числе:

  • масштабируемостью,то есть способностьюодинаковохорошо работатьв широком диапазонеразличныхколичественныххарактеристиксети,

  • совместимостьюс другимипродуктами,то есть способностьюработать всложной гетерогеннойсреде интерсетив режиме plug-and-play.

Корпоративнаясетевая ОСдолжна поддерживатьболее сложныесервисы. Подобносетевой ОСрабочих групп,сетевая ОСмасштаба предприятиядолжна позволятьпользователямразделятьфайлы, приложенияи принтеры,причем делатьэто для большегоколичествапользователейи объема данныхи с более высокойпроизводительностью.Кроме того,сетевая ОСмасштаба предприятияобеспечиваетвозможностьсоединенияразнородныхсистем - какрабочих станций,так и серверов.Например, дажеесли ОС работаетна платформеIntel, она должнаподдерживатьрабочие станцииUNIX, работающиена RISC-платформах.Аналогично,серверная ОС,работающаяна RISC-компьютере,должна поддерживатьDOS, Windows и OS/2. СетеваяОС масштабапредприятиядолжна поддерживатьнесколькостеков протоколов(таких как TCP/IP,IPX/SPX, NetBIOS, DECnet и OSI), обеспечиваяпростой доступк удаленнымресурсам, удобныепроцедурыуправлениясервисами,включая агентовдля системуправлениясетью.

Важнымэлементомсетевой ОСмасштаба предприятияявляетсяцентрализованнаясправочнаяслужба, в которойхранятся данныео пользователяхи разделяемыхресурсах сети.Такая служба,называемаятакже службойкаталогов,обеспечиваетединый логическийвход пользователяв сеть и предоставляетему удобныесредства просмотравсех доступныхему ресурсов.Администратор,при наличиив сети централизованнойсправочнойслужбы, избавленот необходимостизаводить накаждом сервереповторяющийсясписок пользователей,а значит избавленот большогоколичестварутинной работыи от потенциальныхошибок приопределениисостава пользователейи их прав накаждом сервере.

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

Такие сетевыеОС, как Banyan Vines, Novell NetWare4.x, IBM LAN Server, Sun NFS, Microsoft LAN Manager и WindowsNT Server, могут служитьв качествеоперационнойсистемы предприятия,в то время какОС NetWare 3.x, Personal Ware, Artisoft LANtastic большеподходят длянебольшихрабочих групп.

2.5. Выбороперационнойсистемы

Критериямидля выбора ОСмасштаба предприятияявляются следующиехарактеристики:

  • Органичнаяподдержкамногосервернойсети;

  • Высокаяэффективностьфайловых операций;

  • Возможностьэффективнойинтеграциис другими ОС;

  • Наличиецентрализованноймасштабируемойсправочнойслужбы;

  • Хорошиеперспективыразвития;

  • Эффективнаяработа удаленныхпользователей;

  • Разнообразныесервисы: файл-сервис,принт-сервис,безопасностьданных иотказоустойчивость,архивированиеданных, службаобмена сообщениями,разнообразныебазы данныхи другие;

  • Разнообразныепрограммно-аппаратныехост-платформы:IBM SNA, DEC NSA, UNIX;

  • Разнообразныетранспортныепротоколы:TCP/IP, IPX/SPX, NetBIOS, AppleTalk;

  • Поддержкамногообразныхоперационныхсистем конечныхпользователей:DOS, UNIX, OS/2, Mac;

  • ПоддержкасетевогооборудованиястандартовEthernet, Token Ring, FDDI, ARCnet;

  • Наличиепопулярныхприкладныхинтерфейсови механизмоввызова удаленныхпроцедур RPC;

  • Возможностьвзаимодействияс системойконтроля иуправлениясетью, поддержкастандартовуправлениясетью SNMP.

Конечно,ни одна изсуществующихсетевых ОС неотвечает вполном объемеперечисленнымтребованиям,поэтому выборсетевой ОС, какправило, осуществляетсяс учетом производственнойситуации иопыта. В таблице2.1.приведеныосновныехарактеристикипопулярныхи доступныхв настоящеевремя сетевыхОС.


Таблица.2.1.Основныехарактеристикисетевых ОС

Novell

NetWare 4.1

Специализированнаяоперационнаясистема,оптимизированнаядля работы вкачестве файловогосервера ипринт-сервера

Ограниченныесредства дляиспользованияв качествесервера приложений:не имеет средстввиртуальнойпамяти и вытесняющеймногозадачности,а поддержкасимметричногомультипроцесcированияотсутствоваладо самогонедавнеговремени. ОтсутствуютAPI основныхоперационныхсред, используемыхдля разработкиприложений,- UNIX, Windows, OS/2

Серверныеплатформы:компьютерына основепроцессоровIntel, рабочие станцииRS/6000 компанииIBM под управлениемоперационнойсистемы AIX спомощью продуктаNetWare for UNIX

Поставляетсяс оболочкойдля клиентов:DOS, Macintosh, OS/2, UNIX, Windows (оболочкадля Windows NT разрабатываетсякомпаниейNovell в настоящеевремя, хотяMicrosoft уже реализовалаклиентскуючасть NetWare в Windows NT)

Организацияодноранговыхсвязей возможнас помощью ОСPersonalWare

Имеетсправочнуюслужбу NetWare DirectoryServices (NDS), поддерживающуюцентрализованноеуправление,распределенную,полностьюреплицируемую,автоматическисинхронизируемуюи обладающуюотличноймасштабируемостью

Поставляетсяс мощной службойобработкисообщенийMessage Handling Service (MHS), полностьюинтегрированную(начиная с версии4.1) со справочнойслужбой

Поддерживаемыесетевые протоколы:TCP/IP, IPX/SPX, NetBIOS, Appletalk

Поддержкаудаленныхпользователей:ISDN, коммутируемыетелефонныелинии, frame relay, X.25 - спомощью продуктаNetWare Connect (поставляетсяотдельно)

Безопасность:аутентификацияс помощью открытыхключей методашифрованияRSA; сертифицированапо уровню C2

Хорошийсервер коммуникаций

Встроеннаяфункция компрессиидиска

Сложноеобслуживание

Banyan

VINES 6.0 и ENS

(Enterprise

Network

Services) 6.0

Серверныеплатформы:

ENS for UNIX: работаетна RISC-компьютерахпод управлениемSCO UNIX, HP-UX, Solaris, AIX ENS for NetWare: работаетна Intel-платформахпод управлениемNetWare 2.x, 3.x, 4.x

VINES работаетна Intel-платформах

Клиентскиеплатформы:DOS, Macintosh, OS/2, UNIX, Windows for Workgroups, Windows NT

Хорошийсервер приложений:поддерживаютсявытесняющаямногозадачность,виртуальнаяпамять и симметричноемультипроцессированиев версии VINES и вENS-версиях дляUNIX. Поддерживаютсяприкладныесреды UNIX, OS/2, Windows

Поддержкаодноранговыхсвязей - отсутствует

Справочнаяслужба - Streettalk III,наиболееотработаннаяиз имеющихсяна рынке, сцентрализованнымуправлением,полностьюинтегрированнаяс другими сетевымислужбами,распределенная,реплицируемаяи автоматическисинхронизируемая,отлично масштабируемая

Согласованностьработы с другимисетевыми ОС:хорошая; сервернаяоболочка работаетв средах NetWare иUNIX; пользователиNetWare, Windows NT и LAN Server могутбыть объектамисправочнойслужбы Streettalk III

Службасообщений -Intelligent Messaging, интегрированас другими службами

Поддерживаемыесетевые протоколы:VINES IP, TCP/IP, IPX/SPX, Appletalk

Поддержкаудаленныхпользователей:ISDN, коммутируемыетелефонныелинии, X.25

Службабезопасности:поддерживаетэлектроннуюподпись (собственныйалгоритм),избирательныеправа доступа,шифрацию; несертифицирована

Простоеобслуживание

Хорошомасштабируется

Отличнаяпроизводительностьобмена даннымимежду серверами,хуже - при обменесервер-ПК

Microsoft

Windows NT Server

3.51 и 4.0

Серверныеплатформы:компьютерына базе процессоровIntel,

PowerPC, DEC Alpha, MIPS

Клиентскиеплатформы:DOS, OS/2, Windows, Windows for Workgroups, Macintosh

Организацияодноранговойсети возможнас помощью WindowsNT Workstation и Windows for Workgroups

Windows NT Server представляетсобой отличныйсервер приложений:он поддерживаетвытесняющуюмногозадачность,виртуальнуюпамять и симметричноемультипроцессирование,а также прикладныесреды DOS, Windows, OS/2, POSIX

Справочныеслужбы: доменнаядля управленияучетной информациейпользователей(Windows NT Domain Directory service), справочныеслужбы именWINS и DNS

Хорошаяподдержкасовместнойработы с сетямиNetWare: поставляетсяклиентскаячасть (редиректор)для сервераNetWare (версий 3.х и4.х в режимеэмуляции 3.х,справочнаяслужба NDS поддерживается,начиная с версии4.0), выполненнаяв виде шлюзав Windows NT Server или какотдельнаякомпонентадля Windows NT Workstation; недавноMicrosoft объявилао выпускесервернойчасти NetWare какоболочки дляWindows NT Server

Служба обработкисообщений -Microsoft Mail

NT - Microsoft Message Exchange, интегрированнаяс остальнымислужбами WindowsNT Server

Поддерживаемыесетевые протоколы:TCP/IP, IPX/SPX, NetBEUI, Appletalk

Поддержкаудаленныхпользователей:ISDN, коммутируемыетелефонныелинии, frame relay, X.25 - спомощью встроеннойподсистемыRemote Access Server (RAS)

Службабезопасности:мощная, используетизбирательныеправа доступаи доверительныеотношениямежду доменами;узлы сети,основанныена Windows NT Server, сертифицированыпо уровню C2

Простотаустановки иобслуживания

Отличнаямасштабируемость

IBM LAN Server 4.0

Серверныеплатформы:операционныесистемы MVS и VMдля мейнфреймов;AS/400 с OS/400, рабочиестанции RS/6000 сAIX, серверы Intel 486или Pentium под OS/2

Поставляетсяс оболочкамидля клиентов:DOS, Macintosh, OS/2, Windows, Windows NT, Windows for Workgroups

Серверыприложениймогут бытьорганизованыс помощью LANServer 4.0 в операционныхсредах MVS, VM, AIX, OS/2,OS/400. В среде OS/2поддерживаются:вытесняющаямногозадачность,виртуальнаяпамять и симметричноемультипроцессирование

Организацияодноранговыхсвязей возможнас помощью ОСWarp Connect

Справочнаяслужба - LAN Server Domain, тоесть основана доменномподходе

Поддерживаемыесетевые протоколы:TCP/IP, NetBIOS, Appletalk

Безопасность- избирательныеправа доступа,система несертифицирована

Служба обработкисообщений -отсутствует

Высокаяпроизводительность

Недостаточнаямасштабируемость


3.ВЫБОР БАЗЫДАННЫХ

3.1. ОпределениеСУБД

Традиционныхвозможностейфайловых системнедостаточнодля построениядаже простыхинформационныхсистем из-завозникающихпотребностей,которые непокрываютсявозможностямисистем управленияфайлами:

  • поддержаниелогическисогласованногонабора файлов;

  • обеспечениеязыка манипулированияданными;

  • восстановлениеинформациипосле разногорода сбоев;

  • реальнопараллельнаяработа несколькихпользователей.

Можносчитать, чтоесли прикладнаяинформационнаясистема опираетсяна некоторуюсистему управленияданными, обладающуюэтими свойствами,то эта системауправленияданными являетсясистемой управлениябазами данных(СУБД).

3.2. Основныефункции СУБД

Более точно,к числу функцийСУБД принятоотносить следующие:


3.2.1. Непосредственноеуправлениеданными вовнешней памяти

Эта функциявключает обеспечениенеобходимыхструктур внешнейпамяти как дляхранения данных,непосредственновходящих в БД,так и для служебныхцелей, например,для убыстрениядоступа к даннымв некоторыхслучаях (обычнодля этогоиспользуютсяиндексы). В некоторыхреализацияхСУБД активноиспользуютсявозможностисуществующихфайловых систем,в других работапроизводитсявплоть до уровняустройстввнешней памяти.В развитых СУБДпользователив любом случаене обязанызнать, используетли СУБД файловуюсистему, и еслииспользует,то как организованыфайлы. В частности,СУБД поддерживаетсобственнуюсистему именованияобъектов БД.

3.2.2. Управлениебуферами оперативнойпамяти

СУБД обычноработают с БДзначительногоразмера; покрайней мереэтот размеробычно существеннобольше доступногообъема оперативнойпамяти. Понятно,что если приобращении клюбому элементуданных будетпроизводитьсяобмен с внешнейпамятью, то всясистема будетработать соскоростьюустройствавнешней памяти.Практическиединственнымспособом реальногоувеличенияэтой скоростиявляется буферизацияданных в оперативнойпамяти. Приэтом, даже еслиоперационнаясистема производитобщесистемнуюбуферизацию(как в случаеОС UNIX), этогонедостаточнодля целей СУБД,которая располагаетгораздо большейинформациейо полезностибуферизациитой или инойчасти БД. Поэтомув развитых СУБДподдерживаетсясобственныйнабор буферовоперативнойпамяти с собственнойдисциплинойзамены буферов.

3.2.3. Управлениетранзакциями

Транзакция- это последовательностьопераций надБД, рассматриваемыхСУБД как единоецелое. Либотранзакцияуспешно выполняется,и СУБД фиксирует(COMMIT) измененияБД, произведенныеэтой транзакцией,во внешнейпамяти, либони одно из этихизменений никакне отражаетсяна состоянииБД. Понятиетранзакциинеобходимодля поддержаниялогическойцелостностиБД. Таким образом,поддержаниемеханизматранзакцийявляется обязательнымусловием дажеоднопользовательскихСУБД (если, конечно,такая системазаслуживаетназвания СУБД).Но понятиетранзакциигораздо болееважно в многопользовательскихСУБД.

То свойство,что каждаятранзакцияначинаетсяпри целостномсостоянии БДи оставляетэто состояниецелостным послесвоего завершения,делает оченьудобным использованиепонятия транзакциикак единицыактивностипользователяпо отношениюк БД. При соответствующемуправлениипараллельновыполняющимисятранзакциямисо стороны СУБДкаждый изпользователейможет в принципеощущать себяединственнымпользователемСУБД (на самомделе, это несколькоидеализированноепредставление,поскольку внекоторыхслучаях пользователимногопользовательскихСУБД могутощутить присутствиесвоих коллег).

С управлениемтранзакциямив многопользовательскойСУБД связаныважные понятиясериализациитранзакцийи сериальногоплана выполнениясмеси транзакций.Под сериализацийпараллельновыполняющихсятранзакцийпонимаетсятакой порядокпланированияих работы, прикотором суммарныйэффект смеситранзакцийэквивалентенэффекту ихнекоторогопоследовательноговыполнения.Сериальныйплан выполнениясмеси транзакций- это такой план,который приводитк сериализациитранзакций.Понятно, чтоесли удаетсядобитьсядействительносериальноговыполнениясмеси транзакций,то для каждогопользователя,по инициативекоторого образованатранзакция,присутствиедругих транзакцийбудет незаметно(если не считатьнекоторогозамедленияработы по сравнениюс однопользовательскимрежимом).

Существуетнесколькобазовых алгоритмовсериализациитранзакций.В централизованныхСУБД наиболеераспространеныалгоритмы,основанныена синхронизационныхзахватах объектовБД. При использованиилюбого алгоритмасериализациивозможны ситуацииконфликтовмежду двумяили болеетранзакциямипо доступу кобъектам БД.В этом случаедля поддержаниясериализациинеобходимовыполнить откат(ликвидироватьвсе изменения,произведенныев БД) одной илиболее транзакций.Это один изслучаев, когдапользовательмногопользовательскойСУБД можетреально (и достаточнонеприятно)ощутить присутствиев системе транзакцийдругих пользователей.

3.2.4. Журнализация

Одним изосновных требованийк СУБД являетсянадежностьхранения данныхво внешнейпамяти. Поднадежностьюхранения понимаетсято, что СУБДдолжна бытьв состояниивосстановитьпоследнеесогласованноесостояние БДпосле любогоаппаратногоили программногосбоя. Обычнорассматриваютсядва возможныхвида аппаратныхсбоев: так называемыемягкие сбои,которые можнотрактоватькак внезапнуюостановкуработы компьютера(например, аварийноевыключениепитания), и жесткиесбои, характеризуемыепотерей информациина носителяхвнешней памяти.Примерамипрограммныхсбоев могутбыть: аварийноезавершениеработы СУБД(по причинеошибки в программеили в результатенекоторогоаппаратногосбоя) или аварийноезавершениепользовательскойпрограммы, врезультатечего некотораятранзакцияостаетсянезавершенной.Первую ситуациюможно рассматриватькак особый видмягкого аппаратногосбоя; при возникновениипоследнейтребуетсяликвидироватьпоследствиятолько однойтранзакции.

Понятно,что в любомслучае длявосстановленияБД нужно располагатьнекоторойдополнительнойинформацией.Другими словами,поддержаниенадежностихранения данныхв БД требуетизбыточностихранения данных,причем та частьданных, котораяиспользуетсядля восстановления,должна хранитьсяособо надежно.Наиболеераспространеннымметодом поддержаниятакой избыточнойинформацииявляется ведениежурнала измененийБД.

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

Во всехслучаях придерживаютсястратегии"упреждающей"записи в журнал(так называемогопротокола WriteAhead Log - WAL). Грубо говоря,эта стратегиязаключаетсяв том, что записьоб изменениилюбого объектаБД должна попастьво внешнююпамять журналараньше, чемизмененныйобъект попадетво внешнююпамять основнойчасти БД. Известно,что если в СУБДкорректнособлюдаетсяпротокол WAL, тос помощью журналаможно решитьвсе проблемывосстановленияБД после любогосбоя.

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

При мягкомсбое во внешнейпамяти основнойчасти БД могутнаходитьсяобъекты, модифицированныетранзакциями,не закончившимисяк моменту сбоя,и могут отсутствоватьобъекты, модифицированныетранзакциями,которые к моментусбоя успешнозавершились(по причинеиспользованиябуферов оперативнойпамяти, содержимоекоторых примягком сбоепропадает). Присоблюдениипротокола WALво внешнейпамяти журналадолжны гарантированнонаходитьсязаписи, относящиесяк операцияммодификацииобоих видовобъектов. Цельюпроцессавосстановленияпосле мягкогосбоя являетсясостояниевнешней памятиосновной частиБД, котороевозникло быпри фиксацииво внешнейпамяти измененийвсех завершившихсятранзакцийи которое несодержало быникаких следовнезаконченныхтранзакций.Для того, чтобыэтого добиться,сначала производятоткат незавершенныхтранзакций(undo), а потом повторновоспроизводят(redo) те операциизавершенныхтранзакций,результатыкоторых неотображеныво внешнейпамяти.

Для восстановленияБД после жесткогосбоя используютжурнал и архивнуюкопию БД. Грубоговоря, архивнаякопия - это полнаякопия БД к моментуначала заполненияжурнала (имеетсямного вариантовболее гибкойтрактовкисмысла архивнойкопии). Конечно,для нормальноговосстановленияБД после жесткогосбоя необходимо,чтобы журналне пропал. Какуже отмечалось,к сохранностижурнала вовнешней памятив СУБД предъявляютсяособо повышенныетребования.Тогда восстановлениеБД состоит втом, что исходяиз архивнойкопии по журналувоспроизводитсяработа всехтранзакций,которые закончилиськ моменту сбоя.В принципе,можно дажевоспроизвестиработу незавершенныхтранзакцийи продолжитьих работу послезавершениявосстановления.Однако в реальныхсистемах этообычно не делается,посколькупроцесс восстановленияпосле жесткогосбоя являетсядостаточнодлительным.

3.2.5. Поддержкаязыков БД

Для работыс базами данныхиспользуютсяспециальныеязыки, в целомназываемыеязыками базданных. В раннихСУБД поддерживалосьнесколькоспециализированныхпо своим функциямязыков. Чащевсего выделялисьдва языка - языкопределениясхемы БД (SDL - SchemaDefinition Language) и языкманипулированияданными (DML - DataManipulation Language). SDL служилглавным образомдля определениялогическойструктуры БД,т.е. той структурыБД, какой онапредставляетсяпользователям.DML содержал набороператоровманипулированияданными, т.е.операторов,позволяющихзаносить данныев БД, удалять,модифицироватьили выбиратьсуществующиеданные.

В современныхСУБД обычноподдерживаетсяединый интегрированныйязык, содержащийвсе необходимыесредства дляработы с БД,начиная от еесоздания, иобеспечивающийбазовый пользовательскийинтерфейс сбазами данных.Стандартнымязыком наиболеераспространенныхв настоящеевремя реляционныхСУБД являетсяязык SQL (Structured Query Language).

Преждевсего, язык SQLсочетает средстваSDL и DML, т.е. позволяетопределятьсхему реляционнойБД и манипулироватьданными. Приэтом именованиеобъектов БД(для реляционнойБД - именованиетаблиц и ихстолбцов)поддерживаетсяна языковомуровне в томсмысле, чтокомпиляторязыка SQL производитпреобразованиеимен объектовв их внутренниеидентификаторына основанииспециальноподдерживаемыхслужебныхтаблиц-каталогов.Внутренняячасть СУБД(ядро) вообщене работаетс именами таблици их столбцов.

Язык SQL содержитспециальныесредства определенияограниченийцелостностиБД. Опять же,ограниченияцелостностихранятся вспециальныхтаблицах-каталогах,и обеспечениеконтроля целостностиБД производитсяна языковомуровне, т.е. прикомпиляцииоператоровмодификацииБД компиляторSQL на основанииимеющихся вБД ограниченийцелостностигенерируетсоответствующийпрограммныйкод.

Специальныеоператоры языкаSQL позволяютопределятьтак называемыепредставленияБД, фактическиявляющиесяхранимыми вБД запросами(результатомлюбого запросак реляционнойБД являетсятаблица) сименованнымистолбцами. Дляпользователяпредставлениеявляется такойже таблицей,как любая базоваятаблица, хранимаяв БД, но с помощьюпредставленийможно ограничитьили наоборотрасширитьвидимость БДдля конкретногопользователя.Поддержаниепредставленийпроизводитсятакже на языковомуровне.

Наконец,авторизациядоступа к объектамБД производитсятакже на основеспециальногонабора операторовSQL. Идея состоитв том, что длявыполненияоператоровSQL разного видапользовательдолжен обладатьразличнымиполномочиями.Пользователь,создавшийтаблицу БД,обладает полнымнабором полномочийдля работы сэтой таблицей.В число этихполномочийвходит полномочиена передачувсех или частиполномочийдругим пользователям,включая полномочиена передачуполномочий.Полномочияпользователейописываютсяв специальныхтаблицах-каталогах,контроль полномочийподдерживаетсяна языковомуровне.

3.3. Вариантыпостроенияинформационныхприложенийс использованиемСУБД

Групповыеи корпоративныеинформационныесистемыи соответствующиеприложениямогутстроитьсяразличнымиспособами:

  • многотерминальныецентрализованныевычислительныесистемы;

  • системынаосновелокальнойсетиПК (файл-серверныеприложения);

  • системыс архитектуройклиент-сервер;

Длялучшегопониманияограниченийразличныхархитектуринформационныхсистем,разделимприложениянатиповые.

Типовыекомпонентыинформационныхприложений

Выделимв информационномприложениитиповые функциональныекомпоненты,достаточныедля формированиялюбого приложенияна основе БД.

PS (Presentation Services) - средствапредставления.Обеспечиваютсяустройствами,принимающимиввод от пользователяи отображающимто, что сообщаетему компонентлогики представленияPL, плюс соответствующаяпрограммнаяподдержка.Может бытьтекстовымтерминаломили Х-терминалом,а также ПК илирабочей станциейв режиме программнойэмуляции терминалаили Х-терминала.

PL (Presentation Logic) - логикапредставления.Управляетвзаимодействиеммежду пользователеми ЭВМ. Обрабатываетдействия пользователяпо выборуальтернативыменю, по нажатиюкнопки или привыборе элементаиз списка.

BL (Business or Application Logic) -прикладнаялогика. Наборправил дляпринятия решений,вычисленийи операций,которые должновыполнитьприложение.

DL (Data Logic) - логикауправленияданными. Операциис базой данных(SQL-операторыSELECT, UPDATE и INSERT), которыенужно выполнитьдля реализацииприкладнойлогики управленияданными.

DS (Data Services) - операциис базой данных.Действия СУБД,вызываемыедля выполнениялогики управленияданными, такиекак манипулированиеданными, определенияданных, фиксацияили откат транзакцийи т. п. СУБД обычнокомпилируетSQL - предложения.

FS (File Services) - файловыеоперации. Дисковыеоперации чтенияи записи данныхдля СУБД и другихкомпонент.Обычно являютсяфункциями ОС.Можно привестинесколько схемпостроенияинформационныхсистем (таблица3.1.) в зависимостиот размещениятиповых компонентовприложенияпо узлам сети.


Таблица3.1. Схем построенияинформационныхсистем


Описаниесхемы

Клиент


Сервер

Примерреализации

1 Централизованнаямноготерминальнаясистема PS PL, BL, DL, DS, FS Сервер Sun сX-терминаламив среде ОС Solaris
2 Локальнаясеть ПК с файлсервернымиприложениями PS, PL, BL, DL DS, FS

Локальнаясеть ПК в средеNetWare, программына FoxPro, Clipper и др.

3 Удаленныйдоступ к даннымна сервереБД PS, PL, BL, DL DS, FS Системаклиент-серверс доступомПК к серверуБД: Informix (NetWare)
4

Удаленныйдоступ к БДс использованиемхранимых процедур

PS, PL, DL BL, DS, FS Системаклиент-сервер,доступ ПК ксерверу ORACLE всреде SCO Unix
5

Удаленныйдоступ к БДс разделениемлогики приложения

PS, PL, BL, DL BL, DL, DS, FS

Системаклиент-сервер,доступ ПК ксерверу ORACLEна Sun (Solaris)


3.3.1. Централизованныемноготерминальныесистемы

В централизованнойсистеме, характернойдля Unix, терминалреализует лишьфункции представленияданных PS, тогдакак остальныефункции обеспечиваетцентральныйузел. Центрдолжен реагироватьна каждый запроспользователя(PL), выполнятьлогику приложения(BL, DL) и извлекатьданные из БД(DS, FS). Имеются двесерьезныепроблемы дляцентрализованнойсхемы: труднообеспечитьграфическийинтерфейс;каждый дополнительныйпользовательи приложениевносят существеннуюнагрузку насервер, теряетсямасштабируемость.

3.3.2. Файл-серверныеприложения

В отличииот централизованнойсистемы архитектура"файл-сервер"(таблица 3.1 ирисунок 3.1) неимеет сетевогоразделениякомпонентовдиалога PS и PL,используетПК для функцийотображения,что облегчаетпостроениеграфическогоинтерфейса.Файл-сервертолько извлекаетданные из файлов,так что дополнительныепользователии приложениядобавляют лишьнезначительнуюнагрузку наЦП. Каждый новыйклиент добавляетвычислительнуюмощность ксети.


Рисунок3.1.

Вариантыпостроенияфайл-серверныхприложений.


Объектамиразработкив файл-серверномприложенииявляются компонентыприложения,определяющиелогику диалогаPL, а также логикуобработки BL иуправленияданными DL. Разработанноеприложениереализуетсялибо в видезаконченногозагрузочногомодуля или ввиде специальногокода для интерпретации.

Однакотакая архитектураимеет два основныхнедостатка:некоторыезапросы к БДмогут перекачиватьвсю БД клиенту,загружая сетьи имея непредсказуемоевремя реакции,тем самым, создаваязначительныйсетевой график,а также возникающаяпроблема "толстогоклиента" -Windows-интерфейс,коды приложенияи СУБД могутперегрузитьдаже мощныйПК.

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

3.3.3.Приложенияклиент-сервер

Архитектураклиент-серверпредназначенадля разрешенияпроблем файл-серверныхприложенийпутем разделениякомпонентовприложенияи размещениеих там, где онибудут функционироватьболее эффективно.Особенностьюархитектурыклиент-серверявляетсяиспользованиевыделенныхсерверов базданных, понимающихзапросы наязыке структурированныхзапросов SQL ивыполняющихпоиск, сортировкуи агрегированиеинформациина месте безизлишней перекачкиданных на рабочиестанции.

Другаяотличительнаячерта серверовБД - наличиесловарьа данных,в котором записаныструктура БД,ограниченияцелостностиданных, форматыи даже серверныепроцедурыобработкиданных по вызовуили по событиямв программе.Объектамиразработкив таких приложенияхпомимо диалогаи логики обработкиявляются преждевсего реляционнаямодель данныхи связанныйс ней наборSQL-операторовдля типовыхзапросов дляэтой БД.

Большинствоконфигурацийклиент-сервериспользуетдвухзвеннуюмодель, состоящуюиз клиента,который обращаетсяк услугам сервера(сх. 3-5 в таблице3.1, рисунок 3.2). Дляэффективнойреализациитакой схемычасто применяютнеоднороднуюсеть. Как минимум,предполагается,что диалоговыекомпонентыPS и PL размещаютсяна клиенте, чтопозволяетобеспечитьграфическийинтерфейс.Далее возможноразместитькомпонентыуправленияданными DS и FS насервере, а диалог(PS, PL), логику BL и DL наклиенте - сх. 3в таблице 3.1).Типовое определениеархитектурыклиент-сервер- приложениена клиенте,СУБД - на сервере- используетэту схему.


Рисунок3.2.

Вариантыпостроенияприложенийклиент-сервер.


Посколькуэта схема предъявляетнаименьшиетребованияк серверу, онаобладает наилучшеймасштабируемостью.Однако сложныеприложения,вызывающиебольшое взаимодействиес БД, могут жесткозагрузить какклиента, таки сеть. РезультатыSQL-запроса должнывернутьсяклиенту дляобработки,потому что тамнаходитсялогика принятиярешения. Такаясхема возлагаетдополнительноебремя администрированияприложений,разбросанныхпо различнымклиентскимузлам.

Можносократитьнагрузку наклиента и сеть,переместивцеликом компонентBL на сервер, приэтом вся логикапринятия решенийоформлена ввиде хранимыхпроцедур ивыполняетсяна сервере БД.Хранимая процедура- процедура соператорамиSQL для доступак БД, вызываемаяпо имени с передачейтребуемыхпараметрови выполняемаяна сервере БД.Компиляцияповышает скоростьисполненияхранимых процедури сокращаетнагрузку насервер. Но,перегрузивхранимые процедурыприкладнойлогикой, можнопотерять преимуществапо производительности.Хранимые процедурыулучшают целостностьприложенийи БД, гарантируютактуальностьколлективноиспользуемыхопераций ивычислений.Улучшаетсясопровождениетаких процедур,а также безопасность(нет прямогодоступа к данным).

Переместивс клиента частьлогики приложенияна сервер, получимсистему клиент-серверс разделеннойлогикой. Частьприкладнойлогики можетбыть реализованана клиенте, адругая частьлогики - в видеобработчиковсобытий (триггеров)и хранимыхпроцедур насервере БД.Такая схемапри удачномразделениилогики приводитк сбалансированнойзагрузке клиентови сервера, нопри этом затрудняетсясопровождениеприложений.

Рисунок3.3.

Приложенияклиент-серверна основемноготерминальнойсистемы.


На основемноготерминальнойсистемы в качествесервера приложенийтакже возможносоздание архитектурыклиент-сервер(рисунок 3.3.). Вэтом случаев многозадачнойсреде сервераприложенийвыполняютсяпрограммыпользователей,а клиентскиеузлы вырожденыи представленытерминалами.


4. ВЫБОРЯЗЫКА ПРОГРАММИРОВАНИЯ

Классификациясредствразработкиинформационныхприложений

Средисредствразработкиинформационныхприложенийможновыделитьследующиеосновныегруппы:

  • традиционныесистемыпрограммирования;

  • инструментыдлясозданияфайл-серверныхприложений;

  • средства разработкиприложенийклиент-сервер;

Рассмотримкраткоотличительныечертыи областьприменениякаждойгруппыинструментальныхсредствсозданияинформационныхприложений.

4.1.Традиционныесистемыпрограммирования

Традиционныесистемы программированияпредставленысредствамисоздания приложенийна языках третьегопоколения 3GL:C, Pascal, Basic и др. Срединих по способамподготовкии выполненияпрограммныхмодулей различаютсистемы компилирующегои интерпретирующеготипа. Инструментальныесредствапрограммированиямогут бытьпредставленынабором отдельныхутилит (редактортекстов, компилятор,компоновщики отладчик) илиинтегрированнойсредой программирования.

Процедурныеязыки программированияявляютсятрадиционными,они лишь претерпелиизменения отнеструктурныхдо структурныхязыков программирования.Объектно-ориентированноепрограммирование- сравнительноновое направление,однако оно вконцептуальномплане болеепривлекательно,позволяетрассматриватьи реализовыватьинформационныеи функциональныесвойства объектовв неразрывнойсвязи.

Свойствамиобъектно-ориентированныхязыков, обуславливающимиих преимущества,являются сокрытиедеталей реализацииобъекта (инкапсуляция),наследованиепроцедурныхи информационныхчастей отобъектов-родителей,полиморфизмкак возможностьнастройки наразличные типыданных и др.Примерамиобъектно-ориентированныхсистем программированияявляются C++ иObject Pascal.

Системыпрограммирования3GL нужны дляорганизацииспециальныхмодулей винформационныхприложениях,для созданияэффективныхпо быстродействиюпрограмм обработкиданных. Длясоздания спомощью системпрограммированияполноценныхинформационныхприложенийнеобходиморасширить ихза счет использованиябиблиотекдиалога и доступак базам данных,а также макросредстввстроенногоязыка структурированныхзапросов Embeded SQL.

СистемупрограммированияVisual Basic можно использоватьдля созданияпростых автономныхприложенийи компонентовVBX и OCX, для расширенияи интеграциифункциональныхпакетов (Word, Excel,Access), а также каксредствопрограммированиядля расширениясистем документооборотаи для созданияутилит администрирования.

С моментавыхода проданосущественнобольше копийDelphi, чем Visual Basic. Применениепродукта возможнодля созданиярасчетно-аналитическихпрограмм, дляразработкиDLL, для сопровожденияи развитияразработок,выполненныхна Turbo и Borland Pascal, а такжедля быстрогопрототипированиябудущих приложений.В ряде случаеврешающим длявыбора будутумеренныетребованияDelphi-приложенияк системно-техническомуобеспечению.

С++ применяетсядля расширениясистемногопрограммногообеспечения,для разработкикрупных проектов,специальныхприложений,создания библиотеки классов дляпредметнойобласти, разработкидинамическихбиблиотек DLL,создания программногообеспечениядля серверовприложений,разработкиОСХ, использованиясовместно сCASE-системами,обеспечениямногоплатформенностии переносимости(по стандартуANSI).

4.2. Инструментыдля созданияфайл-серверныхприложений

Основойразработкифайл-серверныхприложенийдля локальныхсетей ПК являетсяинструментальноеокружениеразличных"персональных"СУБД: FoxPro, Clipper, Paradox, Clarion,Paradox, dBase и т.п. Такиесредства, какправило, реализованыв виде диалоговойинтегрированнойсреды, предоставляющихтри уровнядоступа:

  • программированиеи созданиеприложенийна языке, сочетающемвозможностиязыка 3GL с некоторымивозможностямиязыков четвертогопоколения 4GL;

  • созданиеи ведение структурыБД и индексов,а также интерактивнаягенерациямакетногоприложенияи его компонентов(меню, форм илиокон, отчетов,запросов ипрограммныхмодулей);

  • использованиедиалоговойсреды и генераторовконечнымипользователямидля создания,ведения и просмотраБД, а такжеформированиянесложныхзапросов иотчетов.

Диалоговыесреды поддерживаюткак текстовойдля DOS, так и графическийинтерфейспользователядля Windows. Внедрениеграфическогоинтерфейсапривело к развитиюобъектныхсвойств инструментов,средств визуальнойгенерациипрограмм исобытийногомеханизмаприложений.

База данныхдля этих СУБДпредставляетсобой совокупностьфайлов БД ииндексов, а неединое информационноепространство,что усложняетее сопровождение.Ни одна изтрадиционныхСУБД для ПК неимеет средствограниченияцелостности.Среди инструментальныхсредств СУБДдля ПК преобладаютинтерпретирующиесистемы, хотямногие предоставляюти альтернативнуювозможностьсоздания загрузочныхмодулей приложений.

СУБД дляПК MS Access можетиспользоватьсядля созданиямасштабируемыходиночных игрупповыхинформационныхприложенийи для разработкиклиентскойчасти приложенийклиент-сервер,а также каксредствоавтоматизацииделопроизводствав составе MS-Office.

Традиционныеинструментальныесредства классаxBase (такие какFoxPro, Clipper, dBase и др.) теряютрынок (числоих продаж значительносокращается)из-за несоответствиясовременнымтребованиям.По мере того,как предприятиявсе шире используютСУБД MS Access и новыесредства разработки,такие как VisualBasic и Delphi, популярностьсреды Xbase уменьшается.Более того,Microsoft может прекратитьподдержкуFoxPro, так как этаСУБД с устаревшимязыком и сокращающейсярыночной долейне вписываетсяв долговременнуюстратегиюразвития средствразработки,которую Microsoft строитвокруг Visual Basic иAccess. Новые "визуальные"инструментыэтого класса(Visual FoxPro, CA-Visual Objects, Visual dBase) пытаютсясохранить ирасширитьпрежний ареал.Они могут бытьрекомендованыдля сопровожденияи развитияпрежних xBase-разработок,для созданиямасштабируемыходиночных игрупповыхфайл-серверныхприложенийи для переносаи адаптацииприложенийв архитектуруклиент-серверс использованиеминтерфейсаODBC. Но нужно четкоосознавать,что при применениинового инструментариядля созданиядиалога и спереходом наSQL-операторыот прежнихxBase-приложенийостается ничтожномало, а, крометого, существенноменяется подходк разработке,и прежние навыкивряд ли будутвостребованы.

Инструментальноесредство MS Accessхорошо зарекомендовалосебя в разработкефайл-серверныхприложенийс возможностьюмасштабирования,так как оноимеет удобныесредства визуальногоконструирования,отладки и возможностииспользованиякак Access Basic, так иSQL. ИнтерфейсODBC открываетширокие возможностиинтероперабельностис различнымиСУБД. В 1995 г. надолю MS Access пришлось57% рынка настольныхбаз данных, аFoxPro и dBase - 9% и 2%, соответственно

4.3. Средстваразработкиприложенийклиент-сервер

Группуинструментальныхсредств длясозданияинформационныхприложенийс архитектуройклиент-серверможно разделитьна следующиеподгруппы:

  • средыразработкиприложенийдля серверовбаз данных,независимыеот СУБД инструментыдля созданияприложенийклиент-сервер;

  • средстваподдержкираспределенныхинформационныхприложений.

4.3.1. Средыразработкиприложенийдля серверовбаз данных

Средыразработкиприложенийдля серверовБД представляютсобой системыпрограммированиячетвертогопоколения 4GLили инструментальныесредства быстройразработкиприложенийRAD (Rapid Application Development). Особенностямиэтой подгруппысредств являются:реализацияудаленногодоступа к СУБДпо двухзвеннойсхеме клиент-сервер;связь клиентскихприложенийс серверамиБД с помощьюнепроцедурногоязыка структурированныхзапросов SQL (кромесерверов Btrieve);обеспечениецелостностиБД, включаяцелостностьтранзакций;поддержкахранимых процедурна серверахБД; реализацияклиентскихи серверныхтриггеров-процедур;генерацияэлементовдиалоговогоинтерфейсаи отчетов.

В качествепримера можноназвать инструментыInformix/4GL,Oracle*Forms и др. Сейчасновые средыразработкиSQL-серверов БД(Informix NewEra и Oracle Power Objects) развиваютсяв сторону независимыхот СУБД инструментов.Независимыеинструментальныесредства,ориентированныена многие платформыСУБД, представленыв виде средствбыстрой разработкиприложенийRAD. Для такихсредств созданияприложенийклиент-серверхарактерны:возможностьраспределенияприложенияна клиентахи/или серверах;создание приложенийдля разныхсерверов БД;поддержкаспецификацииODBC для доступак различнымсерверам БД,включая СУБДдля ПК; связьс мониторамитранзакцийдля организациитрехзвеннойархитектурыприложенийклиент-сервер;объектно-ориентированноепрограммированиеприложений;визуальныйхарактер генерацииприложения;ведение репозитарияобъектов и ихсвойств, чтооблегчаетинтеграциюсо средствамиавтоматизациипроектированияпрограмм CASE;управлениепроектами иверсиями приложений;интеграцияприложенияс электроннойпочтой и средствамиофисной автоматизации.

Известнымипримераминезависимыхинструментальныхсредств разработкиявляются: ErWin,SQLWindows, PowerBuilder, JAM иUniface.


4.3.2. Средстваподдержкираспределенныхинформационныхприложений

Средстваподдержкираспределенныхприложенийотносятся ккатегориипромежуточногопрограммногообеспеченияmiddleware для организациисерверов приложений.Сюда входятразнообразныебиблиотекии наборы инструментальныхсредств: интерфейсыдоступа к базамданных ODBC и IDAPI; шлюзыдля системуправлениябазами данных;протоколы икоманды мониторовобработкитранзакций;почтовые интерфейсыMAPI, VIM, MHS, X.400 и EDI; средстваобмена сообщениямиMOM; протоколысвязыванияи включенияобъектов OLE идинамическогообмена даннымиDDE; протоколыудаленноговызова процедурRPC и именованныхконвейеровNamed Pipes, средствакоммуникационноговвода-выводаBSD Sockets и WinSock.

Инструментальныенаборы дляразработкиприложенийклиент-сервернеобходимовыбирать, исходяиз следующихкритериев (см.таблицу 4.1): наличиеобъектно-ориентированнойинфраструктуры,возможностираспределенияприложениймежду клиентоми сервером,обеспеченали поддержкамониторовтранзакций,доступностьCASE-репозитария,возможностьпереноса приложенийи контрольверсий. Приэтом следуетвыяснить, насколькоопыт разработчиковпредприятиясоответствуеттребованиямпродукта, важнали переносимостьприложенийна другие аппаратныеплатформы ибазы данных,какая степеньинтеграцииприложенийустроит заказчикаи нужно ли будетв дальнейшемподключатьк приложениюдополнительныхпользователей,функции и данные.


Таблица4.1.Инструментальныенаборы дляразработкиприложенийклиент-сервер

Продукт/компания

Объектно-ориен-

тированнаяинфраструктура

Распределениеприложениймежду клиентоми сервером

Поддержкамониторовтранзакций

CASE-репо-

зитарий

Переносприложенийи контрольверсий

JAM компанииJYACC нет да да нет нет

New Era компаниииInformix

да нет нет да да
Developer 2000 компанииOracle нет да да да да
Power Builder да нет да да да
Delphi компанииBorland да нет да да да
MS-Access компанииMicrosoft нет нет нет нет нет
Oracle Power Object компанииOracle да нет нет нет да

Кроме того,развитие современныхпрограммныхсредств приводитк расширениюих функциональныхвозможностей,в результатечего программныеобеспеченияразных типовконкурируютдруг с другом.Так, продуктBorland C++ Builder превращающийкомпиляторBorland Visual C++ в полноценнуюсреду разработкиприложенийв архитектуреклиент-сервер.Предлагаемыйпродукт дополняетC++ визуальными"дизайнерами",интуитивными"мастерами"и средствамидоступа кобъектно-ориентированнымданным, сохраняязнакомое окружениеVisual C++.

Мощноесредство Oracle Formsиз набораDeveloper/2000 предназначенодля созданияприложенийбаз данных всреде клиент/сервер,которые могутбыть перенесенына платформыс различнымиграфическимии символьнымипользовательскимиинтерфейсами.Oracle Forms являетсячастью Developer/2000, которыйподдерживаетразработкуприложенийво время всегожизненногоцикла. Приложения,созданные спомощью Developer/2000,полностьюмасштабируемыи применимына любом уровне:от систем поддержкипринятия решенийдля небольшихрабочих группдо проектовс большим объемомтранзакций,которые поддерживаютсотни пользователей.Приложения,созданные спомощью Developer/2000,оптимизированыс целью использованиявсех преимуществсервера Oracle7, поэтомуони должны бытьосновнымисредствамипри разработкеприложенийв среде Oracle7.

Инструментальнаясреда NewEra для СУБДInformix обладаетвсеми свойствамидля эффективнойразработкиприложенийв этой среде.Дополнительныепреимущества- возможностьинтеграциис программамина С и многоплатформенность- делают ее пригоднойне только приразработкеприложенийдля СУБД Informix, нои для другихсистем. Следуетзаметить, чтовопрос интероперабельностиInformix-Oracle решеннеудовлетворительно.

Uniface поддерживаетинтерфейспрактическисо всеми известнымипрограммно-аппаратнымиплатформами,протоколами,СУБД и мониторамитранзакций.Это средствонеобходимоиспользоватьпри разработкеи сопровождениитиповых комплексовприложенийс высокойтиражируемостью.Платой зауниверсализмявляется высокаястоимостьпродукта.

Анализи апробациявозможностейMS Access показал, чтоэто инструментальноесредство хорошозарекомендовалосебя как в разработкефайл-серверныхприложений,так и для разработкиклиентскойчасти приложенийв архитектуреклиент/сервер,наличие поддержкиязыка SQL и интерфейсаODBC открываетдоступ к SQL-серверамБД. Имеетсясредство длямиграции приложенийMS Access в среду MS SQL Server.К достоинствамAccess следует отнестии пониженныетребованияк ресурсам. Ксожалению,последниеверсии пакетаориентированылишь на офиснуюавтоматизациюи не содержатruntime-компонентдля созданиязаконченногоинформационногоприложения.

СредствоJAM имеет недостаточнуюразрядностьи может бытьиспользованотолько в приложениях,не требующихвысокой точности,например длясозданияаналитическихсистем. Но егоотличаетмногоплатформенностьи поддержкамониторовтранзакций.

Пакет OraclePower Object предназначендля разработчиков,впервые приступающихк разработкеприложенийклиент-сервери переходящихот таких систем,как FoxPro или Clipper, инаиболее пригодендля созданияпрототиповбольших систем.

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

Все трисредства - JAM,Oracle Power Object и Delphi - пригодныдля созданиябыстрых прототипов,и их использованиев таком качествеможет иметьопределенныедостоинства.


5. ВЫВОДЫПО ВЫБОРУОПЕРАЦИОННОЙСИСТЕМЫ, ЯЗЫКАПРОГРАММИРОВАНИЯИ БАЗЫ ДАННЫХ

Первоочереднойзадачей являетсявыбор вариантыпостроенияинформационныхприложенийс использованиемСУБД. Из рассмотренныхвариантовсистемыс архитектуройклиент-сервернаиболее эффективнаяи дешевая длябольших базданных и множествапользователей,которым нужендоступ к «свежим»данным. В масштабепредприятиявычисленияклиент/сервер— пред­ставляютсобой ни чтоиное,как распределениеобработки вмногопользователь­скойбазе данныхпо несколькимкомпьютерам(ПК и рабочимстанциям).

Что же даетвычислениеклиент/серверпо сравнениюс традиционнойоднокомпью­тернойсредой (с однойбольшой ЭВМ)?При корректнойреализациисистемы клиент/серверполучаетсясистема управленияинформациейс намного лучшимотношением«цена/производительность»,которую можнонаращиватьи легко приспосабливатьк меняющимсятребованиям.Другой причинойвыбора технологииклиент/серверявляется тообстоятельство,что менеджерамуже более ненужно отслеживатьсотни, а то итысячи программ,нуждающихсяв обновлениии перекомпилированиикаждый раз принебольшомизменении вбазе данных.К плюсам технологииклиент/серверможно отнестипростоту иудобствопользовательскихинтерфейсов,открытостьсистем, эффективнуюсреду разработки(особенно приналичииобъектно-ориентированныхинструментов)и быстротурешений.

На сегодняшниймомент толькочетыре базыявляются приемлемымидля надежногохранения большихданных и удобстваиспользования:Oracle, Informix,Sysbase,Ingres.

Исходяиз популярностив России (в ВПК)и на основепроведенногоанализа политературев частности[2],[3],[4]и из опыта работыкомпаний«Рос.вооружение»,НИИ «Восход»,«ИнкомБанк» былавыбрана базаданных Oracle.

Втораязадача этовыбор операционнойсистемы. Наоснованиивыводов

в главе2.5.и таблицы 2.1была выбранаNovell Netware 4.11 какосновная системадля работы базыданных Oracle.Определяющимипараметрамипри выборебыли:надежностьи стабильностьработы, небольшеетребованиек ресурсамсистемы и стоимость,возможностьбезболезненногопереноса наплатформуWindows/NT.Ввиду полномасштабногоиспользованиякомпьютеровтипа Pentiumи операционнойсистемы Windows95, а так жеудобствомразработки,использованияпроектируемогопродукта, работыс отчетнымипрограммами,в качествеклиентскихприложенийбыла выбранаWindows 95.

На основанииглавы 4.3.2. и таблицы4.1, а так же прочитаннойлитературы[5],[6],[7],[8]и опытапрограммистовфирм:«Формоза-центр»,«Инком Банк»,«Рос.вооружение»был выбран языкпрограммированияDelphi,как наиболееудобный дляработы с клиент/сервернымиприложениями,а так же в планеперевода локальныхбаз данных наархитектуруклиент/сервер.Данный язык,как никакойдругой, поддерживаетосновныетенденции(направления)современногоязыка программирования.

Одно направление- объектно-ориентированныйподход, хорошоструктурирующийзадачу, кактаковую, таки ее решениев виде прикладнойсистемы.

Другоенаправление,возникшее вомногом благодаряобъектнойориентации,- визуальныесредства быстройразработкиприложений(RAD - Rapid Application Development), основанныена компонентнойархитектуре.

Третьятенденция -использованиекомпиляции,а не интерпретации.Это объясняетсятем, что скоростныехарактеристикикомпилируемыхприложенийв десятки разлучше, чем усистем, использующихинтерпретатор.При этом повышаетсялегкостьотчуждаемостиготовых систем,так как отпадаетнеобходимость"таскать засобой" саминтерпретатор(run-time), выполненныйобычно в видединамическойбиблиотекии занимающийв лучшем случаенесколько сотенкилобайт (абольшинствеслучаев - два-тримегабайта).Отсюда и меньшаяресурсоемкостьу скомпилированныхсистем.

Четвертаятенденция -возможностьработы с базамиданных универсальными(единообразными)методами. Еслимы попытаемсяоценить процентсистем, которыетак или иначетребуют обработкиструктурированнойинформации(как для внутрикорпоративногоиспользования,так и для коммерческогоили иногораспространения),то окажется,что цифра 60- 70%может представлятьлишь нижнююграницу. Важнымсвойствомсредств обеспечениядоступа к базамданных являетсяих масштабируемость,как возможностьне толькоколичественного,но и качественногороста системы.Например, обеспечениеперехода отлокальных ,втом числе,файл-серверныхданных к архитектуреклиент-серверили тем болеек многоуровневойN-tier схеме.

Delphi создавалсякак продукт,в полной меререализующийописанныетенденции, сархитектурой,открытой длярасширенияспектра поддерживаемыхстандартови подходов.Рассмотрим,насколькоDelphi удовлетворяетвыше перечисленнымтребованиям.

Delphi используетязык 3-го поколенияObject Pascal, обладающийполной реализацийосновных признаковобъектнойориентации(инкапсуляция,наследование,полиморфизм),поддержкойRTTI-RunTime Type Information и встроеннойобработкойисключительныхситуаций (Exceptionhandling). КомпонентнаяархитектураDelphi являетсяпрямым развитиемподдерживаемойобъектноймодели. Всекомпонентыявляются объектнымитипами (классами),с возможностьюнеограниченногонаследования.КомпонентыDelphi поддерживаютPME-модель (Property, Method,Events), позволяющуюизменять поведениекомпонентовбез необходимостисоздания новыхклассов.

КомпонентыDelphi 2.Delphi 2 Client/Server Suite включаетсистему контроляверсий Intersolv PVCS,поддерживаетработу со словаремданных (Data Dictionary) иРепозитариемобъектов (ObjectRepository). Среда визуальнойразработкиDelphi позволяетединообразноработать какс предопределенными,так и с пользовательскимикомпонентами,которые разрабатываютсяна том же языке(Object Pascal), на которомсоздаются иконечные приложения.

Borland Database Engine (BDE) обеспечиваетединообразнуюработу с локальнымиданными (Paradox, dBase) исерверами БД(Oracle, Sybase, MS SQL Server, InterBase и т.д.),за счет применениянавигационныхметодов доступак сервернымСУБД (двунаправленныекурсоры, закладкии т.п.) и SQL - к локальнымформатам(подмножествоLocal SQL).

КомпиляторDelphi является самымбыстрым; имеетобщий генераторкода с Borland C++ (Delphi 2 & BC++5). КомпиляторDelphi (точнее, Object Pascal)является продолжениемлинии компиляторовTurbo Pascal / Borland Pascal.

ОткрытыеинтерфейсыDelphi - Open Tools API - обеспечиваютконтроль надсредой разработки"из вне" и доступк информациио проекте.


Рисунок 7.1. Borland Database Engine


6. СТРУКТУРАИ ОСНОВНЫЕЗАДАЧИ УПРАВЛЕНИЯПО ДЕЛАМ ГРАЖДАНСКОЙОБОРОНЫ ИЧРЕЗВЫЧАЙНЫМСИТУАЦИЯМ

6.1. ОпределениеГО

Гражданскаяоборона - постояннодействующийорган управленияМЧС. Она предназначенадля предупреждениявозникновенияи развитиячрезвычайныхситуаций вмирное и в военноевремя, а такжедля ликвидациичрезвычайныхситуаций приих возникновении.

Гражданскаяоборона объединяет:

  • городские,окружные ирайонные органыисполнительнойвласти и управленияэкономикой,коммунальнымхозяйством;общественныеорганизации,в компетенциюкоторых входятфункции, связанныес безопасностьюи защитой населения,предупреждением,реагированиеми действиямиЧС;

  • организации(объекты),независимоот формы собственностии ведомственнойпринадлежности.

  • силы исредства указанныхорганов управления,организаций(объектов),используемыев целях координацииих деятельностипо предупреждениюЧС, защитенаселения,материальныхи культурныхценностей,окружающейсреды, ликвидацииЧС.


6.2. Основныезадачи ГО

  1. Созданиеи поддержаниев готовностисистем управления,сил и средств,чрезвычайныхрезервов финансовыхи материальныхресурсов.

  2. Организациянаблюденияи контроля засостояниемокружающейсреды и потенциальноопасных объектов,прогнозированиечрезвычайныхситуаций.

  3. Разработкаи осуществлениемер направленныхна защиту населения,повышениеустойчивостифункционированияотраслей экономикии городскогохозяйства вчрезвычайныхситуациях.

  4. Совершенствованиеи обеспечениефункционированиясистемы подготовкиорганов управления,специалистовМЧС, обучениенаселениядействиям вчрезвычайныхситуациях.

  5. Оповещениянаселения овозникновениичрезвычайнойситуации ипорядке действийв сложившейсяобстановке.

  6. Проведениеработ по ликвидациичрезвычайныхситуаций,первоочередномужизнеобеспечениюнаселения, впервую очередьпострадавшего.


6.3. Схемауправленияпо делам ГО иЧС

Рисунок6.1. Схема управленияпо делам ГО иЧС


Из существующейсхемы управленияпо делам ГО иЧС видно, что

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

Первоочереднойзадачей длякаждого отделаявляется оценкаскладывающейсяобстановкив возникшейЧС. Соответственнокаждому отделунужна информацияоб объекте(наличие опасныхвеществ, наличиезащитных сооружений,общая численностьлюдей и т.д.) накотором возникладанная ЧС иинформацияо близлежащихобъектах длявозможнойэвакуации людейили привлечениятехники, различныхформированийс других объектов.

К примеру,отделурадиационной,химическойи биологическойзащиты необходимыданные о количествехранимых веществна объекте;отделутехническогообеспеченияоснащенностьближайшихобъектов техникойи т.д.

Данный проектпозволяет вестинеобходимуюинформациюо объектах ГОи оценить в ЧСскладывающеюсяобстановку.


7. РАЗРАБОТКАПРОГРАММНОГООБЕСПЕЧЕНИЯДЛЯ СИСТЕМЫУПРАВЛЕНИЯБАЗОЙ ДАННЫХОБЪЕКТОВ ГО.

7.1. Назначение и цели созданияпрограммногопродукта

Данноепрограммноесредство должновыполнятьтехнологическиефункции в интересах системы предупрежденияи ликвидацииЧС.

Целью работыявляется созданиеодного из программныхсредств, обеспечивающего:

  • автоматизациюпроцесса подготовкик принятиюрешений привозникших ЧС;

  • регистрациюобъектов экономикии составлениесписка характеристикобъекта;

  • регистрациюналичия ичисленности:

  • техники;

  • защитныхсооружений;

  • химическиопасных веществ;

  • материально-техническихсредств;

  • формированийна объекте;

  • снижение расходов наподготовкуи уточнениясписков объектов;

  • учета готовностиобъекта к ЧС;

  • учета проведениязанятий собучающимисяв УМЦ.

  • уменьшениевремени наподготовкусписков объектовэкономики исписков обучающихсяна УМЦ по различнымкритериям;


7.2. Решаемыезадачи

Ведениеданных:

  • объектовэкономики;

  • защитныхсооружениях;

  • опасныхвеществах;

  • техники;

  • материально-техническихсредств;

  • формирований;

  • обучаемыхна УМЦ;

Формированиесписков:

  • объектовэкономики;

  • защитныхсооружениях;

  • опасныхвеществах;

  • техники;

  • материально-техническихсредств;

  • формирований;

  • обучаемыхна УМЦ;

Составлениестатистическойинформации.


7.3. Определениенеобходимыхтаблиц базыданных

Рассмотревопределенныевыше задачиможно спроектироватьосновные таблицыбазы данных.Для реализацииданных задачпотребуютсяследующиетаблицы:

  1. таблицаобъектов экономики;

  2. таблица-словарьтерриториальнойпринадлежностиобъектов;

  3. таблица-словарьстепени опасностиобъектов;

  4. таблица-словарьхарактерадеятельностив опасный период;

  5. таблица-словарьведомственнойпринадлежностиобъектов;

  6. таблица-словарьформы собственностиобъектов;

  7. таблица-словарьрода деятельностиобъектов;

  8. таблица-словарьгражданскихдолжностейруководителейобъектов;

  9. таблица-словарь должностейпо ГО начальниковГО объектов;

  10. таблицаопасных веществна объектах;

  11. таблица-словарьопасных веществ;

  12. таблицазащитных сооруженийна объектах;

  13. таблица-словарьзащитных сооружений;

  14. таблицатехническихсредств наобъектах;

  15. таблица-словарьтехническихсредств;

  16. таблицаформированийна объектах;

  17. таблица-словарьформирований;

  18. таблица-словарьстепени готовностиформирований;

  19. таблица-словарьслужб ГО;

  20. таблицаматериально-техническихсредств наобъектах;

  21. таблица-словарьматериально-техническихсредств;

  22. таблицаобучаемых наУМЦ;

  23. таблица-словарьдолжностейобучаемых;

  24. таблица-словарькатегорииобучаемых;

  25. таблица темобучения покатегориям;

  26. таблица-словарьтем обучения;

  27. таблицапользователейпрограммы;

  28. таблицасоответствияидентификаторовпользователейпрограммы и базы данныхOracle;


Этот списокстроился изследующей цепирассуждений:

Перваяиз основныхзадач приложения- регистрацияобъектов экономики.Очевидно, чтодля того, чтобыхранить этуинформацию,понадобитсятаблица объектовэкономики. Нодаже послевведения этойтаблицы придетсярегистрироватьодну и тужеинформацию,к примеру, орайоне привводе объектоводного и тогоже района. Чтобыизбежать постоянноговвода названиярайона, к которомупринадлежитобъект необходимосоздать дополнительнуютаблицу-словарьпо районам (потерриториальнойпринадлежности).По этой же причинесозданы и другиетаблицы-словари.

Втораяиз основныхзадач - это вводдополнительнойинформации,к примеру, охранимыхматериально-техническихсредствах наобъекте. Всеэти данныеможно было быхранить и восновной таблице,но тогда встаетпроблема вколичестверезервированиястолбцов вглавной таблицепод каждый видсредства. Можнобыло бы создатьотдельнуютаблицу хранимыхматериально-техническихсредств наобъекте длякаждого отдела.Но это не удобно,так как нужносоздаватьстолько таблиц,сколько отделов.Так же встаетвопрос прихранении новыхматериально-техническихсредств присоздании новогоотдела(службы).Именно по этойпричине созданаотдельнаятаблица, в которойсодержитсяинформацияо всех хранимыхМТС с ссылкойна названиеотдела.

Соответственно дополнениек таблице объектовэкономикислужат таблицы:

  • опасныхвеществ наобъектах;

  • защитныхсооруженийна объектах;

  • техническихсредств наобъектах;

  • формированийна объектах;

  • материально-техническихсредств наобъектах;

  • обучаемыхна УМЦ;

В своюочередь каждаятакая таблицаимеет таблицу-словарь(и)на которую онассылается.

В даннойбазе данныхпредусмотреназащита информации,т.е. любые действияпо изменениюданных в таблицахфиксируютсяавтоматическив соответствующихполях этойтаблицы. Чтобыкорректноотображатьимена операторов(людейкоторые будутзаниматьсявводом и корректировкойинформации)предусмотренатаблица пользователейпрограммы, гдехранится егоуникальныйномер в системеGOBASEи его имя.

Так жесуществуетдополнительнаятаблица соответствияидентификаторовпользователейпрограммы и базы данныхOracle.Каждому идентификаторупользователясопоставленуникальныйрегистрационныйномер пользователяв базе данныхOracle.Через уникальныйрегистрационныйномер пользователяопределяютсяего полномочияна работу сбазой данныхи его имя, котороеотображаетсяв соответствующихполях вводаи корректировки.

В основныхтаблицахпредусмотренадополнительнаяинформацияпо тому кто ив какое времяввел данныев таблицу. Этополя:

DATEADD Дата вводаинформации
NAMEADD_ID

Идентификаторпользователя,который ввелданные

DATEINS Дата последнейкоррекции
NAMEINS_ID Идентификаторпользователя,который изменилданные

Для вводадополнительнойинформациив основных таблицахпредусмотренополе PRIM.

При проектированиитаблиц важноуделять вниманиенормализациибазы данных.


7.4. Нормализациябазы данных

Процесстрансформацииданных в реляционнуюформу называетсянормализацией[9].Говоря проще,нормализация- это удалениеизбыточныхданных из каждойтаблицы в базеданных. У нормализациидвойная цель-удалить лишниекопии данныхи обеспечитьмаксималь­нуюгибкость какв структурахтаблиц, так ив интерфейсныхприложенияхна случай возможныхбудущих измененийв базах данных.

О нормализациитаблиц в базеданных нужнозаботится нараннем этапепроектированияприложения,так как при«живых»данных довольнотрудно менятьструктуру базы.Иногда процесснормализациипорождаетдобавочныетаблицы, которыебыли не включеныв первона­чальныйпроект. Узнавоб этом какможно раньше,не придетсязря тратитьсилы на ихразработку.

Нормализацияобычно подразделяетсяна пять формили стадий—от первойнормальнойформы попятую нормальнуюформу. Тоесть простопять установокреляционногокритерия, которыйлибо обнаруживаеттаблицу, либонет. Каждаяпоследующаястадия строитсяна предыдущей.Формальносуществуетпять форм, нона практике,как правило,используетсятолько первыетри. Последниедве считаютсяслишком специальными,чтобы их применятьк обычным проектамбаз данных.


7.4.1. Перваянормальнаяформа

Для тогочтобы таблицасчиталасьнормализованнойк первой нормальнойформе, каждоеиз ее полейдолжно бытьнеделимым ине должно содержатьникаких повторяющихсягрупп.

Поле считаетсянеделимым, еслионо содержиттолько одинэлемент данных.Например, полеAddress, котороесодержит нетолько названиеулицы, но такжеи города, почтовыйкод, не являетсянеделимым.Чтобы соответствоватьпервой нормальнойформе, такиестолбцы должныбыть разбитына несколькополей.

Повторяющаясягруппа — этополе, котороеповторяетсявнутри определениязаписи с цельюхранения несколькихзначений дляатрибута.


7.4.2. Втораянормальнаяформа

Для тогочтобы привеститаблицу ковторой нормальнойформе, нужно,чтобы все неключевые поляполностьюзависели отпервичногоключа таблицыи от каждогополя в первичномключе, еслипоследнийсостоит изнесколькихполей. Это зна­чит,что каждое неключевое поледолжно уникальноопределятьсяпервичнымключом и полями,его составляющими.

7.4.3. Третьянормальнаяформа

Для тогочтобы таблицабыла приведенак третьей нормальнойформе, нужно,чтобы все неключевые поляполностьюзависели отпервичногоключа таблицыи не зависелидруг от друга.Таким образом,к квалификациивторой нормальнойформы добавляетсятребованиенезависимостикаждого неключевого полятаблицы отдругих не ключевыхполей.


7.4.4. Четвертаянормальнаяформа

Четвертаянормальнаяформа запрещаетхранить независимыеэлементы водной и той жетаблице, когдамежду этимиэлементамисуществуютвзаимоотношениятипа многие-ко-многим.Четвертаянормальнаяформа требует,чтобы запомнилитакие элементыв отдельныхтаблицах исоздали таблицуот­ношенийдля организациисвязей междутаблицами,характеризующихсявзаимоотношениямитипа многие-ко-многим.

Конечноже, посколькудва столбцанаходятся вовзаимоотношениимногие-ко-многим,то они уже неявляютсянеза­висимыми,и тем самым уженарушают третьюнормальнуюформу. По этойпричине четвертаянормальнаяформа рас­сматриваетсябольше теоретически,т.к. частичноона перекрываетсятретьей нормальнойформой.


7.4.5. Пятаянормальнаяформа

Пятаянормальнаяформа требует,чтобы вы имеливозможностьперестраиватьсвои данныев нормализованныхтаб­лицах, вкоторые онибыли переведены.Это значит, чтоесли вы начинаетес ненормализованныхтаблиц, то увас не должнобыть препятствийк вырезке ивставке данныхи после нормализации.Это осуществимые,если есть гарантия,что в процессенормализациине будет потериданных.

На практикеидея сохранениявсех элементовв базе данныхв процессенормализациивоплощаетсячисто интуитивно.Ведь вряд либудут слеповыбрасыватьиз таблиц элементыданных. Но темне менее, пятаянормальнаяформа при­званазастраховатьвас от такогонесчастногослучая.


7.5. Определениестолбцов втаблицах

Таблицы 7.1

OBECONOM Таблицаобъектовэкономики
Столбец Наименование Ключ
OBJECT_ID

ID - уникальныйключ строкив таблице

PK
OBJECTNO регистрационныйномер объекта
OBJECTNAME

наименованиеобъекта


ADDRESS_IND почтовыйиндекс
ADDRESS_CHAR адрес объекта
WORKNUMBER

количествоработающих


NRSM

наибольшаяработающаясмена в мирноевремя


NRSW

наибольшаяработающаясмена в военноевремя


DEPORTAMENT_ID

ведомственнаяпринадлежность

FK
PECULIAR_ID

характердеятельностив особый период (FK)


RISK_ID степеньопасности FK
REGION_ID территориальнаяпринадлежность FK
ACTIVITY_ID род деятельности FK
PROPERTY_ID

формасобственности

FK
GLAVOBJECT_ID

подчиненностьобъекта

FK
DIRECTIONNAME Ф.И.О. руководителяобъекта
POST_ID занимаемаядолжностьруководителяобъекта FK
DIRECTIONWTEL

рабочийтелефон руководителяобъекта


DIRECTIONHTEL

домашнийтелефон руководителяобъекта


COMMANDGONAME Ф.И.О. начальникаштаба ГО объекта
POSTGO_ID

должностьначальникаштаба ГО объекта

FK
COMMANDGOWTEL

рабочийтелефон начальникаштаба ГО объекта


COMMANDGOHTEL

домашнийтелефон начальника ГО объекта


ZAMNAME Ф.И.О. заместителяруководителя
ZAMWTEL

рабочийтелефон заместителяруководителя


ZAMHTEL

домашнийтелефон заместителяруководителя


P1NAME Ф.И.О. председателяКЧС
P1WTEL рабочийтелефон председателяКЧС
P1HTEL домашнийтелефон КЧС
P2NAME Ф.И.О. председателяЭК
P2WTEL рабочийтелефон председателяЭК
P2HTEL домашнийтелефон ЭК
P3NAME Ф.И.О. председателяПУФ
P3WTEL рабочийтелефон председателяПУФ
P3HTEL домашнийтелефон ПУФ
DUTYTEL телефондежурногопо объекту
DUTY2TEL телефонсекретаря
FAXTEL факс
MODEMTEL модем
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



DEPARTAMENT Таблица-словарьведомств
DEPARTAMENT_ID

ID - уникальныйключ строкив таблице

PK
DEPARTAMENT_CHAR Наименование



PECULIAR Таблица-словарьдеятельностейв ОП
PECULIAR_ID

ID - уникальныйключ строкив таблице

PK
PECULIAR_CHAR Наименованиедеятельностейв ОП



REGION Таблица-словарьрайонов
REGION_ID

ID - уникальныйключ строкив таблице

PK
REGION_CHAR Наименованиерайонов



RISK Таблица-словарьстепени опасностиобъектов
RISK_ID

ID - уникальныйключ строкив таблице

PK
RISK_CHAR

Наименованиестепени опасностиобъектов





PROPERTY Таблица-словарьформ собственности
PROPERTY_ID

ID - уникальныйключ строкив таблице

PK
PROPERTY_CHAR Наименованиеформ собственности



ACTIVITY Таблица-словарьрода деятельностиобъектов
ACTIVITY_ID

ID - уникальныйключ строкив таблице

PK
ACTIVITY_CHAR

Наименованиеродадеятельностиобъектов





POST

Таблица-словарьгражданскихдолжностей


POST_ID

ID - уникальныйключ строкив таблице

PK
POST_CHAR

Наименованиегражданскихдолжностей





POSTGO Таблица-словарьдолжностейпо ГО
POSTGO_ID

ID - уникальныйключ строкив таблице

PK
POSTGO_CHAR

Наименованиедолжностейпо ГО





MATERIALOB таблицаопасных веществна объектах
MATERIAL_ID

ID -составнойуникальныйключ (MATERIAL_ID,OBJECT_ID)

[pk]

FK

OBJECT_ID

ID -составнойуникальныйключ (MATERIAL_ID,OBJECT_ID)

[pk]

FK

MATERIALNUM количество
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



MATERIAL Таблица-словарьопасных веществ
MATERIAL_ID

ID - уникальныйключ строкив таблице

PK
MATERIAL_CHAR

Наименованиеопасныхвеществ





BUILDINGOB

таблицазащитныхсооруженийна объектах;


BUILDING_ID

ID -составнойуникальныйключ

(BUILDING_ID,OBJECT_ID)

[pk]

FK

OBJECT_ID

ID -составнойуникальныйключ (BUILDING_ID,OBJECT_ID)

[pk]

FK

BUILDINGNUM количество
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



BUILDIN

Таблица-словарьзащитныхсооружений


BUILDIN_ID

ID - уникальныйключ строкив таблице

PK
BUILDIN_CHAR

Наименованиеопасныхвеществ





TEHNICAOB

таблицатехникина объектах;


TEHNICA_ID

ID -составнойуникальныйключ

(TEHNICA_ID,OBJECT_ID)

[pk]

FK

OBJECT_ID

ID -составнойуникальныйключ (TEHNICA_ID,OBJECT_ID)

[pk]

FK

TEHNICANUM количество
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



TEHNICA Таблица-словарьтехники
TEHNICA_ID

ID - уникальныйключ строкив таблице

PK
TEHNICA_CHAR

Наименованиеопасныхвеществ





FORMIROVOB

таблицаформированийна объектах;


FORMIROV_ID

ID -составнойуникальныйключ

(FORMIROV_ID,OBJECT_ID)

[pk]

FK

OBJECT_ID

ID -составнойуникальныйключ (FORMIROV_ID,OBJECT_ID)

[pk]

FK

READY_ID готовность FK
PEOPLENUM количестволюдей
FORMIROVNUM количествоформирований
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



FORMIROV Таблица-словарьформирований
FORMIROV_ID

ID - уникальныйключ строкив таблице

PK
FORMIROV_CHAR

Наименованиеформирований





READY Таблица-словарьготовности
READY_ID

ID - уникальныйключ строкив таблице

PK
READY_CHAR

Наименованиеготовности





MATTEHOB

таблицаМТС наобъектах


MATTEH_ID

ID -составнойуникальныйключ

(MATTEH_ID,OBJECT_ID)

[pk]

FK

OBJECT_ID

ID -составнойуникальныйключ (MATTEH_ID,OBJECT_ID)

[pk]

FK

MATTEHNUM количество
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



MATTEH Таблица-словарьМТС
MATTEH_ID

ID - уникальныйключ строкив таблице

PK
MATTEH_CHAR

НаименованиеМТС


SERVIS_ID Служба(отдел) FK



SERVIS Таблица-словарьслужб
SERVIS_ID

ID - уникальныйключ строкив таблице

PK
SERVIS_CHAR

Наименованиеслужбы





STUDY

таблицаобучаемыхна УМЦ


STUDY_ID

ID - уникальныйключ строкив таблице

PK
OBJECT_ID объект экономики FK
CATEGORY_ID категорияобучаемого FK
NAME Ф.И.О. обучаемого
SPOST_ID занимаемаядолжность FK
WORKTEL рабочийтелефон
LASTDATE дата прошлогообучения
NEXTDATE дата следующегообучения
NAMEADD_ID владелиц FK
DATEADD дата ввода
NAMEINS_ID корректировщик FK
DATEINS дата последнейкоррекции
PRIM примечание



SPOST

Таблица-словарьдолжностейобучаемых


SPOST_ID

ID - уникальныйключ строкив таблице

PK
SPOST_CHAR

Наименованиедолжностейобучаемых





CATEGORY Таблица-словарькатегорийобучаемых
CATEGORY_ID

ID - уникальныйключ строкив таблице

PK
CATEGORY_CHAR

Наименованиеобучаемых


CATEGORY_TYPE Тип категории



CATTEMA Таблицакатегорированыхтем
TEMA_ID

ID -составнойуникальныйключ

(TEMA_ID,CATEGORY_ID)

[pk]

FK

CATEGORY_ID

ID -составнойуникальныйключ

(TEMA_ID,CATEGORY_ID)

[pk]

FK

CATTEMANUM количествочасов
PRIM примечание



TEMA Таблица-словарьтем обучения
TEMA_ID

ID - уникальныйключ строкив таблице

PK
TEMA_CHAR Наименованиетемы



GOBASEUSER таблицапользователейпрограммы
GOBASEUSER_ID

ID - уникальныйключ строкив таблице

PK
NAME Имя пользователя



ORAUSER

таблицасоответствияидентификаторовпользователейпрограммы и базы данныхOracle

ORAUSER_ID

UID - идентификаторбазы данныхOracle

PK
GOBASEUSER_ID

идентификаторовпользователейпрограммы

FK

Первичныйключ(PK)- это полеили поля таблицы,которые используютсякак идентификаторэлемента. Подобноидентификатору,значение первичногоключа таблицывсегда уникальнодля каждойзаписи. Поля,составляющиепервичный ключ,используютсятакже для построенияиндекса, предназначенногодля быстрогодоступа к еестрокам.

Внешнийключ(FK) это полеили поля таблицы,которые, небудучи употребленнымив качествеидентификатора,часто используютсяпри объединениис другими таблицами.В таблице объектов,например, поленомера районаслужит в качествевнешнего ключа.Поле номерарайона не уникальноопределяетконкретныезаписи объектов- для одногорайона можетбыть несколькообъектов.

Таблицы 7.2

OBECONOM Таблицаобъектовэкономики
Столбец

Тип данных


размер
OBJECT_ID NUMBER NOTNULL 9
OBJECTNO NUMBER NOTNULL 7
OBJECTNAME VARCHAR2 NULL 100
ADDRESS_IND CHAR NULL 6
ADDRESS_CHAR VARCHAR2 NULL 150
WORKNUMBER NUMBER NULL 7
NRSM NUMBER NULL 7
NRSW NUMBER NULL 7
DEPORTAMENT_ID NUMBER NOTNULL 7
PECULIAR_ID NUMBER NOTNULL 7
RISK_ID NUMBER NOTNULL 7
REGION_ID NUMBER NOTNULL 7
ACTIVITY_ID NUMBER NOTNULL 7
PROPERTY_ID NUMBER NOTNULL 7
GLAVOBJECT_ID NUMBER NOTNULL 7
DIRECTIONNAME VARCHAR2 NULL 50
POST_ID NUMBER NOTNULL 7
DIRECTIONWTEL CHAR NULL 7
DIRECTIONHTEL CHAR NULL 7
COMMANDGONAME VARCHAR2 NULL 50
POSTGO_ID NUMBER NOTNULL 7
COMMANDGOWTEL CHAR NULL 7
COMMANDGOHTEL CHAR NULL 7
ZAMNAME VARCHAR2 NULL 50
ZAMWTEL CHAR NULL 7
ZAMHTEL CHAR NULL 7
P1NAME VARCHAR2 NULL 50
P1WTEL CHAR NULL 7
P1HTEL CHAR NULL 7
P2NAME VARCHAR2 NULL 50
P2WTEL CHAR NULL 7
P2HTEL CHAR NULL 7
P3NAME VARCHAR2 NULL 50
P3WTEL CHAR NULL 7
P3HTEL CHAR NULL 7
DUTYTEL CHAR NULL 7
DUTY2TEL CHAR NULL 7
FAXTEL CHAR NULL 7
MODEMTEL CHAR NULL 7
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 200




DEPARTAMENT Таблица-словарьведомств

DEPARTAMENT_ID NUMBER NOTNULL 7
DEPARTAMENT_CHAR VARCHAR2 NULL 50




PECULIAR Таблица-словарьдеятельностейв ОП
PECULIAR_ID NUMBER NOTNULL 7
PECULIAR_CHAR VARCHAR2 NULL 50




REGION Таблица-словарьрайонов

REGION_ID NUMBER NOTNULL 7
REGION_CHAR VARCHAR2 NULL 50




RISK

Таблица-словарьстепени опасностиобъектов

RISK_ID NUMBER NOTNULL 7
RISK_CHAR VARCHAR2 NULL 50




PROPERTY

Таблица-словарьформ собственности

PROPERTY_ID NUMBER NOTNULL 7
PROPERTY_CHAR VARCHAR2 NULL 50




ACTIVITY

Таблица-словарьрода деятельностиобъектов

ACTIVITY_ID NUMBER NOTNULL 7
ACTIVITY_CHAR VARCHAR2 NULL 50




POST

Таблица-словарьгражданскихдолжностей

POST_ID NUMBER NOTNULL 7
POST_CHAR VARCHAR2 NULL 50




POSTGO Таблица-словарьдолжностейпо ГО
POSTGO_ID NUMBER NOTNULL 7
POSTGO_CHAR VARCHAR2 NULL 50




MATERIALOB Таблицаопасных веществна объектах
MATERIAL_ID NUMBER NOTNULL 7
OBJECT_ID NUMBER NOTNULL 9
MATERIALNUM NUMBER NULL 9
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 100




MATERIAL

Таблица-словарьопасных веществ

MATERIAL_ID NUMBER NOTNULL 7
MATERIAL_CHAR VARCHAR2 NULL 50




BUILDINGOB

Таблицазащитныхсооруженийна объектах

BUILDING_ID NUMBER NOTNULL 7
OBJECT_ID NUMBER NOTNULL 9
BUILDINGNUM NUMBER NULL 9
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 100




BUILDIN

Таблица-словарьзащитныхсооружений

BUILDIN_ID NUMBER NOTNULL 7
BUILDIN_CHAR VARCHAR2 NULL 50




TEHNICAOB

Таблицатехникина объектах



TEHNICA_ID NUMBER NOTNULL 7
OBJECT_ID NUMBER NOTNULL 9
TEHNICANUM NUMBER NULL 9
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 100




TEHNICA Таблица-словарьтехники

TEHNICA_ID NUMBER NOTNULL 7
TEHNICA_CHAR VARCHAR2 NULL 50




FORMIROVOB

Таблицаформированийна объектах


FORMIROV_ID NUMBER NOTNULL 7
OBJECT_ID NUMBER NOTNULL 9
READY_ID NUMBER NOTNULL 7
PEOPLENUM NUMBER NULL 9
FORMIROVNUM NUMBER NOTNULL 9
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 100




FORMIROV

Таблица-словарьформирований

FORMIROV_ID NUMBER NOTNULL 7
FORMIROV_CHAR VARCHAR2 NULL 50




READY

Таблица-словарьготовности



READY_ID NUMBER NOTNULL 7
READY_CHAR VARCHAR2 NULL 50




MATTEHOB

ТаблицаМТС наобъектах



MATTEH_ID NUMBER NOTNULL 7
OBJECT_ID NUMBER NOTNULL 9
MATTEHNUM NUMBER NULL 9
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 100




MATTEH Таблица-словарьМТС

MATTEH_ID NUMBER NOTNULL 7
MATTEH_CHAR VARCHAR2 NULL 50
SERVIS_ID NUMBER NOTNULL 7




SERVIS Таблица-словарьслужб

SERVIS_ID NUMBER NOTNULL 7
SERVIS_CHAR VARCHAR2 NULL 50




STUDY

Таблицаобучаемыхна УМЦ



STUDY_ID NUMBER NOTNULL 9
OBJECT_ID NUMBER NOTNULL 9
CATEGORY_ID NUMBER NOTNULL 7
NAME VARCHAR2 NULL 50
SPOST_ID NUMBER NOTNULL 7
WORKTEL CHAR NULL 7
LASTDATE DATE NULL -
NEXTDATE DATE NULL -
NAMEADD_ID NUMBER NOTNULL 7
DATEADD DATE NOTNULL -
NAMEINS_ID NUMBER NOTNULL 7
DATEINS DATE NOTNULL -
PRIM VARCHAR2 NULL 200




SPOST Таблица-словарьдолжностейобучаемых
SPOST_ID NUMBER NOTNULL 7
SPOST_CHAR VARCHAR2 NULL 50




CATEGORY

Таблица-словарькатегорийобучаемых

CATEGORY_ID NUMBER NOTNULL 7
CATEGORY_CHAR VARCHAR2 NULL 50
CATEGORY_TYPE NUMBER NULL 1




CATTEMA Таблицакатегорированыхтем

TEMA_ID NUMBER NOTNULL 7
CATEGORY_ID NUMBER NOTNULL 7
CATTEMANUM NUMBER NULL 9
PRIM VARCHAR2 NULL 100




TEMA

Таблица-словарьтем обучения



TEMA_ID NUMBER NOTNULL 7
TEMA_CHAR VARCHAR2 NULL 50




GOBASEUSER

Таблицапользователейпрограммы

GOBASEUSER_ID NUMBER NOTNULL 7
NAME VARCHAR2 NULL 50




ORAUSER

Таблицасоответствияидентификаторовпользователейпрограммы и базы данныхOracle


ORAUSER_ID INTEGER NOTNULL
GOBASEUSER_ID NUMBER NOTNULL 7

NOT NULL - должноиметь значение

Рисунок7.2. Диаграммапотоков данных(взаимосвязьтаблиц)

7.6. СозданиеSQL сценария

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


7.6.1. Созданиебазы данных

Передсозданием базыданных ее необходимоспроектировать.Этап проектированиябазы данныхвключает в себяпланированиеогра­ниченийфайлов и включениефайлов а новуюбазу данных.Этап созданиясостоит в выполненииэтого планас помощью командыSQL CREATE DATABASE и некоторыхсценариев.

Основные задачи включаютв себя следующее:

  • Определениесоответствующихзначений вкомандеCREATE DATABASE. дляпараметровограниченийфайлов.

  • Планированиеразмера ирасположенияфайлов начальныхданных табличнойобластиSYSTEM новойбазы данных.

  • Планированиедля новой базыданных размераи расположениягрупп и членовжурнала транзакций.

  • Определениенабора символовдля храненияинформациибазы данных.

  • Созданиефайла параметровинициализациии спецификацииимен управляющихфайлов базыданных.

Сценарийс файламиинициализациибазы данныхприведены вПРИЛОЖЕНИИ3.

7.6.2. Созданиетаблиц

Таблицысоздаются спомощью оператораSQL CREATE TABLE.

Фрагментиз ПРИЛОЖЕНИЯ4:

CREATE TABLE ACTIVITY

(

ACTIVITY_ID NUMBER(7) NOT NULL,

ACTIVITY_CHAR VARCHAR2(50) NULL

);

Полныйсценарий приведенв ПРИЛОЖЕНИИ4.

7.6.3. Созданиеиндексов

Индексыоблегчают поиски сортировкуданных. Индексысоздаются спомощью оператораSQL CREATE INDEX.Фрагмент изПРИЛОЖЕНИЯ4:

CREATE UNIQUE INDEXIPKACTIVITY ON ACTIVITY

(

ACTIVITY_ID ASC

);

7.6.4. Определениепервичных ключей

Добавлениеопределенияпервичногоключа к существующейтаблице:

ALTER TABLE ACTIVITY

ADD ( PRIMARY KEY (ACTIVITY_ID) ) ;

Полныйсценарий приведенв ПРИЛОЖЕНИИ4.


7.6.5. Определениевторичныхключей

Добавлениеопределениявторичногоключа к существующейтаблице:

ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (ACTIVITY_ID)

REFERENCES ACTIVITY ) ;

Полныйсценарий приведенв ПРИЛОЖЕНИИ4.

7.6.6. Созданиетриггеров

Триггер- это скомпилированнаяпрограмма SQL,которая выполняется,когда в таблицепроисходитданное событие.С триггером,как правило,связываютсятри самыхраспространенныхсобытия: вставка,удаление иобновлениестроки.

CREATE TRIGGER IU_STUDY BEFORE INSERT OR UPDATE ONGO.STUDY

FOR EACH ROW

BEGIN

IF INSERTING THEN

SELECT GOBASEUSER_ID INTO :NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;

END IF;

SELECT GOBASEUSER_ID INTO :NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;

END;

Полныйсценарий приведенв ПРИЛОЖЕНИИ4.

В частностив данной программес помощью триггероввыполняетсяавтоматическаярегистрациявводимых данных(кто вел, когда).

7.6.7. Созданиепоследовательностей

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

CREATE SEQUENCE S_STUDY

Полныйсценарийприведенв ПРИЛОЖЕНИИ4.


7.7.Выбортипа создаваемогоприложения

Существуетдва варианта- системыобработкитранзакцийи системы поддержкирешений. Какправило, системыпод­держкирешений используютсяуправленческимперсоналомкомпаний дляобзора некоторойчасти данных,а системы об­работкитранзакцийотвечают заввод и обработкуэтих данных.Таким образом,приложениямподдержкирешений необ­ходимуровень доступак данным тольков режиме чтения,а системы обработкитранзакцийдолжны иметьвозможностькак читать, таки записыватьданные. Этофундаментальноеразличие междудвумя типамиприложенийлежит в основевыбора типа приложения.

СистемаGOBASE - это приложениеобработкитранзакций.Посколькупользователидолжны иметьвозмож­ностьдобавлять,изменять иудалять данные,данная системавыпадает изразряда приложенийподдержкирешений. Но, сдругой стороны,некотораяинформация,полученнаяс помощью этогоприложения,по всей видимости,будет использо­ватьсяпри принятиирешений, т.е.данная система- это в некоторомроде гибрид.Однако основноенаправление ее как приложе­ние- это обработкатранзакций.


7.8. Соглашениео названиекомпонентовв программеGOBASE

Соглашениео названиекомпонентов Таблица 7.3

Компонент Аббревиатура Компонент Аббревиатура
AutoObject ao QRDBText qt
BatchMove bm QRDetailLink qd
Bevel be QRGroup qg
BiGauge bg QRLabel ql
BiPict bp QRMemo qm
Biswitch bs QRPreview qp
BitBtn bb QRShape qh
Button bu QRSysData qs
Calendar ca Query qu
ChartFX ch QuickReport qr
CheckBox ck RadioButton rb
ColorDialog c_ RadioGroup rg
ColorGrid сg ReplaceDialog r_
ComboBox cb Report rp
Database db RichEdit re
DataModule, DBMemo dm SaveDialog s_
DataSource ds ScrollBar sa
DBCheckBox dk ScrollBox sx
DBComboBox dc Session se
DBEdit de SpeedButton sb
DBGrid gr SpinButton su
DBImage di SpinEdit sd
DBListBox di StatusBar st
DBLookupComboBox, DBLookupCombo lc FindDialog n_

DBLookupListBox,

DBLookupList

ll Font Dialog f_
DBNavigator na Form fm
DBRadioGroup dg Gauge ga
DBText te Graphics Server gs
DdeClientConv cc GroupBox gs
DdeCI lent Item ci Header he
DdeServerConv sc HeaderControi hc
DdeServerItem si HotKey hk
DirectoryListBox dy IBEventAierter ie
DirectoryOutline do Image im
DrawGrid dr Image List il
DriveCoitiboBox rc Label la
Edit ed ListBox lb
FileListBox fl ListView lv
FilterComboBox fc MainMenu mm
MaskEdit md StoredProc sp
MediaPlayer mp StringGrid sg
Memo me TabbedNotebook tn
Notebook nb TabControi tc
OleContainer ol Table ta
OpenDialog od TabSet ts
OutLine ou Thread th
PageControl pc Timer ti
PaintBox pb TrackBar tb
Panel pa TreeView tv
PopupMenu pu UpdateSQL us
PrintDialog p_ UpDown ud
PrinterSetupDialog i_ VCFirstImpression vf
ProgressBar pr VCFormulaOne vo
QRBand qb VCSpeller vs
QRDBCalc qc


Имена типовв программеначинаютсяс большой буквыT.Пример: TBaseForm

В именаконстант используютсятолько прописныебуквы. Пример:DEFSQL

7.9. Структураглавного меню

Структураглавного менюопределяетхарактер работыприложенияи дает основныепонятия поработе программы.

Главноеменю программысостоит из пятиосновных пунктов:

«Файлы»,«Таблицы»,«Отчеты»и «Помощь».(Рис. 7.3.)


Рисунок7.3. Главное менюпрограммы


Главное менюсодержит пятькнопок быстрогозапуска:

  • Объектыэкономики(вызов формыввода объектовэкономики);

  • Обучаемыена УМЦ (вызовформы вводаобучаеых наУМЦ);

  • Отчеты (вызовформы отчетов,дерева отчетов);

  • Справка(вызов справкио программе);

В нижней частиглавного менюрасполагаетсяинформация:

  • о текущемпользователе;

  • о текущейверсии программы.

7.9.1. Меню«Файлы»

Меню файлысостоит изподменю:установкапринтера ивыход.

Подменюустановкапринтерапредназначенадля вызовастандартнойформы выборапринтера (Рис.7.4.).

Рисунок7.4. Форма установкипринтера


Подменювыход вызываетпроцедурыосвобожденияпамяти занимаемойпрограммы,закрытие файлови выход из программы.

7.9.2. Меню«Таблицы»

Меню «Таблицы»предназначенадля доступак любой таблицебазы данных.Данное менюсостоит изследующихподменю:

  • Объектыэкономики(вызов подменю)

  • Объектыэкономики (вызов формыобъектов экономики);

  • Районы (вызовформы районов);

  • Рода деятельности(вызов формырода деятельности);

  • Форма собственности(вызов формысобственности);

  • Деятельностьв ОП ( вызов формыпо таблице-словарюдеятельностив особый период);

  • Ведомства(вызов формыведомства);

  • Степеньопасности(вызов формыстепени опасности);

  • Должностьруководителя(вызов формывозможныхдолжностейруководителейна объекте);

  • Должностипо ГО (вызовформы возможныхдолжностейруководителейштабов ГО наобъекте);

  • Обучаемыена УМЦ (вызовподменю)

  • Обучаемыена УМЦ (вызовформы ввода обучаемых наУМЦ);

  • Категорииобучаемых(вызов категорииобучаемых наУМЦ);

  • Гражданскиедолжности(вызов формывозможныхгражданскихдолжностей).

  • Темы (вызовподменю)

  • Категорированныетемы (вызовформы категорированныхтем обученияна УМЦ);

  • Темы (вызовформы тем обучения);

  • Формирования;

  • Степениготовности(степени готовностиформирований);

  • Защитныесооружения;

  • Опасныевещества;

  • Техника;

  • Службы (службыГО);

  • МТС (вызовформы материально-техническогообеспечения);

  • Пользователи;(вызов формыввода пользователейпрограммы.Только дляадминистраторадоступен этотпункт).


7.9.3. Меню«Отчеты»

Данное менювызывает формудерева отчетовпрограммы.

Более подробнов пункте 7.13.3.


7.9.4. Меню«Помощь»

Данноеменю вызываетгипертекстдокументациипользователяпрограммы.


7.10.Проектированиеиерархий форми отчетов

Наметив,какие формыи отчеты необходимыприложению,можно разработатьотдельнуюиерархию форми отчетов, чтобывоспользоватьсяпреимуществамисредств поддержкинаследственностивизуальныхформDelphi. Дру­гимисловами, необходимоорганизоватьформы и отчетыв общие классы,которые строятсядруг на друге.

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


7.11. Иерархияформ программы

Впрограммеиспользуетсяболее 28 формдля работы стаблицами базыданных и 7 вспомогательныхформ для работыс печатью, помощьюи отчетами. Ввиду такогоколичестваформ необходимосоставитьиерархию форм(Рис 7.5.) для облегченияпрограммированияи уменьшениятребовательностик ресурсам ОСи аппаратнымресурсам.

Рисунок7.5. Иерархия форм

Формы сетки1-4 используютсядля таблиц-справочников.

7.12. Основныеорганы управленияформ программыGOBase

В каждойформе вводаприсутствуют:

  1. Навигаторпо базе данных,который представляетсобой десятькнопок (Рис7.6): «Перваястрока в таблице»,«Предыдущаястрока»,«Следующаястрока»,«Последняястрока в таблице»,«Вставка»,«Удаление»,«Редактирование»,«Ввод»,«Отмена»,«Перечитатьданные из таблицы»;

  2. Кнопкавыхода из формыс сохранениемданных (OK);

  3. Кнопкавыхода из формыбез сохраненияданных (Cancel);

  4. Кнопкаминимизацииокна;

  5. Кнопкамаксимизацииокна;

  6. Кнопказакрытия окна(аналогичнаCancel);

  7. Выпадающийсписок (списокстрок другойтаблицы)

  8. Кнопка стемя точками - вызов формыредактированиятаблицы, котораяподключенак выпадающемусписку.


Рисунок7.6. Форма вводаформирований на текущемобъекте


Любая формаввода данныхв основныетаблицы содержитдополнительнуюинформациюо пользователе,который ввели редактировалданную записьв текущей таблице.

Благодаряиерархическойструктурепрограммы вкаждой формеввода присутствуютодинаковыеэлементы выводаинформации,что позволяетобычному пользователюпонять принципработы программыза считанныеминуты.

7.13. Основныеформы программы

Ввидубольшего количестваформ в программев данном разделебудут приведенытолько основныеформы программы,которые позволятпонять логикуее работы.

7.13.1. Формаввода объектовэкономики

Форма вводаобъектов экономики(Рис 7.7) позволяетпроизводитьвставку, редактированиеи удалениеинформациипо текущемуобъекту. Комбинированныесписки позволяютпросматриватьи вставлятьзначения изтаблиц-словарей.Кнопки с тремяточками вызываютсоответствующиеформы редактированиятаблиц-словарей.

Кнопки:«Формирования»,«Защитныесооружения»и т.д,находящиесяв нижней частименю позволяютвывести дополнительнуюинформациюпо текущемуобъекту.

Контрольныйэлемент «Головнойобъект»позволяет (вотключенномсостоянии)выбрать головнойобъект из выпадающегосписка головныхобъектов.

Рисунок7.7. Форма вводаобъектов экономики

В качествепримера дополнительнойинформациипо объекту (нарис 7.6 смотривыше) показанаформа вводаформированийна текущемобъекте. Аналогичнопостроена формаввода защитныхсооружений,техники, химическихвеществ.

Кнопка«Материалы»выводит формупо выборуинтересующейслужбы, далеепосле выбораслужбы вызываетсяформа вводаматериально-техническихсредств даннойслужбы на данномобъекте (Рис7.8).

Рисунок7.8. Материально-техническиесредства наобъекте


Кнопка«Обучаемые»выводит формуо обучаемыхв УМЦ на текущемобъекте.

7.13.2. Формаввода учащихсяв УМЦ

Даннаяформа ведеттаблицу обучаемыхна УМЦ (Рис 7.9).Поля «прошлаядата обучения»и «следующаядата обучения»связаны интерваломв три года, т.е.если поле «следующаядата»пустое, а в поле«прошлаядата обучения»вводится новоечисло, то происходитавтоматическаякорректировкаполя «следующаядата».

Для удобстваввода датысоздана форма«Выбордаты»(Рис7.10). Правыеверхние кнопкиотвечают завыбор месяца,а левые верхниекнопки отвечаютза выбор года.


Рисунок7.9. Обучаемыена УМЦ


В формевыбора категорииобучаемыхсуществуетвозможностьввода тем обучениядля даннойкатегории суказаниемвремени обучения.Категорииобучаемыхподразделяютсяна две группы:командирыформированийи другие, соответственнов главной формепо вводу обучаемыхесть флажок«признаккатегории».


Рисунок7.10 Выбор даты

7.13.3.Форма отчетов(управления)

Одна из самых главныхформ - эта формаотчетов, котораяпозволяетвыбрать любыеданные, практическипо любым критериям,из базы данных.(Рис 7.11).

Рисунок7.11. Форма отчетовпрограммы

Даннаяформа состоитиз двух основныхэлементов:дереваотчетов и сеткивывода запроса.Для удобствапоиска данныхпредусмотренвыпадающийсписок «Поле»которыйограничиваетзапрос выбраннымпараметром.Так же предусмотренасортировкапо любым полямтаблицы. Данныедва поля позволяютсоздавать спомощью одногозапроса комбинациюзапросов повыбраннымкритериям.

В виду того,что не всегдаможно предугадатьнужные запросыпользователяв форме «отчеты»можновызвать редакторSQLзапроса,который позволяетввести любойзапрос в буферSQL(в буфер можноввести файлc готовымSQL, так женабранный SQLиз буфераможно сохранитьв файл) . Алгоритмработы с формойотчетов представленсоответствующихчетырех плакатах.

В случаеесли SQLзапроссодержит выборкув каком-либовременномпромежутке,то автоматическиподключаютсявторостепенныеорганы управленияпо работе сдатами (Рис7.12)

Рисунок7.12. Форма отчетовпрограммы(работа с запросамисодержащимидаты).

Одна изособенностейэтой формы:если запроссвязан с объектами,то двойнойщелчок по сеткеприводи полнуюинформациюо текущем объекте.Такая же особенностьи с обучающимсяна УМЦ.

Кнопка«Excel»позволяетвызвать формуэкспорта данныхв Excel.На рисунке7.13. показан экспортданных в Excel.

7.14. Экспортв Excel

Существуетмножествоспособов ипрограмм, которыепозволяютсоздаватьотчетные документы.Но, как правило,отчеты полученныестандартнымиспособами илиспециальнымипрограммамине позволяютгибко менятьструктуруотчета , а темболее редактироватьего. При решениипроблемы сотчетнымидокументамибыл выбранстандартныйтабличный -процессорExcel,как наиболеегибкая программадля работы сотчетнымидокументами.Excel не имеетникаких стандартныхфункций длявзаимодействияDelphi-приложениями.Единственнаявозможностьк доступу ячейкамExcelи к егокомандам этоиспользованиеDDEWindows.

Рисунок7.13 Экспорт отчетав Excel


Динамическийобмен данными(DDE) обеспечиваеткоммуникационнуюоснову дляпрограммWindows, котораяпозволяетоткрыть диалогмежду приложениямиклиентаи сервера.ДиалогDDE -это связьмежду взаимодей­ствующимипрограммами,которая инициируется,а затем закрывается.Для того чтобыDDE-диалог могпроисходить,обе программыдолжны бытьзапущены.

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

DDE-взаимодействиеимеет темы(Topics), или категории,которые полностьюзависят отприложения.Наиболеераспространенныйпример темыэто имя файла.Другие темымогут включатьпонятиеsystem,которое используют приложенияMicrosoft, когданужно запроситьчерезDDE информациюотносительнотого, какиеформатыClipbord поддерживаются.В данном случаеTopicиспользуетсядля доступак листу Excel.

Данные,которые вовремя диалогаперемещаютсятуда и обратно,называютсяэлементом(item). В данномслучае элементявляется спецификация рядов/колонокдиапазона листаExcel.

Примечание:Из руководствапо пользованиюDDE:К сожалению,нет никакойсистематическойвозможностинайти, какиетемы поддерживаетприложение.Ваше приложениедолжно знать заранее,какие темыподдерживаетприложение-сервер.

Исходяиз прочитаннойлитературыв электронныхсетях былиустановленыосновные командыпо работе сExcel:

FORMAT(«строка»,«rc»)- выводстроки в ячейку.

READY– готовностьExcel.А так же благодаряисследовательскимработам в этомнаправленииудалось вывестиалгоритм поискаExcel.(поискпроисходитпо рееструWindows).

Алгоритмвывода данныхв Excelпредставленна плакатах1-2


7.15. Требованияк аппаратуреи программнымсредствам

  1. IBM PC XT/AT совместимыйкомпьютер;

  2. Windows95 или WindowsNT любойверсии;

  3. 5000Kb свободногопространствана диске;

  4. Не менее8 Mbоперативнойпамяти

  5. При использованииотчетов необходимMicrosoftExcel

  6. База данныхOraclev7.2 или выше


7.16. Установкапрограммы

Программаустановкинаходится напервой установочнойдискете (всеготри диска формата1.44). Запуститес установочнойдискеты программуSETUP.EXEи укажите типустановки(Полная, выборочнаяили минимальная);укажитепуть для установкипрограммы,далее программаустановкиавтоматическиустановитпрограмму.

Для корректнойработы программыдолжна бытьустановленаЛВС со стандартнымIPX или IPпротоколоми с сервер базыданных Oracleне ниже7.2 версии.


8.ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙРАЗДЕЛ

8.1. Введение

Для наиболее эффективнойработы штабапо делам ГО иЧС

необходимо иметь программу(базу данных),содержащуюинформацию об объектахэкономикиокруга илигорода, для возможности оперативного реагирования в случаи возникающихчрезвычайныхситуаций.

Для оценкивозможнойчрезвычайнойситуации офицеры управления и другие ответственные лица должны постоянно иметь свежую и достоверную информациюоб объекте, накотором можетпроизойти ЧС. Возникает необходимость организации управления и созданиябазы данных таким образом, чтобы обеспечить быстроту и надежность получения различныхданных для наиболее четко слаженной работы штаба.

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

Для наиболее слаженной работы различных служб штаба данные удобно держать централизованнона главномкомпьютере и иметь к нимдоступ с другихкомпьютеров(через сеть) спомощью программыпо управлениюбазой данных.Локальные вычислительные сети, позволяют осуществлять связь между различными пользователями этой сети, находящимися на некотором расстоянии друг от друга (обычно, в разных помещениях одного здания). Однако такие базы данныхтребуют для своей работы соответствующего программного обеспечения, которое моглобы позволятьвводить, выводить,искать, а также производитьобработку этихданных. Кроме того, к такому программному обеспечению предъявляются такие требования как удобство доступа к необходимой информации, простота в обращении и защита от несанкционированного доступа к конфиденциальной информации, а также, защита от порчи различного рода программными вирусами.

Настоящая работа как раз и представляет собой подобное программное обеспечение по управлению работой базыданных и отвечает основным требованиям, предъявляемым к такого рода программным продуктам.

Исходяиз вышесказанного,предлагаетсясоздать даннуюпрограмму иперевести вседанные на компьютер.


8.2. Описаниепрограммы

Данноепрограммноесредство выполняетфункции в интересах системы оповещенияпри ЧС.

Данная программаобеспечивает:

1). автоматизациюпроцесса подготовкик принятиюрешений привозникших ЧС;

2). регистрациюобъектов экономикии составлениесписка характеристикобъекта;

3). снижение расходов наподготовкуи уточнениясписков объектов;

4). учета готовностиобъекта к ЧС;

5). учета проведениязанятий собучающимисяв УМЦ округа.

6). уменьшениевремени наподготовкусписков объектовэкономики исписков, обучающихсяна УМЦ;

7). контрольоднократностиучета объектови обучающихся;


В составпрограммывходит:

1). задачапервоначальноговвода информацииоб объектахэкономики;

2). задачапервоначальноговвода информацииоб обучаемыхна УМЦ;

3). задачаформированияи печати списковобъектов экономики;

4). задачаформированияи печати списков,обучаемых наУМЦ;


8.3. Последовательностьвыполненияработ

Для планированияразработкиприменим сетевойметод, для чегосоставим переченьсобытий и работс учетом нормативныхдокументовНИР. Переченьсобытий и работприводитсяв таблице (8.1).Результатырасчета параметровсетевого графикасведены в таблицу(8.2). Сетевой графикпоказан на(рис.8.1).

По вышеизложеннойметодике проведенопланированиеразработки.Задача, решаемаяв дипломномпроекте, поставленнаяперед научнойгруппой из трехчеловек, должнабыть выполненав течение 2 месяцев(44 дня). Путь, имеющиймаксимальнуюпродолжительность,равную 42 дням,является критическим.Это путь:

0-1-2-3-4-8-9-10-13-14-15-17-18-19-21-22-23.

Для правильноговыполнениясетевого графикадолжно выполнятьсяследующееусловие : вероятностьсовершениясобытия в заданныйсрок Р (Ткрд)должна удовлетворятьследующемусоотношению: 0.35 крд)

Из анализасетевого графикаи из таблицызначений параметровсетевого графикавидно, что Ткрд,,так как Ткр= 42 дней, аТд=44дней. Так какусловие правильноговыполнениясетевого графикавыполняется,то нет необходимостипринимать мерыпо уплотнениюграфика работ.Следовательно,сетевой графиксоставленправильно.


Таблица8.1. Перечень событийи работ


события


Содержаниесобытия

код

работы


Содержаниеработы

0


1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23

Полученозадание наразработку

Утвержденозадание


Обобщенныйанализ проведен


Техническоепредложениеутверждено

База данныхи язык программированиявыбраны


База данныхустановлена

Физическаябаза данныхнастроена


Связьбазы данныхс Delphiустановлена

SQL запросыи таблицы базданных спроектированы


Взаимосвязьмежду таблицамиустановлена


Алгоритмвывода форми отчетов ивзаимодействиясоставлены


Программаформ и документацияпо программесоставлены

Программаотчетов идокументацияпо программесоставлены

Управляющаяпрограмма сдокументациейсоставлена

Модули программыобъединены


Программаформ отлажена,документацияскорректирована

Программаотчетов отлажена,документацияскорректирована

Управляющаяпрограммаотлажена,документацияскорректирована

Главнаяпрограммаотлажена


Программа установкинаписана

Документациясоставлена

Тестированиепроведено

Корректировкапроведена

Работа завершена

0-1


1-2


2-3


3-4


4-5


4-8


5-6


6-7


8-9


9-10


10-11


10-12


10-13


13-14


14-15


14-16

14-17


17-18


18-19


18-20


18-21


21-22


22-23


Согласованиеи утверждениезадания

Сбор информациипо теме исследования(изучениелитературыи исходныхданных)

Составлениеи согласованиетехническогопредложения


Выборбазы данныхи языка программирования


Установкабазы данных


Разработкатаблиц базыданных и SQLзапросов

Настройкафизическойбазы данных

Установкасвязи базыданных с Delphi


Установкавзаимосвязимежду таблицами(индексы, ограничения,триггеры)


Разработкаалгоритмавывода форми отчетов ивзаимодействияформ и отчетов


Разработкапрограммыформ и составлениедокументации

Разработкапрограммыотчетов исоставлениедокументации

Разработкауправляющейпрограммы исоставлениедокументации


Объединениемодулей программв единый блок


Отладкапрограммыформ


Отладкапрограммыотчетов

Отладкауправляющейпрограммы


Отладкавсей главнойпрограммы


Написаниепрограммыустановки исоставлениедокументациик ней

Составлениеруководствапользователяи другой программнойдокументации

Тестированиеи составлениеотчета потестированию


Корректировкадокументациии программы


Компоновкапрограммы и тиражирование


Таблица8.2.Результатырасчета параметровсетевого графика


Код работы

tож

Ранний срок Позднийсрок

Резервывремени

рабоч.



Началаработы

Tрнij

окончанияработы

Tроij

началаработы

Tпнij

окончанияработы

Tпоij

полный

Rпij

свободныйRсij

0-1

1-2

2-3

3-4

4-5

4-8

5-6

6-7

8-9

9-10

10-11

10-12

10-13

13-14

14-15

14-16

14-17

17-18

18-19

18-20

18-21

21-22

22-23

4

3

2

1

1

5

1

2

1

2

6

5

7

5

4

2

3

2

3

2

1

2

1

0

4

7

9

10

10

11

12

15

16

18

18

18

25

30

30

30

34

36

36

36

39

41

4

7

9

10

11

15

12

14

16

18

24

23

25

30

34

32

33

36

39

38

37

41

42

0

4

7

9

11

10

12

13

15

16

19

20

18

25

30

32

31

34

36

37

38

39

41

4

7

9

10

12

15

13

15

16

18

25

25

25

30

34

34

34

36

39

39

39

41

41

0

0

0

0

1

0

1

1

0

0

1

2

0

0

0

2

1

0

0

1

2

0

0

0

0

0

0

0

0

0

1

0

0

1

2

0

0

0

2

1

0

0

1

2

0

0

Рисунок8.1.

8.4. Оценкаиздержек наразработкупрограммы.

Подобный программный продукт может быть реализован в единичном экземпляре либо тиражирован и реализован некоторому числу спец. заказчиков. Обычно принято проводить расчет экономической эффективности использования разработки для ее потребителя.

Важнымфактором, влияющимна процессформированияцены, являетсяконкуренцияна рынке, необходимостьучета которойсовершенноочевидна. Вцелях повышенияконкурентоспособностипродукта можетвозникнутьнеобходимостьснижения егоцены на рынке.Важно заметить,однако, чтоцелям повышенияконкурентоспособностислужит не толькоснижение цены,но, также, и качествотовара и еговыгодныеотличительныепризнаки посравнению саналогичнымтоваром конкурентов.

Наиболее важным моментом для разработчика, с экономической точки зрения, является процесс формирования цены. Очевидно, что программные продукты представляют собой весьма специфичный товар с множеством присущих им особенностей. Многие их особенности проявляются и в методах расчетов цены на них. На разработку программного продукта средней сложности обычно требуются весьма незначительные средства. Однако, при этом онаможет дать экономический эффект, значительно превышающий эффект от использования достаточно дорогостоящих систем.

Следует подчеркнуть, что у программных продуктов практически отсутствует процесс физического старения и износа. Для них основные затраты приходятся на разработку образца, тогда как процесс тиражирования представляет собой, обычно, сравнительно несложную и недорогую процедуру копирования магнитных носителей и сопровождающей документации. Таким образом, этот товар не обладает, по сути, рыночной стоимостью, формируемой на базе общественно необходимых затрат труда.

Цена на программные продукты устанавливается на единицу программной продукции с учетом комплексности ее поставки. Ее цена, обычно, формируется на базе нормативной себестоимости производства и прибыли:


Цп = С + П, где

С — себестоимость единицы продукции, руб.;

П — прибыль, руб.;


Маркетинговыеисследованияпоказали, чтона рынке нетподобных программв виду их специализациии узкой направленности.

Даннаяпрограммапредназначенадля внутреннегоиспользования и делается врамках проектасоздания системыоповещения.

8.4.1. СтатьяI. Оплататруда

Весь процесссоздания программныхсредств можетбыть разделенна нескольконезависимыхфаз или этапов.Конкретноечисло такихэтапов и ихсодержаниеопределяетсяцелями и масштабамиконкретныхпроектов иразработок.Этапы характерныедля разработкикрупных программныхпродуктовследующие:

  1. Анализ требований,предъявляемыхк программномуизделию;

  2. Определениеспецификаций;

  3. Проектированиеизделия;

  4. Кодирование;

  5. Тестированиеи отладка.

Примерноераспределениевременныхзатрат на реализациюотдельныхэтапов цикларазработкипоказано надиаграмме 1.


Диаграмма8.1. Временныезатраты нареализациюцикла разработкипрограммногообеспечения

При организацииразработкипрограммногообеспечениянеобходимоопределитьсколько времении затрат трудапотребуетсяна реализациюпроекта.

СтатьяIвключаетзаработнуюплату основныхинженеров-программистов.Определениенорм временина операции,и заработнаяплата приведенав таблице (8.3).


Таблица8.3 Заработная плата

Наименование Исполнитель Трудоемкость Оклад Сумма

этапа
ч/дн ч/мс тыс.руб./м тыс.руб./м
1

Техническоезадание

Главныйконструктор

2 0.09 800 72
2

Подготовительный

этап

Программист

1 категории

10 0.45 600 270
3

Рабочее

проектирование


Программист

1 категории

Программист

2 категории

20


35

0.90


1.58

600


500

540


790

4

Отладка и

тестирование

Программист

1 категории

10 0.45 600 270
5

Техническийотчет


Программист

1 категории

Программист

2 категории

7


5

0.31


0.22

600


500

186


110

6 Сдача темы

Главныйконструктор

2 0.09 800 72

Итого : 2310000 руб.


Размердополнительнойзаработнойплаты составляет15% от размераосновной, что,в данном случае,будет равно346500 рублей.


Ст.I=Основная+ Дополнительная=2310000+346500=2656500 руб.


8.4.2.Статья II.Материальныересурсы

СтатьяII включаетстоимость всехвидов сырьяи материалов,расходуемыхна изготовлениепродукции, атакже транспортнозаготовительныерасходы.

Расчет сырьяи материаловприведен втаблице (8.4).


Таблица 8.4Расчет сырьяи материалов

Наименование

Ед. Измерения

Цена,

руб.

Нормарасходов,

шт.

Стоимость,

руб.


База данныхOracle

v7.2

шт.

25000000

1

25000000


Языкпрограммирования

Delphi v 3.0

шт.

6000000

1

6000000



Итого:

31000000


ТЗР=


ТЗР=31000000*1%/100%=310000руб.

Ст.II=

+0.1Ст.1

Ст.II=31000000+310000+265650=31395650руб.


8.4.3. СтатьяIII.Отчисленияна социальныенужды

Статья IIIвключаетв себя отчисленияв пенсионныйфонд

(28%),фонд занятости(1.5%), медицинскоестрахование(3.6%), социальноестрахование(5.4%), в фондобразования(1%) и транспортныйналог(1 %).

Всего 40,5% от начисленнойзаработнойплаты.

Ст.3=


Ст.3=

=1075883 руб.

8.4.4.Статья IV. Накладныерасходы

Статья IVвключаетв себя расходына зарплатувспомогательнымрабочим, наладчикам,механикам,стоимостьзапасных частей,вспомогательныхсредств иамортизацию.250% от Ст.1


Ст.4=2.5*Ст.1

Ст.4= 2.5*2656500=6641250 руб.


1.4.5.Затраты

Пол.Себ.=


Пол.Себ.=2656500+31395650+1075883+6641250=41769283руб.


Итого: 41769283руб.


8.5. Ценапрограммногопродукта

Пусть в течение некоторого периода времени Т исходные условия остаются неизменными, программный продукт тиражируется в n=10 экземплярах, затраты на разработку составляют С, прибыль от использования программного продукта — П= 0.2*C. Тогда цена одного экземпляра тиражируемого продукта равна:


Цп = С/n + П/n + р1 + П1, где


р1 — затраты на копирование, сопровождение и маркетинг;

П1 — величина прибыли от реализации одного экземпляра тиража.

Здесь имеется ввиду, что цена на разработку устанавливается исходя из себестоимости и составляет С + П.

Слагаемые (р1 + П1) иногда связывают с ценой одной адаптации данной программного продукта.

Цп = 41769283/10+41769283*0.2/10 + 500000=5’512’314руб.


8.6. Анализэффективностивнедрения программы

Эффективностьвнедренияпрограммызаключаетсяв том, что

с помощьюпрограммы поуправлениюбазой данныхобъектов экономикиможно оперативнособрать всенеобходимыеданные об объектахэкономикиокруга илигорода в чрезвычайнойситуации и темсамым сократитьвремя на сборинформации,которая такнеобходимав первые минутыЧС, когда каждаяминута промедленияможет стоитьжизни людей.

Благодарятому, что программанаписана подоперационнуюсистему Windows95/NT и соответственноимеет интуитивнопонятный программныйинтерфейс,существенноупрощаетсяпроцесс обученияи работы.

Даннаябаза данныхи программапо управлениюбазой данных

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

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

Отличиеот других аналогичныхпродуктовсостоит в том,что эта программаподдерживаетбазы данныхпостроенныена клиент/серверномвычислении.Благодаря этомупод сервервыбираетсямощный компьютер(мощный процессор,большой объемпамяти), позволяющийхранить централизованнобольшой объемданных и адекватнообрабатыватьмножествоодновременныхзапросов клиентов.А для выполненияклиентскихприложенийиспользуютсяменее дорогиекомпьютерыс минимальнымобъемом памяти.Этот способдоступа данныхобеспечитвозможностьодновременногоиспользованияинформациисразу несколькимипользователямисистемы. Соответственнорезко снижаетсявремя на получениярезультатови также снижаетсястоимостьоборудованияподдерживающегоэту систему.

Экономияот замены ручнойобработкиинформациина автоматизированнуюобразуетсяв результатеснижения затратна обработкуинформации.

Зт = Зр - За,

где Зр -затраты наручную обработкуинформации

За - затратына автоматизированнуюобработкуинформации.

Зр = к*(V*Ц)/Нв,

где V- Объеминформации,обрабатываемойвручную Mb.

Ц - стоимостьодного часаработы.

Нв -нормавыработки.

к- коэффициент,учитывающийдополнительныезатраты временина логическиеоперации приручной обработкеинформации.


Зр = 1.1*(100*1000)/0.1=1100000 Руб.


Затраты наавтоматизированнуюобработкуинформации:

За = ta*Ца+З1 ,

где ta- времяавтоматизированнойобработки

Ца -стоимостьодного часамашинноговремени

З1 -трудозатратыпользователя

За = 0.3*100000 + 100000 = 400000 руб

Зт = 1100000-400000=700 000 руб

При использованииже старых методовхранения данных

практическине возможнопроизводитьпоиск по заданнымкритериям, атем более сортировкуданных (ввидубольшого количества самих данных)и оперативновыдать результат.

Так женеобходимодержать довольно-такибольшой штатслужащих, которыезанималисьбы поискомнужной информации.

При старомспособе храненияданных былабы проблемацентрализацииданных и доступак ним.

Также, благодарядружественномуинтерфейсупрограммы,повыситсяудобство работыи, соответственно,производительностьтруда оператораЭВМ.


9. МЕРОПРИЯТИЯ,ОБЕСПЕЧИВАЮЩИЕОПТИМАЛЬНЫЕУСЛОВИЯ ТРУДАПОЛЬЗОВАТЕЛЯНА РАБОЧЕММЕСТЕ

9.1.Спецификадипломногопроекта

Данныйдипломныйпроект посвященразработкеи работе базыданных с интерфейсом пользователяв рамках созданияпрограмм наязыке Delphiпод Windows95/NT для работыс произвольнымибазами данныхна основеперсональногокомпьютератипа IBM PC AT, предназначенногодля проектированиявычислительныхсистем.

При разработке программногоинтерфейсапользователяПЭВМ обладаетопределенныминедостатками,а именно: приконструированииинтерфейса, при работе сбазами данныхпрограммистиспытываетзначительнуюнагрузку наглаза, что приводитк снижению еготрудоспособностик концу рабочегодня.


9.2. Обзорвредных особенностейработы, встречающихсяпри изготовлении, наладке иэксплуатациипрограмм

9.3.1. Работас монитором

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

- головнаяболь, бессонница;

- раздражениекожи;

- усталостьглаз;

9.3.2. Кресло

Проведенныеисследованиявыявили связьмежду работойна компьютереи такими недомоганиями,как астенопия,боли в спинеи шее, запястныйсиндром. Всевыше перечисленные болезни прямоили косвенновызваны неправильнойпосадкой человекаперед компьютером. Форма спинкикресла должнаповторять формувашей спины.Кресло надоустановитьна такой высоте,чтобы вы нечувствовалидавления накопчик (креслорасположенослишком низко)или на бедра(кресло расположенослишком высоко).Специалистыпо эргономикесчитали, чтоугол междубедрами ипозвоночникомдолжен составлять90 градусов, однаконедавно проведенныеисследованияпоказали, чтобольшинстволюдей предпочитаютсидеть несколькооткинувшись.

9.3.3. Клавиатура

Неправильнорасположенная клавиатура стимулирует развитие запястногосиндрома -болезненногопоражениясрединногонерва запястья.

9.3.4. Эффектыотражения ирабочий стол.

Светло окрашенная мебель офисаи большие окнаявляются

дополнительнымиисточникамисвета. В оченьсветлом помещенииплохо видныбуквы и цифры на экране монитора. Это вызываетголовную боль,ухудшениезрения, сниженияконцентрации,а также приводитк ошибкам вработе из-занекорректноговосприятияинформации.

9.3.5. Оригиналодержатель

Часто приходится набивать тексты с листа бумаги, не имея

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

На рабочем месте инженер-системотехник также подвергаетсявоздействиюфакторов:

- шумы от работающихмашин;

- выделениеизбытков теплоты.

9.3.6. Шумы

Повышенныйуровень шумавызывает трудностив распознаваниицветовых сигналов, снижает быстроту восприятия цветовых

сигналов, снижает быстротувосприятияцвета, остротузрения,

зрительнуюадаптацию, нарушает восприятиевизуальнойинформа-

ции,снижает способность быстро и четковыполнятькоординиро-

ванныедействия, уменьшаетна 5-10% производительность труда.Длительное воздействие повышенного уровня шумас уровнем

звуковогодавления 90 Дбснижает производительность труда на

30-60%. Медицинскиеобследованияинженеров-программистов

показали, что помимоснижения производительности труда высокиеуровнишума при местномдействии приводятк утомлению,ухудшению слухаи тугоухости.Крометого, при общемдействии повышенный уровень шумавызывает нарушениеритма сердечнойдеятельности,изменениекровяногодавления, ухудшение органов дыхания.Источникамишума в помещенииявляются печатающиеустройства.

9.3.7. Выделениеизбытков теплоты

Повышеннаятемпература внешней средыприводит кбыстрому утомлению, снижает быстротувосприятиязрительнойи слуховойинформации,общей заторможенностичеловека вследствиинарушениясердечнойдеятельности(увеличение быстроты биения сердца), изменения кровяногодавления.

Многиепрограммистысвязанны своздействиемтаких психофизическихфакторов, какумственноеперенапряжение, пере-

напряжениезрительныхи слуховыхаппаратов, монотонностьтру-

да, эмоциональныеперегрузки.Воздействиеуказанныхнеблагоп-

риятныхфакторов приводитк снижениюработоспособности, вызы-

ваемоеразвивающимсяутомлением. Появление иразвитие утомления связано сизменениями, возникающимив процессеработы

центральнойнервной системе, с тормознымипроцессами в коре

головногомозга.

9.4. Анализкатегориитяжести трудаинженера-программиста.

К настоящемувремени разработаныи утверждены стандарты науменьшение информационной нагрузки человекапри работе скомпьютером- ГОСТ 12.2.032-78 (введ.01.01.79).В данных правилахзаписано, чтоочень частоиспользуемыесредства отображенияинформации,требующие точного и быстрогосчитыванияпоказаний,следует располагатьв вертикальнойплоскости подуглом +15oот нормальнойлинии взгляда,идущей на 15oниже горизонтальнойлинии взгляда,и в горизонтальнойплоскости подуглом +15oот сагитальнойплоскости.

Частоиспользуемыесредства отображенияинформации, требующиеменее точногои быстрогосчитыванияпоказаний,следует располагатьв вертикальнойплоскости подуглом +30oот нормальной линии взглядаи в горизонтальнойплоскости подуглом +30oот

сагитальнойплоскости.

В залах икабинетахрабочие местаоператоровнеобходимо

располагатьв зоне наилучшеговидения информационногополя, котороедолжнообеспечитьоднозначноевосприятиезнаковой индикации.

Немаловажнуюроль в работес программойи утомляемостиявляется выбранноесочетаниецветов фонаи знаков.

МосковскимНИИ гигиены им. Ф.Ф.Эрисмана,проводилисьисследования на определение оптимальных сочетанийцветов фонаи знаков. Функциональноесостояниезрительногоанализатораисследовалосьметодом определениякритическойчастоты слияниясветовых мельканий(КЧССМ) с последующимвычислениемкоэффициентаутомляемостипо С.Л.Шаповалову.Опрос проводилсядо и после работына ПЭВМ "Ямаха". Результатыисследований проведены втаблице 9.1.

Таблица9.1. Результатыисследований


Сочетание Оценка %



цветов

Состояниезрительногоанализатора

Общеесамочувствие






экрана Глаза Глаза устали Немного Не


и знаков

не устали

средне немного устали устали

Темно-зеленыйфон и

белые знаки

100

-

-

-

100



Темно-зеленыйфон и

светло-зеленыезнаки

40

-

60

-

100



Черный фони белые

знаки

57

14

29

-

100



Черныйфон и зеленыезнаки

50

-

50

-

100



Синий фони белые

знаки

32

25

43

13

87



Белый фони черные

знаки

14

43

43

-

100



Наихудшимсочетаниемцветов оказалсябелый фон ичерные знаки,а наилучшимтемно-зеленыйфон и белыезнаки.

При проектировании электронной формы необходимо обратить вниманиена следующиефакторы, влияющиена информационнуюнагрузку человека:

- Выбор цветовой индикации (реакция программы на ошибкипользователя)

- Угловыеразмеры символов.Определяютсяпо формуле:

b h a H

tg--- = ---- ; tg--- = ---- ;

2 2L 2 2L

где

a - угол обзораэкрана

b - угловыеразмеры знака

L - расстояниенаблюдения

H - высотаэкрана

h - высотазнака

Для знаковойи буквенно-цифровойинформации,отображаемойна ЭЛТ, рекомендуются размеры: высотазнака h 3,5 мм приL = 0,6 - 0,7 м; шириназнака 0,75 h; межзнаковоерасстояние- (0,5-0,3)h; межстрочноерасстояние0,75h.

Факторы,окружающиеинженера-программиста,на рабочемместе:

1. Напряжениезрения

2. Напряжениевнимания

3. Нервно-эмоциональноенапряжение

4. Интеллектуальноенапряжение

5. Рабочееместо, рабочаяпоза

6. Сменность

7. Продолжительностьработы

8. Температуравоздуха нарабочем месте

Расчет интегрального показателя условий труда по методу

арифметическогоусреднениябаллов биологическизначимых показателейзаключаетсяв следующем. На основаниикраткой характеристикитехнологическогопроцесса иливида трудовойдеятельности составляетсякарта условийтруда на рабочемместе (табл.9.2.),где каждыйиз факторовполучает оценкув баллах.


Таблица9.2. Карта условийтруда на рабочемместе

Показателиусловий

труда.

Оценка

показателей

Длительностьвоздействия

Балл с

учетом



Единицыизмерения. Абс. Балл мин доля смены экспозиции.
А. Психофизиологические нагрузки
1 Напряжениезрения :





освещенностьРМ, лк 400 2 480 1 2

размерыобъекта, мм 1 1 480 1 1

разрядзрительнойработы 3-4 2 480 1 2

энтропиязрительнойинформации,бит/сигнал

8 1 480 1 1

число информационныхсигналов вчас

1

480

1

1

2 Напряжениеслуха :





уровеньшума, дБ

1 480 1 1

соотношениесигнал/шум,% 70 2 480 1 2

энтропияслуховойинформации,бит/сигнал

8 1 480 1 1
3 Напряжениевнимания :





длительностьсосредоточениявнимания, %времени смены

1

480

1

1


числоважных объектовнаблюдения

1

480

1

1


- число движенийпальцев в час

1

480

1

1

4 Напряжениепамяти :





необходимостьпомнить обэлементахработы

свыше 2-хч., число эл.

1

2

480

1

2


поискрассогласованийв % от числарегулируемыхпараметров

30

2

480

1

2

5

Нервно-эмоциональноенапряжение.Экспертная

оценка.

1

1

480

1

1

6

Интеллектуальноенапряжение.Экспертнаяоценка.

1

1

480

1

1

7 Статическаянагрузка в течениесмены, кгс*сек:





на одну руку

1

480

1

1


- на обе руки

1

480

1

1


- на весь корпус

1

480

1

1

8

Рабочееместо, поза,пере-мещениев пространстве.

Экспертнаяоценка.

Поза свобод-ная 1 480 1 1
9 Сменность одна 1 480 1 1
10 Продолжительностьработы в течениесуток, ч 8 2 480 1 2
11 Монотонность:





число приемовв операции 10-6 2 480 1 2

длительностьповтора операции,с

- 1 480 1 1
12 Режим трудаи отдыха

обоснованный

гимнастика

1 480 1 1
Б. Санитарно-гигиеническиеусловия
13 Температуравоздуха нарабочем месте,С :





теплый период 23-28 3 480 1 3

- холодныйпериод 15-16 3 480 1 3
14

Промышленнаяпыль,

кратностьпревышенияПДК

ПДК 2 480 1 2
15 Ультразвукв воздухе ПДУ+ превышение,дБ,

1 480 1 1
16 Тепловоеизлучение,Вт/см 0 0 480 1 0
17 Ионизирующиеизлучения,мр/ч

1 480 1 1
В. Оценкаусловий труда
18

Числофакторов,формирующихтяжесть труда,n





28

Сумма баллов



40

Усредненныйбалл



1.4









Рассчитаеминтегральнуюоценку категориитяжести трудаинженера-программистапо формуле :


k =19.7*k - 1.6* k2 ,


где k - усредненныйкоэффициент,вычисляемыйпо формуле :


k = 1/n*k ,


где k - баллырассматриваемыхфакторов,

n - числофакторов.


k =1.4

k = 19.7*1.4-1.6*1.96=24.444(балл*10)


Знаявеличину k, изтаблицы находимкатегориютяжести труда.

Следовательно,на рабочемместе на человекавоздействуютфакторы, категориятяжести трудакоторых равна2. Для этой категориитяжести труда характерны:допустимыеусловия труда,высокая работоспособность,отсутствуютфункциональныесдвиги по медицинскимпоказателям.

9.5. Анализосвещения нарабочем местепрограммиста.

Усталостьпрограммистапрямо зависитот степенинапряженности процессовсопровождающихзрительноевосприятие.Это такие процессыкак адаптация,аккомодацияи конвергенция.

Адаптация- приспособлениеглаза к изменениюосвещения.

Аккомодация- приспособляемость глаза к изменениюрасстояния.

Конвергенция- свойство глаз сосредотачиватьзрение на

предмете.

Всю энергию,излучаемуюисточникамисвета, можноразделить наультрафиолет, видимый свети инфракрасноеизлучение.Часть энергии,воспринимаемаяглазом каксвет, называетсясветовым потокомF [люмен]. Силасвета (I)-определяетсякак пространственнаяплотностьсветовогопотока, т.е.отношениесветовогопотока к телесномууглу, в которомравномернораспространяется этот световойпоток.Измеряется сила света вканделлах([Кд]=[лм]/[срад]).Освещенность(E) - поверхностнаяплотностьсветовогопотока, люкс[лк]:

F

E = --- ,

S

где S - площадь [м ] .

Коэффициентпульсации освещенности(Кп) - имеет значение

при питанииламп переменнымтоком.


Eмах- Емin

Кп = ------------ 100% ,

2 Еср


Искусственноеосвещениепроизводственныхпомещенийбывает:

- общее;

- комбинированное;

- аварийное.

Помимоискусственногов помещенииимеется такжеестественноеосвещение изокон. Такимобразом, освещениесмешанное.

Рассмотримвсе перечисленныетипы искусственного освещенияпомещений. Система общегоосвещенияпредназначенане только дляосвещениярабочих поверхностей,но и для всегопомещения вцелом. Система комбинированного освещениясостоит изобщего и местногоосвещения: светильникиместного освещениясоздают большую освещенность на рабочейповерхности, а общего выравниваютяркость в полезрения. Использованиеодного местногоосвещения недопускаетсяиз-за резкогоконтраста вяркостях. Системааварийногоосвещенияпредусматриваетсяв случаях, когданедопустимыперерывы врабочем цикле. Для расчетаосвещениярабочей поверхностибудем пользоватьсяметодом коэффициентаиспользованиясветовогопотока.

Коэффициент использования световогопотока зависитот типа светильника, расчетнойвысоты подвесасветильниканад рабочей поверхностью,от размерапомещения,коэффициентовотраженияпотолка и стен.Определимпотребноеколичествосветильниковдля рассматриваемогопомещения .

Краткаяхарактеристикапомещения :

- высота потолка H = 3,9 м.

- коэффициентотраженияпотолка Rп = 70 %

- коэффициентотражения стенRс = 50 %

- высотарабочей поверхностиh = 0,9м.

- помещениепрямоугольнойформы, имеющееследующиеразмеры

ширинапомещения А= 7м.

длинапомещения B = 8м.


Необходимоеколичествосветильниковбудем располагатьрядами с соответствиемс наивыгоднейшимсоотношением

L

Л = ---------- = 1,7

( H-h )

где L - расстояниемежду рядамисветильников, [ м ]

H-h - высотаподвеса , [ м ]

Для большинстваприменяемыхтипов светильниковЛ=1,5...2,0

==> L = Л * ( H-h ) = 1,7 * ( 3,9 - 0,9) = 5,1 м.

Расстояниеот стен до крайнегоряда светильников:

l = 1/3 * L = 1/3 * 5,1 = 1,7 ;


Будемрасполагать светильникипараллельноширине помещения.При длине помещенияB = 7 м. число рядовсветильниковn рассчитываетсяпо формуле :


B - 2 * l 8 - 2 *1,7

n = 1 + ------------- = 1 + --------------- =2 ;

L 5,1


Нормировочнаяосвещенностьдля данноговида работ

E = 400 лк


Для определениявеличины коэффициентаиспользуемогосветовогопотока подсчитываетсяиндекс помещения:


A * B

i = ------------------

(H - h) * (A + B)


где i - индекспомещения;

A и B - длина иширина помещения,м;

(H - h) - расчетная высота подвеса светильниковнад

рабочейповерхностью,м.

Для нашегопомещения А= 7 м, В = 8 м, Н = 3.9 м.


7 * 8

i = ----------------------- = 1,24 ;

(3,9 - 0,9) * (7 + 8)


Коэффициентиспользования световогопотока зависиткроме

индексапомещения ещеи от коэффициентовотражения:

Rп - коэффициентотраженияпотолка (0.7);

Rс - коэффициентотражения стен(0.5);

По таблицеопределяемкоэффициентиспользованиясветового

потока :Ku = 0.4 ;

Номинальныйсветовой потоклампы ЛБ-40 составляет

Фл = 3120 лк .

Номинальныйсветовой потоксветильника, включающего4 лампы ,составляетФсв = 4 * Фл = 4 * 3120 = 12480 ;

Необходимоеколичество светильниковподсчитываетсяпо следующейформуле :


E * Kз * S * z

N = ------------------ ,

n * Фсв * Ku * Kзт


где E - нормировочная освещенность,лк;

Кз - коэффициентзапаса ;

S - площадьпомещения ;

z - коэффициентнеравномерностиосвещения ;

n - число рядовсветильников;

Фсв - номинальныйсветовой потоксветильника;

Ku - коэффициентиспользованиясветовогопотока ;

Kзт - коэффициентзатенения ;


По справочнику значение коэффициентовпринимаемравными

соответственно:

Кз = 1,5 ;

z = 1,15 ;

Кзт = 0,85 .

Площадьпомещения S =A * B = 7 * 8 = 56 м. ;


400 * 1,5 * 56 * 1,15

N = ------------------------- = 4 ;

2 * 12480 * 0,4 * 0,85


Определимдлину разрывовмежду светильникамиR :


A - N * lсв

R = ------------- ,

N - 1

где lсв - длинаодного светильника;

lсв = 1,33 м.

6 - 4 * 1,33

R = -------------- = 0,23 м.

4 - 1

9.6. Вывод


В даннойчасти дипломногопроекта проведенанализ категориитяжести трудапрограммиста;рассмотреныоптимальныеусловия трудаинженера-системотехника, факторы, действующиена него в процессеработы. Рассмотреныпараметрыосвещенностирабочего места.Таким образом,для организациирабочего местаинженера-программистас категориейтяжести труда2 необходимотдых

в перерывыи после работы,рационализациярежима трудаи отдыха.


10. ПРИМЕНЕНИЕЭВМ ДЛЯ ПОВЫШЕНИЯЭФФЕКТИВНОСТИРАБОТЫ ШТАБАГО

Для тогочтобы оценитьвозможные путии способы примененияэлектронныхвычислительныхмашин (далееЭВМ) для повышенияэффективности работы штабаГО, необходимоиметь четкоепредставление,во-первых,об объеме исодержаниирешаемых задач,требованияхоперативностии способахкоммуникаций,и, во-вторых,о возможностяхсовременныхЭВМ.

Что касаетсявозможностейсовременныхЭВМ (причемречь идет необ отдельностоящей машине,а о компьютерес возможностьюкак автономнойработы, так идоступа к удаленнымресурсам),современныйуровень технологиипозволяетобеспечитьпрактическилюбой уровеньпроизводительностии отказоустойчивостисистемы,который можетпотребоватьсяв рамках решаемойзадачи, будьто примитивныйдокументооборотили управлениеограниченнымиресурсами вбоевых условияхв реальномвремени приотсутствииисточниковэнергии. В данномслучае требованияк производительностиопределяютсядвумя факторами:масштабом задачи ограниченностьюресурсов дляих решения.Итак, определимзадачи ГО вообще.

10.1. Задачигражданскойобороны.

Гражданскаяоборона - составнаячасть системыобщегосударственныхоборонныхмероприятий,проводимыхв мирное и военноевремя в целяхзащиты населенияи народногохозяйства оторужия массовогопоражения идругих современныхсредств нападенияпротивника,а также дляСИДНР в очагахпоражения изонах катастрофическогозатопления.


1.Защитанаселения оторужия массовогопоражения идругих средствнападенияпротивникаосуществляетсяпроведениемкомплексазащитных мероприятий,что позволяетмаксимальноослабить результатывоздействияоружия массовогопоражения,создать благоприятныеусловия дляпроживанияи деятельностинаселения,работы объектов,и действий силГО при выполнениистоящих передними задач.

2. Повышениеустойчивостиработы объектови отраслейэкономики вусловиях военноговремени можетбыть достигнутозаблаговременнымпроведениеморганизационных,инженерно-техническихи других мероприятий,направленныхна максимальноеснижение результатоввоздействияоружия массовогопоражения,созданиеблагоприятныхусловий длябыстрой ликвидациипоследствийнападенияпротивника.

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


10.2. Основнойрасчет поражающихфакторов ядерноговзрыва

Даннаяпрограмма,написаннаяна языке высокогоуровня Pascal,позволяетрассчитатьосновные параметрыпоражающихфакторов ядерноговзрыва. Данныепараметрынеобходимыпри анализеи повышении устойчивостиобъектовпроизводства,при планированиии организацииспасательныхи других неотложныхработ.

10.2.1. Исходныеданные:

  1. Вид взрыва: а) воздушный, б) наземный;

  2. Мощностьвзрыва;

  3. Расстояниедо ОЭ;

  4. Раcстояниедо районарассредоточения;

  5. Коэффицентослабленияатмосферы;

  6. Скоростьветра;

  7. Угол междуосью следарадиоактивногооблака и линией,проведеннойчерез ОЭ и эпицентрвзрыа;

10.2.2. Выходныеданные:

  1. Избыточноедавление вофронте ударнойволны;

  2. Импульссветовогоизлучения;

  3. Суммарнаядоза гамма-излучения;

  4. Мощностьдозы Г-излучения;

  5. Поток нейтронов;

  6. Вертикальнаясоставляющаяэл.поля ЭМИ;

  7. Уровеньрадиациирадиоактивногозаражения;

10.3. Текстпрограммы

program voina;

var

Pvzr,vid,rr,vv,bet:real;

R_onx,ko,dPf,qy,R,rs,U,Fn,Pg,Dz,Dosk,Dg,E,P0,alf:real;

begin

writeln('Введитевид взрыва,есливзрыв воздушный-> нажми 1');

writeln(' есливзрыв наземный -> нажми 2');

read(vid);

writeln('Введитемощность взрыва,Kт');

read(Pvzr);

writeln('Введитерасстояниедо ОЭ,км');

read(R_onx);

writeln('Введитераcстояние дорайона рассредоточения,км');

read(rr);

writeln('Введитекоэфицентослабления');

read(ko);

writeln('Введитескоростьветра,км/ч');

read(vv);

writeln('Введитеугол,град');

read(bet);

qy:=0.5*Pvzr*1000000;

R:=R_onx*1000;

dPf:=105/R*exp(1/3*ln(qy))+410/R/R*exp(2/3*ln(qy))+1370/r/r/r*qy;

if vid=1 then

rs:=0.052*exp(0.4*ln(Pvzr))

else

rs:=0.068*exp(0.4*ln(Pvzr));

R:=R_onx;

U:=111*Pvzr/R/R*exp(-ko*(R-rs));

R:=R*1000;

Fn:=7.5*exp(22*ln(10))/R/R*Pvzr*exp(-R/190);

Pg:=exp(13*ln(10))/R/R*Pvzr*exp(-R/200);

Dz:=5*exp(8*ln(10))/R/R*Pvzr*exp(-R/410);

Dosk:=1.4*exp(9*ln(10))*Pvzr*(1+0.2*exp(0.65*ln(Pvzr)))/R/R*exp(-R/300);

Dg:=Dz+Dosk;

R:=R_onx;

alf:=Pi/4-2*bet*Pi/180;

E:=5*exp(3*ln(10))*(1+2*R)/R/R/R*ln(14.5*Pvzr)/ln(10);

P0:=10*Pvzr/(exp(1.5*ln(rr/22))*exp(sqrt(rr/vv)))*sqr(sqr(sin(alf)/cos(alf)));

writeln('Избыточноедавление вофронте ударнойволны: ',dPf:1:3,' кПа');

writeln('Импульссветовогоизлучения: ',U:1:3,' кДж/м¤');

writeln('Суммарнаядоза гамма-излучения: ',Dg:1:3);

writeln('Мощностьдозы Г-излучения: ',Pg:1:3);

writeln('Поток нейтронов: ',Fn:3,' н/м¤');

if vid=2 then

writeln('Вертикальнаясоставляющаяэл.поля ЭМИ: ',E:1:3,' В/м');

writeln('Уровеньрадиациирадиоактивногозаражения: ',P0:1:3);

writeln('');

end.

10.4. Провркаработоспособности

Избыточноедавление вофронте

ударнойволны Pф,кПа

R/q 100 200 300 400 500
3 21.614 31.134 39.068 46.196 52.813
4 14.219 19.846 24.393 28.396 32.057
5 10.51 14.377 17.432 20.082 22.478
6 8.31 11.211 13.465 15.398 17.13
7 6.861 9.164 10.931 12.432 13.769
8 5.839 7.740 9.184 10.402 11.479
9 5.079 6.694 7.91 8.93 9.828
10 4.493 5.894 6.942 7.817 8.584

где R- расстояниедо центра взрыва,км;

q- мощностьвзрыва, кт.

10.5. Выводы:

Итак, используяэту программуможно уменьшитьвремя расчетаосновных показателейпоражающихфакторов ядерноговзрыва. Сделатьоперативнонеобходимыевыводы о защитеобъектов экономикии радиоэлектроннойаппаратуры.

11. ЭРГОНОМИЧЕСКАЯОЦЕНКА ИНФОРМАЦИОННОГООБЕСПЕЧЕНИЯЭВМ

11.1. Введение

С развитиемновых программвозникланеобходимостьпривести всоответствиеих интерфейсс особенностьювосприятияинформациичеловеком.

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

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

11.2. Проектированиеформ

  1. Выбор стиля.Стиль определяетвнешний видприложенияи ска­зываетсяна внешнемвиде форм, егосоставляющих.Лучше при­держиватьсяуже установленногостиля пользовательскихинтер­фейсов,потому чтопользователюбудет легчеосвоить знакомыйинтерфейсприложения.Шрифты, цветафона, размерыэлементовизображений,расположениепанели инструментовдолжны бытьсогласованыс другимиприложениями.

  2. Выбор функций,вводимых вприложение.Не надо вводитьне­нужныесвойства. Перегрузкапользователябесполезнойинфор­мациейвызовет напрасныепотери времени.Надо определитька­кие свойстваполезны, а какиенет.

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

  4. Форма недолжна включатьболее одноготипа исходногодоку­ментаодновременно.Формы должнысоставлятьсякак можно проще.Не следуетвводить наэкран разныетипы информациив одной форме.

  5. Для лучшеговосприятиячеловеческимглазом информациинадо использоватьдля форм нейтральныйцвет фона.

  6. Для отображениятекущего режимаработы приложенияможно использоватьгруппы кнопокпанели инструментов.Установивсвойство наборакнопок панелиGroupIndexравноененулевомучислу, можноустановитьгрупповойрежим работыпанели. Можнотакже установитьсвойство группыAllowAllUpравное False.Если щелкнутьна одной изкнопок панелиинструментов,определенныхтаким образом,она будет оставатьсяв нажатом со­стояниидо тех пор, покапользовательне щелкнет надругой кнопкеиз этой группы.

  7. Большиекнопки и легкоотыскиваемыегруппы переключателейпозволяютлегко манипулироватьуправляющимисредствамипри­ложения.

  8. Для большойэкономии временипользователей,которые предпо­читаютиспользоватьклавиатуру,а не мышь, можнопродублиро­ватьфункции каждойкнопки панелиинструментовкомандамисо­ответствующихменю и включитьв него такжекоманды, которыене представленыкнопками формы.

  9. Для частоиспользуемыхкоманд менюнадо включитьакселера­торыменю. Для этогонужно создатьфиктивныйэлемент менюс соответствующейкомбинациейклавиш, а затем«привязать»код, которыйнадо выполнить,к событию OnClick этогоэлемента.

  10. Установкана форме горячиеклавиши дляключевых полей.Для этого сначалаопределяютгорячую клавишуметки с помощьюсвойства Captionуправляющегоэлемента метки(для обозначениягорячей клавишииспользуютсимвол «&»).Затем устанавливаютв свойствеметки FocusControl имякомпонента,который предна­значендля полученияфокуса вводапри нажатиигорячей кла­виши.

  11. Расположениеи функции устройствнавигациидолжны бытьоди­наковымидля всех форми даже приложений.Если поместитьуправляющийэлемент DBNavigatorвнизуодной формыи вверху следующей,то тем самымбудет нарушенасогласованностьвнутри приложенияи пользователимогут запутаться.Лучше раз­мещатьсредства управления,которые выполняютаналогичныеили похожиефункции, в одноми том же местекаждой формы.

  12. Элементыпользовательскогоинтерфейсадолжны бытькак можно болеененавязчивыми.Пользовательне долженостанавли­ватьсвою работуи напрягатьзрение, пытаясьпрочесть меткуна кнопке. Лучшесделать отдельныекнопки размеромбольше.

  13. Шрифтыбез засечекчитаются легче,чем шрифты сзасечками.Поэтому лучшеиспользоватьшрифт Arial,вместоTimesNew Ro­man.

  14. Использованиевсплывающихподсказокпредоставляетпользова­телювеликолепнуювозможностьузнать, чтоделает данныйэле­мент, нещелкая на нем(это особенноважно для кнопокпанели управления.).Всплывающиеподсказкипредставляютсобой ма­ленькиевсплывающиеметки, которыеотображаются,когда кур­сормыши останавливаетсянад определеннымизначащимиэле­ментамиэкрана.

  15. Включениеинтерактивнойсправки. Профессиональныеприложе­нияWindowsсодержатполную справочнуюбазу данных,которая включаетсвязи междуродственнымитемами. Следуетоснащать своиформы контекстно-чувствительнойсправкой. Этоможно сделатьс помощью свойстваHelpContextформыи ее управляю­щихэлементов.Когда будетзатребованасправка поэлементу формы,обладающемуфокусом ввода,управлениесправкой Win­dowsавтоматическибудет переданосоответствующейтеме вашейсправочнойбазы данных.

  16. Созданиеокна формыAbout(О программе).В него включаютимя приложения,номер текущейверсии и названиекомпании. Можнотакже внеституда телефонныйномер отделатехническогосопро­вождения,отметку обавторскихправах и информациюоб исполь­зованииресурсов Windows.Название продукта,номер версиии отметка обавторскихправах должныбыть включеныв приложе­ниес помощью ресурсаWindowsVERSIONINFO.

  17. Можно использоватьстраницы ивкладки дляразмещенияболь­шого числауправляющихэлементов наотносительномаленькойплощади экрана.

  18. Для представленияприложенияв соответствующемменю или папкеWindowsнадо связатьего с подходящейпиктограммой(важно, чтобыпользователимогли отличитьее от пиктограммдругих приложений).Для приложенийDephiпиктограммыуста­навливаютсяс помощью менюProjectЮOptions ЮApplications.

  19. Надо проектироватьформы для самогонизкого разрешенияэк­рана. Скореевсего, это будетразрешениеVGA,поэтому в формахможно безопасноустановитьразрешение640*480. Для реализацииэтого лучшевсего переключитьразрешениена видеоадаптерена VGA.Формы, разработанныев расчете набольшую разрешаю­щуюспособность,чем стандартVGA,не смогут целикомпоя­витьсяна экране.

  20. Не надоперекладыватьна оперативнуюсправку объяснение,как пользоватьсяприложением.В большинствеслучаев егопримене­ниедолжно бытьинтуитивными не должновынуждатьпользова­телязакапыватьсяв руководствоили читатьоперативнуюсправку.


11.3. Формывыдачи решений

Формы выдачирешений обычноиспользуютсялюдьми, которыене являютсясамыми осведомленнымив компьютернойобласти, но,как правило,обладают большимвлиянием, чемдругие типыпользовате­лей.Именно им нужныприложенияпринятия решений,поскольку онииграют определеннуюроль в процессевыработкирешений. Ос­новнаязадача формвыдачи решенийсостоит в том,чтобы они оста­валисьпростыми идостаточноинформативными.


  1. Максимальноеиспользованиеэкранной площади.Как правило,пользователипредпочитаютвидеть вещив максимальноупро­щенноми развернутомвиде. Можнотакже допустить,что пользо­вателиредко запускаютпод управлениемWindowsболееодного приложенияодновременно,поэтому позволительнамаксимизацияпрактическивсех окон форм.

  2. Надо избегатьбеспорядочногорасположенияна форме большогочисла деталейили табулированныхданных. Обычнопользователяинтересуюттолько факты,и они хотятполучить ихв приятном ипростом дляпониманиявиде.

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

  4. Если приложениеограничиваетсятолько чтениемданных можноудалить компонентымодификацииданных. Можнообойтиськом­понентамиDBTextили TLabel,чтобыотображатьполяописатель­ноготипа, не прибегаяк таким насыщеннымкомпонентам,как список иликомбинированныйсписок.

  5. Не следуетвключать вприложениефункций, которымипользова­тельне сможетвоспользоваться.Необходимоизбегать серых(недоступных)команд менюи запрещенныхкнопок, присутствиекоторых можетвызвать недоумение.Если какая-нибудьопция не­доступнадля данногопользователя,устанавливаютее свойствоVisibleравнымFalse,что сделаетее невидимой(или совсемуб­рать ее)вместо того,чтобы простозапретить.


11.4. Интерактивныеформы.

Интерактивныеформы чащевсего встречаютсяв приложениях.Они предоставляютсредства ввода,редактированияи удаленияданных. Типичныйпользовательтаких форм, какправило, обладаетвысокой компьютернойграмотностью.Интерактивнаяформа должнабыть максимальнопростой иблагоприятнойдля эффективнойнавигации междуданными иманипулированияими.

  1. Желательнорассмотретьвозможностьувеличенияи замены кно­покнавигатораDilphiстандартнымикнопками. Несмотряна мощ­ностьи простотуприменения,управляющимэлементамDBNavi­gatorнедостаеттаких свойств,как средствапоиска и возможностьприсваиватьклавиши ускоренногодоступа илиметки их встроен­нымкнопкам.

  2. Чтобы выборуправляющихсредств быллогичен и происходилинтуитивно,группируютуправляющиесредства покаждому при­менениюи соответственноразмещают их.Располагаютсвязанныеэлементы втесной близостидруг к другу,выравниваютзависимыеэлементы группыпереключателей,располагают связанныекнопки близкодруг от друга.Это помогаетпользователюбыстрее познакомитьсяс приложениеми избежатьошибок приработе с ним.

  3. Для любителейработы с клавиатурой,используюткомбинацииклавиш длякомандныхкнопок и полейввода. Надорасположитькомбинацииклавиши влогическом,а не позиционномпорядке, отдаваяпредпочтениекнопкам, а неметкам. Другимисловами, еслиесть поле вверхуэкрана, меткакоторого начинаетсяс буквы А, и, крометого, есть кнопка,расположеннаявнизу экранас на­званиемAdd,устанавливаютклавишу ускоренногодоступа длякнопки, а недля поля, равной.

  4. Устанавливаютлогическийпорядок работыклавиши табуляции,который быпозволилпользователюлогическипереходитьна форме отполя к полю иот кнопки ккнопке, а именнослева на­правои сверху вниз.

  5. Чтобыустановитькнопки OKилиCancel используютсвойство Kindуправляющегоэлемента DelphiTBitBtn(кнопкас растровымизображением).Установкакнопки OKавтоматическиустанавли­ваетее свойствоDefaultравнымTrue, делаятем самым еекноп­кой, котораядействует дляданной формыпо умолчанию.Это зна­чит,что для завершенияредактированиятекущей записипользо­вательможет нажать,а дляотмены ввода-.

  6. Для активизациивсплывающегоменю вместокомандныхкнопок или какдополнениек ним рассматриваютиспользованиеправого щелчкамыши. Некоторыепользователиотдают предпочтениеименно этомувиду меню, котороеприобрелопопулярностьблаго­даряпродуктамBorland.


11.5.Формыввода данных.


Формы вводаданных используютсядля интенсивноговвода данных,в основном, вбазы данных.Внимание здесьбольше уделяетсяскорости, а неэстетике экранаили таким деталям,как всплывающиеподсказки илираскрывающиесясписки. Формыввода данныхобычно в достаточнойстепени лаконичныи включаюттолько самыенеобходимыеэлементы. Какправило, пользователямитаких формявляются операторыввода данных,которые вовремя работысмотрят в основномна исходныедокументы, ане на экран.Особое вниманиеуделяется здеськлавиатуре,посколькуиспользованиемыши требуетвизуальноговзаимодействия.

  1. Когда скоростьввода являетсярешающим фактором,используютполужирныймоноширинныйшрифт, которыйлегче читаетсяс одного взгляда.

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

  3. Используютакселераторы,которые легконажимать. Назначаютклавиши ускоренногодоступа с учетомих применения,а не в зависимостиот позиции наэкране. Еслидва управляющихэлемента должныпо идее иметьодну и ту жегорячую клавишу,отдают ее тому,который используетсячаще, а не тому,который позиционнорасположенна форме первым.Для другогоэлемента придумываютновый акселератор.Для самых частоиспользуемыхэлементовотводят самыепростые клавиши.

  4. Там, гдеэто уместно,делают действующейпо умолчаниюне кнопку OK,а кнопку Add,которая добавляетновую запись.Это относитсяк формам, в которыхглавной функциейявляется добавлениезаписей, в отличиеот обычныхформ обработкитранзакций.Это будетспособствоватьболее быстройработе с приложением,когда пользователюприходитсядобавлятьнесколькозаписей подряд.

  5. Не делаютбольших форм.В отличие отдругих типформ, эта формадолжна бытькак можно меньше,поскольку этопозволит переместитьее в удобноедля пользователяместо и снизитьутомляемостьглаз. Пользователиэтого типаобычно смотрятна исходныедокументы, ане на экран,поэтому открываютэту форму внормальномокне (а не вмаксимизированномили минимизиро­ванном).

11.6. Проектированиеотчетов.

  1. Используютдля проектированияотчетов компонентыQuickReport.Их легче настраиватьи использовать,чем внешниепостроителиотчетов.

  2. Для отчетов,которые слишкомсложны длякомпонентовQuickReport,используютграфическиепостроителиотчетов. Особойпопулярностьюпользуютсяутилиты ReportSmith,R&R SQL Report Writer for Windows иCrystal Reports. Применениеграфическогопостроителяотчетов имеетмного преимуществ.Во-первых, отчетысоздаются имодифицируютсявизуально, Этолегче, быстрееи рождает меньшеошибок, чемсоздание отчетовс помощью исходногокода ObjectPascal. Во-вторых,такие механизмы,как управлениеразбивкой,заголовки,сноски и суммирование,встроены вовсе приличныепостроителиотчетов - дляих использованияне нужно писатьпрограммныйкод. В-третьих,можно позволитьпользователяммодифицироватьотчеты или наих основе создатьновые, причембез необходимостимодифицироватьисходный кодприложения.

  3. В заголовокотчетов включаютимя отчета,текущие датуи время, а такжеимя пользователя,запускающегоотчет. Включениедаты и временипоможет отличитьдруг от друганескольковерсий одногои того же отчетаи даст представлениео времени еесоздания, еслиего просматривалив более позднийсрок. Включениевнутреннегоимени отчетапоможет отследить«источник»для отчета,который можетпригодитьсядля работы вдальнейшем.Имя пользователя,если оно записанов заголовкеотчета, можетспособствоватьразвитию контактас пользователемдля обсуждениябудущих проблем.

  4. Включаютлюбой критерий,используемыйдля отбораданных, отображаемыхв отчете в егостраничномзаголовке.Если в интерфейсномприложениипользовательподдерживалдаты или другойкритерий, надовнести их взаголовокстраниц отчета.Это необходимосделать, потомучто данныемогут бытьвыпущены изотчета из-затого, что критерийбыл задан винтерфейсе.Это может запутатьпользователя.Вероятностьтакого событияособенно повышается,когда междумоментом запускаотчета и моментомего просмотрапрошло значительноевремя.

  5. Для заголовковиспользуютпропорциональныешрифты, а дляданных - моноширинные.Пропорциональныешрифты придаютотчету болееизысканныйвид и в полноймере используютпреимуществавысокоорганизованныхпринтеров,которые получилиширокое распространениев наши дни. Болеетого, пропорциональныешрифты отличаютотчеты, сгенерированныесовременнымисистемами PC,от созданныхна более старыхи менее развитыхсистемах. Ксожалению,пропорциональныешрифты обладаютнедостатком,который выражаетсяв трудностяхвыравниваниятабличныхданных. Посколькуцифра 1оказываетсяуже цифры 5,то колонкиданных не будутидеальновыровненными.Вместо этогоиспользуютсяшрифты с фиксированнымшагом. Обычнов заголовкахотчета используетсятакой пропорциональныйшрифт, как Arialили TimesNew Roman, а в самомотчете - такойнепропорциональныйшрифт, как CourierNew.

  6. Если вотчете необходимоподчеркивание,надо использоватьатрибут подчеркиванияшрифта. Во многихпостроителяхможно встраиватьв создаваемыеотчеты графическиеэлементы, включаялинии и прямоугольники.Графика, реализованнаятаким путем,занимает памятьпринтера изамедляетпостроениеотчета, посколькулиния представляетсобой графический,а не текстовыйэлемент илиэлемент шрифта.Другой способвыделениятекста, которыйостался отвремен использованияматричныхпринтеров,является символподчеркивания( _ ).Линии, нарисованныетаким способом,зря расходуютцелую строкупод той строкой,которую онидолжны подчеркивать.Поэтому, когданужно подчеркнутьв отчете какие-нибудьэлементы, надоприменять влюбом шрифтевместо перечисленныхспособов атрибутподчеркивания.

  7. При представлениинумерованныхданных используютправое выравнивание,а для числовыхидентификаторов- левое (например,для номеровзаготовок илиномеров отчетов).

  8. Для выделенияэлементовотчета можноиспользоватьпрогрессивныевозможностиформатированияпри печати,например, такиеатрибуты шрифта,как печать стенью или полужирноеначертание.Но надо иметьв виде, что принтерпользователядолжен обладатьтеми средствами,которые предполагалипри построенииотчета.

12.ВЫВОДЫ

В результатеработы наддипломнымпроектом былиподробно изученысовременныеоперационныесистемы, базыданных, методыпостроенияприложений и языки программирования.В результатеанализа этогобыла поставленазадача созданияпрограммы поуправлениюбазой данныхобъектов гражданскойобороны. Разработанныйпрограммныйпродукт позволяетобеспечить:

Ведениеданных:

  • объектовэкономики;

  • защитныхсооружениях;

  • опасныхвеществах;

  • техники;

  • материально-техническихсредств;

  • формирований;

  • обучаемыхна УМЦ;

Формированиесписков:

  • объектовэкономики;

  • защитныхсооружениях;

  • опасныхвеществах;

  • техники;

  • материально-техническихсредств;

  • формирований;

  • обучаемыхна УМЦ;

Составлениелюбой(!!!) статистическойинформациипо введеннымданным.

Данныйпрограммныйпродукт автоматизируетпроцесс подготовкик принятиюрешений привозникших ЧС;регистрациюобъектов экономикии составлениесписка характеристикобъекта;

регистрациюналичия и численностиразличныхсоставляющихобъекта;снижает расходына подготовкуи уточнениясписков объектов;учета готовностиобъекта к ЧС;учета проведениязанятий собучающимисяв УМЦ;уменьшает времяна подготовкусписков объектовэкономики исписков обучающихсяна УМЦ по различнымкритериям;

Также в дипломномпроекте былирассмотреныследующиевопросы:


Организационно-экономическаячасть -

Экономическоеобоснованиесоздания программногопродукта. Расчетзатрат на НИР.Определениезатрат программногопродукта. Оценкаэкономическойэффективностиразработки;


Охрана трудаи экология -

Оптимизация условия труда инженера-программистапри разработкепрограммногообеспечения;


Гражданскаяоборона -

ПрименениеЭВМ для повышенияэффективностиработы штабаГО объектаэкономики;


Эргономическаячасть -

Эргономическаяоценка информационногообеспеченияЭВМ.


.


13. ЛИТЕРАТУРА

  1. Атаманюк,Л.Г. ШиршевГражданскаяоборона, Москва“Высшая школа”1986г;

  2. ЖурналPCWEEK 30 сентября1997 (65стр);

  3. ЖурналPCWEEK19 августа 1997(20стр);

  4. ЖурналComputerWorld,СтатьяДелерри Хелд«Гдеже этот хваленыйуниверсальныйсервер»,1997 21 номер;

  5. Кен Хендерсон,Руководстворазработчикабаз данных вDelphi 2;

  6. ЖурналLAN апрель1995, Статья Дж.Салеми;

  7. ЖурналLAN декабрь1995, Статья БиллаЛазарья;

  8. ЖурналСУБД 1995г №4 стр50-57;

  9. Dr. E.F. Codd "ARelational Model of Data for Large Share Data Banks",1970;

  10. СтивенБобровски,Oracle 7 вычислениеклиент/сервер;

  11. С.Орлик,Секреты Delphi;

  12. СергейДунаев,Borlandтехнологии;

  13. ЭндрюВозневич, ОсвойсамостоятельноDelphi;

  14. А.Федоров,СозданиеWindows-приложенийв среде Delphi;

  15. МартинГрабер, Введениев SQL;

  16. А.М. Епанешников,Программированиев среде Delphi2.0

  17. B.Ю. Баженова,Windows SQL

  18. В.В. ФароновБиблиотекаTurboVision 6.0

  19. Справочникпо функциями процедурамBorlandPascal 7.0

  20. Подборкастатей изэхо-конференцииRU.DELPHI,RU.DELPHI.DB в сетиFIDONET(от сентября по декабрь1997года).


ПРИЛОЖЕНИЕ1

П.1.ТЕХНИЧЕСКОЕЗАДАНИЕ

П.1.1 Общиесведения

Системапо управлениюбазой данныхGOBASE предназначена для учета объектовэкономики, ведения базыданных о объектахэкономики, учетготовностиобъекта в случаевозможныхчрезвычайныхситуациях (ЧС),формированияи печати списковобъектов, а также для учетаобучаемых в учебно-методическомцентре (УМЦ).

GOBASE разрабатываетсядля использования в автоматизированнойсистеме оповещенияпри ЧС.

П.1.2. Постановказадачи

  • Спроектироватьпрограммныйпродукт, представляющийсобой доступи управлениебазой данныхв локальнойвычислительнойсети.

  • Разработкапрограммыосновываетсяна следующихдокументах:

  • 1). Справочнаялитературапо программированиюна Delphi 2.0 для Windows.

  • 2). Справочнаялитературапо работе сраспределеннойбазой данныхOracle.

  • 3).Справочнаялитературапо работе соперационнойсистемой Windows.

  • 4).Справочнаялитературапо работе соперационнойсистемой NovellNetware.

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

П.1.3. Основаниядля разработки

Основаниемдля разработкиявляется заданиена дипломноепроектирование.Основаниемдля разработкитакже являетсядоговор насозданиенаучно-техническойпродукции между: СафроновымС.О. и управлениемпо делам ГО иЧС ЮЗАО г.Москва.

П.1.4. Назначение и цели созданияпрограммногопродукта

Данноепрограммноеобеспечениепредназначенодля выполнениятехнологическихфункции в интересах системы предупрежденияи ликвидацииЧС.

Целью работыявляется созданиепрограммногопродукта,обеспечивающего:

1) автоматизациюпроцесса подготовкии принятиярешения припредупреждениии ликвидацииЧС;

  1. регистрациюобъектов экономикии их характеристик;

  2. наличиеи численногосостава:

  • техники;

  • защитныхсооружений;

  • химическиопасных веществ;

  • материально-техническихсредств;

  • формированийна объекте;

4) снижениевремени наподготовкуи уточненияданных по объектамГО;

5) готовностьобъекта к ЧС;

6) проведениезанятий собучающимисяв УМЦ;

7) контрольоднократностиучета объектови обучающихся;


В составфункциональногокомплексадолжны входить:

1) задачапервоначальноговвода информацииоб объектахэкономики;

2) задачапервоначальноговвода информацииоб обучаемыхна УМЦ;

3) задачаформированияи печати списковобъектов экономики;

4) задачаформированияи печати списковобучаемых наУМЦ;


Необходимоспроектироватьпрограмму,содержащуюстандартныеэлементы управления.Программадолжна удовлетворятьэргономическимтребованиям.


П.1.5. Требованияк программе

Даннаяпрограммадолжна поддерживатьинтерфейс спользователем(верхний уровень)и интерфейсс распределеннойбазой данных(нижний уровень).ПрограммаGOBASE предназначенадля работы подуправлениемоперационнойсреды Windows. Интерфейспользователядолжны соответствоватьстандартамWindows.

Для удобстваотладки итестированияпрограммуцелесообразноразделить наотдельные блокив соответствиис выполняемымизадачами.

При проектировании следует учитывать,что большинствопользователейне являетсяспециалистамив вычислительнойтехнике. Ихзнания компьютеранаходятся науровне оператораЭВМ. Для работыс программой- пользователямнеобходимоосвоить работув Windows на уровнеоператора ЭВМи ознакомитьсяс руководствомпользователяGOBASE.

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

Программадолжна обладатьдостаточнойнадежностью,работать подоперационнойсистемой Windows 95или Windows NT. Заниматьне более 4Mb оперативнойпамяти и неболее 5Мб надиске в рабочемсостоянии.


П.1.6. Состави содержаниеработ по созданиюпрограммы

1). проектированиеструктуры базыданных;

2). проектированиеприкладныхпроцессов,необходимыхдля реализациизадачи;

3). разработкаалгоритмапрограммы;

4). кодированиеалгоритма;

5). тестированиепрограммы;


Следуетучитывать, чтопри проектированииWindows - приложениястирается граньмежду разработкойалгоритма икодированием.При этом можноначинать тестированиеотдельныхлогическизавершенныхфрагментовпрограммы дозавершениянаписания всейпрограммы.Руководствапо установкеи эксплуатациипрограммногопродукта могутвходить в составсправочнойсистемы, к которойможно обращатьсяиз основногоисполнимогомодуля программы.


П.1.7. Входнаяинформация

Входнойинформациейдля функциональногокомплексаявляются:

1). данные обобъекте:

- наименованиеобъекта;

- адрес объекта;

- количествоработающих;

- наибольшаяработающаясмена;

- степеньопасности;

- переченьхранимых опасныхвеществ;

- количествохранимых веществ;

- наличие икласс защитныхсооружений;

- территориальнаяпринадлежностьк району;

- род деятельности;

- форма собственности;

- особенностиобъекта;

- подчиненностьобъекта;

- регистрационныйномер объекта;

- Ф.И.О. руководителяобъекта;

- занимаемаядолжностьруководителяобъекта;

- рабочийтелефон руководителяобъекта;

- домашнийтелефон руководителяобъекта;

- Ф.И.О. начальникаштаба ГО объекта;

- занимаемаядолжностьначальникаштаба ГО объекта;

- рабочийтелефон начальникаштаба ГО объекта;

- домашнийтелефон начальникаштаба ГО объекта;

- телефондежурного пообъекту;

- телефонфакса;

- телефонмодема;

- время работымодема;

2). данные обобучаемых вУМЦ:

- Ф.И.О. обучаемого;

- индивидуальныйномер обучаемого;

- категорияобучаемого;

- занимаемаядолжностьобучаемого;

- занимаемаядолжностьобучаемогопо ГО;

- рабочийтелефон обучаемого;

- домашнийтелефон обучаемого;

- домашнийадрес обучаемого;

- дата последнегообучения;

- дата планируемогообучения;


П.1.8. Выходнаяинформация

Выходнойинформациейфункциональногокомплексаявляются:

1). списки объектовэкономикиустановленнойформы:

- в алфавитномпорядке;

- по территориальнойпринадлежностик району;

2). списки обучаемыхна УМЦ установленнойформы:

- в алфавитномпорядке;

- в порядкедаты следующегообучения;

- в порядкепринадлежностик объекту.


П.1.9. Порядокконтроля иприемки программы

Контрольработоспособностипрограммывозложить наBeta-тестероввходящих вподразделениезаказчика (неменее 3 человек).


П.1.10. Требованияк составу исодержаниюработ по установкепрограммы нарабочем местеоператора

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


П.1.11. Требованияк документированию

Изготовительпрограммногопродукта обязанпредоставитьследующиедокументы:

1). руководствопользователяпрограммыGOBASE;

2). руководствопо установке;

Эти документыдолжны бытьвключены всостав справочнойсистемы программы.


П.1.12. Источникиразработки

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

ПРИЛОЖЕНИЕ2


СОСТОЯНИЕИ ПЕРСПЕКТИВЫРАЗВИТИЯ МОСКОВСКОЙ

ГОРОДСКОЙСИСТЕМЫ ПРЕДУПРЕЖДЕНИЯ

И ЛИКВИДАЦИИЧРЕЗВЫЧАЙНЫХСИТУАЦИЙ


Е.М. Кистанов

НачальникШтаба ГОЧСМосквы, генерал-майор


Город Москва- крупнейшийполитический,научный и

промышленныйцентр страны,важнейшийтранспортныйузел.

речной порти центр воздушныхперевозок.

Площадь -1061,0 кв.км. Население- 8,7 млн.чел. Москва

относитсяк химическиопасным городам,на ее территорииразмещаетсябольшое количествовзрыво- и пожароопасныхобъектов.

Ежедневножелезнодорожными автомобильнымтранспортомвгородпоступают ипровозятсятранзитомопасные грузы.

Большинствохимически,-взрыво, -пожарои других потенциальноопасныхобъектовразмещаютсяв непосредственнойблизости отжилой зоны.Высокая концентрацияпромышленныхпредприятийи автомобильноготранспортасоздают сложнуюэкологическуюобстановку(задымление,загазованность)со значительнымипревышениямипредельно-допустимыхконцентраций.

В настоящеевремя в городерасположенооколо 70 химическиопасных объектовс общим запасомсильнодействующихядовитых веществ4600 т, в том числехлора 1300 т, аммиака2300 т. различныхкислот свыше1000 т.

Наиболеекрупными объектамиявляются позапасам хлора:

водопроводныестанции - 4 (от330 до 350 т); Московскийэлектродныйзавод - до 30 т.;

по запасамаммиака: 12 хладокомбинатов(от 10 до 120 т); 15 оптово-розничныхплодоовощныхобъединений(от 2 до 170 т);

по запасамкислот: Акционерноеобщество Желатиновый

завод - до 300т соляной кислоты;Чертановскаябаза кислот- 168

т азотнойи соляной кислоты;Институт легкихсплавов - 80 т

азотнойкислоты; Московскийзавод полиметаллов- до 36 т азотнойкислоты; заводим. Войкова -до 70 т солянойкислоты.

В городскойчерте размещено:Московскийнефтеперерабатывающийзавод (Капотня),3 нефтебазы,около 200 АЗС.

Город Москваимеет развитуюсистему водо,газо, энергоснабжения.Аварии наэнергетическихи инженерныхсетях могутпривести кнарушениюжизнедеятельностинаселенияотдельных

районов ипрекращениюработы промышленныхпредприятий.

На территориигорода расположенытри радиационноопас-

ных объекта(институтим.Курчатова- Северо-ЗападныйАО, Мо-

сковскийинженерно-физическийинститут - ЮжныйАО, ВНИ-

КИЭТ - ЦентральныйАО).

Город имеетбольшую сетьводных артерий(реки Москва,

Яуза, Сетунь,Сходня, каналим. Москвы), 2 речныхвокзала

(Северный.Южный) и триречных порта(Северный, Западныйи

Южный). Зонавозможногокатастрофическогозатопленияможет

составитьсвыше 80 кв.км.с населением268,9 тыс.человек.

Через 20 железнодорожныхстанций напредприятиягорода

ежесуточнопоступают подвыгрузку до30 вагонов соСДЯВ (хлор,

аммиак,кислоты) общимвесом до 1800 т. Вслучае авариипри транспортировкесильнодействующихядовитых веществзоны возможногохимическогозаражения будутсоизмеримыс зонами соответствующиххимическиопасных объектов.Практическипри аварии наних угрозанаселению можетвозникнутьв любой точкегорода.

Вот оченькоротко опотенциальныхопасностяхдля населе-

ния и территорийг. Москвы, некасаясь проблемэкологии, геоло-

гическогориска и вопросовмедицины.

Анализ аварийи происшествийпоказывает,что характер

происшествийпри перевозкеСДЯВ и легковоспламеняющихся

жидкостейавтомобильными железнодорожнымтранспортомзакономерноповторяютсяпринося значительныйматериальныйи экологическийущерб. За 1996 году нас зарегистрировано14 производственныхаварий на химическии пожароопасныхобъектах.

шесть случаевс выбросомаммиака. Неуменьшаетсячисло происшествийна метрополитенегорода. В 1996 годубыло 11 аварийных

ситуаций.

Увеличилоськоличествослучаев обнаружениявзрывоопасныхустройств - 98случаев. Триждыбыли обнаруженыисточники

радиоактивныхвеществ. Из-занеправильногоиспользованияи

хранениябытового газав 11 случаях погибло5 и пострадало24

человека.Растет количествоумышленныхподрывов взрывныхустройств.Продолжаютбудоражитьгород анонимныезвонки о минированииобщественныхи жилых зданий,автомобилей.В каждом

таком случаепроводитсяцелый комплексмероприятий,включающихоцепление,эвакуацию,вызов дежурныхподразделенийи

т.д. И тольков 0,3% из 1000 звонковбыли обнаруженывзрывные

устройства.

В настоящеевремя важноесоциальноеи экономическое

значениеимеют профилактика,прогнозированиеи ликвидации

последствийчрезвычайныхситуаций, возникающихв результате

аварий, катастрофи стихийныхбедствий.

Снижениеуровня техногеннойнагрузки городаМосквы.

которыйнеоправданновелик, являетсяодной из важнейшихзадач

перспективногогенеральногоплана развитияМосквы.


ПРИЛОЖЕНИЕ3

spool build.log

connect internal

startup nomountpfile=STAS:ORANW722\DATABASE\initorcl.ora

create database gobase

controlfile reuse

logfile 'STAS:ORANW722\DATABASE\log1orcl.ora' size200K reuse,

'STAS:ORANW722\DATABASE\log2orcl.ora' size200K reuse

datafile 'STAS:ORANW722\DATABASE\sys1orcl.ora' size100M reuse autoextend on

next 100M maxsize 2000M

character set CL8MSWIN1251;

create rollback segment rb_temp;

alter rollback segment rb_temp online;

@build_db.sql

@STAS:ORANW722\RDBMS72\admin\catalog.sql

@STAS:ORANW722\RDBMS72\admin\catalog6.sql

@STAS:ORANW722\RDBMS72\admin\catproc.sql

connect system/manager

@STAS:ORANW722\RDBMS72\admin\catdbsyn.sql

@pupbld.sql

connect internal

alter rollback segment rb_temp offline;

shutdown;

spool off


ПРИЛОЖЕНИЕ4

CREATE TABLE ACTIVITY

(ACTIVITY_ID NUMBER(7) NOT NULL,

ACTIVITY_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKACTIVITY

ON ACTIVITY

(

ACTIVITY_ID ASC

);


ALTER TABLE ACTIVITY

ADD ( PRIMARY KEY (ACTIVITY_ID)) ;


CREATE TABLE BUILDING

(BUILDING_ID NUMBER(7) NOT NULL,

BUILDING_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKBUILDING

ON BUILDING

(

BUILDING_ID ASC

);


ALTER TABLE BUILDING

ADD ( PRIMARY KEY (BUILDING_ID)) ;


CREATE TABLE BUILDINGOB

(OBJECT_ID NUMBER(9) NOT NULL,

BUILDING_ID NUMBER(7) NOT NULL,

BUILDINGNUM NUMBER(9) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(100) NULL

);


CREATE UNIQUE INDEX IPKBUILDINGOB

ON BUILDINGOB

(

OBJECT_ID ASC,

BUILDING_ID ASC

);


CREATE INDEX IFKOBBUILDINGOB

ON BUILDINGOB

(

OBJECT_ID ASC

);


CREATE INDEX IFKBUBUILDINGOB

ON BUILDINGOB

(

BUILDING_ID ASC

);


ALTER TABLE BUILDINGOB

ADD ( PRIMARY KEY (OBJECT_ID,BUILDING_ID) ) ;


CREATE TABLE CATEGORY

(CATEGORY_ID NUMBER(7) NOT NULL,

CATEGORY_TYPE NUMBER(1) NOT NULL,

CATEGORY_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKCATEGORY

ON CATEGORY

(

CATEGORY_ID ASC

);


ALTER TABLE CATEGORY

ADD ( PRIMARY KEY (CATEGORY_ID)) ;


CREATE TABLE CATTEMA

(TEMA_ID NUMBER(7) NOT NULL,

CATEGORY_ID NUMBER(7) NOT NULL,

CATTEMANUM NUMBER(4) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(100) NULL

);


CREATE UNIQUE INDEX IPKCATTEMA

ON CATTEMA

(

TEMA_ID ASC,

CATEGORY_ID ASC

);


CREATE INDEX IFKTECATTEMA

ON CATTEMA

(

TEMA_ID ASC

);


CREATE INDEX IFKCACATTEMA

ON CATTEMA

(

CATEGORY_ID ASC

);


ALTER TABLE CATTEMA

ADD ( PRIMARY KEY (TEMA_ID,CATEGORY_ID) ) ;


CREATE TABLE DEPARTAMENT

(DEPARTAMENT_ID NUMBER(7) NOT NULL,

DEPARTAMENT_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEXIPKDEPARTAMENT

ON DEPARTAMENT

(

DEPARTAMENT_ID ASC

);


ALTER TABLE DEPARTAMENT

ADD ( PRIMARY KEY(DEPARTAMENT_ID) ) ;


CREATE TABLE FORMIROV

(FORMIROV_ID NUMBER(7) NOT NULL,

FORMIROV_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKFORMIROV

ON FORMIROV

(

FORMIROV_ID ASC

);


ALTER TABLE FORMIROV

ADD ( PRIMARY KEY (FORMIROV_ID)) ;


CREATE TABLE FORMIROVOB

(FORMIROV_ID NUMBER(7) NOT NULL,

OBJECT_ID NUMBER(9) NOT NULL,

READY_ID NUMBER(7) NOT NULL,

FORMIROVNUM NUMBER(9) NULL,

PEOPLENUM NUMBER(9) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(100) NULL

);


CREATE UNIQUE INDEX IPKFORMIROVOB

ON FORMIROVOB

(

FORMIROV_ID ASC,

OBJECT_ID ASC

);


CREATE INDEX IFKFOFORMIROVOB

ON FORMIROVOB

(

FORMIROV_ID ASC

);


CREATE INDEX IFKOBFORMIROVOB

ON FORMIROVOB

(

OBJECT_ID ASC

);


CREATE INDEX IFKREFORMIROVOB

ON FORMIROVOB

(

READY_ID ASC

);


ALTER TABLE FORMIROVOB

ADD ( PRIMARY KEY (FORMIROV_ID,OBJECT_ID) ) ;


CREATE TABLE GOBASEUSER

(GOBASEUSER_ID NUMBER(7) NOT NULL,

NAME VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKGOBASEUSER

ON GOBASEUSER

(

GOBASEUSER_ID ASC

);


ALTER TABLE GOBASEUSER

ADD ( PRIMARY KEY(GOBASEUSER_ID) ) ;


CREATE TABLE MATERIAL

(MATERIAL_ID NUMBER(7) NOT NULL,

MATERIAL_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKMATERIAL

ON MATERIAL

(

MATERIAL_ID ASC

);


ALTER TABLE MATERIAL

ADD ( PRIMARY KEY (MATERIAL_ID)) ;


CREATE TABLE MATERIALOB

(OBJECT_ID NUMBER(9) NOT NULL,

MATERIAL_ID NUMBER(7) NOT NULL,

MATERIALNUM NUMBER(9) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(100) NULL

);


CREATE UNIQUE INDEX IPKMATERIALOB

ON MATERIALOB

(

OBJECT_ID ASC,

MATERIAL_ID ASC

);


CREATE INDEX IFKOBMATERIALOB

ON MATERIALOB

(

OBJECT_ID ASC

);


CREATE INDEX IFKMAMATERIALOB

ON MATERIALOB

(

MATERIAL_ID ASC

);


ALTER TABLE MATERIALOB

ADD ( PRIMARY KEY (OBJECT_ID,MATERIAL_ID) ) ;


CREATE TABLE MATTEH

(MATTEH_ID NUMBER(7) NOT NULL,

SERVIS_ID NUMBER(7) NOT NULL,

MATTEH_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKMATTEH

ON MATTEH

(

MATTEH_ID ASC

);


CREATE INDEX IFKSEMATTEH

ON MATTEH

(

SERVIS_ID ASC

);


ALTER TABLE MATTEH

ADD ( PRIMARY KEY (MATTEH_ID) );


CREATE TABLE MATTEHOB

(OBJECT_ID NUMBER(9) NOT NULL,

MATTEH_ID NUMBER(7) NOT NULL,

MATTEHNUM NUMBER(9) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(100) NULL

);


CREATE UNIQUE INDEX IPKMATTEHOB

ON MATTEHOB

(

OBJECT_ID ASC,

MATTEH_ID ASC

);


CREATE INDEX IFKMAMATTEHOB

ON MATTEHOB

(

MATTEH_ID ASC

);


CREATE INDEX IFKOBMATTEHOB

ON MATTEHOB

(

OBJECT_ID ASC

);


ALTER TABLE MATTEHOB

ADD ( PRIMARY KEY (OBJECT_ID,MATTEH_ID) ) ;


CREATE TABLE OBECONOM

(OBJECT_ID NUMBER(9) NOT NULL,

OBJECTNO NUMBER(7) NOT NULL,

POSTGO_ID NUMBER(7) NOT NULL,

POST_ID NUMBER(7) NOT NULL,

DEPARTAMENT_ID NUMBER(7) NOT NULL,

RISK_ID NUMBER(7) NOT NULL,

PROPERTY_ID NUMBER(7) NOT NULL,

ACTIVITY_ID NUMBER(7) NOT NULL,

REGION_ID NUMBER(7) NOT NULL,

PECULIAR_ID NUMBER(7) NOT NULL,

GLAVOBJECT_ID NUMBER(7) NOT NULL,

OBJECTNAME VARCHAR2(100) NULL,

ADDRESS_IND CHAR(6) NULL,

TOWN_ID NUMBER(9) NULL,

ADDRESS_CHAR VARCHAR2(150) NULL,

WORKNUMBER NUMBER(7) NULL,

NRSM NUMBER(7) NULL,

NRSV NUMBER(7) NULL,

DIRECTIONNAME VARCHAR2(50) NULL,

DIRECTIONWTEL CHAR(7) NULL,

DIRECTIONHTEL CHAR(7) NULL,

ZAMNAME VARCHAR2(50) NULL,

ZAMWTEL CHAR(7) NULL,

ZAMHTEL CHAR(7) NULL,

COMANDGONAME VARCHAR2(50) NULL,

COMANDGOWTEL CHAR(7) NULL,

COMANDGOHTEL CHAR(7) NULL,

P1NAME VARCHAR2(50) NULL,

P1WTEL CHAR(7) NULL,

P1HTEL CHAR(7) NULL,

P2NAME VARCHAR2(50) NULL,

P2WTEL CHAR(7) NULL,

P2HTEL CHAR(7) NULL,

P3NAME VARCHAR2(50) NULL,

P3WTEL CHAR(7) NULL,

P3HTEL CHAR(7) NULL,

DUTYTEL CHAR(7) NULL,

DUTY2TEL CHAR(7) NULL,

FAXTEL CHAR(7) NULL,

MODEMTEL CHAR(7) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(200) NULL

);


CREATE UNIQUE INDEX IPKOBECONOM

ON OBECONOM

(

OBJECT_ID ASC

);


CREATE INDEX IFKPEOBECONOM

ON OBECONOM

(

PECULIAR_ID ASC

);


CREATE INDEX IFKRIOBECONOM

ON OBECONOM

(

RISK_ID ASC

);


CREATE INDEX IFKPROBECONOM

ON OBECONOM

(

PROPERTY_ID ASC

);


CREATE INDEX IFKACOBECONOM

ON OBECONOM

(

ACTIVITY_ID ASC

);


CREATE INDEX IFKREOBECONOM

ON OBECONOM

(

REGION_ID ASC

);


CREATE INDEX IFKDEOBECONOM

ON OBECONOM

(

DEPARTAMENT_ID ASC

);


CREATE INDEX IFKPOOBECONOM

ON OBECONOM

(

POST_ID ASC

);


CREATE INDEX IFKPGOBECONOM

ON OBECONOM

(

POSTGO_ID ASC

);


ALTER TABLE OBECONOM

ADD ( PRIMARY KEY (OBJECT_ID) );


CREATE TABLE ORAUSER

(ORAUSER_ID INTEGER NOT NULL,

GOBASEUSER_ID NUMBER(7) NOT NULL

);


CREATE UNIQUE INDEX IPKORAUSER

ON ORAUSER

(

ORAUSER_ID ASC

);


CREATE INDEX IFKGORAUSER

ON ORAUSER

(

GOBASEUSER_ID ASC

);


ALTER TABLE ORAUSER

ADD ( PRIMARY KEY (ORAUSER_ID)) ;


CREATE TABLE PECULIAR

(PECULIAR_ID NUMBER(7) NOT NULL,

PECULIAR_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKPECULIAR

ON PECULIAR

(

PECULIAR_ID ASC

);


ALTER TABLE PECULIAR

ADD ( PRIMARY KEY (PECULIAR_ID)) ;


CREATE TABLE POST

(POST_ID NUMBER(7) NOT NULL,

POST_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKPOST

ON POST

(

POST_ID ASC

);


ALTER TABLE POST

ADD ( PRIMARY KEY (POST_ID) ) ;


CREATE TABLE POSTGO

(POSTGO_ID NUMBER(7) NOT NULL,

POSTGO_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKPOSTGO

ON POSTGO

(

POSTGO_ID ASC

);


ALTER TABLE POSTGO

ADD ( PRIMARY KEY (POSTGO_ID) );


CREATE TABLE PROPERTY

(PROPERTY_ID NUMBER(7) NOT NULL,

PROPERTY_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKPROPERTY

ON PROPERTY

(

PROPERTY_ID ASC

);


ALTER TABLE PROPERTY

ADD ( PRIMARY KEY (PROPERTY_ID)) ;


CREATE TABLE READY

(READY_ID NUMBER(7) NOT NULL,

READY_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKREADY

ON READY

(

READY_ID ASC

);


ALTER TABLE READY

ADD ( PRIMARY KEY (READY_ID) );


CREATE TABLE REGION

(REGION_ID NUMBER(7) NOT NULL,

REGION_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKREGION

ON REGION

(

REGION_ID ASC

);


ALTER TABLE REGION

ADD ( PRIMARY KEY (REGION_ID) );


CREATE TABLE RISK

(RISK_ID NUMBER(7) NOT NULL,

RISK_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKRISK

ON RISK

(

RISK_ID ASC

);


ALTER TABLE RISK

ADD ( PRIMARY KEY (RISK_ID) ) ;


CREATE TABLE SERVIS

(SERVIS_ID NUMBER(7) NOT NULL,

SERVIS_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKSERVIS

ON SERVIS

(

SERVIS_ID ASC

);


ALTER TABLE SERVIS

ADD ( PRIMARY KEY (SERVIS_ID) );


CREATE TABLE SPOST

(SPOST_ID NUMBER(7) NOT NULL,

SPOST_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKSPOST

ON SPOST

(

SPOST_ID ASC

);


ALTER TABLE SPOST

ADD ( PRIMARY KEY (SPOST_ID) );


CREATE TABLE STUDY

(STUDY_ID NUMBER(9) NOT NULL,

OBJECT_ID NUMBER(9) NOT NULL,

SPOST_ID NUMBER(7) NOT NULL,

CATEGORY_ID NUMBER(7) NOT NULL,

NAME VARCHAR2(50) NULL,

WORKTEL CHAR(7) NULL,

LASTDATE DATE NOT NULL,

NEXTDATE DATE NOT NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(200) NULL

);


CREATE UNIQUE INDEX IPKSTUDY

ON STUDY

(

STUDY_ID ASC

);


CREATE INDEX IFKCASTUDY

ON STUDY

(

CATEGORY_ID ASC

);


CREATE INDEX IFKOBSTUDY

ON STUDY

(

OBJECT_ID ASC

);


CREATE INDEX IFKSPSTUDY

ON STUDY

(

SPOST_ID ASC

);


ALTER TABLE STUDY

ADD ( PRIMARY KEY (STUDY_ID) );


CREATE TABLE TEHNICA

(TEHNICA_ID NUMBER(7) NOT NULL,

TEHNICA_CHAR VARCHAR2(50) NULL

);


CREATE UNIQUE INDEX IPKTEHNICA

ON TEHNICA

(

TEHNICA_ID ASC

);


ALTER TABLE TEHNICA

ADD ( PRIMARY KEY (TEHNICA_ID)) ;


CREATE TABLE TEHNICAOB

(OBJECT_ID NUMBER(9) NOT NULL,

TEHNICA_ID NUMBER(7) NOT NULL,

TEHNICANUM NUMBER(9) NULL,

NAMEADD_ID NUMBER(7) NOT NULL,

DATEADD DATE NOT NULL,

NAMEINS_ID NUMBER(7) NOT NULL,

DATEINS DATE NOT NULL,

PRIM VARCHAR2(100) NULL

);


CREATE UNIQUE INDEX IPKTEHNICOB

ON TEHNICAOB

(

OBJECT_ID ASC,

TEHNICA_ID ASC

);


CREATE INDEX IFKTETEHNICAOB

ON TEHNICAOB

(

TEHNICA_ID ASC

);


CREATE INDEX IFKOBTEHNICAOB

ON TEHNICAOB

(

OBJECT_ID ASC

);


ALTER TABLE TEHNICAOB

ADD ( PRIMARY KEY (OBJECT_ID,TEHNICA_ID) ) ;


CREATE TABLE TEMA

(TEMA_ID NUMBER(7) NOT NULL,

TEMA_CHAR VARCHAR2(255) NULL

);


CREATE UNIQUE INDEX IPKTEMA

ON TEMA

(

TEMA_ID ASC

);


ALTER TABLE TEMA

ADD ( PRIMARY KEY (TEMA_ID) ) ;


ALTER TABLE BUILDINGOB

ADD ( FOREIGN KEY (BUILDING_ID)

REFERENCESBUILDING ) ;


ALTER TABLE BUILDINGOB

ADD ( FOREIGN KEY (OBJECT_ID)

REFERENCESOBECONOM ) ;


ALTER TABLE CATTEMA

ADD ( FOREIGN KEY (CATEGORY_ID)

REFERENCESCATEGORY ) ;


ALTER TABLE CATTEMA

ADD ( FOREIGN KEY (TEMA_ID)

REFERENCES TEMA );


ALTER TABLE FORMIROVOB

ADD ( FOREIGN KEY (READY_ID)

REFERENCES READY );


ALTER TABLE FORMIROVOB

ADD ( FOREIGN KEY (OBJECT_ID)

REFERENCESOBECONOM ) ;


ALTER TABLE FORMIROVOB

ADD ( FOREIGN KEY (FORMIROV_ID)

REFERENCESFORMIROV ) ;


ALTER TABLE MATERIALOB

ADD ( FOREIGN KEY (MATERIAL_ID)

REFERENCESMATERIAL ) ;


ALTER TABLE MATERIALOB

ADD ( FOREIGN KEY (OBJECT_ID)

REFERENCESOBECONOM ) ;


ALTER TABLE MATTEH

ADD ( FOREIGN KEY (SERVIS_ID)

REFERENCES SERVIS) ;


ALTER TABLE MATTEHOB

ADD ( FOREIGN KEY (MATTEH_ID)

REFERENCES MATTEH) ;


ALTER TABLE MATTEHOB

ADD ( FOREIGN KEY (OBJECT_ID)

REFERENCESOBECONOM ) ;


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (POSTGO_ID)

REFERENCES POSTGO) ;


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (POST_ID)

REFERENCES POST );


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (DEPARTAMENT_ID)

REFERENCESDEPARTAMENT ) ;


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (REGION_ID)

REFERENCES REGION) ;


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (ACTIVITY_ID)

REFERENCESACTIVITY ) ;


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (PROPERTY_ID)

REFERENCESPROPERTY ) ;


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (RISK_ID)

REFERENCES RISK );


ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (PECULIAR_ID)

REFERENCESPECULIAR ) ;


ALTER TABLE ORAUSER

ADD ( FOREIGN KEY (GOBASEUSER_ID)

REFERENCESGOBASEUSER ) ;


ALTER TABLE STUDY

ADD ( FOREIGN KEY (SPOST_ID)

REFERENCES SPOST );


ALTER TABLE STUDY

ADD ( FOREIGN KEY (OBJECT_ID)

REFERENCESOBECONOM ) ;


ALTER TABLE STUDY

ADD ( FOREIGN KEY (CATEGORY_ID)

REFERENCESCATEGORY ) ;


ALTER TABLE TEHNICAOB

ADD ( FOREIGN KEY (OBJECT_ID)

REFERENCESOBECONOM ) ;


ALTER TABLE TEHNICAOB

ADD ( FOREIGN KEY (TEHNICA_ID)

REFERENCES TEHNICA) ;

/

DROP INDEX IFKGORAUSER;


CREATE UNIQUE INDEX IFKGORAUSER

ON ORAUSER

(

GOBASEUSER_ID ASC

);


DROP INDEX IFKNOOBECONOM;

CREATE UNIQUE INDEX IFKNOOBECONOM

ON OBECONOM

(

OBJECTNO ASC

);

/


ALTER TABLE GO.OBECONOM ADD

(

FOREIGN KEY ( GLAVOBJECT_ID )

REFERENCES

GO.OBECONOM(OBJECT_ID)

);


ALTER TABLE GO.STUDY ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.STUDY ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.OBECONOM ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.OBECONOM ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.MATERIALOB ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.MATERIALOB ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.BUILDINGOB ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.BUILDINGOB ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.TEHNICAOB ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.TEHNICAOB ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.FORMIROVOB ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.FORMIROVOB ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.MATTEHOB ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.MATTEHOB ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.CATTEMA ADD

(

FOREIGN KEY ( NAMEADD_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);


ALTER TABLE GO.CATTEMA ADD

(

FOREIGN KEY ( NAMEINS_ID )

REFERENCES

GO.GOBASEUSER(GOBASEUSER_ID)

);

/


CREATE TRIGGER IU_STUDY BEFOREINSERT OR UPDATE ON GO.STUDY

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_OBECONOM BEFOREINSERT OR UPDATE ON GO.OBECONOM

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_MATERIALOBBEFORE INSERT OR UPDATE ON GO.MATERIALOB

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_BUILDINGOBBEFORE INSERT OR UPDATE ON GO.BUILDINGOB

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_FORMIROVOBBEFORE INSERT OR UPDATE ON GO.FORMIROVOB

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_TEHNICAOBBEFORE INSERT OR UPDATE ON GO.TEHNICAOB

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_MATTEHOB BEFOREINSERT OR UPDATE ON GO.MATTEHOB

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE TRIGGER IU_CATTEMA BEFOREINSERT OR UPDATE ON GO.CATTEMA

FOR EACH ROW

BEGIN


IF INSERTING THEN


SELECT GOBASEUSER_ID INTO:NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;


END IF;


SELECT GOBASEUSER_ID INTO:NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;


END;

/


CREATE SEQUENCE S_STUDY;

CREATE SEQUENCE S_CATEGORY;

CREATE SEQUENCE S_TEMA;

CREATE SEQUENCE S_SPOST;

CREATE SEQUENCE S_OBECONOM;

CREATE SEQUENCE S_PECULIAR;

CREATE SEQUENCE S_REGION;

CREATE SEQUENCE S_RISK;

CREATE SEQUENCE S_DEPARTAMENT;

CREATE SEQUENCE S_PROPERTY;

CREATE SEQUENCE S_ACTIVITY;

CREATE SEQUENCE S_POST;

CREATE SEQUENCE S_POSTGO;

CREATE SEQUENCE S_MATERIAL;

CREATE SEQUENCE S_BUILDING;

CREATE SEQUENCE S_TEHNICA;

CREATE SEQUENCE S_MATTEH;

CREATE SEQUENCE S_SERVIS;

CREATE SEQUENCE S_FORMIROV;

CREATE SEQUENCE S_READY;

/



13. ЛИТЕРАТУРА

  1. АтаманюкЛ.Г.,Ширшев.Гражданскаяоборона.-М.:Высшая школа,1986;

  2. ЖурналPCWEEK 30 сентября1997 (65стр);

  3. ЖурналPCWEEK19 августа 1997(20стр);

  4. ЖурналComputerWorld,статьяДелерри Хелд«Гдеже этот хваленыйуниверсальныйсервер»,1997 21 номер;

  5. КенХендерсон,Руководстворазработчикабаз данных вDelphi 2. Киев:Диалектика.1996;

  6. ЖурналLAN апрель1995, Статья Дж.Салеми;

  7. ЖурналLAN декабрь1995, Статья БиллаЛазарья;

  8. ЖурналСУБД 1995г №4 стр50-57;

  9. Dr.E.F. Codd "A Relational Model of Data for Large Share DataBanks", 1970;

  10. Стивен Бобровски,Oracle 7 вычислениеклиент/сервер,-М.:Лори 1996;

  11. С.Орлик,Секреты Delphi,-М.:Бином,1996;

  12. Сергей Дунаев,Borlandтехнологии,-М.:Диалог-МИФИ,1996;

  13. Эндрю Возневич,Освой самостоятельноDelphi,-М.:Бином,1996;

  14. А.Федоров,СозданиеWindows-приложенийв среде Delphi;

  15. МартинГрабер, Введениев SQL,-М.:Лори 1996;

  16. А.М.Епанешников,Программированиев среде Delphi2.0, -М.:Диалог-МИФИ,1997;

  17. B.Ю.Баженова,Windows SQL, -М.:Диалог-МИФИ,1996;

  18. В.В.Фаронов БиблиотекаTurboVision 6.0, -М.:Дидактик,1992;

  19. Справочникпо функциями процедурамBorlandPascal 7.0;

  20. Подборкастатей изэхо-конференцииRU.DELPHI,RU.DELPHI.DB в сетиFIDONET(от сентября по декабрь1997года);

  21. Подборкастатей изэхо-конференцииru.rdbms.oracle, su.dbms.sql всети FidoNet(от декабря1996 года по декабрь1997);

  22. Подборкадокументациииз «ЦентраинформационныхтехнологийМГУ» E-mailinfo@citforum.ru;

  23. Подборкарефератов изсети FidoNet.МосковскаяколлекцияReferat’s.(Адресахранителейколлекции2:5020/240@fidonet.org,2:5020/630@fidonet.org).

ГОСТ19.701-90,19.781-90, 19.104(106,201,202,401,402,501,502)-78, 2.302-68, 2.101-68


ОТЗЫВРУКОВОДИТЕЛЯ

на дипломныйпроект студентагруппы АВ-14-92

факультетаВМС МГИРЭА (ТУ)Сафронова С.О.

на тему:«Системауправлениябазой данныхобъектов Гражданской

Обороныдля принятиярешений вчрезвычайныхситуациях»


Дипломныйпроект посвященразработкебазы данныхобъектов гражданскойобороны и всовременныхусловиях возрастанияриска чрезвычайныхситуаций техногенногои экологическогохарактераданная темаявляется несомненноактуальной.

В работепроведен подробныйанализ современныхметодов организацииданных, обоснованвыбор компонентовсреды программирования,разработансетевой вариантсистемы управлениябазой данных.Данная программапозволяетсистематизироватьбольшое числовзаимосвязанныхпараметровобъектов ГО,обеспечиваетавтоматизированныйпоиск и анализнеобходимойинформации,ускоряя принятиерешений припрофилактикеЧС и ликвидацииих последствий.Разработкафункциональнозакончена иготова к использованию.Её апробацияпроводитсяв Управлениипо делам ГО иЧС ЮЗАО г. Москвыи полученозаключениео практическойценности.

При работенад проектомСафронов С.О.проявил навыкиработы с вычислительнойтехникой, знаниеоснов программированияи способностьориентироватьсяв современномсистемном иприкладномпрограммномобеспечении.Аккуратен,внимателенк окружающим,добросовестноотносится кработе. Способенсамостоятельноприниматьразумные решения.

К недостаткамследует отнести:

- излишняяизбыточностьполей «примечание»в БД;

-требовательностьпрограммногопродукта кресурсам ЭВМ;

-требовательностьк обслуживающемуперсоналу.

В целомпроект выполненна должномтехническомуровне, егосодержаниесоответствуетдипломномузаданию. Пояснительнаязаписка и графическийматериал оформленыв соответствиис предъявляемымитребованиями.Считаю, чторабота можетбыть оцененаположительно,а Сафронов С.О.заслуживаетприсвоенияквалификацииинженер-системотехник.


Руководительпроекта

к.т.н., доцент (МошкинВ.В.)


РЕЦЕНЗИЯ

на дипломныйпроект студентагруппы АВ-14-92факультетаВМС

МГИРЭА (ТУ),СафроноваСтаниславаОлеговичавыполненныйпо теме:

«Системауправлениябазой данныхобъектов ГражданскойОбороны дляпринятия решенийв чрезвычайныхситуациях»


Внастоящее времяуделяетсябольшое вниманиеавтоматизацииучета данных,в связи с чемпредставленнаяк защите работаявляется актуальнойи представляетинтерес дляспециалистовв областипроектированиябаз данных наоснове клиент/сервернойтехнологии.

В дипломномпроекте наоснове достаточнополного анализаобоснован выбороперационнойсистемы, базыданных, языкапрограммирования.Дипломникомвнесен личныйвклад в проектированиебазы данныхи разработкедействующейпрограммы,охватывающейпроизводственнуюдеятельностьобъектов гражданскойобороны в масштабахгорода. Практическаяценностьразработаннойпрограммыподтвержденарезультатамиее использованияна одном изпредприятийГО города Москвы.

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

К недостаткамследует отнести:

-требовательностьпрограммногопродукта кресурсам ЭВМ;

-формированиене законченныхотчетов;

-высокуюстоимостьпроекта.

В целом дипломныйпроект соответствуетзаданию выполнен,на должноминженерномуровне и удовлетворяеттребованиямгосударственногостандарта поспециальности22.01. "Вычислительныемашины, комплексы,системы и сети".

Дипломныйпроект СафроноваС.О. заслуживаетоценки «отлично»,а дипломникдостоин присвоенияквалификацииинженера-системотехника.


Рецензент

к.т.н., доцент (АбросимовИ.Н.)