Дослідження технологій створення тривимірних графічних додатків на базі платформи dotNET

DirectX як набір API функцій, розроблених для вирішення завдань, пов'язаних з ігровим і відеопрограмуванням в операційній системі Microsoft Windows. Етапи створення тривимірних графічних додатків на базі платформи dotNET. Аналіз компонентної моделі COM.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 22.10.2012
Размер файла 4,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {

// Відключаємо відсікання нелицьових граней

d3d.RenderState.CullMode = Cull.None;

// Задаємо матрицю перетворення для книги

d3d.Transform.World =

Matrix.RotationX((float)(totalSeconds*TeapotRotationX*2*Math.PI))* Matrix.RotationY((float)(totalSeconds*TeapotRotationY*2*Math.PI))* Matrix.Translation(0,0,3.5f);

. }

Після виконання цих дій книги повинен почати плавно обертатися навколо двох осей.

Рис. 4.17 Обертання навколо двох осей

4.4.8 Додання в сцену об'єктів

На цьому кроці в сцену будуть додані прості об'єкти, що обертаються навколо книги. Додаємо в клас Form1 поля даних для зберігання цих об'єктів і параметрів їх руху.

сlass Form1 { .

Mesh[] objects = new Mesh[10];

// Моделі об'єктів, що обертаються

Material[] objectMaterials = new Material[3];

// Матеріал об'єктів const double OrbitRadius = 1.5;

// Радіус орбіти обертання навколо книги

const double RotationFreq = 0.4;

// Частота обертання по орбіті.

. }

У метод Form1_Load додаємо код, що створює моделі об'єктів, а саме полігональні апроксимації сфер радіусом 0.05, і задаючий властивості матеріалів.

private void Form1_Load(object sender, System.EventArgs e) { .

// Створюємо моделі об'єктів, що обертаються навколо книги

// і задаємо властивості матеріалів

for(int i = 0;i<objects.Length;i++) objects[i]= Mesh.Sphere(d3d,

0.05f, // Радіус сфери

10, // Кількість паралелей

10); // Кількість меридіанів

objectMaterials[0].Diffuse = Color.Red;

objectMaterials[1].Diffuse = Color.LightGreen;

objectMaterials[2].Diffuse = Color.LightBlue;

. }

Клас Microsoft.Direct3D.Mesh містить посилання на ресурси Direct3D, що вимагають явного звільнення. Тому в метод Dispose класу Form1 додаємо код для звільнення всіх ресурсів полігональних моделей їх масиву objects. Для зручнішого і незалежного від довжини масиву переліку його елементів застосуєте оператора foreach.

protected override void Dispose(bool disposing){ .

foreach(Mesh m in objects) if(m != null) m.Dispose();

if(d3d != null)d3d.Dispose(); . }

У методі Form1_Paint відображаємо створені об'єкти на екран. Для кожного об'єкту з масиву objects буде задана своя матриця перетворення світових координат, що здійснює обертання об'єктів навколо книги. При цьому кожен об'єкт обертається в своїй площині. Сфери є опуклими об'єктам, тому для зменшення об'єму обчислень відсікання нелицьових граней можна включити (цей фрагмент коду також можна узяти з файлу $LabFiles$\sources.cs).

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { .

d3d.Transform.Projection = Matrix. PerspectiveFovLH(.)

// Включаємо відсікання нелицьових граней

d3d.RenderState.CullMode = Cull.CounterClockwise;

// У циклі малюємо всі об'єкти

int numObjects = objects.Length; for(int i = 0;i<numObjects;i++){

// Задаємо наступне перетворення координат:

// Зрушуємо об'єкт на радіус орбіти

// обертаємо об'єкт на залежний від часу кут

// повертаємо площину обертання на кут, залежний від номера

// об'єкту і суміщаємо центр орбіт об'єктів з центром книги

double а = i/(double)numObjects;

d3d.Transform.World = Matrix.Translation(0,0,(float) OrbitRadius)*

Matrix.RotationY((float)(2*Math.PI*(а + totalSeconds*RotationFreq)))*

Matrix.RotationZ((float)(Math.PI*a)*

Matrix.Translation(0,0,3.5f);

// Задаємо матеріал і малюємо i-й об'єкт

d3d.Material = objectMaterials[i % objectMaterials.Length];

objects[i].DrawSubset(0); }

. }

Тепер навколо книги обертаються декілька різноколірних сфер.

Рис. 4.18 Моделі об'єктів, що обертаються

4.4.9 Накладення текстури

Створюємо в класі Form1 змінну з ім'ям teapotTexture типу Texture для зберігання посилання на текстуру книги.

сlass Form1 { .

Mesh teapot = null; // Модель книги

Material teapotMaterial; // Матеріал з якого виготовлений книги

Texture teapotTexture = null; // Текстура для книги

Текстура буде завантажена з файлу. Класи для роботи з потоками даних (у тому числі і з файлами) знаходяться в просторі імен System.IO. Для того, щоб не указувати цей префікс при кожному зверненні до відповідних класів, додаємо в початок початкового тексту директиву using System.IO.

using System.Data; using System.IO;

Як і багато інших об'єктів Direct3D, текстури зручно створювати при першому показі вікна на екран і необхідно явно звільняти, коли вони більше не потрібні. Код для завантаження текстури з файлу додайте в метод Form1_Load.

private void Form1_Load(object sender, System.EventArgs e) { .

// Завантажуємо текстуру для книги з файлу з ім'ям spheremap.bmp

using(FileStream textureFile = new FileStream("spheremap.bmp",FileMode.Open)) {

teapotTexture = Texture.FromStream(d3d,

textureFile, // Потік даних з текстурою 0,

// використовуватимемо як звичайну текстуру

Pool.Managed); // Область пам'яті для розміщення текстури textureFile.Close(); }

Код для звільнення текстури розміщуємо в методі Dispose класу Form1.

protected override void Dispose(bool disposing){ .

if(teapotTexture != null) teapotTexture.Dispose();

foreach(Mesh m in objects).; . }

Як ім'я файлу з текстурою був вказаний рядок «spheremap.bmp». Для того, щоб додаток знайшов цей файл скопіюємо з каталога $LabFiles$ його в кореневий каталог проекту (де лежить файл DXApp.sln).

Встановлюємо цей каталог як поточний каталог для запуску додатку. Для цього у вікні Solution Explorer нажмаем праву кнопку миші над елементом з ім'ям проекту (у нашому випадку це DXApp). У меню, що з'явилося, виберіть пункт Properties.

Рис. 4.19 Вікно Solution Explorer

На екрані з'явиться вікно властивостей проекту. У розташованому зліва ієрархічному списку выбераем розділ Configuration properties/Debugging, в розташованому справа списку установливаем у властивості Working directory вкажіть кореневий каталог проекту.

Рис. 4.20 Розділ Configuration properties/Debugging

Створена засобами Direct3D модель книги не містить координат текстури. Тому текстуровані координати (u,v) обчислюватимуться виходячи їх вектора нормалі [nx,ny,nz ]по наступним формулам u = 0.5(nx +1), v = 0.5(ny +1) що створює ілюзію відзеркалювальної поверхні.

У методі Form1_Paint безпосередньо перед малюванням книги додаємо код, що включає текстурирование і що встановлює відповідні режими текстурирования. Вимикаємо текстурирование перед малюванням сфер, що обертаються навколо книги.

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { .

// Вимикаємо текстурирование

d3d.SetTexture(0,null);

int numObjects = objects.Length; for(int i = 0;i<numObjects;i++){

. } .

// Як текстуровані координати беремо вектор нормалі

d3d.TextureState[0].TextureCoordinateIndex =

(int)TextureCoordinateIndex.CameraSpaceNormal; // Перетворимо текстуровані координати по заданих формулах

d3d.Transform.Texture0 = Matrix.Scaling(0.5f,-0.5f,1.0f)*

Matrix.Translation(0.5f,0.5f,0.0f);

// Передаємо блоку растеризации дві текстуровані координати

d3d.TextureState[0].TextureTransform = TextureTransform.Count2;

// Встановлюємо текстурк d3d.SetTexture(0,teapotTexture);

// Встановлюємо властивості матеріалу і малюємо чайник d3d.Material = teapotMaterial; teapot.DrawSubset(0);

Головне вікно додатку тепер повинне виглядати таким чином.

Рис. 4.21 Вікно додатку

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

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { .

// Включаємо билинейную фільтрацію текстур

d3d.SamplerState[0].MinFilter = TextureFilter.Linear;

d3d.SamplerState[0].MagFilter = TextureFilter.Linear;

teapot.DrawSubset(0);

4.4.10 Створення фону

На цьому кроці до сцени буде доданий фон. Або точніше, сцена разом із спостерігачем буде поміщена всередину текстурированного тора. Додаємо до класу Form1 поля даних для зберігання посилань на тор і на текстуру для тора (аналогічно полям даних для книги і її текстури).

сlass Form1 { .

Mesh torus = null;

// Тор, усередині якого знаходиться спостерігач

Texture torusTexture = null;

// Текстура для тора

У метод Form1_Load додаємо код для створення полігональної моделі тора і завантаження текстури для нього. Цей код також буде схожий на код для створення моделі книги.

private void Form1_Load(object sender, System.EventArgs e) { .

// Завантажуємо модель тора з файлу з ім'ям torus.x

torus = Mesh.FromFile("torus.x",

MeshFlags.Managed,

// Область пам'яті для розміщення геометрії

d3d);

// Завантажуємо текстуру для тора з файлу з ім'ям water.bmp

using(FileStream textureFile2 =

new FileStream("water.bmp",FileMode.Open))

{ torusTexture = Texture.FromStream(d3d,

textureFile2, // Потік даних з текстурою 0

// Використовуватимемо як звичайну текстуру

Pool.Managed);

// Область пам'яті для розміщення текстури

TextureFile2.Close(); }

Скопіюємо в кореневий каталог проекту файли torus.x і water.bmp.

Точно також, як було зроблено для моделі книги, ресурси, зайняті для моделі і текстури тора, необхідно звільнити в методі Dispose.

protected override void Dispose(bool disposing){ .

if(torusTexture != null)

torusTexture.Dispose();

if(torus != null) torus.Dispose();

Добавяєм код для малювання тора в метод Form1_Paint. Послідовність дій повністю аналогічна вживаною раніше: задається перетворення координат і настройки для освітлення і текстурирования. Потім отрисовывается сам об'єкт. Код для малювання тора відрізняється тим, що текстуровані координати беруться з геометричних даних моделі. Також при малюванні тора відключається розрахунок інтенсивності освітлення, оскільки на торі не задані вектори нормалей.

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { .

teapot.DrawSubset(0);

// Встановлюємо перетворення координат для тора

d3d.Transform.World = Matrix.Scaling(10,10,10)*

Matrix.RotationZ((float)(Math.PI/2))*

Matrix.Translation(0-12,0)*

// Включаємо згортку текстурованих координат для правильного відображення

// текстурированного тора

d3d.RenderState.Wrap0 = WrapCoordinates.One|WrapCoordinates.Zero;

// Одержуємо текстуровані координати з даних моделі

d3d.TextureState[0].TextureCoordinateIndex =

(int)TextureCoordinateIndex.PassThru;

// Встановлюємо текстуру для тора

d3d.SetTexture(0,torusTexture);

// Вимикаємо перетворення текстурованих координат

d3d.TextureState[0].TextureTransform = TextureTransform.Disable;

// Вимикаємо розрахунок освітлення

d3d.RenderState.Lighting = false;

// Малюємо тор

torus.DrawSubset(0);

// Включаємо розрахунок освітлення

d3d.RenderState.Lighting = true;

Зовнішній вигляд вікна після виконання даних кроків показаний на наступному рисунку.

Рис. 4.22 Вікно додатку з фоном

4.4.11 Динамічна зміна фону

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

У методі Form1_Paint додаємо наступний код замість рядка, в якому властивості TextureTransform привласнюється значення TextureTransform.Disable.

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { .

// Встановлюємо текстуру для тора

d3d.SetTexture(0,torusTexture);

// Обчислюємо зрушення текстурованих координат

double deltaTex = totalSeconds*0.2;

// Приводимо його до діапазону [0..1]

deltaTex -= Math.Floor(deltaTex);

// Задаємо матрицю зрушення для двох текстурованих координат

Matrix texMatrix = Matrix.Identity;

texMatrix.M31 = (float)-deltaTex;

texMatrix.M32 = (float)-deltaTex;

// Застосовуємо матриці для перетворення текстурованих координат

d3d.Transform.Texture0 = texMatrix;

// Вимикаємо розрахунок освітлення

d3d.RenderState.Lighting = false;

// Малюємо тор

torus.DrawSubset(0);

// Включаємо розрахунок освітлення

d3d.RenderState.Lighting = true;

Після виконання цього кроку фон у вікні додатку повинен почати рухатися

Рис. 4.23 Остаточний вид створеного додатку

5. Економічне обґрунтування доцільності розробки програмного продукту

Визначення витрат на створення програмного продукту

Оскільки середа розробки є безкоштовною, витрати на створення програмного продукту складаються з витрат по оплаті праці розробника програми і витрат по оплаті машинного часу при відладці програми:

Зспп=Ззпспп мвсппобщ,

де

Зспп - витрати на створення програмного продукту;

Ззпспп - витрати на оплату праці розробника програми;

Змвспп - витрати на оплату машинного часу;

Зобщ - загальні витрати.

Витрати на оплату праці розробника програми (Ззпспп) визначаються шляхом множення трудомісткості створення програмного продукту на середню годинну оплату програміста (з урахуванням коефіцієнта відрахувань на соціальні потреби):

Ззпспп=t*Tчас.

Розрахунок трудомісткості створення програмного продукту.

Трудомісткість розробки програмного продукту можна визначити таким чином:

t= to+ tа+ tб+ tп+ tд+ tот,

де

to - витрати праці на підготовку опису завдання;

tа - витрати праці на розробку алгоритму рішення задачі;

tб - витрати праці на розробку блок-схеми алгоритму рішення задачі;

tп - витрати праці на складання програми по готовій блок-схемі;

tд - витрати праці на підготовку документації завдання;

tот - витрати праці на відладку програми на ЕОМ при комплексній відладці завдання.

Складові витрат можна виразити через умовне число операторів Q. У нашому випадку число операторів у відлагодженій програмі Q=1050.

Розрахунок витрат праці на підготовку опису завдань.

Оцінити витрати праці на підготовку опису завдання не можливо, оскільки це пов'язано з творчим характером роботи, натомість оцінимо витрати праці на вивчення опису завдання з урахуванням уточнення опису і кваліфікації програміста:

to= Q*B/(75…85*K),

где

B - коефіцієнт збільшення витрат праці унаслідок недостатнього опису завдання, уточнень і деякої недоробки, B=1,2…5;

K - коефіцієнт кваліфікації розробника, для тих, що працюють до 2 років K=0,8;

Коефіцієнт В приймаємо рівним 2.

Таким чином отримаємо

to= 1050*2/(78*0,8) = 33,65 (люд-год).

Розрахунок витрат праці на розробку алгоритму.

Витрати праці на розробку алгоритму рішення задачі:

tа = Q/(60…75*K)

tа = 1050/(70*0,8)=18,75 (люд-год).

Розрахунок витрат праці на розробку блок-схеми.

Витрати праці на розробку блок-схеми алгоритму рішення задачі обчислимо таким чином:

tб= Q/(60…75*K)

tб = 1050/(71*0,8)=18,48 (люд-год).

Розрахунок витрат праці на складання програми.

Витрати праці на складання програми по готовій блок-схемі обчислимо таким чином:

tп= Q/(60…75*K)

tп = 1050/(72*0,8)=18,23 (люд-год).

Розрахунок витрат праці на відладку програми.

Витрати праці на відладку програми на ЕОМ при комплексній відладці завдання:

tот=1.5* tAот,

де tAот - витрати праці на відладку програми на ЕОМ при автономній відладці одного завдання;

tAот= Q/(40…50*K)

tAот = 1050/(48*0,8)=27,34 (люд-год)

Звідси tот=1.5*27,34=41,01 (люд-год).

Розрахунок витрат праці на підготовку документації.

Витрати праці на підготовку документації по завданню визначаються:

tд= tдр+ tдо,

де

tдр - витрати праці на підготовку матеріалів в рукопису;

tдо - витрати на редагування, друк і оформлення документації;

tдр= Q/(150…200*K)

tдр = 1050/(180*0.8) = 7,29 (люд-год)

tдо=0.75*tдр

tдо =0.75*7,29=5,47 (люд-год)

Звідси

tд=7,29+5,47=12,76 (люд-год).

Отже, загальну трудомісткість програмного продукту можна розрахувати:

t = 33,65 +18,75 +18,48+18,23 +41,01+12,76 =142,88 (люд-год).

Розрахунок середньої зарплати програміста.

Середня зарплата програміста в сучасних ринкових умовах може варіюватися в широкому діапазоні. Для розрахунку візьмемо середню годинну оплату праці, яка складає Тчас.=8 грн/година, що означає 1408 грн/міс при 8-ми годинному робочому дні і 5-ти денному робочому тижню.

Витрати на оплату праці програміста складаються із зарплати програміста і нарахувань на соціальні потреби. Нарахування на соціальні потреби включають:

33,2% - пенсійний фонд;

1,4% - соціальне страхування;

1.6% - відрахування до державного фонду зайнятості на випадок безробіття;

1% - на соціальне страхування від нещасного випадку на виробництві і професійних захворювань, які спричинили втрату працездатності.

Разом нарахування на соціальні потреби складають 37,2%.

Тобто 1408грн*37,2%=520,96 грн

Звідси витрати на оплату праці програміста складають:

Ззпспп= 1408+520,96=1928,96 грн.

Витрати на оплату машинного часу. Витрати на оплату машинного часу при відладці програми визначаються шляхом множення фактичного часу відладки програми на ціну машино-години орендного часу:

Змвспп час*tЕОМ,

де

Счас - ціна машино-години орендного часу, грн/год;

tЕОМ - фактичний час відладки програми на ЕОМ;

Розрахунок фактичного часу відладки.

Фактичний час відладки обчислимо за формулою:

tеом = tп + tдо + tот ;

tеом =18,23 +5,47 +41,01 = 64,71 години

Розрахунок ціни машино-години.

Ціну машино-години знайдемо по формулі:

Сгод = Зеомеом,

де

Зеом - повні витрати на експлуатацію ЕОМ на протязі року;

Теом - дійсний річний фонд часу ЕОМ, год/рік.

Розрахунок річного фонду часу роботи ПЕОМ.

Загальна кількість днів в році - 365. Число святкових і вихідних днів - 114(10 святкових і 52*2- вихідні).

Час простою в профілактичних роботах визначається як щотижнева профілактика по 3 години.

Разом річний фонд робочого часу ПЕОМ складає:

Теом = 8*(365-114)-52*3=1852 год.

Розрахунок повних витрат на експлуатацію ЕОМ.

Повні витрати на експлуатацію можна визначити по формулі:

Зеом = (Ззп+ Зам+ Зэл+ Здм+ Зпр+ Зін),

де,

Ззп - річні витрати на заробітну плату обслуговуючого персоналу, грн/рік;

Зам - річні витрати на амортизацію, грн/рік;

Зэл - річні витрати на електроенергію, споживану ЕОМ, грн/рік;

Здм - річні витрати на допоміжні матеріали, грн/рік;

Зпр - витрати на поточний ремонт комп'ютера, грн/рік;

Зін - річні витрати на інші і накладні витрати, грн/рік.

Амортизаційні відрахування.

Річні амортизаційні відрахування визначаються по формулі:

Замбал*Нам,

де Сбал - балансова вартість комп'ютера, грн/шт.;

Нам - норма амортизації, %;

Нам =25%.

Балансова вартість ПЕОМ включає відпускну ціну, витрати на транспортування, монтаж устаткування і його відладку:

Сбал = Сринуст ;

де

Срин - ринкова вартість комп'ютеру, грн/шт.,

Зуст - витрати на доставку і установку комп'ютера, грн/шт;

Комп'ютер, на якому велася робота, був придбаний за ціною

Срин =5000 грн, витрати на установку і наладку склали приблизно 10% від вартості комп'ютера.

Зуст = 10%* Срин

Зуст =0.1*5000=500 грн.

Звідси, Сбал = 5000 +500 =5500 грн./шт.;

а Зам=5500*0,25= 1375 грн/год.

Розрахунок витрат на електроенергію.

Вартість електроенергії, споживаної за рік, визначається по формулі:

Зел = Реом * Теом * Сел * А,

де

Реом - сумарна потужність ЕОМ,

Теом - дійсний річний фонд часу ЕОМ, год/рік;

Сел - вартість 1кВт*год електроенергії;

А - коефіцієнт інтенсивного використання потужності машини.

Згідно технічному паспорту ЕОМ Реом =0.22 кВт, вартість 1кВт*год електроенергії для споживачів Сел =0,2436 грн., інтенсивність використання машини А=0.98.

Тоді розрахункове значення витрат на електроенергію:

Зел = 0.22 * 1852* 0.2436* 0.30 = 29,78 грн.

Розрахунок витрат на поточний ремонт.

Витрати на поточний і профілактичний ремонт приймаються рівними 5% від вартості ЕОМ:

Зтр = 0.05* Сбал

Зтр = 0.05* 5500 = 275 грн.

Розрахунок витрат на допоміжні матеріали.

Витрати на матеріали, необхідні для забезпечення нормальної роботи ПЕОМ, складають близько 1 % від вартості ЕОМ:

Звм =0,01* 5500 =55 грн.

Інші витрати по експлуатації ПЕОМ.

Інші непрямі витрати, пов'язані з експлуатацією ПЕОМ, складаються з вартості послуг сторонніх організацій і складають 5% від вартості ЕОМ:

Зпр = 0,05* 5500 =275 грн.

Річні витрати на заробітну плату обслуговуючого персоналу.

Витрати на заробітну плату обслуговуючого персоналу складаються з основної заробітної плати, додаткової і відрахувань на заробітну плату:

Ззп = Зоснзпдопзпотчзп.

Основна заробітна плата визначається, виходячи із загальної чисельності тих, що працюють в штаті:

Зоснзп =12 *іокл,

де

Зіокл - тарифна ставка і-го працівника в місяць, грн;

12 - кількість місяців.

У штат обслуговуючого персоналу повинні входити інженер-електронщик з місячним окладом 1500 грн. і електрослюсар з окладом 1200 грн. Тоді, враховуючи, що даний персонал обслуговує 20 машин, маємо витрати на основну заробітну плату обслуговуючого персоналу, які складуть:

Зоснзп = 12*(1500+1200)/20=1620 грн.

Додаткова заробітна плата складає 60 % від основної заробітної плати:

Здопзп = 0.6 *1620 = 972 грн.

Відрахування на соціальні потреби складають 37,2% від суми додатковою і основною заробітних плат:

Зотчзп = 0,372*(1620 + 972) = 959,04 грн.

Тоді річні витрати на заробітну плату обслуговуючого персоналу складуть:

Ззп = 1620 +972 +959,04 = 3551,04 грн.

Повні витрати на експлуатацію ЕОМ в перебігу року складуть:

Зеом = 3551,04 + 1375+ 29,78 + 55 + 275+ 275= 5560,82 грн.

Тоді ціна машино-години часу, що орендується, складе

Сгод = 5560,82 /1852 = 3 грн.

А витрати на оплату машинного часу складуть:

Змвсппгод*tеом

Змвспп = 3 * 64,71= 194,13 грн.

Розрахунок загальних витрат.

Загальні витрати - 643

Зспп=Ззпсппмвспп+Ззаг

Зспп =1928,96+194,13 +643=2766,09 грн.

Тобто собівартість програмного продукту 2766,09 грн.

А зараз визначимо ціну програмного продукту:

Ц = Зспп + Р,

Где Ц - ціна програмного продукту;

Р - 15% від витрат на створення програмного продукту.

Ц = 2766,09 +414,91=3181 грн.

Ціна програмного продукту дорівнює 3181 грн.

В порівнянні з іншими програмними продуктами, які виконують аналогічні функції та мають вартість орієнтовно $1000, розроблена програма за умови тиражування обійдеться значно дешевше, ніж аналоги.

Економія від використання однієї розробленої програми представлятиме:

7,7 - курс долара Національного банку України

ЕК = $1000 * 7,7-3181= 4519 грн.

6. Охорона праці

Охорона праці - система законодавчих актів, постанов, організаційних, санітарних, технічних мір, що забезпечують безпечні для здоров'я умови праці на робочому місці. Науково-технічний прогрес вніс зміни в умови виробничої діяльності працівників розумової праці. Їхня праця стала більш інтенсивною, напруженою, потребуює витрат розумової, емоційної й фізичної енергії.

Це має пряме відношення до фахівців, пов'язаних із проектуванням, розробкою, експлуатацією, супроводом і модернізацією автоматизованих систем керування різного призначення.

На робочому місці користувача повинні бути створені умови для високопродуктивної праці. У цьому розділі будуть розглянуті основні фактори, що на ці умови мають вплив та необхідні заходи, згідно законодавства, направлені на поліпшення умов праці. У цей час все більше застосування знаходять автоматизовані робочі місця, які оснащуються персональною ЕОМ і графічним дисплеєм, клавіатурою і принтером, тому охорона праці у цій галузі має свої особливості.

Законодавство України про охорону праці базується на:

- Конституція України, яка гарантує права громадян на працю, відпочинок, охорону здоров'я, медичну допомогу і страхування;

- Закон України „Про охорону праці», де вказано, що державна політика в області охорони праці базується на пріоритеті життя і здоров'я людей в умовах їх трудової діяльності. Відповідальність за створення нормальних і безпечних умов труда несе роботодавець незалежно від форми власності підприємства чи установи які здійснюють розробку виробництва та застосування ПЕОМ і ПК;

- Норми штучного та природного освітлення визначені СНіП;

- Закон України „Про забезпечення санітарного та епідемічного благополуччя населення» де вказані основні вимоги гігієни та санітарії;

- Параметри мікроклімату на робочих місцях регламентовані Держстандартом і ДСН;

- Категорія робіт по величині загальних енерговитрат встановлена ДСН;

- Закон України „Про загальнообов'язкове державне соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності», який гарантує право трудящих на соціальний захист і компенсацію постраждалим матеріальних втрат при травмуванні і професійного захворювання;

- Кодекс законів про працю (КЗпП) де викладені окремі вимоги охорони праці;

- Пожежна безпека викладена в законі України „Про пожежну безпеку» і „Правила про пожежну безпеку в Україні»

Крім того є ряд Державних стандартів, правил, норм, інструкцій та інших нормативних документів, регламентуючих питання охорони праці.

6.1 Аналіз шкідливих і небезпечних виробничих факторів при роботі на комп'ютері

Фактори виробничого середовища впливають на функціональний стан і працездатність оператора. Наразі загальноприйнятою є класифікація небезпечних і шкідливих чинників, які згідно ДОСТ 12.0.003-74 по характерним видам дій на організм людини, підрозділяються на фізичні, хімічні, біологічні і психофізіологічні.

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

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

До психофізичних небезпечних і шкідливих виробничих факторів можна віднести: фізичні перевантаження (статичні й динамічні), нервово-психічні перевантаження (розумова напруга й перенапруга, монотонність праці, емоційні перевантаження, стомлення, емоційний стрес, емоційне перевантаження).

Значним фізичним фактором є мікроклімат робочої зони, особливо температура й вологість повітря.

Згідно з інструкцією по проектуванню будівель і приміщень для електронно-обчислювальних СН 512-78 будівлі і приміщення для ЕОМ повинні бути обладнані системами центрального опалювання, кондиціонування повітря, протипожежного водопроводу, гарячого водопостачання, каналізації.

Мікроклімат на робочому місці характеризується: температурою, відносною вологістю, швидкість руху повітря на робочому місці, інтенсивністю теплового випромінювання, барометричним тиском.

Відповідно до ДОСТ 12.1.005-88 нормовані параметри мікроклімату підрозділяються на оптимальні і допустимі.

Оптимальні параметри мікроклімату - таке поєднання температури, відносної вологості і швидкості повітря, яке при тривалій і систематичній дії не викликає відхилень в стані людини.

Допустимі параметри мікроклімату - таке поєднання параметрів мікроклімату, яке при тривалій дії викликає тимчасові зміни в стані людини.

Норми мікроклімату зазначені у санітарних нормах мікроклімату виробничих приміщень ДСН 3.3.6.042-99.

Шум - це безладне поєднання звуків різної частоти і інтенсивності. Шум виникає при механічних коливаннях в твердих, рідких і газоподібних середовищах. Механічні коливання з частотами 20 - 20 000 Гц сприймаються слуховим апаратом у вигляді чутного звуку. Коливання з частотою нижче 20 і вище 20 000 Гц не викликають слухових відчуттів, але надають шкідливу біологічну дію на організм людини. Шум погіршує умови праці, впливаючи на організм людини. При тривалому впливі шуму на організм людини відбуваються небажані явища: знижується гострота зору, слуху, підвищується кров'яній тиск, знижується увага. Сильний тривалий шум може бути причиною функціональних змін серцево-судинної й нервової систем, що приводить до захворювань серця й підвищеної нервозності.

Раціональне освітлення є одним з найважливіших чинників попередження травматизму і професійних захворювань. Правильно організоване освітлення створює сприятливі умови праці, підвищує працездатність і продуктивність праці. Освітленість виробничих, службових і допоміжних приміщень регламентується будівельними нормами і правилами (СНіП II-4-79) і галузевими нормами.

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

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

Для штучного освітлення використовуються електричні лампи накалу і люмінесцентні лампи. Люмінесцентні лампи в порівнянні з лампами накалу мають істотні переваги: по спектральному складу світла вони близькі до природного денного освітлення, мають вище ККД, підвищений термін служби.

Шкідливий вплив на людину має електромагнітне поле. Електромагнітне поле великої інтенсивності призводить до перегріву тканин, впливає на органи зору і органи статевої сфери.

Нормованим параметром електромагнітного поля в діапазоні частот 60 КГц - 300 МГц, згідно з ДОСТ 12.1.006-84, є граничне допустиме значення складових напруг електричних і магнітних полів.

Перевищення цих значень призводить до виникнення депресії, стресового стану, головного болю, безсоння, подразнення шкіри, хвороби суглобів і розвиток синдрому "хронічної втоми". Тривале знаходження людини в полі системного блоку комп'ютера негативно впливає на його психіку. Рівень цих полів зазвичай перевищує біологічно безпечний, причому їх випромінювання впливає на людину на відстані до 2,5 м від передньої панелі системного блоку.

Спектр випромінювання комп'ютерного монітора містить у собі рентгенівську, ультрафіолетову й інфрачервону області, а також широкий діапазон електромагнітних хвиль інших частот. Електромагнітні хвилі мають незвичайну властивість: небезпека їхнього впливу зовсім не обов'язково зменшується при зниженні інтенсивності опромінення, певні електромагнітні поля діють на клітини лише при малих интенсивностях випромінювання або на конкретних частотах.

Дози ультрафіолету не можуть викликати катаракту навіть при дії на протязі всього життя. Після тривалої роботи з комп'ютером можуть виникати такі неприємні відчуття, як "роздратування" очей (червоність, сльозотеча або сухість рогівки), стомлення (загальна втома, біль і тяжкість в очах і голові), труднощі при фокусуванні зору. Можливі також болі в спині і м'язові спазми.

Зорове навантаження зростає через необхідність постійного переміщення погляду з екрану на клавіатуру і паперовий текст.

Людина дистанційно не може визначити, чи знаходиться установка під напругою чи ні. Можливість отримання електротравм має місце не тільки при дотику, але і через напругу кроку і через електричну дугу.

Електричний струм, проходячи через тіло людини надає термічну дію, яка приводить до набряків (від почервоніння, до обвуглювання), електролітичних(хімічне), механічних, які можуть призвести до розриву тканин і м'язів; тому всі електротравми діляться на місцеві і загальні.

Крайній випадок - стан клінічної смерті (зупинка роботи серця і порушення постачання киснем клітин мозку). В стані клінічної смерті знаходяться до 6-8 хв.

Причини поразки електричним струмом (напруга дотику і крокова напруга): дотик до частин, що знаходяться під напругою; дотик до відключених частин, на яких напруга може мати місце у разі залишковому заряді, у разі помилкового включення електричної установки або неузгоджених дій обслуговуючого персоналу, у разі розряду блискавки в електричну установку або поблизу. Також може бути поразка напругою кроку або перебування людини в полі розтікання електричного струму, у разі замикання на землю, поразка через електричну дугу при напрузі електричної установки вище 1кВ, при наближенні на неприпустимо-малу відстань, дія атмосферної електрики при газових розрядах, звільнення людини, що знаходиться під напругою.

Напруга дотику - це різниця потенціалів точок електричного ланцюга, яких людина торкається одночасно, зазвичай в точках розташування рук і ніг.

Напруга кроку - це різниця потенціалів j1 і j2 в полі розтікання струму по поверхні землі між місцями, розташованими на відстані кроку (« 0,8 м).

Спеціальні засоби захисту: заземлення, занулення, захисне відключення.

Захисне заземлення слід виконувати відповідно до ПУЕ і СНіП 3.05.06-85 («Електротехнічні пристрої»).

Ергономічна безпека комп'ютера оцінюється за двома вимогами: до візуальних параметрів дисплеїв (з урахуванням світлового клімату робочого місця) і до емісійних параметрів - випромінювань дисплеїв і ПК.

Вимоги до візуальних параметрів повинні гарантувати комфортність роботи користувача, тобто мінімальне зорове стомлення при заданій точності, швидкості і надійності сприйняття інформації. Саме через особливості зорового сприйняття візуальні вимоги розділені на дві групи:

У першу виділено чотири параметри: яскравість, освітленість, кутовий розмір знаку і кут спостереження, нормування яких в цілях забезпечення ергономічної безпеки комп'ютера взаємозалежно.

Друга - нерівномірність яскравості, відблиски, мигтіння, тремтіння, геометричні і нелінійні спотворення і т.д. (всього більше 20 параметрів) незалежні, і кожен з них може бути окремо заміряний.

Оскільки електромагнітне випромінювання виходить від всіх частин монітора (багато вимірювань показали, що рівень випромінювання з боків і позаду монітора вище, ніж спереду), найбезпечніше встановити комп'ютер в кутку кімнати або в такому місці, де ті, хто на нім не працює, не виявлялися б збоку або ззаду від машини.

Не можна залишати комп'ютер або монітор надовго увімкненим. Якщо комп'ютер не використовується, його слід вимкнути. Це може бути не дуже зручно (і може навіть зробити деякий вплив на термін служби комп'ютера), але все таки це не дуже велика плата за захист від потенційної небезпеки електромагнітного поля.

Діти і вагітні жінки повинні проводити за комп'ютером не більше декількох годин в день. Рекомендації більшості лікарів зводяться в основному до обмеження часу роботи за комп'ютером, обов'язкові паузи під час роботи та інше.

Нерівномірність і складна форма розподілу змінних електромагнітних полів у ряді випадків може представляти велику небезпеку опромінювання для сусідів по робочому приміщенню, ніж для користувача даного ПК.

Монітори комп'ютерів є джерелом рентгенівського, бета - і гамма-випромінювань. Рентгенівське випромінювання присутнє тільки при роботі монітора. Для зменшення шкідливої дії іонізуючих випромінювань в моніторах було понижено анодну напругу, а в скло моніторів доданий свинець. Небезпечні або не небезпечні іонізуючі випромінювання, що випускаються моніторами комп'ютерів, - все залежить від рівнів іонізуючих випромінювань, що потрапляють в очі користувачів комп'ютера. Безпека рівнів іонізуючих випромінювань комп'ютерних моніторів регламентується ДОСТ Р50948-96 і нормами НРБ-99. ДОСТ Р50948-96 обмежує потужність дози рентгенівського випромінювання величиною 100 мкР/час на відстані 5 см від поверхні екрану монітора, а НРБ-99 установлює для населення межу річної еквівалентної дози випромінювань на кришталик ока - 15 мкР/час.

6.2 Заходи щодо нормалізації шкідливих і небезпечних факторів

Норми мікроклімату зазначені у санітарних нормах мікроклімату виробничих приміщень ДСН 3.3.6.042-99.

Температура повітря може відрізнятися від норм залежно від пори року та інших умов. Щоб уникнути небажаних відхилень потрібно встановлювати допоміжні засоби регулювання мікроклімату: кондиціонери, обігрівачі тощо.

Найбільш прийнятними методами захисту від шуму є використання акустичних екранів і звукопоглинальних облицювань.

Акустичний екран є перешкодою для звукових хвиль, що знижує рівень звуку за рахунок утворення акустичної тіні за екраном в зоні розташування робочого місця.

Звукопоглинальне облицювання поверхонь похідних приміщень зменшує інтенсивність відбитих звукових хвиль. Використання звукопоглинальних конструкцій дозволяє понизити УЗ в зоні відбитого звуку на 4-8 дб.

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


Подобные документы

  • Аналіз особливостей конвертації файлів графічних форматів з використанням технології dotNet і створення системи, яка дозволяє наочно проілюструвати принципи програмування з використанням особливостей цієї платформи. Етапи створення windows-додатків.

    дипломная работа [3,1 M], добавлен 22.10.2012

  • Розробка гнучкої інтегрованої автоматизованої системи доступу до каталогу навчальних відеофільмів в мультимедійних класах металургійного факультету Національної металургійної академії. Теоретичні аспекти проектування додатків на базі платформи dotNET.

    дипломная работа [4,0 M], добавлен 26.10.2012

  • Призначення і основні характеристики систем автоматизації конструкторської документації. Основні методи створення графічних зображень і геометричних об’єктів. Методи побудови та візуалізація тривимірних об’єктів. Опис інтерфейсу користувача системи.

    дипломная работа [1,7 M], добавлен 26.10.2012

  • Дослідження інструментальних засобів для створення систем спільного навчання. Створення Windows-додатків на основі Visual C#. Функціональні можливості та програмна реалізація системи інтерактивної взаємодії. Програмна реалізація модулю прийому зображення.

    дипломная работа [4,5 M], добавлен 22.10.2012

  • Визначення принципів розробки додатків для Windows 8 засобами об'єктно-орієнтованого програмування. Розробка програмного застосування для перегляду графічних файлів з функціями здобуття інформації про слайд-шоу. Інтерфейс користувача та лістинг програми.

    курсовая работа [2,8 M], добавлен 23.10.2014

  • Розробка та тестування додатків, які базуються на елементах мови програмування Java, принципи програмування в її середовищі. Вивчення переваг Java-платформи, прикладний програмний інтерфейс та особливості сучасних засобів створення Java-додатків.

    дипломная работа [2,8 M], добавлен 22.06.2011

  • Огляд існуючих типів додатків, їх переваг та недоліків, принципів створення. HTML — стандартна мова розмітки документів для Web. Загальнi вiдомостi про Ajax. Мова JavaScript, проблема з налагодженням сценаріїв. Динамічне створення Flash-анімації.

    дипломная работа [868,8 K], добавлен 23.04.2011

  • Найбільш розповсюджені середовища створення графічних зображень та 3D моделей. Основні інструменти векторних редакторів. Функції програм Adobe Photoshop и Корелдроу. Графічні моделі, характеристики й типи графічних файлів. Створення власних моделей.

    дипломная работа [6,7 M], добавлен 25.06.2011

  • Android, iOS та Windows як основні платформи для розробки додатків для мобільних пристроїв. Перелік вимог до програмної системи. Основні вимоги, які є критичними для працездатності мобільного додатку. Аналіз основних напрямків розвитку системи.

    курсовая работа [1,1 M], добавлен 19.08.2016

  • Сучасні API для програмування тривимірної графіки, математичні основи. Віртуальна камера, конвеєр візуалізації. Вершинні та піксельні шейдери. Розробка та реалізація ігрового додатку. Система постобробки зображення. Реалізація механіки ігрового процесу.

    дипломная работа [4,7 M], добавлен 27.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.