Реферат по предмету "Информатика, программирование"


Клиентская часть технологической среды для разработки больших экономических моделей: компоненты поддержки работы эксперта-экономиста при формировании и отладке (в расчетном режиме) структурного текста модели

Государственный комитет РФ по высшемуобразованию
Московский Институт ЭлектроннойТехники
(Технический Университет)
Факультет                   МПиТК
Кафедра              ИУВС
Пояснительная записка
к дипломному проекту на тему
“Клиентская часть
технологической среды для разработкибольших экономических моделей: компоненты поддержки работы эксперта-экономистапри формировании и отладке (в расчетном режиме) структурного текста модели”.
Дипломант                            АвдейчевД.В.
Руководитель проекта                  ТареевА.Н.
Консультант                         ФишкисВ.М.
Консультант потехнологической
части                                      Волков.
Консультант поорганизационно-
экономической части           МормульН.Ф.
Консультант по технике
безопасности                         КаракеянВ.И.
1999 г.

Содержание
1.      Введение
2.      Эскизный проект
2.1    Постановка задачи
2.1.1 Определениепонятия модели
2.1.2 Требования,предъявляемые к системе экономического планирования.
2.1.3 Выборплатформы проектирования и еe обоснование
2.2    Экономическая модель в системеэкономического планирования
2.2.1 Структураэкономической модели
2.2.2 Язык модели
2.3    Общая отруктура системы
2.4    Структуры данных
2.4.1 Инфологическаямодель базы данных
2.4.2 Даталогическаямодель данных
3.  Технический проект
3.1    Конфигурация техническихсредств
3.2    Алгоритмы предварительнойподготовки данных для расчета экономической модели
3.2.1 Общийалгоритм работы программы
3.2.2 Структурапрограммы
3.2.3 АрхитектураBorland Database Engine (IDAPI) – ядро доступа к данным.
3.2.4 Иерархияформ.
3.2.5 Созданиепсевдонима BDE.
3.2.6 Модуль формыfmNew.
4.      Технология программирования с использованиемсредств быстрой разработки приложений.
4.1    Введение
4.2    Особенности RAD–средств
4.2.1 Визуальнаякомпонентность.
4.2.2 Многократноеиспользование кода.
4.3    Создание программ в средеDelphi.
4.4    Отладка программ.
5.      Расчёт затрат на разработку программы
5.1    Введение
5.2    Составляющие затрат наразработку программ Kр
5.3    Затраты на непосредственнуюразработку КП
5.3.1 Факторы КПкак объекта проектирования, влияющие на непосредственные затраты при разработкесложных программ.
5.3.2 Применениесовременных методов разработки КП.
5.3.3 Факторыоснащенности процесса разработки КП аппаратурными средствами, влияющими нанепосредственные затраты при разработке сложных программ.
5.3.4 Факторыорганизации процесса разработки КП, влияющие на непосредственные затраты присоздании сложных программ.
5.4    Затраты на изготовлениеопытного образца как продукции производственно-технического назначения.
5.5    Затраты на технологию ипрограммные средства автоматизации разработки КП.
5.6    Затраты на ЭВМ, используемыедля автоматизации разработки данной программы.
5.7    Расчет затрат на разработкусистемы моделирования макроэкономики
5.7.1 Исходныеданные
5.7.2 Коэффициентыизменения трудоемкости
5.7.3 Расчетнепосредственных затрат на разработку
5.7.4 Затраты наЭВМ
5.8    Выводы
6.  Организация рабочего места программиста
6.1    Условияпроизводственно-экологической безопасности разработчика пользователя ЭВМ
6.2    Вредные воздействия при работес компьютером
6.3    Факторы обитаемости
6.4    Воздействие электромагнитногоизлучения монитора
6.5    Оптимизация условий зрительноговосприятия
6.6    Освещение
6.7    Микроклимат
6.8    Оптимизация акустическихусловий
6.9    Электробезопасность.
6.9.1 Меры защитыот поражения электрическим током.
6.9.2 Защита отстатического электричества.
6.9.3 Защита отэлектромагнитных полей и ионизирующего излучения
6.10  Психофизические факторы
6.11  Организационные мероприятия
6.12  Пожаробезопасность
6.13  Мероприятия по организациирабочего места
6.14  Заключение
6.15  Выводы
7.  Литература

Глава 1
СПЕЦИАЛЬНАЯ ЧАСТЬ
«Клиентскаячасть технологической среды разработки экономических моделей»

/>/>/>/>/>/>/>/>/>/>/>/>Введение
Развитиесовременной компьютерной техники и программного обеспечения для нее в условияхжесткой конкуренции делает необходимым максимальную автоматизацию различныхпроизводственных процессов и делопроизводства с использованием самыхсовершенных компьютеров, которые позволяют ускорить и облегчить работучеловека, а следовательно, и снизить себестоимость товаров или предоставляемыхуслуг и повысить их качество.
Однимиз проектов Российского НИИ искусственного интеллекта является созданиепрототипа комплексной системы по теме «Компьютерное моделированиемакроэкономики Российской Федерации на основе технологии недоопределенных вычислений».Цель данного проекта — разработать технологическую среду, которая бы позволялаэкономистам создавать и изучать математические модели макроэкономики страны исоставляющих ее районов, максимально приближенные к действительности. Модель — это сложная структура, включающая в себя множество экономических показателей ивзаимосвязи между ними и описывающая поведение макроэкономики. (более подробнопонятие модели раскрыто в эскизном проекте).
Соответственно,можно различить два типа пользователей системы:
*           Экономист — разработчик: занимается непосредственной разработкой математической моделимакроэкономики, устанавливает взаимосвязи между различными компонентамимакроэкономики. Предполагает высокую экономическую квалификацию.
*           Экономист — пользователь: занимается изучением макроэкономики на основе математическоймодели, построенной экономистом — разработчиком.
Разработкасистемы моделирования позволит автоматизировать процесс расчета экономическихпараметров, исследовать поведение макроэкономики при изменении каких либосоставляющих ее показателей.
Мойдипломный проект посвящен разработке клиентской части базы данных — созданиеусловий для формирования структурного текста модели и его представление вформате «понятного» вычислительному ядру системы.
/>/>/>/>/>/>/>/>/>/>/>/>1.   Эскизный проект/>/>/>/>/>/>/>/>/>/>/>/> 1.1   Постановказадачи/>/>/>/>/>/>/>/>/>/>/>/> 1.1.1  Определениепонятия модели
Преждечем определить круг требований к системе, установим, что же скрывается подпонятием модели.
Модель является базовым понятием для любых областей знаний,использующих аппарат математики, поскольку каждая попытка работать в точныхтерминах с реальным явлением должна начинаться с описания его формальноймодели. Именно Модель представляет Объект исследования или расчетов иопределяет характер формального аппарата, используемого для описания Задачи ивыполнения необходимых вычислений. Формально, Модель определяется паройнеупорядоченных множеств — множеством переменных-параметров и множествомотношений, связывающих значения этих переменных.
Прежде всего, формальная Модель является особым типом общегопонятия Модели. Сама семантика общего понятия включает Объект моделирования. МодельЧего? - без ответа на этот вопрос понятие Модели просто не имеет смысла.
Математическая Модель реальногоявления представляет собой его формальную аппроксимацию и при определенныхусловиях может заменять оригинал в компьютерном (а иногда и аналитическом)исследовании его природы и поведения. В этом качестве Модель может служитьбазисом для решения обычных вычислительных Задач. Например:
·    каким образомданный набор значений одних параметров влияет на значения других,
·    какие значенияпараметров возможны при данном наборе ограничений,
·    какие сочетаниязначений параметров являются оптимальными для данного критерия при данномнаборе ограничений, и т.п.
Любая математическая Модель, котораяне является формализацией реальной сущности, может быть интересна в качествеобъекта исследования только самим математикам, поскольку не является аппаратомдля решения практических Задач.
Вданной системе экономического планирования Модель описывает собоймакроэкономику РФ в определенный период времени (на данном этапе с 1994 года по2000 год) и представлена в виде неупорядоченной совокупности отношений, которыесоответствуют связям, существующим между параметрами задачи (параметрами моделиявляются компоненты макроэкономики, например, статьи бюджета.). Эти отношения,называемые общим термином «ограничения» могут иметь вид уравнений,неравенств, логических выражений и т. п.
Замечательното, что одну и ту же модель можно использовать для решения различных задач(например, прямых и обратных). При этом постановка той или иной задачиконкретизируется путем добавления в модель ограничений на допустимые значенияпараметров и/или формулирования дополнительных связей между ними.
Вмодели нет априорного разделения параметров на входные и выходные. Всоответствии с требованиями решаемой задачи пользователь определяет, какие изпараметров заданы точно, какие неизвестны совсем, а какие — приблизительно(исходная информация о таких параметрах задается в виде ограничений на множествоих возможных значений). Применительно к модели макроэкономики можно утверждать,что все значения экономических параметров до 1998 года заданы точно, 1998 годаи позднее неизвестны совсем либо заданы приблизительно.
Используямодель задачи и исходную информацию о значениях ее параметров, методыпрограммирования в ограничениях обеспечивают автоматическое нахождение решения.
Всамом общем виде постановка задачи в парадигме программирования в ограниченияхформулируется следующим образом. Пусть на переменные x1, x2..., xn, областями значений которых являются множества X1, X2 , ..., Xn , заданыограничения Ci (x1 , x2 ,..., xn), i =1, k. Требуется найти наборызначений 1 , a2 , ..., an>(ai Î Xi), которые бы удовлетворяли всем ограничениямодновременно.
Такаяпостановка задачи называется проблемой удовлетворения ограничений, а для еерешения используются различные алгоритмы и методы. В частности проблемаудовлетворения ограничений может формулироваться как система уравнений счисловыми параметрами, а для ее решения могут использоваться стандартныечисленные методы. Однако при решении многих реальных задач эти методыоказываются неприменимыми, особенно если модель включает и нечисловые параметры,а начальные данные могут задаваться приблизительно в виде множеств иинтервалов, содержащих допустимые значения.
Однимиз наиболее развитых и практически значимых подходов, относящихся кпрограммированию в ограничениях, являются недоопределенные модели.
Методнедоопределенных моделей (Н-моделей) был предложен в начале 80-x годов дляпредставления и обработки неполностью определенных знаний [9]. Рассматриваемыйвначале как оригинальный метод из области искусственного интеллекта, онтрансформировался постепенно в прикладную технологию программирования вограничениях. Технология Н-моделей выделяется среди других подходоввычислительной мощностью, универсальностью и эффективностью. Фактически онаявляется единственной технологией, которая позволяет решать задачуудовлетворения ограничений в самой общей постановке. Модель макроэкономики РФ ипредставляет собой недоопределенную модель.
/>/>/>/>/>/>/>/>/>/>/>/>1.1.2   Требования,предъявляемые к системе экономического планирования.
Теперь можно уточнить постановкузадачи. Требуется написать систему, которая представляет собой технологическуюсреду для разработки больших экономических моделей. Система должна работать подуправлением Windows95, реализована в среде разработки Borland Delphi 3 и должна состоять из двух компонентов — вычислительного ядра системы (engine)и оболочки над ним. Оболочка включает в себя:
·    Набор интерфейсовдля всех типов процессов
·    База данных (БД),структура которой предполагает несколько проекций:
a.  несколькомоделей,
b.  нескольковариантов одной модели (в процессе ее разработки),
c.   нескольковариантов значений (для отладки комплекса данных и\или бюджета)
·    «Кожух»для engine:
— два уровня программы: на внешнем языке и на внутреннем,
— два уровня данных: внутренний и внешний (с заданной точностью)
— компонент управления процессом: поиск корней, управление «сужением» интервалов,задание точности и т.д.
— определение состава данных, выдаваемых на интерфейс.
·  Сервис: графика,генерация отчетов, help./>/>/>/>/>/>/>/>/>/>/>/>1.1.3   Выборплатформы проектирования и еe обоснование
Вкачестве операционной среды, в которой реализовался данный ПП, была выбранасреда Windows’95 (WindowsNT). Причины этого следующие:
·  Распространенностьэтих ОС, в связи с чем получается охват большого числа возможных пользователей;
·  Возможностьработы с большими массивами данных, реализация чего в среде Windows3.1 или в среде MS-DOS представляет нетривиальную итрудновыполнимую задачу;
·  Удобствографического интерфейса дает возможность при минимизации затрат на егореализацию максимизировать удобство работы пользователя с программой. Интерфейсинтуитивно понятен и стандартизован, соответственно пользователь не потратитмного времени на освоение программы и в дальнейшем количество возможных ошибокв его действиях будет минимизировано.
·  32-разрядностьсистем Windows’95 и WindowsNT увеличивает скорость работы ссоответствующими числами.
В качествесреды программирования была выбрана среда Borland Delphi3, сочетающая в себе как всепреимущества всех средств, относящихся к RAD[1], так и свои собственные преимущества:
·  Простота инадежность создания и отладки программы;
·  Использованиевсех преимуществ операционных систем Windows’95 и WindowsNT, включая 32-разрядность,многозадачность, удобный интерфейс и прочее;
·  Использованиеобработки исключений (exceptions), что позволяет повысить надежность работы программного продукта;
·  Наличие идоступность большого количества компонент, реализующих многие стандартныефункции.
Такимобразом, в качестве платформы для реализации была выбрана связка Windows’95 (NT) — BorlandDelphi3./>/>/>/>/>/>/>/>/>/>/>/>1.2   Экономическаямодель в системе экономического планирования/>/>/>/>/>/>/>/>/>/>/>/> 1.2.1  Структураэкономической модели
Экономическаямодель состоит из трех частей:
*           переменных
*           описания взаимосвязей междупеременными
*           подмоделей
Подпеременной подразумевается некий экономический параметр (например,доходы в процентах от ВВП). В системе каждый параметр представляется в видетабличной функции, где каждое значение (которое может быть как в виде определенногочисла, так и в виде интервала, либо вообще не задано) — это значение переменнойпри дискретном значении индекса. Под индексами понимается значениеквартала или года. На данном этапе развития проекта индексов может бытьмаксимум два, т.е. переменная может зависеть либо от года либо от квартала игода. Индекс обязательно должен иметь диапазон изменения, например, для года — от 1994 до 2000 года; для квартала — от 1 до 4-х.
Описаниевзаимосвязей между переменными или система ограничений параметров представляет собойсистему уравнений и неравенств. В системе она представляется в виде отдельногофайла. Язык описания очень схож с описанием выражений на языках высокогоуровня, таких как Basic, Pascal или C/C++.
Подмодель представляет вполне законченную экономическуюмодель, для которой также определены свои переменные, система ограничений исвои подмодели. Такая модель может рассчитываться совершенно автономно, причемей «неизвестно», входит ли она сама в какую-либо большую модель как подмодель.В качестве примера большой экономической модели, например, можно взять бюджетРоссийской Федерации, а в качестве одной из подмоделей — бюджет Свердловскойобласти.
Примерпростейшей модели бюджета, на которой испытывался прототип данной системы,можно посмотреть на рис.1

/>
Рис.1.Простейшая модель бюджета РФ./>/>/>/>/>/>/>/>/>/>/>/>/> 1.2.2  Языкмодели
Подязыком экономической модели понимается совокупность правил описанияограничений, т.е. формат записи уравнений и неравенств
Этотязык можно разделить на внешний и внутренний. Под внешним языкомподразумевается форма записи, которой придерживается экономист — разработчик.Внутренний язык — это формат записи, который «понимает» вычислитель системы.Фактически, в системе внешний язык идентичен внутреннему, но, чтобы добитьсясовместимости с первой версией (макетом), предусмотрена возможностьраспознавания текста модели макета.1.2.2.1  Внутреннийязык — язык вычислителя UniCalc
ЯзыкUniCalc — это правила по которым записывается модель для решателя UniCalc.
Наязыке решателя UniCalc пользователь можете записать модель в виде совокупностивыражений, включающих переменные, константы, стандартные математические функции,пользовательские функции. Язык решателя максимально приближен к общепринятойматематической нотации. Каждое выражение должно заканчиваться символом";".
Алфавитвходного языка решателя UniCalc состоит из всех букв латинского алфавита ирусского алфавита, всех цифр и набора специальных символов: +, -, *, /, ^, (,), [, ], =, , >=, , :=, ,, ;, and, or, not, ->,(*, *).
Именаслужат для обозначения переменных и функций. Имя может состоять только из букви цифр, причем первым символом обязательно должна быть буква.
Переменныев UniCalc’е рассматриваются двух типов: целые и вещественные. Тип переменной принимаетсяпо умолчанию. Имена целых переменных начинаются с букв i, j, k, l, m, n длялатинского алфавита, и соответственно — с букв и, й, к, л, м, н для русскогоалфавита. Остальные переменные считаются вещественными. Большие и малые буквы вимени различаются.
1.2.2.1.1   Константы
Всистеме определены константы двух типов: целые и вещественные. Целые константы- целые числа в диапазоне от -2147483646 до 2147483646. Пример записи целогочисла:
-10,-5, 0, 15, 100,...
Вещественныеконстанты — вещественные числа в диапазоне от -1e+19 до 1e+19. Пример записивещественных констант: -0.03, 3.14, 0.9999999, 10.44e-5,...
Языксодержит встроенные константы для задания постоянных величин:
 p= 3.14159,
 e= 2.71828,
 g= 9.80665.
 Этиконстанты изображаются следующим образом:
p — @pi; e — @e; g — @g.
Пример:
l:=[-@pi/2, @pi/2];
S = @pi*r^2;
f = (@e^x — @e^(-x))/2;
F= M*@g^2/2.1.2.2.1.2   Переменные
ВUniCalc'e рассматриваются переменные двух типов: целые и вещественные. Типпеременной определяется первым символом ее имени. Имя может состоять из буквлатинского и русского алфавита, а также цифр, причем первым символомобязательно должна быть буква. Имена распознаются по первым восьми символам.Большие и малые буквы в имени различаются. Имена целых переменных начинаются сбукв i, j, k, l, m, n, для латинского алфавита, и соответственно с букв и, й,к, л, м, н, для русского алфавита. Для больших букв умолчание сохраняется.Остальные переменные считаются вещественными.1.2.2.1.3   Стандартныематематические функции
sin()              синус;
cos()             косинус;
asin()            арксинус;
acos()           арккосинус;
tg()               тангенс;
ctg()              котангенс;
atan()           арктангенс;
ln()               натуральныйлогарифм;
exp()            экспонента;
abs()             абсолютноезначение;
sign()            знакчисла;
sqrt()            квадратныйкорень;
dif()              функциясимвольного дифференцирования
max(a,b,..,c) максимальноезначение;
min(a,b,...,c) минимальноезначение;
lower(0         нижнеезначение;
upper()         верхнеезначение;1.2.2.1.4   Пользовательскиефункции
Пользовательскиефункции записываются в виде:
имя_функции(список формальных параметров) := выражение;
Допускаетсяиспользование только арифметических выражений.
Вызовфункции:
имя_функции(список фактических параметров);
Примерописания пользовательской функции:
f(x,y):= x^2 + y^2 — 1;
Примервызова функции:
f(23.1,z+5) = 0;1.2.2.1.5   Комментарии
Любаяпоследовательность символов, заключенная между комбинациями символов"(*" и "*)", является комментарием и может вставляться влюбое место программы.1.2.2.1.6   Арифметическиеоперации
+       операциясложения;
— операциявычитания и унарный минус;
*        операцияумножения;
/ операцияделения;
^        операциявозведения в степень.
Арифметическиеоперации по приоритету в порядке убывания располагаются следующим образом: ^,/, *, -, +. Фактически операции "+" и "-" имеют одинаковыйприоритет, так же как и /" и "*". Для изменения приоритетаопераций используются круглые скобки. Результатом операции деления в случаеобоих целых операндов является целая часть частного.1.2.2.1.7   Логическиеоперации
OR    логическое«ИЛИ»;
AND логическое«И»;
NOT  логическое«НЕ»;
->  импликация.
Логическиеоперации по приоритету в порядке убывания располагаются следующим образом: NOT,AND, OR, ->.1.2.2.1.8   Операцииотношения
=   равно;
неравно;

>   больше;

>= большеили равно.1.2.2.1.9   Операторприсваивания
Операторприсваивания используется для инициализации переменных и для задания начальногоинтервала переменных. Вид оператора присваивания — := .
Примероперации присваивания:
х:= 999;
Y:= [5+6*10, 999].1.2.2.1.10   Переменные- массивы
Впоследних версиях решателя возможно использование массивов произвольнойразмерности:
[index_expr1, index_expr2,…,index_exprN]
Типэлементов массива определен в имени массива согласно правилам, действующим для имен переменных. Индексные выражения должны быть целыми константамиили выражениями, результат которых — целое число. Элемент массива — это та жесамая переменная, только записанная в специфической форме.1.2.2.2  Внешнийязык
Внешнийязык модели полностью идентичен внутреннему, поскольку разработкой модели будетзаниматься эксперт — экономист, что, в свою очередь, подразумевает некие навыкипрограммирования. Но, для совместимости с первой версией системы возможнораспознавание текста модели макета. Отличие внешнего языка от внутреннего вданном случае состоит в том, что в языке макета не существовало понятия циклов,поскольку вычислитель системы их не поддерживал, т.е. для него не былоопределено понятие массивов. Таким образом, чтобы описать в формуле зависимостьпараметра от индексов, нужно было вводить некоторые скобки — разделители, вкоторых записывались обозначения индексов. Таким образом, на внешнем языкеформула, описывающая ограничение, была одна, а во внутреннем языке, послеобработки препроцессором, получалось N формул, где N — числосочетаний индексов, используемых в формуле и не выходящих за границы диапазонаизменения индекса. Вместо обозначения индекса во внутреннем языке подставлялосьего значение.1.2.2.3  Примерформулы на внешнем языке и внутреннем языке
Пустьсуществует несколько параметров A, B и С которые зависят от индекса Y, изменяющегося в диапазоне от 1992до 1995. Параметр С, кроме этого зависит от индекса K, изменяющегося в диапазоне от 1 до 4-х. Также от параметра Кзависит параметр D. Между нимисуществует взаимосвязь:
C{K,Y}=A{Y}+B{Y-1}+D{K+2};
          Фигурныескобки {} «показывают» препроцессору, что перед ним переменная, которая зависитот индексов, находящихся в этих скобках. После трансляции на внутренний языкполучается система уравнений:
C[1,1993]=A[1993]+B[1992]+D[3];
C[1,1994]=A[1994]+B[1993]+D[3];
C[1,1995]=A[1995]+B[1994]+D[3];
C[2,1993]=A[1993]+B[1992]+D[4];
C[2,1994]=A[1994]+B[1993]+D[4];
C[2,1995]=A[1995]+B[1994]+D[4];
Новсе это сделано для распознавания «старых» моделей. Эту формулу также можнозаписать в виде, применяемом в нынешней версии.
/>/>/>/>/>/>/>/>/>/>/>/>1.3   Общаяотруктура системы
/>
Рис.2. Структура системы.
Учитывая специфику задачи ивозможности операционной системы, разрабатываемая система должна иметь следующуюструктуру, показанную на рис.2
Вычислитель системы — UniCalc — реализован в виде динамическисвязываемой библиотеки (DynamicLinkLibrary), которая экспортирует функции и переменные. Вычислитель основан напринципах недоопределенной математики и разрабатывается в Академгородке вНовосибирске.
База данных реализована в формате DB, т.е. в формате Paradox. В этом формате, в основном,хранятся значения экономических параметров, т.е. входные и выходные данные.Ограничения параметров, т.е. система неравенств, уравнений представлена в видетекстового файла, поскольку данная информация не упорядочивается и неструктурируется.
Макропрепроцессорреализован в виде функций, находящихся в основном модуле системы, и функцийдинамически связываемой библиотеки. Такая реализация обусловлена проблемойсовместимости с первой версией системы — функции библиотеки DLL служат для конвертирования модели изстарого формата. />/>/>/>/>/>/>/>/>/>/>/>1.4   Структурыданных
Входныеи выходные данные экономической модели хранятся в базе данных, реализованной вформате Paradox. В ней хранятся данные поэкономическим параметрам, т.е. их описания и значения, и по структуре модели./>/>/>/>/>/>/>/>/>/>/>/>1.4.1   Инфологическаямодель базы данных
Инфологическаямодель подразумевает собой описание предметной области, которую следуетпредставить в виде некоторой структуры базы данных, без привязки к какой-либосистеме управления базами данных, имеет целью упорядочить информацию опредметной области, ее составе, и включает в себя следующие описания:
·  предметнойобласти;
·  объектов и связимежду ними;
·  лингвистическое;
·  ограниченияцелостности;
·  алгоритмическихсвязей между показателями объектов;
·  информационныхпотребностей пользователя.1.4.1.1  Предметнаяобласть
Подпредметной областью подразумевается какая-либо область человеческойдеятельности, вызывающая интерес для исследования. В данном случае предметнойобластью является макроэкономика РФ в целом и макроэкономика составляющих еерайонов.
1.4.1.2  Описаниеобъектов
/>
Рис.3.Структура объектов базы данных.
1.4.1.3  Связимежду объектами
/>
Рис.4. Связи между объектами.1.4.1.4  Лингвистическоеописание
Базаданных описывает экономическую модель, поэтому одним из объектов, входящих вбазу, является объект «Экономическая модель». Объект «Экономическаямодель» описывает файловую структуру экономической модели. Признаками данного объектаявляются
·  обозначениемодели — статический атрибут, который показывает, под каким псевдонимомвыступает экономическая модель в различных выходных формах системы, например, вформе с деревом модели;
·  описание модели — статический атрибут, целью которого является пояснение — какую, собственно,часть макроэкономики описывает данная модель. В частности, это может бытьпредставление макроэкономики какого-нибудь региона;
·  путь к базеданных модели — динамическое свойство;
·  название файлаограничений (файл, содержащий систему уравнений и неравенств для данной модели)- динамический атрибут.
Кромеэтого в базе существуют объекты, которые описывают логическую структуру модели.
Объект«Экономический параметр». Синонимом данного объекта также является «экономическаяпеременная». Объект имеет следующие свойства:
·  обозначениепараметра в модели — статический признак, который показывает, под какимпсевдонимом (алиасом) используется данная переменная в системе, например, всистеме ограничений;
·  описание параметра(название параметра) — статическое свойство.
Объект«Индекс» — некая переменная, от которой зависят экономические параметры,в данном проекте эта переменная обозначает различные годы и кварталы. Признакиданного объекта следующие:
·  обозначение индексамодели — статический атрибут, показывающий, под каким псевдонимом используетсяиндекс. В проекте обычно имеет вид «Y» (year);
·  минимальноезначение — данное свойство, как и остальные, является статическим;
·  максимальноезначение;
·  шаг изменения, впроекте обычно имеет значение «1».
Посколькуцелью работы системы является автоматизация расчетов различных параметровмакроэкономики, а также проверка различных предложений по разработкеэкономической политики, поэтому в базе существует объект «Версия расчетамодели». Данный объект нужен для регистрации расчета системы, т.к.рассчитываться может либо вся модель, либо в автономном режиме ее подмодель, идля реализации «отката» в системе, т.е. попытки вернуться на N шагов назад к данным предыдущих расчетов.Но на данной стадии производится расчет всей модели, автономный режим пока нереализован. Все свойства данного объекта являются статическими и выглядятследующим образом:
·  номер версии.После запуска системы, т.е. до всех расчетов, по умолчанию номер версии равеннулю;
·  комментарий поверсии — например, «Проверка предложения фракции ЛДПР по введению новыхналогов»
          Вбазе имеется агрегированный объект, содержащий значения экономическихпараметров в зависимости от версии расчетов. Атрибутами данного объектаявляются:
·  порядковый номерв переменной — статической свойство. По существу, экономическая переменнаяпредставляет собой массив, у которого, в общем случае, неизвестна ниразмерность, ни диапазон изменения индексов. Данный признак введен для простотыработы с базой. Фактически, он отражает уникальную комбинацию значенийиндексов, от которых зависит экономический параметр;
·  значение — динамическое свойство. Имеет вид либо точного значения, либо некоторогоинтервала.1.4.1.5  Алгоритмическиесвязи
Порядковыйномер в переменной равен номеру уникальной комбинации значений индексов, откоторых зависит экономическая переменная. Номера в переменной вычисляются повзаимосвязи переменной с индексами.
Значениеиндекса = минимальное значение + i *шаг изменения, i — некотороецелое число, при условии, что значение индекса меньше либо равно максимальномузначению индекса.1.4.1.6  Информационныепотребности пользователя
Пользователюочень важно знать все значения экономических параметров, чтобы на основаниивсех полученных данных успешно моделировать поведение экономики при различныхвоздействиях на нее.1.4.1.7  Ограничениецелостности
Вобъекте «Версия расчета модели» нужно, чтобы номер версии былнеотрицательным, поскольку при отрицательном значении он не имеет смысла.Нулевое значение номер принимает при создании новой экономической модели, т.е.до ее первого расчета.
Вобъекте «Индекс» минимальное значение должно быть меньше максимальногозначения. Кроме того, сумма минимального значения индекса с шагом изменениядолжна быть меньше либо равно максимального значения индекса. Шаг изменения — это неотрицательное значение.
Вобъекте «Значение переменной» порядковый номер переменной можетизменяться в пределах от единицы до произведения количества значений всехиндексов, входящих в данную переменную./>/>/>/>/>/>/>/>/>/>/>/>1.4.2   Даталогическаямодель данных
Поддаталогической моделью (ДЛМ) подразумевается отображение конечных связей междуреальными объектами предметной области к их смысловому содержанию в средехранения. ДЛМ строится в терминах информационных единиц, предусмотренных вконкретной системе управления базами данных.
Всеобъекты и связи между объектами в нашем случае можно выразить следующимисоотношениями:
·  экономическаямодель(обозначение модели, описание модели, путь к базе данных модели, названиефайла ограничений) — таблица Model.db;
·  экономическийпараметр(обозначение параметра в модели, описание параметра) — таблица Params.db;
·  индекс(обозначениеиндекса, минимальное значение индекса, максимальное значение, шаг изменения) — таблица Indexes.db;
·  версия расчетамодели(номер версии, обозначение модели, комментарий по версии) — таблица Version.db;
·  зависимостьэкономического параметра от индексов(обозначение параметра, обозначениеиндекса) — таблица Inter.db;
·  зависимостьзначения переменной от версии расчета (обозначение параметра, обозначениеиндекса, значение индекса, номер версии, значение переменной). Данную связьможно представить двумя таблицами, которые описываются следующими отношениями:
1.  Различные сочетания индексов впеременной(обозначение параметра, обозначение индекса, значение индекса, номерсочетания индексов) — таблица Param.db.
2.  Значение параметра(обозначениеэкономической переменной, значение переменной, порядковый номер в переменной,номер версии расчета) — таблица Ver_value.db.
Вприведенных отношениях номер сочетания индексов и порядковый номер в переменной- это одно и то же. Данное разбиение позволяет избежать избыточности — таблица,построенная на первом отношении будет содержать не изменяющиеся данные и, еслив модель не добавлять новых переменных, будет служить неким неизменяемымсправочником.
Науровне таблиц это выглядит следующим образом:
Вприведенных ниже таблицах обозначение вида «X» в колонке «№», где X— номер поля, означает, что данноеполе является ключевым.
 
Indexes.db

Имя
Тип
Размер
Комментарий “1” ID Char 5 Обозначение индекса 2 Mn Integer Минимальное значение 3 Mx Integer Максимальное значение 4 Step Integer Шаг изменения
 
Model.db

Имя
Тип
Размер
Комментарий “1” ID Char 10 Обозначение модели 2 Remark Char 50 Комментарий по модели 3 Path Char 100 Директория, в которой хранятся файлы модели 4 MFile Char 20 Файл описания модели
 
Inter.db

Имя
Тип
Размер
Комментарий “1” ID Char 10 Обозначение объекта “2” IID Char 10 Обозначение объекта, от которого зависит ID 3 InForm Integer Позиция в последовательности индексов, от которых зависит переменная, в системе ограничений 4 Kind Char 10 Тип записи
Неописанныев отношениях поля:
·  InForm — необходимо для распознавания файлаограничений. Показывает номер в последовательности индексов, например, приобозначении некоторой переменной f, зависящей от индексов Kи Y, в виде f(Y,K), позиция Y равняется единице, для K — два.
·  Kind — введено для дальнейшего развитияпроекта. Для описанного отношения значение будет «v» (variable), т.е. запись в таблице описывает взаимосвязь переменной с индексом. Вдальнейшем будет использоваться для описания вхождения в модель некоторыхглобальных переменных, т.е. модель будет выступать в качестве подмодели,значение в этом случае «g»(global).
 
Param.db

Имя
Тип
Размер
Комментарий «1» ID Char 10 Обозначение переменной «2» IID Char 10 Обозначение индекса «3» iid_value integer Значение индекса «4» Num Integer Порядковый номер в переменной
 
Params.db

Имя
Тип
Размер
Комментарий «1» ID Char 10 Обозначение переменной 2 Remark Char 50 Описание переменной
Version.db

Имя
Тип
Размер
Комментарий «1» Ver Integer Номер версии 2 Remark Memo Комментарий по версии «3» ID Char 10 Обозначение модели
/>/>/>/>/>/>/>/>/>/>/>/>2.   Технический проект
Вэтом разделе рассматриваются алгоритмы клиентской части реализации доступа кданным в архитектуре клиент/сервер./>/>/>/>/>/>/>/>/>/>/>/>2.1   Конфигурациятехнических средств
Требования к составу ипараметрам технических средств соответствуют требованиям к программномупродукту — системе моделирования макроэкономики.
Минимальнонеобходимое оборудование:
PC… 80486SX2-66;
RAM… 12MB;
HDD… 50MB свободных;
Screen… ColorVGA.
Рекомендуемоеоборудование:
PC… Pentium133 МГц;
RAM… 32 MB;
HDD… 30 MB свободных;
Screen… ColorSVGA;
Необходимоепрограммное обеспечение:
ОС… Windows’95;
Машина баз данных… BorlandDataBase Engine 3.0;
Приложение… Системамоделирования макроэкономики.
/>/>/>/>/>/>/>/>/>/>/>/>2.2   Алгоритмыпредварительной подготовки данных для расчета экономической модели/>/>/>/>/>/>/>/>/>/>/>/> 2.2.1  Общийалгоритм работы программы
/>
/>/>/>/>/>/>/>/>/>/>/>/>2.2.2   Структурапрограммы
Структурапрограммы представлена на риc.5
/>
Рис.5. Структура программы.
/>/>/>/>/>/>/>/>/>/>/>2.2.3  АрхитектураBorlandDatabase Engine(IDAPI) – ядро доступа кданным.
Заболее чем 25-летнюю историю развития реляционных баз выработался ряд новыхтребований к методам и средствам доступа к данным.За такую долгую историю впромышленном использовании нашли своё применение огромное количество форматовхранения данных.Поэтому одним из основных вопросов дальнейшего развития СУБДстал вопрос о создании единой среды обработки данных.На базе многолетнего опытасоздания инструментальных средств компания Borland предоставила разработчикам свою технологию доступа кданным – Borland Database Engine, Известную также как IDAPI (Integrated DatabaseAPI).Идеология доступа к локальным иклиент/серверным данным существенно отличаются (в одном случае используется навигационныйподход, в другом – язык SQL,ориентированный на множество данных). BDE объединяет эти подходы без уменьшения функциональных возможностейкождого из них. Поэтому BDE (IDAPI) положен в основу инструментовсоздания масштабируемых систем обработки данных, одним из которых является Delphi.
BDEпредоставляет единый набор функций (API) обработки локальных и серверных данных. Обращение к различнымисточникам данных основано на коцепции драйверов. Таким образом обеспечиваетсяинтерфейс к наиболее распространённым форматам/способам хранения данных: dBase, Paradox и серверным источникам InterBase, Oracle, Sysbase,Informix, MS SQL-Server.
Когдаречь заходит об обработке данных в структуре клиент/сервер следует понимать,что реализация доступа к серверным данным несколько усложняется. В этом случаевводится понятие middleware –некоего среднего звена, отвечающего за взаимодействие универсального интерфейса(в нашем случае IDAPI) склиентскими средствами сервера БД. В качестве такого middleware для пользователей BDE выступает Borland SQL Links, также реализованный в виде набора драйверов длякаждого конкретного сервера. /> />
Рис. 6 отражает такой подход кобработке серверных данных.
/>

/>/>/>/>/>/>/>/>/>/>/>2.2.4  Иерархияформ.
Формыбаз данных Delphi можно разделить на четыре следующихфункциональных класса.
1.Редактирование и ввод. Простая форма, представляющая одну запись однойтаблицы.
2.Сетка. Форма, которая отображает несколько строк одной таблицы, как этоделается в программах электронных таблиц (каждая строка таблицы базы данныхзанимает одну строку на экране).
3.Управляющая сетка. Форма, которая отображает несколько строк однойтаблицы (каждая строка таблицы базы данных занимает несколько строк экрана).
4.Главная-подчиненная. Форма, которая показывает строки двух или болеесвязанных таблиц.
Приразработке приложения прежде всего создаются и сохраняются в хранилище объектовDelphi формы-предки. Затем на их основесоздаются все формы, являющиеся потомками.
/>
Рис.6. Иерархия форм.

/>/>/>/>/>/>/>/>/>/>/>2.2.5 Созданиепсевдонима BDE
Первое,что надо сделать при разработке приложения базы данных с помощью Delphi, — создать псевдоним BDE, представляющий базу данных нашегоприложения. Созданный псевдоним будет использоваться в приложении для обращенияк реальной базе данных.
Длясоздания псевдонима мы используем многофункциональное средство Delphi Database Explorer.
/>
Рис.7. Окно Database Explorer после добавления нового псевдонима BDE.
Далее рассмотрим подробнее некоторыемодули отвечающие за связь с базой данных./>/>/>/>/>/>/>/>/>/>/>2.2.6   Модульформы fmNew
Если мы выберем пункт меню Файл®Новаямодель, тогда вызывается модуль, который отвечает за открытие новой модели.
Рис.8. Форма fmNew.
/>

Модуль состоит из пяти процедур.Рассмотрим только наиболее интересующие нас.
/> />
ПроцедураTfmNew.BitBtn1Click
/>
Рис.9.Алгоритм работы процедуры TfmNew.BitBtn1Click
Описываем переменные:
var
 s: String;
 i: longint;
Если в строке не ввели имя модели тогдавывести сообщение ‘Введите имя модели’
begin
 if eNew.Text='' then begin
 MessageDlg('Введитеимямодели',mtError, [mbOk], 0);
 eNew.SetFocus;
 exit;
 end;
Если не ввели путь к базе данных моделивывести сообщение об ошибке
 ifePath.Text='' then begin
 MessageDlg('Введитепуть к базе данных модели', mtError,[mbOk], 0);
 ePath.SetFocus;
 exit;
 end;
Если не ввели название файла моделивывести сообщение об ошибке
 ifeModel.Text='' then begin
 MessageDlg(‘Введитеназвание файла модели', mtError,[mbOk], 0);
 eModel.SetFocus;
 exit;
 end;
Идентификация имени модели
 fmMain.DbPath:=ePath.Text+'\'+eNew.text+'.gdb';
 fmMain.Model:=ePath.Text+'\'+eNew.text+'.gdb';
Вырезаем имя файла с текстом формул
 s:=UpperCase(eModel.Text);
 if (pos('.MDL',s)=0) then begin
 s:='';
 ifpos('.',eModel.Text)=length(eModel.Text)-3
 then for i:=1 tolength(eModel.Text)-4 do s:=s+eModel.Text[i];
 s:=eModel.Text+'.MDL';
 end;
 fmMain.FModel:=s;
Обработка исключительной ситуации
 tryfileUtil.copyfile(extractfilepath(application.ExeName)+'base.gdb',ePath.Text+'\'+eNew.text+'.gdb',nil);
 except
 showmessage(Ненайден прототип базы);
 exit;
 end;
Добавляем параметры подключения к базеданных.
 withfmmain.DataBase do begin
 Connected:=false;
 Params.Clear;
 params.Add('user name=sysdba');
 params.Add('password=masterkey');
 params.Add('servername='+ePath.Text+'\'+eNew.text+'.gdb');
 Connected:=true;
 end;

МодульформыfmForm1.
/>

/>
Рис.10. алгоритм работы процедуры TfmForm1.FormCreate формы fmForm1.
/>

Процедура TfmForm1.FormCreate.
begin
i:=1;
 strQ:='select ID,path,MFile from Model';
qMain.Close;
 qsec.Close;
 with db1 do begin
 Connected:=false;
 Params.Clear;
 params.Add('user name=sysdba');
 params.add('password=masterkey');
 params.Add('server name='+fmmain.dbPath);
 Connected:=true;
 end;
 model_name:=fmMain.DbPath;
 qMain.SQL.Clear;
 qSec.SQL.Clear;
 qsec.Close;
Выборкаимени модели из таблицы ‘Model’
 Self.qMain.SQL.Add(strQ);
 Self.qMain.Open;
 model:=tv.Items.AddFirst(nil,Self.qMain.FieldByName('ID').AsString);
 fmMain.FModel:=Self.qMain.FieldByName('MFile').AsString;
Циклрекурсивной выборки подмоделей и переменных
 whilei
 Self.qMain.First;
 Self.qMain.MoveBy(i);
 child_model:=tv.Items.AddChild(model,Self.qMain.FieldByName('ID').AsString);
 strTmp:=Self.qMain.FieldByName('Path').AsString;
 Self.qMain.close;
 showchild(child_model, strTmp);
 inc(i);
 strQ:='select ID,path from Model';
 Self.qMain.SQL.Clear;
 Self.qMain.SQL.Add(strQ);
 Self.qMain.Open;
 end;
Выборкапараметров моделей из таблицы ‘Params’
 i:=0;
 strQ:='Select id from params';
 Self.qMain.close;
 Self.qMain.SQL.Clear;
 Self.qMain.SQL.Add(strQ);
 Self.qMain.Open;
Заполнение дерева
 while i
 (tv.Items.AddChild(model,Self.qMain.FieldByName('id').AsString));
 Self.qMain.Next;
 inc(i);
 end;
 count_grids:=0;
qMain.Close;
 qSec.close;
Визуализациядерева и таблицы
 fmMain.SpeedButton3.Enabled:=true;
 fmMain.SpeedButton2.Enabled:=true;
 fmMain.SpeedButton1.Enabled:=true;
 treevisible:=true;
 tablevisible:=true;
 graphvisible:=true;
 model.Expand(true);
end;

Модуль формы fmVar
Форма отвечающая за ввод переменных.
/>

Рис.11. Форма fmVar.
Процедура TfmVar.BitBtn1Click.
Дерево модели может включать в себяпеременные, подмодели, а также группы из переменных и подмоделей, но на данномэтапе развития проекта понятие группы пока не рассматривается… Также пока несуществует модели макроэкономики, которая была бы структурирована достаточнымобразом, т.е. в нее кроме переменных входила бы хоть одна подмодель. Такимобразом, на данном этапе развития проекта имеет смысл говорить о модели,состоящей только из переменных. Программно это выполнено следующим образом:после ввода имени переменных, комментария и индексов, от которых зависитпеременная, из таблицы indexes.dbс помощью SQL — запроса выбирается информация поиндексам, от которых зависит переменная, и, на основании этой информации,формируется таблица для первоначальных значений. Далее, после того, какпользователь ввел начальные значения переменной, заполняются таблицы inter.db, param.db, params.db и var_value.db. Все это делает процедура класса fmVar.

/>
Рис.11. алгоритм работыпроцедуры TfmVar.BitBtn1Clickформы fmVar.
var
 i,j,num: longint;
 Two: Boolean; — имеет значение True, когда переменная зависит от 2-х индексов
begin
 if (eVar.Text='') or(lbVar.Items.Count=0) then exit;
 if lbVar.Items.Count>2then begin
 MessageDlg('В переменной должно быть не большедвух индексов',mtError,[mbOk],0);
 exit;
 end;
 IndexChance:=not IndexChance;
 lbAll.Enabled:=notlbAll.Enabled;
 lbVar.Enabled:=notlbVar.Enabled;
 sgVar.Enabled:=notsgVar.Enabled;
 eVar.Enabled:=noteVar.Enabled;
 eRem.Enabled:=noteRem.Enabled;
 sgVar.ShowHint:=notsgVar.ShowHint;
 if lbVar.Items.Count=2then Two:=True
 else Two:=False;
Кнопка Ok нажата один раз
 if not IndexChance then begin
 fmMain.qMain.SQL.Clear;
Выборка параметров индексов
fmMain.qMain.SQL.Add('SELECT* from Indexes where ID='+#39+lbVar.Items.Strings[0]+#39+';');
 fmMain.qMain.Open;
Количество столбцов таблицы sgVar
 sgVar.ColCount:=round((fmMain.qMain.FieldByName('Mx').AsInteger-fmMain.qMain.FieldByName('Mn').AsInteger)div fmMain.qMain.FieldByName('Step').AsInteger+1)+1;
Если переменная зависит от 2-хиндексов
 if Two then begin
 fmMain.qSec.SQL.Clear;
 fmMain.qSec.SQL.Add('SELECT* from Indexes where ID='+#39+lbVar.Items.Strings[1]+#39+';');
 fmMain.qSec.Open;
Количество строк таблицы sgVar для второго индекса
 sgVar.RowCount:=round((fmMain.qSec.FieldByName('Mx').AsInteger-fmMain.qSec.FieldByName('Mn').AsInteger) div fmMain.qSec.FieldByName('Step').AsInteger+1)+1;
 end;
Заполнение верхней строки таблицы sgVar значениями индекса
 sgVar.FixedRows:=1;
 sgVar.FixedCols:=1;
 for i:=1 tosgVar.ColCount-1 do
 sgVar.Cells[i,0]:=IntToStr(fmMain.qMain.FieldByName('Mn').AsInteger+(i-1)*fmMain.qMain.FieldByName('Step').AsInteger);
Если переменная зависит от 2-хиндексов
 if Two then begin
Заполнение первого столбца таблицы sgVar значениями второго индекса
 for i:=1 to sgVar.RowCount-1 do
 sgVar.Cells[0,i]:=IntToStr(fmMain.qSec.FieldByName('Mn').AsInteger+(i-1)*fmMain.qSec.FieldByName('Step').AsInteger);sgVar.Cells[0,0]:=fmMain.qSec.FieldByName('Id').AsString+'\'+fmMain.qMain.FieldByName('Id').AsString;
 end
 elsesgVar.Cells[0,0]:=fmMain.qMain.FieldByName('Id').AsString;
 fmMain.qMain.Close;
 fmMain.qSec.Close;
 end
Кнопка Ok нажата второй раз
 else begin
 for i:=0 tolbVar.Items.Count-1 do begin
 fmMain.qMain.SQL.Clear;
Заносим имя переменной и ее индекс втаблицу Inter
 fmMain.qMain.SQL.Add('INSERT INTOInterVALUES('+#39+eVar.Text+#39+','+#39+lbVar.Items.Strings[i]+#39+',1,'+#39+'v'+#39+');');
 fmMain.qMain.ExecSQL;
 end;
 num:=0;
Заносим в базу данных значенияпеременных иэ табл. sgVar
 for i:=1 to sgVar.ColCount-1 do
 for j:=1 tosgVar.RowCount-1 do begin
 fmMain.qMain.SQL.Clear;
 inc(num);
 fmMain.qMain.SQL.Add('INSERTINTO ParamVALUES('+#39+eVar.Text+#39+','+#39+lbVar.Items.Strings[0]+#39+','+#39+sgVar.Cells[i,0]+#39+','+IntToStr(num)+');');
 fmMain.qMain.ExecSQL;
Заносим в табл. Param имена переменных и их комментарии
 if Two then begin
 fmMain.qMain.SQL.Clear;
 fmMain.qMain.SQL.Add('INSERTINTO ParamVALUES('+#39+eVar.Text+#39+','+#39+lbVar.Items.Strings[1]+#39+','+#39+sgVar.Cells[0,j]+#39+','+IntToStr(num)+');');
 fmMain.qMain.ExecSQL;
 end;
 fmMain.qMain.SQL.Clear;
 fmMain.qMain.SQL.Add('INSERTINTO Var_valueVALUES('+#39+eVar.Text+#39+','+IntToStr(num)+','+#39+sgVar.Cells[i,j]+#39+','+'0);');
 fmMain.qMain.ExecSQL;
 fmMain.qMain.SQL.Clear;
 fmMain.qMain.SQL.Add('INSERTINTO Var_value VALUES('+#39+eVar.Text+#39+','+IntToStr(num)+',"",'+'-1);');
 fmMain.qMain.ExecSQL;
 end;
 fmMain.qMain.SQL.Clear;
 fmMain.qMain.SQL.Add('INSERTINTO Params (id,remark)VALUES('+#39+eVar.Text+#39+','+#39+eRem.Text+#39+')');// changed for MDI
 fmMain.qMain.ExecSQL;
Добавляем переменную в деревопеременных
 if not(TfmForm1(fmMain.ActiveMDIChild).tv.Selected.HasChildrenor not(TfmForm1(fmMain.ActiveMDIChild).tv.Selected.Parentnil )) then TfmForm1(fmMain.ActiveMDIChild).tv.Items.AddChild(TfmForm1(fmMain.ActiveMDIChild).tv.Selected.Parent,eVar.Text)
 else TfmForm1(fmMain.ActiveMDIChild).tv.Items.AddChild(TfmForm1(fmMain.ActiveMDIChild).tv.Selected,eVar.Text);
 Close;
 end;
end;

МодульформыfmSetInter.
/>
Рис.12. форма fmSetInter.
/>
Рис.13. алгоритм работы процедуры TfmSetInter.cb1Change формы fmSetInter.
ПроцедураTfmSetInter.cb1Change.
var
 i:integer;
 begin
Если минимальное значение изменено
 if TComboBox(sender).name='cb1'then begin
Списку максимальных значенийприсвоить список минимальных
 cb2.items:=cb1.items;
Если выбрано мин. значение – удаляемиз макс. списка лишнее
 if cb1.itemindex-1 then fori:=0 to cb1.itemindex-1 do cb2.Items.Delete(0);
 end;
Если выбраны все значения – кнопка Ok доступна
 if (cb1.ItemIndex-1) and(cb2.itemindex-1) then OKBtn.enabled:=true
 elseokBtn.enabled:=False;
Сохраняем значения
min:=cb1.items[cb1.itemindex];
max:=cb2.items[cb2.itemindex];
/>

МодульформыfmIndex.
Рис.14. форма fmIndex.

Рис.15. алгоритм работы процедуры TfmIndex.FormClose.
/>

var
 i: longint;
begin
Курсор в начало таблицы
 tIndex.First;
цикл по всем строкам таблицы
 for i:=1 to tIndex.RecordCount dobegin
условия корректности
 if(tIndex.FieldByName('Mn').AsInteger>tIndex.FieldByName('Mx').AsInteger)
 or(tIndex.FieldByName('Mn').AsInteger+tIndex.FieldByName('Step').AsInteger>tIndex.FieldByName('Mx').AsInteger)
 then begin
сообщение об ошибке
 MessageDlg('Введите привильное значениеиндекса', mtError, [mbOk], 0);
 Action:=caNone;
 exit;
 end;
переход на следущую строку
 tIndex.Next;
 end;
закрытие таблицы tIndex
 tIndex.Active:=False;
end;

Глава 2
ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ
 
“ Технология программирования с использованием средствбыстрой разработки приложений”2. />/>/>/>/>/>/>/>/>/>Технология программирования с использованием средствбыстрой разработки приложений/>/>/>/>/>/>/>/>/>/> 2.1 Введение
Темаданной главы — технология быстрой разработки приложений — RAD (Rapid Application Development). Данная технология сравнительнонова, но она быстро становится популярной, многие производители средствразработки приложений взяли эту технологию на вооружение.
Хотяэто и новый подход в программировании, но и до появления RAD–средств делались попытки облегчитьтруд программиста, сделать этот труд более продуктивным, повысив этимбыстродействие и удобство создания приложений. Первоначально появилисьинтегрированные среды разработки — IDE (Integrated Development Environment), объединяющие компилятор,специальный текстовый редактор, ориентированный на работы с текстами на целевомязыке программирования и средства отладки — трассировщик—дебаггер и другие. Посравнению с предыдущими средствами программирования это был большой шаг вперед,но затем появились CASE–средства,которые позволяли максимально визуализировать процесс создания программы, нопользоваться ими было чересчур неудобно из-за их негибкости. В большинствеслучаев написать достаточно сложную программу было очень трудно. Сейчас этисредства используются там, где подход достаточно однообразен — например принаписании средств работы с базами данных.
Средстваже быстрой разработки приложений (в дальнейшем — RAD–средства), взяв все лучшее из интегрированных средразработки и CASE систем, объединили мощь и гибкостьработы с исходными текстами с удобством создания графического интерфейсапользователя — GUI (Graphic User Interface). К сожалению, большинство RAD–средств не позволяют визуализироватьлогику самой программы, но и те методы, которые заложены в современные RAD–средства, позволяют поднятьпроизводительность разработки программ в 2-3 раза.
Первойвариантом RAD–средств можно назвать продукт фирмы Microsoft— VisualBasic, появившийся в начале девяностых годов. Но пикпопулярности подобных средств наступил совсем недавно — сразу несколько ведущихфирм по производству средств создания приложений анонсировали новые версиисвоих продуктов, которые уже могут по праву называться RAD–средствами. Среди них можно назвать Microsoft Visual C++, Microsoft VisualJava, Power Builder (PowerSoft), Optima++ (PowerSoft), Borland Delphi, Borland C++Builder и много других. В данной главе основной акцент будет делаться на систему BorlandDelphi3, поскольку именно эта среда использовалась приразработке программы в рамках данного дипломного проекта. Соответственно,большее внимание будет уделяться и диалекту языка Pascal — ObjectPascal, который используется в качестве языка программирования в среде Delphi./>/>/>/>/>/>/>/>/>/>2.2Особенности RAD–средств
Двеосновных черты RAD–средств — этовизуальная компонентность и многократное использование кода. Каждая из этихчерт предназначена для повышения производительности программирования. Рассмотрим их подробнее.

/>/>/>/>/>/>/>/>/>2.2.1 Визуальная компонентность
Данныйподход является логическим развитием объектно-ориентированного программирования(ООП). Каждый компонент имеет свои события (events),методы (methods) и свойства (properties).Методы и события пришли из объектно-ориентированного программирования, асвойства являются привилегией компонентного подхода. Свойства позволяют изменитьсостояние компонента, причем как динамически — во время работы программы, так истатически — визуально во время разработки. Естественно, что компоненты имеетвсе те особенности, что и объекты в объектно-ориентированном программировании — наследование, полиморфизм и инкапсуляция. Таким образом, описание типичногокомпонента выглядит следующим образом:
 
 TBitBtn= class(TButton)
 private
 FCanvas: TCanvas;
 FGlyph: Pointer;
 FStyle: TButtonStyle;
 FKind: TBitBtnKind;
 FLayout: TButtonLayout;
 FSpacing: Integer;
 FMargin: Integer;
 IsFocused: Boolean;
 FModifiedGlyph: Boolean;
 procedure DrawItem(const DrawItemStruct: TDrawItemStruct);
 procedure SetGlyph(Value: TBitmap);
 function GetGlyph: TBitmap;
 function GetNumGlyphs: TNumGlyphs;
 procedure SetNumGlyphs(Value: TNumGlyphs);
 procedure GlyphChanged(Sender: TObject);
 function IsCustom: Boolean;
 function IsCustomCaption: Boolean;
 procedure SetStyle(Value: TButtonStyle);
 procedure SetKind(Value: TBitBtnKind);
 function GetKind: TBitBtnKind;
 procedure SetLayout(Value: TButtonLayout);
 procedure SetSpacing(Value: Integer);
 procedure SetMargin(Value: Integer);
 procedure CNMeasureItem(var Message: TWMMeasureItem);message CN_MEASUREITEM;
 procedure CNDrawItem(var Message: TWMDrawItem); messageCN_DRAWITEM;
 procedure CMFontChanged(var Message: TMessage); messageCM_FONTCHANGED;
 procedure CMEnabledChanged(var Message: TMessage); messageCM_ENABLEDCHANGED;
 procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);
 message WM_LBUTTONDBLCLK;
 protected
 procedure CreateHandle; override;
 procedure CreateParams(var Params: TCreateParams); override;
 function GetPalette: HPALETTE; override;
 procedure SetButtonStyle(ADefault: Boolean); override;
 public
 constructor Create(AOwner: TComponent); override;
 destructor Destroy; override;
 procedure Click; override;
 published
 property Cancel stored IsCustom;
 property Caption stored IsCustomCaption;
 property Default stored IsCustom;
 property Enabled;
 property Glyph: TBitmap read GetGlyph write SetGlyph storedIsCustom;
 property Kind: TBitBtnKind read GetKind write SetKinddefault bkCustom;
 property Layout: TButtonLayout read FLayout write SetLayoutdefault blGlyphLeft;
 property Margin: Integer read FMargin write SetMargindefault -1;
 property ModalResult stored IsCustom;
 property NumGlyphs: TNumGlyphs read GetNumGlyphs writeSetNumGlyphs stored IsCustom default 1;
 property ParentShowHint;
 property ShowHint;
 property Style: TButtonStyle read FStyle write SetStyledefault bsAutoDetect;
 property Spacing: Integer read FSpacing write SetSpacingdefault 4;
 property TabOrder;
 property TabStop;
 property Visible;
 property OnEnter;
 property OnExit;
 end;
Вданном примере описан стандартный компонент TBitBtn, наследующий от стандартного класса Tbutton — стандартная кнопка, используемаяповсеместно в Windows. Он имеет четыре секции в описании — private, protected, publishedи public. Данные секции регламентируют доступ к методам, полям исвойствам, находящимся в них для других компонент и для программ пользователя.

/>/>/>/>/>/>/>/>/>/>2.2.2 Многократноеиспользование кода
Термин«многократное использование кода» (code reuse) говорит самза себя. Данная технология подразумевает возможность написания таких участковпрограмм, которые затем с небольшими изменениями (или совсем без изменений)могут быть использованы в другой программе. Нельзя сказать, что такой подходявляется привилегией средств быстрой разработки приложений — еще раньшепрограммисты поняли преимущества возможности выделения универсальных и частоиспользуемых подпрограмм в отдельные библиотеки (модули). Таким образомпоявлялись библиотеки подпрограмм для различных языков программирования,работающие с графикой, базами данных, реализующие многие математические функциии прочие универсальные задачи. Но именно в RAD–средствах технология многократного использования кодаприобрела законченный и целостный вид — существует широкий набор стандартныхкомпонентов, которые могут использоваться во многих программах различного типа,а при необходимости получения какого-либо компонента с отличными от стандартныхвозможностями, его написание облегчается из-за механизма наследования от ужесуществующих компонентов их свойств и методов.
Сложностьданного подхода в изменении идеологии программирования — разработчик долженизначально ориентироваться на создания кода, который затем можно будет многократноиспользовать. Особенно актуальна эта проблема для групп разработчиков. В этомслучае необходимо мыслить глобально, с учетом требований всех членов группы иперспективы дальнейших разработок.
Кромеописанных особенностей средств быстрой разработки приложений, следует отметитьналичие определенного инструментария, который призван помогать разработчику присоздании стандартных элементов приложений. Эти средства автоматизируют рутиннуюработу при генерации например графического интерфейса. В различных средах ониносят различное наименование — expertи master в средах фирмы Borlandи wizard в средах, разработанных фирмой Microsoft./>/>/>/>/>/>/>/>/>/>2.3   Созданиепрограмм в среде Delphi
Благодарявсем вышеописанным преимуществам технологии быстрого проектирования приложений,создание программ в среде Delphi является удобным и необременительным делом.Для генерации программы первоначально необходимо создать файл проекта,имя которого будет совпадать с именем будущей программы. Причем Delphiсама сделает каркас программы — пользователю необходимо только выбрать соответствующий пункт в диалоговом окне New,которое показано на рис.6
/>
Рис.6.Окно выбора объекта создания
Такимобразом, выбрав тип создаваемой программы, программист получит готовый шаблон,который затем необходимо будет заполнить содержанием.
Каждоеокно в Delphi называется формой. На формерасполагаются различные визуальные и не визуальные компоненты. Весь наборкомпонент, доступных в системе, хранится в файле complib.dclили в файле с другим именем и отображается в специальномокне среды Delphi, называемом «палитрой компонент» (component palette).
/>
Рис.7.Палитра компонентов
Палитраразбивается на страницы, группирующие компоненты по каким-либо общим признакам.
/>
Рис.8.Пример создания экранной формы
Например,на одной странице помещаются компоненты работы с данными, на другой — сетевые ит.д. Гибкость среды Delphiпозволяетнастраивать палитру по своему усмотрению — объединять, разбивать страницы,переносит компоненты с одной страницы на другую и т.п. Для того, чтобыпоместить компонент на форму, необходимо нажать на его изображении на палитрекомпонент кнопку «мыши», затем переместить указатель «мыши» на нужное место итам отпустить. Это процесс приведет к тому, что у класса формы появится поле типаэтого компонента. Собрав на одну форму несколько компонентов, можно получитсколь угодно сложные диалоговые окна с полями ввода, мемо-полями и прочимикомпонентами. Простой пример создаваемого окна (в режиме разработки) показан нарис.8.
Нарис.8 показана разрабатываемая форма с несколькими визуальными компонентами.Хотя количество визуальных компонент на форме практически не ограничено,здравый смысл подсказывает, что перегружать форму ими не целесообразно,поскольку пользоваться программой с большим количеством кнопок, полей ввода ит.д. будет трудно из-за информационной перенасыщенности. Кроме того, рекомендуетсякаждый визуальный компонент снабжать строкой описания, чтобы пользователь могдогадаться, что же от него требуется.
Кромевизуальных, существуют также невизуальные компоненты. Поместив такой компонентна форму и запустив программу, мы ничего не увидим. Но некоторые компоненты вовремя работы себя отображают, правда для этого необходимо вызвать их методы. Ктаким компонентам относится всевозможные диалоговые компоненты, например OpenDialog, который является стандартным окномдля открытия файла. Другие невизуальные компоненты внешне никак себя не проявляют,например компонент DataSet.
Свойствакаждого компонента и формы в целом, а также события, на которые ониоткликаются, отображаются в окне инспектора объектов (object inspector). Инспектор объектов имеет двестраницы — страницу со свойствами и страницу с событиями. Общий вид обеихстраниц указан на рис.9
 
/> />
Рис.9. Инспектор объектов
Приредактировании свойства в инспекторе объектов учитывается тип этого свойства.Например, если свойство логического типа, то возможен будет выбор только лишь междузначениями Trueи False. Для более сложных свойств,например, для списков строк, существуют свои редакторы свойств. Например,компонент ComboBox с рис.8 имеет свойство Items типа списка строк — TStrings. В этом случае нажатие на кнопку смноготочием, расположенную рядом с именем свойства, приведет к активизацииредактора списка строк. Его вид показан на рис.10
Длянестандартных свойств, описанных программистом, существует возможность созданиясвоего редактора свойств методами Delphi.

/>
Рис.10.Редактор списка строк
Кромезадания значений свойств, инспектор помогает задавать реакцию на всевозможныесобытия, которые могут происходить в программе — перемещение указателя «мыши»,нажатие и отпускание клавиш клавиатуры и т.п. На соответствующей страничкеинспектора есть список множества стандартных для компонента (или формы)событий. Каждому событию соответствует своя процедура обработки этого события.Причем одна процедура может обрабатывать несколько событий. Все это указываетсяс помощью инспектора событий.
Замечу,что визуальными средствами среды Delphi построить законченное приложение практически невозможно.Такими средствами можно только облегчить создание программы. Всю логикупридется писать старым, испытанным методом — для каждой процедуры обработкисобытий вручную вписывать код.
Вэтом параграфе была рассмотрена упрощенная схема разработки программы в среде Delphi. Но кроме создания исходного текста необходимо помнитьи об отладке программ.

/>/>/>/>/>/>/>/>/>/>2.4 Отладкапрограмм
/>
Рис11. Инспектор классов.
Процессотладки программ в средах быстрой разработки приложений также упрощен посравнению с обычной схемой. После компиляции программы можно посмотретьструктуру ее классов с помощью окна Browse, представленного на рис.11
Этоокно дает много полезной информации об иерархии классов и их структуре в даннойпрограмме. Кроме того, можно посмотреть значения любых полей и свойств во времяработы программы, если программа запущена из-под среды. Для этого используетсяотладчик. Функционально отладчик ничем не отличается от стандартного отладчика,который используется во всех программных продуктах фирмы Borland. Он имеет режим пошагового выполнения с заходом илибез захода в подпрограммы, возможность установки точек останова, окно просмотразначений переменных и другие функции.
Гибкость,простота и удобство работы со средствами быстрой разработки приложений,объединенные с мощью языковой поддержки, позволяют сделать вывод оперспективности таких средств в будущем. Уже сейчас практически каждый месяц всредствах массовой информации появляются сообщения о появлении новых RAD–средств, и в дальнейшем такаятенденция должна сохраниться.

/>Глава 3
 
Организационно — экономическая часть
“Расчётзатрат на разработку программы”
 />/>/>/>/>/>/>/>/>3.   Расчёт затрат на разработкупрограммы/>/>/>/>/>/>/> 3.1   Введение
Цельсоставления любых программ состоит в получении определенных результатов впроцессе эксплуатации и оценивается эффективностью программного средства.Уточним применяемое далее понятие эффективности процесса разработкипрограммного средства. Выбор адекватных показателей эффективности программныхсредств зависит от их назначения, области применения, а также от рядахарактеристик программ, проявляющихся при их применении. Поэтому, для выборатехнических решений могут использоваться различные критерии. Целесообразноподразумевать под эффективностью процесса разработки минимум затрат наразработку программ при заданной экономической эффективности применения икачества программных средств. Минимизация затрат на обеспечение жизненногоцикла комплекта программ (далее КП) в некоторой степени эквивалентнымаксимизации разности эффекта и затрат, если предположить, что экономическийэффект от применения программ зафиксирован и стабилен. Затраты в жизненномцикле ПО определяются не только этапом разработки, но и этапами эксплуатации исопровождения, причем затраты на этих этапах могут значительно превосходитьзатраты на этапе проектирования и разработки и характеризуются своими особымизакономерностями. Неодновременность групп затрат не учитывается, ипредполагается, что абсолютная величина и влияние затрат со временем неизменяется. Обычно, критерии качества изделий используются в совокупности, сразных сторон отражающей основные характеристики функционирования объекта. Темне менее во многих случаях доминирует экономический эффект, который наиболеепрост, и обобщенно принято описывать суммарным доходом Э от использованияизделия в течении его жизненного цикла продолжительностью Тж. Впервом приближении это разность между полной идеальной экономическойэффективностью программы Эо и суммарными потерями и затратами K, снижающими предельный доход за весьжизненный цикл:
Э= Эо — K
Вкачестве идеальной эффективности Эо рассматривается совокупный доход, которыйможно получить от использования программ за весь жизненный цикл, если бы они нетребовали затрат на создание, производство и эксплуатацию, а такжефункционировали бы на реализующих ЭВМ без потерь и искажений.
Предполагается,что при любых затратах на разработку всегда достигается заданная идеальнаяэффективность последующего применения ПО в процессе его эксплуатации инеобходимые показатели качества функционирования. Это предположение позволяет вдальнейшем исключить из анализа эффективность применения программных средств Эои сосредоточить внимание на эффективности процесса их разработки.Дополнительным основанием такого допущения может служить то, что многие виды программневозможно или очень трудно характеризовать доходом от их функционирования.Тогда исследования эффективности процесса создания ПО можно проводить,минимизируя затраты K в предположении, что обеспечены заданные функциональныехарактеристики программ.
Снижениеэффективности Э на величину K происходит прежде всего вследствие затрат наразработку, производство, сопровождение и эксплуатацию программ, а так жевследствие различных сбоев программ и оборудования.
Всоответствии с этапами жизненного цикла ПО основные затраты K, снижающие идеальную эффективностьза цикл жизни Тж, можно представить следующими составляющими:
·  затраты насоздание КП и обеспечение решения заданных задач (в том числе на документацию,технологическое обеспечение, аппаратную оснащенность разработки) — Kр;
·  затраты наэксплуатацию программных и аппаратных средств ЭВМ, реализующих КП — Sэ;
·  затраты насопровождение КП, включающие затраты на хранение и контроль его состояния,проведение модификации и разработку документации, исправление ошибок и рекламуи т.д. — Kс;
·  накладные расходыKн;
врезультате совокупную реальную эффективность функционирования ПО за весьжизненный цикл длительностью Тж можно представить в виде:
Э= Эо — Kр — Sэ — Kс — Kн/>/>/>/>/>/>/>/>/>3.2   Составляющиезатрат на разработку программ Kр
Разработкапрограмм является областью с малой материало- и энергоемкостью, и основныезатраты связаны с непосредственным или овеществленным трудом специалистовразличных категорий.
Наибольшеезначение в составе Ср при разработке сложных комплексов программ ( КП ) имеютследующие составляющие затрат:
·  нанепосредственное проектирование, программирование, отладку и испытания программв соответствии с требованиями пользователя или заказчика — K1р;
·  на изготовлениеопытного образца КП как продукции производственно-технического назначения — K2р;
·  на разработку,подготовку и применение технологии программных средств автоматизации разработкипрограмм — K3р;
·  натехнологические и реализующие ЭВМ, используемые для автоматизации разработкипрограмм — K4р;
·  на подготовку иповышение квалификации специалистов-разработчиков — K5р.
Первыедве составляющие K1р и K2р являются непосредственными затратами на создание программныхсредств. Составляющие K3р и K4р можно рассматривать какзатраты, обеспечивающие оснащенность процесса создания КП. Затраты наподготовку и повышение квалификации наиболее трудно формализовать и учитывать вконкретной разработке программных средств. В данном случае эта составляющая неучитывается./>/>/>/>/>/>/>/>/>3.3   Затратына непосредственную разработку КП
Затратына непосредственную разработку комплекса программ K1р являютсяважнейшей составляющей в жизненном цикле КП. Наибольшее влияние на нихоказывает объем КП. Затраты на разработку K1р и объем программ Пк связаны через показатель интегральнойсредней производительности труда разработчиков Р. Для учета влияния на K1р различных факторов удобнопользоваться коэффициентами изменения трудоемкости (КИТ) — Сij, учитывающими зависимость i-ой составляющей совокупных затрат отj-го фактора. Непосредственные затратына разработку можно представить как частное от объема КП и производительностьтруда, корректируемое произведением коэффициентов изменения трудоемкости:
/>

Выделимчетыре основных группы факторов, влияющих на затраты K1р при непосредственной разработке программ:
*           факторы,отражающие особенности создаваемого комплекса программ как объекта разработки,и требования к его общим характеристикам;
*           факторы,характеризующие технологическую и программную оснащенность средствамиавтоматизации процесса разработки программ;
*           факторы,отражающие оснащенность процесса создания КП аппаратурными средствами, накоторых базируются системы автоматизации разработки;
*           факторы,определяющие оснащенность процесса разработки программ и его обеспечениеквалифицированными специалистами.
Длякаждого фактора может быть выделен параметр, наиболее полно отражающий егосодержание численными значениями. Для большинства факторов произведены оценкидиапазона возможного изменения относительных затрат на разработку одной командыв КП при варьировании соответствующего параметра в указанном диапазоне. Этиизменения затрат характеризуются коэффициентами Сij изменения усредненной трудоемкостиразработки строки текста программы за весь цикл создания КП при варьировании j-го фактора i-ой группы. Кроме оценок предельных значений КИТ, приводятсяих средние значения.Факторы объекта разработки Параметры фактора Диапазон изменения параметра Диапазон КИТ Среднее значение КИТ
1.   Сложность КП — С11 Число операторов в тексте программ на ассемблере Пк
104 — 107 1 — 4 2 — 3 2.   Размер базы данных Число типов переменных в БД
103-108 1-1.2 1.1
3.   Надежность функционирования КП — С13 Часы проработки на отказ программ Тн
1 — 103 1 — 5 2-2.5
4.   Ограничение ресурсов производительности и оперативной памяти реализующей ЭВМ — С14 Процент использования памяти и производительности Р 50-95 1 — 3 1.3-1.5
5.   Длительность предполагаемой эксплуатации — С15 Годы эксплуатации Тэ 1 — 20 1 — 3 1.3-1.5
6.   Предполагаемый тираж — С16 число предполагаемых экземпляров 1 — 1000 1 — 3 1.3-1.5
7.   Мобильность использования компонент КП из других разработок — С17 Процент возможного использования компонент 0 — 80 1 — 1.4 1.1-1.2
8.   Мобильность использования КП для других разработок — С18 Процент возможного использования компонент 0 — 80 0.4 — 1 0.5-0.7 />/>/>/>/>/>/>3.3.1   ФакторыКП как объекта проектирования, влияющие на непосредственные затраты приразработке сложных программ
Этагруппа факторов отличается наибольшим влиянием на затраты и производительностьтруда.
Наиболееактивно в качестве показателя сложности программ используется ее объем,выраженный числом операторов на ассемблере или строк на языке программированиявысокого уровня. Объем программ является одной из наиболее достоверноизмеряемых характеристик КП. Логично предположить, что по мере увеличенияобъема КП возрастает относительная трудоемкость разработки каждой команды впрограмме. Такая зависимость может быть описана логарифмической функцией:
/>
 
Надежностьфункционирования КПявляется наиболее важным фактором, отражающим качество программных средств.
Вкачестве параметров, характеризующих надежность системы, наиболее широкоиспользуется наработка на отказ Тн и коэффициент готовности Кг.Оба показателя тесно связаны, что позволяет ограничить внимание на первом изних. Изучение математических моделей процесса выявления ошибок в программахпривело к тому, что одной из наиболее достоверных и простых являетсяэкспоненциальная зависимость числа оставшихся ошибок от времени еетестирования. Эти соображения позволяют аппроксимировать средние значения С13при повышении требований к надежности КП логарифмической зависимостью:
/>
 
Ограничениересурсов производительности и оперативной памяти реализующей ЭВМ: при использовании создаваемым КПпроизводительности и памяти реальной ЭВМ менее чем на 50% можно и не учитыватьэти ограничения, однако в нашем случае ресурсы ЭВМ используются практическиполностью:
С14= (1.14 * (1 — р)1/2)-1
гдер — реальная загрузка ЭВМ ( в относительных величинах ).
Длительностьпредполагаемой эксплуатации КП изменяется от нескольких месяцев до нескольких лет. Поэкспертным оценкам, увеличение предстоящей длительности эксплуатации КП напорядок от 1 до 10 лет приводит к увеличению КИТ С15 примерно в1.5-2 раза. Такую зависимость можно описать логарифмической функцией:
/>
гдеа15 изменяется в диапазоне от 1 до 1.5.
Предполагаемыйтираж программ: припереходе от уникального КП к программам, подлежащим тиражированию, затратызаметно возрастают:

/>
 
Мобильность(переносимость) использования КП из других разработок позволяет снижать затраты присборочном программировании новых КП. При этом относительное повышениепроизводительности труда (КИТ — С17) пропорционально долеиспользования в новом КП. При сборочном программировании кроме 10-20% затрат насоздание новых программных компонент, необходимы ресурсы на комплексированиенового КП, его комплексную отладку, испытания и документирование. В результатесуммарные затраты заметно возрастают и эквивалентное повышениепроизводительности труда С17 может составлять 2.5-3 раза. Необходимоучитывать затраты, которые требуются на создание адаптируемых компонент и всегопервичного КП. В результате программная мобильность с учетом затрат на ееподготовку в среднем дает снижение КИТ на 30-50%.
Мобильность(переносимость) использования компонентов КП для других разработок приводит кнеобходимости их проектирования как автономных комплектующих изделий. Врезультате может быть достигнута возможность сборочного программирования. Дляобеспечения сборочного программирования КИТ на строку в программе С18увеличивается в среднем на 10-20%. В нашем случае неизвестно, потребуются ли вдальнейшем универсальные компоненты, поэтому С18=1./>/>/>/>/>/>/>3.3.2   Применениесовременных методов разработки КП
Присоздании данного КП использовалась пошаговая разработка компонентов программы.В этом случае интегральная оценка эффективности метода более-менее стабильна ихарактеризуется повышением производительности труда приблизительно на 30 — 40%(С31=0.6-0.7).
Уровеньавтоматизации разработки КП рассматривается прежде всего как фактор, влияющийна С1р и на производительность труда специалистов.
Внашем случае С32 = 1.
Уровеньязыков программирования КП. При разработке нашей программы ЯВУ (а именно — система быстрой разработки приложений Borland Delphi 3) далувеличение производительности на 50% (С33= 0.5).
Тиражсистемы автоматизации разработки.
С34= 1./>/>/>/>/>/>/>3.3.3   Факторыоснащенности процесса разработки КП аппаратурными средствами, влияющими нанепосредственные затраты при разработке сложных программ
Прианализе фактора аппаратурной оснащенности процесса разработки программ целесообразноучитывать интегральные характеристики всех вычислительных средств, использующихпри создании данного КП. При разработке данной программы применяется толькореализующая ЭВМ.
Относительноебыстродействие ЭВМна одного специалиста, участвующего в разработке КП, определяет доступныйуровень автоматизации разработки программ. Влияние относительногобыстродействия на полные затраты можно оценить на уровне 20-30%.(С41= 0.7 — 0.8).
Относительныйобъем оперативной памяти на одного специалиста, участвующего в разработке КП, может такжепроявиться как заметный фактор, изменяющий производительность трударазработчиков. В нашем случае недостаточный объем памяти вызвал снижениепроизводительности труда на 10-20% (С42 = 1.1-1.2)/>/>/>/>/>/>/>3.3.4   Факторыорганизации процесса разработки КП, влияющие на непосредственные затраты присоздании сложных программ
Индивидуальныеособенности специалистов могут приводить к изменению производительности трудаво много раз. В среднем технологическую квалификацию можно считать вышесреднего (С52=0.7), тематическую квалификацию — как средняя(С51=0.8).
Программистскаяквалификация и опытработы с языками проектирования составил 4 года ( С53 = 0.9)
Уровеньквалификации заказчика высок, но техническое задание на разработку было сформировано сдальнейшими доработками (С54=1.2)./>/>/>/>/>/>/>/>/>3.4   Затратына изготовление опытного образца как продукции производственно-техническогоназначения
Затратына изготовление опытного образца КП как продукции производственно-техническогоназначения С2р определяется необходимостью обеспечить отчуждениевсего комплекса программ от его непосредственных разработчиков. Дляизготовления КП как продукции производственно-технического назначениянеобходимо:
*           изготовить иоформить опытный образец КП на носителях данных;
*           разработатькомплект документации, обеспечивающий квалифицированную эксплуатацию КП.
Длясистемы экономического планирования затраты K2p не имеют смысла, поскольку данная система существует вединственном экземпляре и не предполагается ее тиражировать, т.е. эти затратыне что иное как затраты на разработку данной системы./>/>/>/>/>/>/>/>/>3.5   Затратына технологию и программные средства автоматизации разработки КП
Затратына технологию и программные средства автоматизации разработки КП K3p обычно являются весьма весовыми только прииспользовании автоматизированных технологий. В нашем случае мы имеемпринципиально новую систему, технология разработки которой пока не определена,поэтому затратами на технологию можно пренебречь./>/>/>/>/>/>/>/>/>3.6   Затратына ЭВМ, используемые для автоматизации разработки данной программы.
Затратына ЭВМ, используемые для автоматизации разработки данного КП — С4рвключают капитальные затраты на закупку и установку соответствующих ЭВМ, атакже текущие затраты на их эксплуатацию в течении разработки КП.
Внашем случае затраты распределяются только на эксплуатацию ЭВМ в течениеразработки КП. Поэтому общие затраты на ЭВМ будут выглядеть как:
С4р= С4р1 = а41*Тр.
Гдеа41 — стоимость машинного времени реализующей ЭВМ./>/>/>/>/>/>/>/>/>3.7   Расчетзатрат на разработку системы моделирования макроэкономики/>/>/>/>/>/>/>/>/> 3.7.1  Исходныеданные
·  ограничениересурсов производительности и оперативной памяти реализующей ЭВМ не менее 90%;
·  предположительнодлительность эксплуатации составит не более 1 года;
·  данная программабудет существовать в единственном экземпляре;
·  после создания КПпредполагается использовать около 60% наработок;
·  при создании КПчисло наработок из других программ составило не более 30%;
·  при разработкепрограммы, которая относится к программному продукту ниже среднего классасложности, применялась только реализующая ЭВМ;
·  уровеньквалификации заказчика выше среднего.Наименование характеристики Количество 1.   Количество программистов, S 6 чел.
2.   Оклад программиста, Sм 2000 руб./ мес. 3.   Объем программы, П 13129 строк
4.   Стоимость одного часа машинного времени, а41 20 руб./ч
5.   Общее время разработки, Tр ~ 4 мес.
6.   Количество машинного времени, затраченного в день, Тдн 3 ч/день />/>/>/>/>/>/>/>/>3.7.2   Коэффициентыизменения трудоемкости
·  сложностьпрограммы — С11=lg(4693.5 * 10-3)=0.67;
·  ограничениересурсов производительности ЭВМ —
 
С14= (1.14 * (1 — р)1/2)-1 = 2.8;
 
·  мобильностьиспользования компонент из других разработок — С17=0.7;
·  современныеметоды разработки — С31 = 0.7;
·  уровень языкапрограммирования — С33 = 0.5;
·  относительноебыстродействие ЭВМ — С41 = 0.8;
·  относительныйобъем памяти — С42 = 1.1;
·  технологическаяквалификация — С51 = 0.7;
·  тематическаяквалификация — С52 = 0.8;
·  программистскаяквалификация — С53 = 0.9;
·  квалификациязаказчика — С54 = 1.2;
·  остальныекоэффициенты примем равными единице./>/>/>/>/>/>/>/>/>3.7.3   Расчетнепосредственных затрат на разработку
Считаем,что на каждого разработчика пришлось одинаковое число команд — П * 1.5 / 6команд, т.е. считаем, что в одной строке содержится в среднем 1.5 команды и,т.к. в разработке принимало участие шесть человек, то в результате стыковкимодулей общее количество строк составило сумму количества строк каждого разработчика.
 
Пк= П *1.5 / 6 = 3282 (команд/чел.);
ПроизводительностьP = Пк / Тр =2.07 (команд/чел./день);
Считаем,что в месяце, в среднем, 22 рабочих дня, тогда средняя дневная заработная платаразработчика Sд = 90.9(руб.)
Произведениекоэффициентов Сij — ПijCij= 0.245;
Такженеобходимо учитывать накладные расходы, включающие в себя:
·  заработную платуадминистративно — управленческого персонала с отчислением на социальноестрахование;
·  аренду помещения;
·  хозяйственныенужды;
·  приобретениеспециальной литературы.
          Считаем,что накладные расходы составили 50% от непосредственных затрат.
Теперьможем рассчитать непосредственные затраты на разработку — К1р :
 
K1р=Пк * ПijCij* Sд * S* 1.5 / P= 522 * 0.245 * 90.9 * 6 * 1.5 /2.07 = 50544 (рублей).
Затратамина создание опытного образца являются затраты на разработку, т.е. программасама по себе и есть опытный образец. Затратами на технологию и программныесредства мы пренебрегаем./>/>/>/>/>/>/>/>/>3.7.4   Затратына ЭВМ
Считаем,что в году 250 рабочих дней.
Тр= 84 (дней);
Рассчитаемзатраты на ЭВМ:
 
К4р= а41*Тр * Tдн = 20 * 84*3 = 5040 (руб.)
Всерезультаты сведем в таблицу.
Затраты на разработку КПСоставляющие Затраты (руб.) % от затрат на разработку
K1р 50544 90
K4р 5040 10
Такимобразом затраты на разработку системы моделирования макроэкономики составляют Kр= 55584 руб.
 />/>/>/>/>/>/>/>/>3.8   Выводы
Мырассчитали суммарные затраты на разработку данного Кп и увидели, что онисоставили примерно 55584рублей. Наибольшие затраты были наразработку программы, кроме того, очень высокий процент непосредственных затратна эксплуатацию реализующей ЭВМ. Это может объясняться тем, что еще неотработана технология на создание подобных систем.
Возможнымметодом уменьшения затрат является более продуктивное использование машинноговремени программистами.

Глава4
ПЭБ
/>“Организация рабочегоместа программиста”
 />/>/>/>/>4.   Организация рабочего местапрограммиста/>/>/> 4.1   Условияпроизводственно-экологической безопасности разработчика пользователя ЭВМ
В этойчасти рассматриваются факторы, влияющие на условия безопасности трударазработчиков — пользователей ЭВМ. Приводятся их основные характеристики ирекомендации по преодолению или ограничению вредного воздействия аппаратуры,входящей в состав рабочего места пользователя ЭВМ./>/>/>/>/>/>/>4.2   Вредныевоздействия при работе с компьютером
Работаяза дисплеем компьютера человек подвергается воздействию различных факторов. Ктаким воздействиям можно отнести следующие:
        электромагнитное излучение;
        тепловое излучение;
недостаток или избыток общейосвещенности;
        механическое воздействие;
        шумовое воздействие;
        опасность пораженияэлектрическим током.
Наличиеподобных факторов обусловлено предметами и средствами труда программиста, ккоторым можно отнести следующее оборудование:
        системная часть компьютера;
        дисплей;
        принтер;
электрооборудование рабочего места
        другие внешние устройства.
Особенносильно проявляется влияние дисплея компьютера. Дисплей принадлежит к числу техкомпонентов, работа с которыми требует особенного внимания. Практически большуючасть времени работы за компьютером человек смотрит на экран, или, по крайнеймере, находится перед ним, подвергаясь таким образом воздействиюэлектромагнитного излучения, уровень которого целиком зависит от качестваэлектронных лучевых трубок (ЭЛТ), которое еще не всегда удовлетворительное.Поэтому вопросам организации рабочего места следует уделить первостепенноевнимание./>/>/>/>/>/>/>4.3   Факторыобитаемости
1)Физические факторы обитаемости:
        электрическая опасность;
        тепловое излучение;
        электромагнитное излучение;
освещенность;
        шумовое воздействие;
        микроклимат.
2)Психофизические факторы обитаемости:
        монотонность труда;
        статические нагрузки;
        перенапряжение зрения;
        умственное перенапряжение.
Дляколичественной характеристики некоторых из этих факторов можно привестиследующие цифры:
1)Электроопасность: 0.5 — 0.8 ампера при предельно допустимой норме 0.01 ампера.
2)Электромагнитное излучение: до 1.5 В/А при норме 50 В/А.
3)Звуковое воздействие: до 37 дБ при норме до 54 дБ.
4)Тепловое воздействие: средняя температура 22 — 24 градуса при норме до 26градусов./>/>/>/>/>/>/>4.4   Воздействиеэлектромагнитного излучения монитора
Сначала 1990-х годов самые широкие круги пользователей компьютеров осознали, наконец,истинную серьезность вопроса о возможной опасности воздействия на организмэлектромагнитных излучений дисплейных мониторов. В настоящее время ведутсямедицинские и научные исследования с тем, чтобы исследовать данную проблему ивыработать по отношению к ней единое мнение.
Спектризлучения компьютерного монитора включает в себя рентгеновскую,ультрафиолетовую и инфракрасную область, а также широкий диапазонэлектромагнитных волн других частот. От рентгеновских лучей опасностипрактически нет, так как они полностью поглощаются веществом экрана. Наибольшуюопасность представляют биологические эффекты низкочастотных электромагнитныхполей, которые до настоящего времени считались абсолютно безвредными. В рядеэкспериментов было обнаружено, что электромагнитные поля с частотой 60 Гц могутинициировать биологические сдвиги (вплоть до нарушения синтеза ДНК) в клеткахживотных. В отличие от рентгеновских лучей электромагнитные волны обладаютнеобычным свойством — опасность их воздействия не обязательно уменьшается суменьшением интенсивности облучения; определенные электромагнитные волныдействуют на клетку лишь при малой интенсивности излучения или в конкретныхчастотах — в окнах прозрачности.
Исследователииз Macworld обнаружили, что если на расстоянии 10 см перед мониторами, обычноиспользуемыми с компьютерами Macintosh, напряженность магнитного полясоставляет примерно от 5 до 23 мГс, то на расстоянии 70 см от экрана ни уодного из обследованных мониторов напряженность поля не превышала величины 1мГс. (Интенсивность поля вне указанных пределов составляла 0.1 — 0.5 мГс.)Пользователям Macintosh, желающим снизить уровень облучения переменнымимагнитными полями, следует расположить мониторы так, чтобы расстояние до нихсоставляло величину, равную длине вытянутой руки (с вытянутыми пальцами).
Посколькумагнитные поля сзади и по бокам большинства мониторов значительно сильнее, чемперед экраном, пользователи должны располагать свои рабочие места нарасстояниях не менее 1,22 м от боковых и задних стенок других мониторов.Следует иметь в виду, что магнитное излучение не задерживается ниперегородками, ни стенками, ни свинцовыми фартуками, ни даже телом человека./>/>/>/>/>/>/>4.5   Оптимизацияусловий зрительного восприятия
Эффективностьзрительного восприятия зависит от ряда условий. Чтобы видеть и различать объектпри нормальной остроте зрения необходимо обеспечить:
        определенный уровеньосвещенности и размера объекта, необходимая контрастность фона;
        достаточный размер объекта;
        необходимую экспозицию, т. е.время различения объекта.
Оптимальноерасстояние от глаза до объекта наблюдения зависит от линейной величинырассматриваемого объекта и остроты зрения. При работе за дисплеем эторасстояние обычно равно 35 — 60 см. Пользователь обычно работает с текстовойинформацией, поэтому символы на экране должны быть увеличены в 1.5 — 2 раза посравнению с печатным текстом.

/>
Дляпользователя ЭВМ зрительное восприятие играет очень большую роль. Этопредъявляет значительные требования к освещенности рабочего места, так как вомногом именно от освещенности рабочего места зависит степень утомляемостичеловека./>/>/>/>/>/>/>4.6   Освещение
Система освещения машинного зала ПЭВМ должна отвечатьследующим основным требованиям:
1.        Уровеньосвещенности рабочих мест должен соответствовать характеру выполняемых работ.
2.        Достаточноравномерное распределение яркости на рабочих поверхностях и в окружающемпространстве.
3.        Отсутствие резкихтеней, прямой и отраженной блескости.
4.        Постоянствоосвещенности во времени.
5.        Оптимальнаянаправленность светового потока.
6.        Долговечность,экономичность, электро- и пожаробезопасность, эстетичность, удобство и простотаэксплуатации.
Для обеспечения нормальной естественной освещенности, площадьоконных проемов должна быть не менее 25% площади пола.
Строительные нормы и правила СНиП II-4-79 устанавливают следующие нормы искусственнойосвещенности рабочих мест (с высотой рабочей поверхности над полом 80 см):
1.        Нормаосвещенности:
а) при комбинированном освещении – 750 лк;
б) при общем освещении – 400 лк;
2.        Коэффициентпульсаций освещенности рабочего места Кп ≤ 15%.
Рекомендуемая освещенность при работе с дисплеем составляет200 лк, а при работе с экраном в сочетании с работой над документами –400 лк.Рекомендуемые перепады яркости в поле зрения оператора должны лежать в пределах1:5 – 1:10.
Расчет общего освещения
Рассчитаем общее освещение в машинном зале ПЭВМ методомкоэффициента использования светового потока по уравнению:
1.        Выбираемрекомендованное для машинного зала люминесцентное освещение.
2.        Располагаемсветильники рядами вдоль длинной стороны помещения.
3.        Будемиспользовать светильники типа УСП-35 с двумя лампами типа ЛБ-40.
4.        Для обеспечениянаилучших условий освещения, расстояние между рядами светильников L должно соответствовать отношению:
где h-высотаподвеса светильников,
где H =3.0 м – высота помещения,
hc = 0.2 м – свес светильника,
hp = 0.75 м – высота рабочей поверхности от пола.
h = 3.0-0.2-0.75 = 2.05 [м]
Þ L = л*h =2.3 … 3.4 [м]
5. Количество рядов светильников N найдем из уравнения:
L * (0.33* 2 + N-1) = B
N = 2 ряда.
Согласно нормам, нормируемая минимальная освещенность приобщем освещении: Eн = 400 лк.
Так как запыленность воздуха меньше 1 мг/мі, то коэффициентзапаса:
кз = 1.5.
Площадь помещения S = A*B = 6*4 = 24 [мІ].
Так как мы предполагаем создать достаточно равномерноеосвещение, то коэффициент неравномерности освещения: z = 1.15.
Индекс помещения:
6. Коэффициенты отражения светового потока принимаем:
от потолка           сп = 70%,
от стен                 сс = 50%,
от пола                спола = 10%.
Тогда по таблице находим коэффициент использования световогопотока: з = 0.46.
7. Так как затенения предполагаем не создавать, токоэффициент затенения: г = 1.
8. По таблице находим световой поток лампы ЛБ-40: Фл = 3120лм.
9. Количество светильников в одном ряду:
Расположение светильников:
Длина светильника lсв = 3 м
Количество светильников в ряду М = 3 шт
Длина помещения А = 6 м
Количество рядов светильников N = 2 шт
Ширина помещения В = 4 м
Так как А – М*lсв =2.1
Расстояние между рядами L1 при расстоянии крайнего ряда от стены 0.33*L1:
Итак,для нормального освещения машинного зала ПЭВМ используем 6 светильников типаУСП-35 с двумя лампами типа ЛБ-40./>/>/>/>/>/>/>4.7   Микроклимат
Параметры микроклимата согласно ГОСТ 12.1.005-88 являются:
·          температура;
·          относительнаявлажность;
·          скорость движениявоздуха;
·          запыленностьвоздуха.
С целью обеспечения комфортных условий для операторов ПЭВМ инадежной работы оборудования, необходимо поддерживать следующиеметеорологические условия (согласно СН 512-78):
 
/>/>Параметры воздушной среды на рабочих местах Температура Оптимальные Допустимые Наружного воздуха, °С Температура, °С Относительная влажность, % Скорость движения воздуха, не более, м/c Температура, °С Относительная влажность, % Скорость движения воздуха, не более, м/c Ниже +10 20-22 40-60 0.2 18-22 Не более 70 0.3 Выше +10 20-25 40-60 0.3 Не более, чем на 3 °С выше наружного воздуха в 13 ч дня самого жаркого месяца, но не выше 28 °С
70 при 24 °С
и ниже;
65 при 25 °С;
60 при 26 °С;
55 при 27 °С;
50 при 28 °С. 0.5
Атмосферное давление в помещении машинного зала должно быть1013.25±266 ГПа. При пониженном давлении воздуха ухудшается отвод теплоты отэлементов ПЭВМ, снижаются изоляционные свойства воздуха.
Воздух, используемый для вентиляции машинного зала, долженочищаться от пыли. Запыленность воздуха не должна превышать 1 мг/мі, а размерыпылинок – 3 мкм. Пыль, попадающая на платы комплекса, приводит к снижениютеплообмена и способствует перегреву приборов.
В помещении машинного зала необходимо предусмотреть системуотопления. Она должна обеспечивать достаточное, постоянное и равномерноенагревание воздуха в помещении в холодный период года, а также безопасность вотношении пожара и взрыва. При этом колебания температуры в течении суток недолжны превышать 2-3 °С; в горизонтальном направлении – 2 °С на каждый метрдлины; а в вертикальном – 1 °С на каждый метр высоты помещения. Для отопленияпомещения машинного зала рекомендуется использовать водяные или воздушныесистемы центрального отопления.
Дежурное отопление должно включаться в помещении машинногозала ночью, в выходные и праздничные дни и, когда ПЭВМ не работают. Оно должноподдерживать в зале температуру воздуха в пределах 15-16 °С./>/>/>/>/>/>/>4.8   Оптимизацияакустических условий
РаботающиеЭВМ и мини ЭВМ могут являться источниками шума на предприятиях. Шумнеблагоприятно действует на организм человека, вызывая различныефизиологические отклонения в организме, психологические заболевания и снижаетработоспособность. Утомление пользователей и операторов ЭВМ из-за шумаувеличивает число ошибок при работе, способствует возникновению травм.
Шум- это совокупность звуков различной частоты и интенсивности. Характеристикойшума с точки зрения физиологического восприятия является понятие «громкостьшума». Количественную оценку уровня громкости шума различных источниковпроводят путем сравнения с шумом на частоте 1000 Гц, для которого уровень силыпринят равным уровню громкости. При этом для измерения уровня громкости шумавведена единица в 1 фон. За один фон принят уровень громкости шума с частотой1000 Гц при уровне силы шума 1 дб.
ГОСТ12.1.003-83 «Шум, общие требования безопасности» устанавливает, чтоуровень звука на рабочем месте (в том числе при работе на ЭВМ) не долженпривыкать 50 дб.
Источникамишума в системах с ЭВМ являются периферийные устройства: принтеры, плоттеры,дисководы, системы охлаждения (вентиляторы), которые создают уровень шума до 70- 80 дб. Для уменьшения уровня шума желательно устанавливать дисплеи в другихпомещениях, отдельно от машин. Это связано с тем, что воздействие шумовоказывает неблагоприятное влияние на эмоциональный настрой и вызывает сильныесопутствующие раздражения, повышающие рабочую нагрузку и снижающие творческийпотенциал. Как следствие возрастает число ошибок. По данным американскихжурналов увеличение шума на 10 дб ведет к возрастанию числа ошибок на 30 — 40%.

/>
Основнымимероприятиями по борьбе с шумом и вибрацией являются:
— облицовказалов ЭВМ шумопоглащающей плиткой;
— использованиеразличных шумоуловителей;
— размещениеустройств на резиновых прокладках и
 амортизаторах.
— если возможно, то источники шума следует располагать подальше от пользователя./>/>/>/>/>/>/>4.9   Электробезопасность
 Помещениедля работы с ЭВМ и ее внешними устройствами относят к категории помещений сповышенной опасностью так как имеется возможность поражения электрическимтоком. Источниками электроопасности являются блоки ЭВМ, корпус устройства иприборы в случае возникновения неисправности (например, при нарушении защитногозаземления, изоляции проводов, применении неправильных приемов включения в сетьи выключения из сети вилок электропитания)./>/>/>/>4.9.1   Мерызащиты от поражения электрическим током.
Оценим электрическую опасность работы пользователя заперсональным компьютером:
Напряжение в сети Uсети=220 B;
Потребляемая мощность P»250Вт
Находим Iсети»1,14А. Таким образом, работа являетсяэлектрически опасной.
Помещение машинного зала ПЭВМ не должно относится к категориипомещений с повышенной электроопасностью, то есть:
·          Относительнаявлажность воздуха в помещении должна быть не более 75%.
·          Должнаотсутствовать токопроводящая пыль.
·          Не должно бытьповышенной температуры воздуха в помещении (температура постоянно илипериодически, более одних суток, превышает +35 єС).
·          Должнаотсутствовать возможность одновременного прикосновения человека к имеющимсоединение с землей металлическим конструкциям здания, оборудованию и т. д., содной стороны, и к металлическим корпусам аппаратуры или токоведущим частям, сдругой стороны.
·          Не должно бытьтокопроводящих полов.
Кроме того должны применяться такие основные техническиесредства защиты от поражения электрическим током в помещении машинного залаПЭВМ, как:
·          Электрическаяизоляция токоведущих частей.
·          Защитноезаземление.
·          Защитноеотключение.
Вся, подлежащая заземлению аппаратура должна подсоединяться кзаземляющей шине отдельными заземляющими проводниками.
Все заземляющие проводники должны быть доступны для осмотра изащищены от механических повреждений.

/>/>/>/>4.9.2 Защитаот статического электричества.
Электрический ток статического разряда мал и не может вызватьпоражения человека. Однако искровой разряд может явиться косвенной причинойнесчастного случая (возникновения пожара, порчи аппаратуры и т. д.). Дляснижения величин статических разрядов в помещении машинного зала ПЭВМ покрытиеполов следует выполнять из однослойного поливинилхлоридного антистатическоголинолеума типа АСН. Кроме того, в помещении относительная влажность должна бытьне ниже 40%./>/>/>/>4.9.3   Защитаот электромагнитных полей и ионизирующего излучения.
Источниками электромагнитных излучений являются индукторы,конденсаторы, ВЧ-транзисторы, электровакуумные приборы, при работе которыхсоздается электромагнитное поле.
Систематическое воздействие электромагнитных излучений можетоказать неблагоприятное воздействие на человека, выражающееся в функциональныхнарушениях нервной, эндокринной и сердечно-сосудистой систем. При этомпоявляется повышенная утомляемость, головные боли, нарушение сна, гипертония игипотония, боли в области сердца, тормозящие рефлексы. Могут также наблюдатьсяизменения крови, помутнение хрусталика глаз, нервно-психические и трофическиезаболевания (выпадение волос, ломкость костей).
Для количественной оценки облучения электромагнитными полямпринята интенсивность излучения, выраженная в величинах плотности потокаэнергии в пространстве данного участка (т.е. Вт/м или мкВт/см).
Предельно допустимая норма:
 
ПДК=(200 мкВт/см)/Тсмены(8 часов)=25 мкВт/(см*ч)
Ионизирующее излучение – поток частиц и квантовэлектромагнитного излучения, прохождение которого через вещество проводит кионизации или возбуждению атомов или молекул этого вещества. Источникамиионизирующего излучения в ЭП являются высоковольтные электровакуумные приборы.
Рентгеновское излучение на расстоянии от экрана дисплеясоставляет 0.5 мР/час и убывает с увеличением расстояния так, что на расстоянии50 см от экрана и более равно 0.005 мР/час. Эта величина соответствуетосновному фоновому уровню.
К основным методам защиты от излучений относятся расположениекомпьютеров, при котором достигается минимальное влияние излучения наоператора, правильная планировка рабочего места, организация работы оператора./>/>/>/>/>4.10  Психофизическиефакторы
Какуже было сказано выше, к психофизическим факторам обитаемости относятся:
        монотонность труда;
        статические нагрузки;
        перенапряжение зрения;
        умственное перенапряжение.
Таккак программист много времени проводит за компьютером то уже примерно через часначинают появляются первые признаки утомления. Связано это с тем, что человекнаходится в одной и той же позе и вынужден сильно напрягать зрение при работе смонитором.
Работас клавиатурой составляет около 15% от общего рабочего времени программиста.Причиной этому является то, что чаще всего используемые командные строкиактивизируются из командного меню посредством устройства мыши, не прибегая кпомощи клавиатуры. Использование двух устройств ввода информации — мыши иклавиатуры, приводит к проблеме одновременного сосуществования данныхустройств. Так как мышь является первичным устройством ввода информации, токлавиатура обычно откладывается в сторону. Такое расположение приводит кповернутому положению туловища и рук при работе с клавиатурой, то естьнеестественному расположению кистей и запястья, что также способствует быстромуутомлению.
Работас монитором — самый вредный фактор воздействующий на пользователя ЭВМ.Длительное нахождение перед дисплеем компьютера вредно отражается на зрениичеловека — снижает его остроту, повышается раздражимость, ухудшается работаголовного мозга — у человека могут возникать головные боли и резь в глазах.
Длятого чтобы снизить вредное воздействие оказываемое на пользователя ЭВМ,необходимо устраивать 5-10 минутные перерывы в работе приблизительно черезкаждый час. Необходимо встать из-за стола пройтись по коридору или выйти наулицу — размяться. Это позволяет снизить утомляемость и поднятьработоспособность человека./>/>/>/>/>4.11  Организационныемероприятия
Важныморганизационным мероприятием является проведение инструктажа по электро- ипожароопасности всех лиц, допущенных к работе на ЭВМ. При проведениипротивопожарных инструктажей необходимо добиваться, чтобы персонал практическиумел пользоваться первичными средствами тушения пожара и средствами связи.
Вкаждой лаборатории, в производственных цехах и других помещениях назначаетсяответственный за пожарную безопасность, который должен следить за тем, чтобывсе противопожарные средства были в исправном состоянии и находились вотведенном для этого месте. Все сотрудники должны быть ознакомлены с планомэвакуации из помещения в случае пожара.
/>/>/>/>/>4.12  Пожаробезопасность
Главную пожарную опасность в машинном зале представляетэлектрооборудование. При эксплуатации электрооборудования должны выполнятьсяинструкции техники безопасности.
Также мебель, корпуса аппаратуры, выполненные излегковоспламеняющихся материалов, могут послужить причиной пожара.
Помещение должно соответствовать нормативам по огнестойкостистроительных конструкций, планировке зданий, этажности, оснащенностиустройствами противопожарной защиты.
Система профилактики пожара предусматривает обеспечениепожарной безопасности оборудования, электроустановок, систем отопления ивентиляции, предотвращение образования и внесения источников зажигания,предотвращение образования горючей среды.
Система пожарной защиты предусматривает применение негорючихи трудногорючих материалов, изоляцию горючей среды, применение средств длятушения пожара, пожарной сигнализации и извещения о пожаре, применение средствзащиты людей, организацию пожарной охраны объекта.
В качестве средств тушения пожаров используются вода,химическая и механическая пена, негорючие газы и пары, порошкообразныевещества, покрывала из негорючих материалов и др.
Помещение машинного зала должно обладать I или II степенью огнестойкости (см. СНиП 2.01.02-85 “Противопожарныенормы”), то есть самой высокой./>/>/>/>/>4.13  Мероприятияпо организации рабочего места
Рабочееместо — это та часть пространства в котором человек осуществляет свою трудовуюдеятельность и проводит большую часть своего рабочего времени. Для пользователяу дисплея — это зона расположения экрана и клавиатуры.
Оптимальнаярабочая зона — это часть рабочей зоны, в которой конечности человека способныпродолжительное время совершать естественные рабочие движения с оптимальнымэффектом, т. е. с наибольшей точностью, быстротой, безопасностью и меньшимнапряжением.
Рекомендуемая планировка рабочего места оператора ПЭВМ,учитывающая антропометрические данные человека и габариты аппаратурыпредставлена на рисунке
/>
Автоматизированноерабочее место (АРМ) — должно быть хорошо приспособлено к человеку и еготрудовой деятельности, должно обеспечивать ему удобное положение при работе идостаточно высокую производительность труда при наименьшем психологическом ифизическом напряжении.
Привыборе рабочего места необходимо выполнить следующие соотношения:
        размер орудия труда долженсоответствовать размерам тела и рук;
        при определении площадирабочего помещения необходимо учитывать рост человека, вид работы;
        при размещении органовуправления необходимо обеспечить оптимальную зону досягаемости, а также возможностьлегкого и удобного манипулирования и управления.
Длясоздания оптимальных условий для широкого контингента людей следуетпредусмотреть возможность изменения рабочего места по индивидуальнымпараметрам.
Вчастности, размещая рабочие места пользователей ЭВМ, необходимо распределить ихпо площади помещения так, чтобы были выполнены эргономические требования,предъявляемые к рабочей зоне и рациональному использованию площади пола; наодного человека минимальная площадь пола составляет 6 кв. м, объем 20 куб. м,высота 3м.
/>/>/>/>Заключение
Учет норм производственно — экологической безопасности и правил работы за персональным компьютеромнеобходим для создания комфортных и безопасных условий труда разработчика — пользователя ЭВМ. Основой для безопасной эксплуатации ЭВМ является высокаятехническая грамотность пользователей ЭВМ. Для обеспечения высокойработоспособности уровень шума на рабочем месте не должен превышатьустановленных норм. Правильно спроектированное и выполненное производственноеосвещение повышает производительность труда, оказывает благоприятноепсихологическое воздействие, повышает безопасность труда и не вредит здоровьюпользователя ЭВМ. Необходимо уделять внимание эргономическим требованиям,предъявляемым к рабочему месту, так как от его конструкции во многом зависитпроизводительность труда и здоровье пользователя ЭВМ. Поскольку никаких вредныхэкологических воздействий на окружающую среду не оказывается, то есть рабочееместо пользователя является экологически безопасным, то никаких особыхтребований по обеспечению экологической безопасности не предъявляется.
/>/>/>/>Выводы
В результате работы была проанализирована сущность явленийпри работе за компьютером. Определены возможные опасности, и оценена их степеньвоздействия на оператора. Предложены методы частичного и полного устраненияопасностей, способы профилактики. Рассчитана рекомендуемая освещенностьмашинного зала, выявлены нормы работы за компьютером. Таким образом, оператор,работающий с системой, может квалифицированно изыскать способы и методы работы,которые позволят избежать травматизма, профессиональных заболеваний и устранитьвлияние на организм работающего опасных и вредных воздействий.C точки зрения экологическойбезопасности окружающей среды работа за компьютером и сам компьютер непредставляет опасности.

/>/>/>/>/>Литература
 
Охрана труда. Под ред.Б.А. Князевского. — «Высшая школа» 1982.
 Методические указанияпо выполнению раздела «Охрана труда» в дипломном проекте. Под ред.В.И. Каракеяна. — МИЭТ, 1983.
 Константинова Л.А.Ларионов Н.М., Писеев В.М., «Методические указания по выполнению раздела»Охрана труда" в дипломном проекте для студентов". МИЭТ 1988.
 Константинова Л.А.Ларионов Н.М., Писеев В.М., «Методы и средства обеспечения безопасноститехнологических процессов на предприятиях электронной промышленности».МИЭТ1990.
Каракеян В.И.,Константинова Л.А., Писеев В.М., Лабораторный практикум по курсу«Произведственная и экологическая безопасность в микроэлектронике», МИЭТ 1990.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.