Ім'я файлу: звіт_виробнича практика - копия.docx
Розширення: docx
Розмір: 699кб.
Дата: 29.01.2024
скачати
Пов'язані файли:
2_3_Робоча_програма_з_переддипломної_практики (1).doc
zarobitna_plata_ta_jiji_ekonomichna_sutnist-teorij.doc
педагогіка.rtf
Patomorfol_2-Ma_lchenko.pdf
КонспектКРВ-3.3.3сукня.docx
Члени творчої групи.docx
Управління ресурсами підприємства.docx
Математичні методи економіки.doc
Научная работа.Непорочная любовь в романах Гюго.docx
Мастерова И.docx
Безпалий.docx
ІПР для Голюк А.В._4-А.docx
ІПР для Онойченко І.П . 4-А.docx
Гоц М. Магістерська робота (2).docx
Аналіз роботи Ф.Ніцше «Так казав Заратустра»..docx

Міністерство освіти і науки, молоді та спорту України

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

«НАЦІОНАЛЬНИЙ ГІРНИЧИЙ УНІВЕРСИТЕТ»
ІНСТИТУТ ЕЛЕКТРОЕНЕРГЕТИКИ

ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Кафедра програмного забезпечення комп'ютерних систем

Звіт

з виробничої практики
Період проходження
з «21» січня 2013 р. по «18» лютого 2013 р.



Повна назва підприємства,

де студент проходив практику

ТОВ «Локарус Україна»


Виконавець:




______________Р.С. Бердо,

студент групи ПІітС-11-1


Керівник практики від кафедри:

______________Л.М. Коротенко,

к.т.н., доцент


Керівник практики від підприємства:

______________А.В. Коломоєць,

начальник відділу захисту інформації



Дніпропетровськ

2013

ЗМІСТ


ВСТУП

3

1. ОСНОВНА ЧАСТИНА

4

1.1 Опис загальної структури та призначення підприємства, його складових частин, функції та призначення підрозділів, їх взаємний зв’язок, функції, які виконують працівники підприємства



4

1.2 Опис апаратного забезпечення комп’ютерних систем і мереж, яке використовується на підприємстві


7

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


11

2. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

16

2.1 Реалізація завдання

16

2.2 Результати виконання

17

ВИСНОВКИ

19

ДОДАТКИ

20

СПИСОК ЛІТЕРАТУРИ

25


ВСТУП

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

Мета практики визначається наступними задачами:

– засвоєння бібліотек класів Java 2 та методики розробки додатків, апплетів та сервлетів;

– вивчення команд системи контролю версій на прикладі програми Git;

– дослідження техніки ефективного використання пакету AWT мови Java для створення автономних вікон;

– вивчення груп класів та інтерфейсів пакету java.net, які дозволяють керувати мереживними з’єднаннями в Java-програмах;

– розгляд механізмів обробки виключень мови Java.

Під час навчальної практики передбачається також ознайомлення з розробками замовленого програмного забезпечення, контролерів, датчиків та трекерів для підприємств з власним автопарком, транспортних компаній доставки багажу, будівничих і торгових організацій; вивчення протоколів DDF, CAN,Modbus,1-Wire.

Студенти за час виробничої практики повинні оволодіти основними вміннями та практичними навиками:

  • досконало розуміти принципи об’єктно-орієнтованого програмування;

– знати протоколи TCP, IP, UDP;

– вміти знаходити протоколи на необхідні трекери;

– знати технологію багатопоточного програмування.
1. ОСНОВНА ЧАСТИНА

1.1 ОПИС ЗАГАЛЬНОЇ СТРУКТУРИ ТА ПРИЗНАЧЕННЯ ПІДПРИЄМСТВА, ЙОГО СКЛАДОВИХ ЧАСТИН, ФУНКЦІЇ ТА ПРИЗНАЧЕННЯ ПІДРОЗДІЛІВ, ЇХ ВЗАЄМНИЙ ЗВ’ЯЗОК, ФУНКЦІЇ, ЯКІ ВИКОНУЮТЬ ПРАЦІВНИКИ ПІДПРИЄМСТВА
Компанія «Локарус Україна» є представником технологічного лідера на вітчизняному ринку пошукових систем GPS/ГЛОНАСС-моніторингу транспорту – ТОВ «Локарус» і здійснює обслуговування та підтримку систему моніторингу (обладнання та програмного забезпечення).

Діяльність ТОВ «Локарус Україна» регламентується «Випискою з Єдиного державного реєстру юридичних осіб та фізичних осіб-підприємців» від 30 серпня 2011 року.

На підприємстві працює 8 чоловік, що займають основні посади та додатково 20 чоловік, які встановлюють обладнання на підприємствах.

Компанія здійснює:

  • монтаж, налагодження та обслуговування обладнання побічних виробників – GlobalSat, Teltonika, RCS Teletrack, Intellitrack та інших;

  • налаштування серверів GPS моніторингу під ключ;

  • розробка план-схем місцевості;

  • інтеграція чужих систем моніторингу транспорту в систему Локарус;

  • обслуговування датчиків рівня палива (ДРП) – RCS і Omnicomm;

  • обслуговування датчиків витрат палива (ДВП) – AquaMetro;

  • підключення CAN шини автомобілів;

  • підключення сторонніх датчиків (аналогових, частотних, дискретних, цифрових RS-485/1-Wire/ModBus).

Ключові технології обладнання Локарус:

  • гнучке та постійно розвиваюче ПЗ Locarus Informer;

  • спряження з серійними навігаторами, побудованими на ОС WinCE і Garmin по різним інтерфейсам;

  • динамічний протокол передачі даних по мережам мобільного зв’язку (DDF);

  • власні формати файлів для прискореної прорисовки електронних карт і миттєвого контекстного пошуку адрес;

  • робота з протоколами CAN,Modbus,1-Wire для збору даних із додаткових датчиків;

  • можливість написання власних плагинів.

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

Діяльність компанії спирається на використанні системи навігаційного контролю. Вона працює наступним чином.

Система супутникового стеження Locarus будується на використанні технології GPS-моніторингу та мобільного зв’язку формату GSM/GPRS. Прилад встановлений на транспортному засобі (ТЗ) чи такий, що лежить у кармані у людини, приймає сигнали від супутників системи NAVSTAR, з точністю до метру визначає географічні координати місцезнаходження і фіксує всі переміщення свого носія. Разом з тим, бортовий автомобільний контролер системи Locarus, оснащений відповідними датчиками (датчик розходу палива VZO OEM, датчик температури, сигналізація і т.д.), протягом всього шляху слідування записує інформацію про стан датчиків, напруги в бортовій мережі ТЗ, і т.д., в залежності від потреб користувача.

Систем Locarus працює з двома видами приладів: on-line і off- line. А ті та інші фіксують у вбудованій пам’яті параметри рейсу, так званий «трек», протягом всього шляху слідування. При цьому он-лайнові пристрої такі як бортовий контролер Locarus 702/702х і персональні носимі трекери, використовуючи канал пакетної передачі GPRS в мережах GSM, передають інформацію на сервер безпосередньо з рейсу, в режимі реального часу.

Для зручності обробки даних отриманих від пристроїв контролю транспорту розроблена програма «Locarus Informer», яка максимально спрощує як сам процес моніторингу, так і складання документальних звітів по його результатам.

Окрім того використання он-лайнових пристроїв дозволяє розширити можливості системи до дистанційного керування роботою ТЗ.

Он-лайновий бортовий контролер Locarus 702 у відповідності з отриманою командою може блокувати систему подачі палива, запалювання чи електрозамки дверей до скасування надійденої команди.

Рис. 1 Здійснення GPS моніторингу
Компанія «Локарус» разом зі своїми дилерами та клієнтами не стоїть на місці, а рухається вперед.

1.2 ОПИС АПАРАТНОГО ЗАБЕЗПЕЧЕННЯ КОМП’ЮТЕРНИХ СИСТЕМ І МЕРЕЖ, ЯКЕ ВИКОРИСТОВУЄТЬСЯ НА ПІДПРИЄМСТВІ



Обчислювальні мережі поділяються на два основних види: локальні мережі (Local Area Networks, LAN) з’єднують комп’ютери, розташовані у одному приміщенні чи споруді, а глобальні мережі (Wide Area Networks, WAN) зв’язують комп’ютери, що знаходяться на значній відстані один від одного. Найбільш популярний тип локальних мереж називається Ethernet. Спочатку проста мережа Ethernet складалась із товстого кабелю, до якого за допомогою пристрою під іронічною назвою зуб вампіра (vampire tap) підводились дроти від комп’ютерів, що входять до мережі. У сучасних мережах Ethernet комп’ютери підключаються до центрального комутатора (він показаний справа на рис.2). В перших версіях Ethernet швидкість передачі даних обмежувалась значенням 3 Мбіт/с, а у першій комерційній версії вона збільшилась до 10 Мбіт/с. Внаслідок з’явились версії Fast Ethernet ті Gigabit Ethernet зі швидкостями передачі даних100 Мбіт/с і 1 Гбіт/с відповідно.


Рис. 2 Схема підключення користувачів до серверів Інтернету





Організація глобальних мереж не настільки одноманітна. У таких мережах встановлюються комп’ютери, що мають назву маршрутизатори, між якими прокладаються дротові чи оптоволоконні канали. Від вихідного комп’ютера до цільового дані передаються у вигляді невеликих блоків по 64 – 1500 байт, які називаються пакетами. На кожній ретранслятаційній дільниці, чи хопі, пакет спочатку зберігається у пам’яті маршрутизатора, а потім відправляється далі, як щойно звільниться необхідна лінія зв’язку. Такий підхід називається комутацією зі збереженням та просуванням пакетів (store-and-forward packet switching). Хоча багатьом здається, що Інтернет є глобальною мережою, технічно він представляє собою об’єднання великого числа різноманітних мереж. Втім, ця різниця для подальшого розгляду непринципова. На рис. 2 структура Інтернету показана з точки зору домашнього користувача. Комп’ютер такого користувача зазвичай звертається до веб-серверів через телефонну лінію, підключаючись до неї чи за допомогою звичайного модему, чи через лінію ADSL. Для підключення може також використовуватись кабель кабельного телебачення. В цьому випадку права частина рис. 2 буде виглядати трохи інакше, оскільки постачальником додатків буде компанія кабельного телебачення. Отже, комп’ютер користувача розбиває дані на пакети, щоб передати їх спеціальній компанії, яка називається постачальником послуг Інтернету (Internet Service Provider, ISP). Сам постачальник послуг Інтернету використовує високошвидкісне з’єднання (звичайно по оптоволокну) з однією із регіональних чи магістральних мереж, які складають Інтернет. Пакети передаються між комп’ютерами мережі, переміщуючись хоп за хопом до сервера. У більшості компаній, пропонуючих веб-послуги, мається так званий брандмауер – спеціалізований комп’ютер, фільтруючий вхідні пакети, видаляючи небажані (наприклад, пакети від хакерів). Брандмауер підключається до місцевої локальної мережі (звичайно через комутатор), що відповідає за доставку пакетів необхідному серверу. Мережеве програмне забезпечення складається з декількох протоколів, кожний з яких представляє собою набір форматів, послідовностей обміну та правил, визначаючих призначення пакетів. Наприклад, коли користувач хоче отримати веб-сторінку із серверу, його браузер по протоколу HTTP (Hyper-Text Transfer Protocol – протокол передачі гіпертексту) відправляє пакет із запитом GET PAGE серверу, який «знає», як обробляти отриманий пакет. У процесі передачі використовуються безліч різних протоколів, причому часто сумісно. Звичайно вони організовані в ієрархічну багаторівневу структуру, у якій протоколи верхнього рівня передають пакети протоколам низлежащих рівнів. На стороні отримувача пакети піднімаються вверх по ієрархії у зворотному порядку. Розглянемо як запит GET PAGE попадає на веб-сервер. Насамперед, браузер встановлює установлює з сервером з’єднання по протоколу ТСР (Transmission Control Protocol – протокол керування передачою). Програмне забезпечення, що реалізує цей протокол, слідкує за тим, щоб усі відправлені пакети були доставлені, причому у вірному порядку. В разі втрати пакета програмне забезпечення ТСР максимально швидко повторює передачу даних до тих пір, поки пакет, нарешті, не буде отриманий. Реально відбувається наступне. Браузер формує коректне НТТР-повідомлення із запитом GET PAGE, а потім передає його програмному забезпеченню ТСР, яке і передає пакет через з’єднання. Програмним забезпеченням ТСР на початок повідомлення додає заголовок, що містить порядковий номер та другу інформацію. Цей додатковий заголовок називається ТСР-заголовком. Зробивши свою частину роботи, програмне забезпечення ТСР передає ТСР-заголовок разом із корисним навантаження (що містить запит GET PAGE) ще одній програмі, яка реалізує протокол ІР (Internet Protocol – між мережний протокол). Ця програма додає на початок пакету ІР-заголовок із інформацією про адреси відправника (тобто машини, що передає пакет) та відправника (машини, що очікує пакет), максимальному числі хопів, рухаючись вздовж яких пакет буде існувати (щоб «загублені» пакети не жили вічно, заповнюючи собою весь Інтернет), контрольною сумою (для виявлення помилок пам’яті та помилок передачі) і рядом інших полів. Далі пакет (що включає у себе ІР-заголовок, ТСР-заголовок та сам запит GET PAGE) передається «вниз» на рівень каналу передачі даних, який додає до пакета свій заголовок і передає пакет по лінії зв’язку. Цей рівень також дописує в кінець контрольну суму, яка називається CRC (Cyclic Redundancy Check – циклічний контроль надлишку) і дозволяючи виявляти помилки передачі. Може здатися, що дві контрольні суми, на рівні ІР і на рівні каналу даних – це більше, ніж необхідно, але такий підхід підвищує надійність. На кожному хопі перевіряється CRC-код пакету, після чого заголовок разом з CRC-кодом генерується заново, у відповідності з вимогами вихідного каналу передачі даних. На рис.3 показано, що представляє собою пакет в Ethernet. Випадок телефонної лінії відрізняється тільки тим, що замість Ethernet-заголовку є заголовок комутуємої лінії. Обробка заголовків – одна з важливих задач, яку повинні вирішувати мереживі процесори.


Ethernet-заголовок

ІР-заголовок

ТСР-заголовок

Корисне навантаження

CRC


Рис. 3 Вид Ethernet-пакету



У своїй ТОВ «Локарус Україна» використовує наступний апаратний комплекс:

– Файл-сервер на базі Intel Core i5 2800Мhz, 4 GbRAM, 2Tb SATA 3, 2xLAN-CARD (вихід в мережу Інтернет та підтримка корпоративної мережі);

– локальна мережа – Ethernet. Побудована з використанням двох 8-ми портових switch фірми D-link. Як фізичне середовище передачі даних використовується вита пара UTP-5;

– 1 ADSL модем D-link , що забезпечує доступ до мережі інтернет через телефонний зв’язок;

– Блоки безперебійного живлення фірми APC(в залежності від потреб використовуються різні моделі);

– персональні комп’ютери різноманітних конфігурацій (від Celeron 2130 Mhz до Intel Core i3 2.4 Ghz). Використовуються як офісні машини (набір текстів, електронних таблиць, формування звітності та ін.);

– принтери Canon LBP2900, HP 1100A, Samsung L1200.
1.3 ОПИС ЗАГАЛЬНОЇ СТРУКТУРИ ТА ПРИЗНАЧЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ, ЯКЕ ВИКОРИСТОВУЄТЬСЯ НА ПІДПРИЄМСТВІ
На файл-сервері встановлено операційну систему FreeBSD REALESE.

На комп’ютерах директорів, заступника директора, начальника відділу захисту інформації встановлено операційну систему Ubuntu, інших адміністративних працівників – Windows 7 Home Basic та Windows XP.

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

Нажаль детальніша інформація по цих системах знаходиться під грифом ДСК.

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

Операційна система може розміщуватися у постійній пам’яті комп’ютера чи завантажується в оперативну пам'ять з диску при ввімкненні комп’ютера. Операційні системи, що завантажуються з дисків, називаються дисковими операційними системами (DOS – Disk Operating System). До них відносяться MS DOS, Windows, UNIX, OS/2.

В будь-якій операційній системі можна виділити чотири основні частини: ядро, файлову структуру, інтерпретатор команд користувача і утиліти. Ядро – це основна, визначаюча частина операційної системи, яка керує апаратними засобами і виконанням програм. Файлова структура – це система збереження файлів на запам’ятовуючих пристроях. Інтерпретатор команд чи оболочка – це програма, організовуюча взаємодію користувача з комп’ютером. І, нарешті, утиліти – це просто окремі програми, які, загалом кажучи, нічим принципово не відрізняються від других програм, запускаємих користувачем, хіба що своїм призначенням – вони виконують службові функції.

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

– забезпечення діалогу між користувачем і комп’ютером;

– розподілення ресурсів комп’ютера між користувачами;

– підтримка режиму колективного використання комп’ютера;

– забезпечення ефективної взаємодії процесора і пристроїв введення-виведення;

– підтримка файлової системи зберігання інформації на носіях;

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

Особливості апаратних платформ

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

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

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

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

Генезис Java

Крім того, кросс-платформеною є мова Java, яку я вивчила під час проходження практики.

Java – не лише мова. Хороші мови – не рідкість; виникнення деяких з них викликало у свій час сенсацію в комп’ютерному світі. На відміну від них, Java – це програмна платформа, що включає потужну бібліотеку, великий об’єм коду, цілком придатного для повторного використання, і середовище для виконання програм, яке забезпечує безпеку, незалежність від операційної системи і автоматичний збір «сміття».

Базові терміни мови Java:

– проста; – архітектурно-незалежна;

– безпечна; – інтерпретуєма;

– переносима; – висока ефективність;

– об’єктно-орієнтована; – розпроділена;

– стійка; – динамічна.

– багатопоточна;

Ключем, який дозволяє Javaвирішувати проблеми захисту та мобільності, є байт-код (bytecode). Справа в тому, що вихід компілятора Java є не виконуваним кодом, а байт-кодом. Байт-код – це високо оптимізований набір команд, призначених для виконання спеціальною системою Java, яка називається віртуальною Java-машиною (JVM, Java Virtual Machine). Тобто, у його стандартній формі JVM – це інтерпретатор байт-коду. Програма Java, виконувана з допомогою JVM, допомагає вирішувати більшість проблем, пов’язаних із завантаженням програм через Internet. І ось чому.

Переклад програми Java у байт-код робить більш простим її виконання у широкій різноманітності середовищ. Єдина умова: JVM повинен бути реалізований для кожної платформи. Щойно пакет часу виконання з’являється для даної платформи, на ній може виконуватись люба програма Java. Хоча деталі JVM відрізняються від платформи до платформи, всі вони інтерпретують той самий байт-код Java. Якщо програма Javaбула відкомпільована з приведенням до рідного (native) коду, то різні версії тієї самої програми повинні будуть існувати для кожного типу CPU, приєднаного до Internet. Це, звісно, невиконаєме рішення. Таким чином, інтерпретація байт-коду – самий простий спосіб створити істинно переносимі програми.

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

Коли програма інтерпретується, вона, загалом, виконується значно повільніше, ніж при компіляції до виконуваного коду. Однак у випадку Java різниця між двома способами трансляції не така велика. Використання байт-коду дає можливість виконавчій (run-time) системі Java виконувати програми набагато швидше, ніж можна було б очікувати.

2. ІНДІВІДУАЛЬНЕ ЗАВДАННЯ

Під час проходження виробничої практики на підприємстві індивідуальним завданням було вивчення організації інформаційної підтримки процесів ТОВ «Локарус Україна». Для виконання цієї мети були поставлені наступні задачі:

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

– Створити додаток, що реалізує роботу з сокетами на Java. Перший додаток виступає у ролі сервера, другий – клієнта.

Порядок взаємодії: сервер запускається і очікує підключення клієнтів. Клієнт підключається до серверу. Сервер прийнявши підключення клієнта відправляє йому строку: «Hello Client!». Клієнт отримавши дані від серверу виводить на стандартний вивід.

Вимоги: всі параметри для запуску додатків передаються у вигляді параметрів. Код програми помістити під систему контролю версій Git. Оформляти код програми дотримуючись правил оформлення програми.
2.1 Реалізація

Мовою реалізації була вибрана мова Java.

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

Друга задача індивідуального завдання складається з двох додатків. Перший – це сервер, він очікує підключення клієнтів, а після передає їм строку «Hello Client!». Другий – клієнт. Він підключається до серверу і виводить отриману строку в консолі. Обидві програми необхідно запускати з параметрами. Якщо вони відсутні, виникає повідомлення, яке інформує про відсутність параметрів і показує, що треба ввести, щоб не виникало помилки виконання.
2.2 Результати виконання

Задача 1:



Рис. 4 Результат виконання першої задачі індивідуального завдання

Задача 2:



Рис. 5 Результат виконання другої задачі індивідуального завдання – серверна частина


Рис. 6 Результат виконання другої задачі індивідуального завдання – клієнтська частина

ВИСНОВКИ

Я проходила виробничу практику по напрямку «Програмна інженерія» на підприємстві ТОВ «Локарус Україна».

При проходженні виробничої практики я вивчила структуру підприємства, основні напрями. З’ясовано, що підприємство спеціалізується на GPS-моніторингу транспорту та вантажу, тому можна сказати, що основним напрямком у діяльності підприємства є програмування.

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

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

ДОДАТОК А

Код програм

Лістинг задачі 1:

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.io.*;

import java.util.logging.FileHandler;

import java.util.logging.Handler;

import java.util.logging.Level;

import java.util.logging.Logger;
public class AnalizFaila {

static private String file; //шлях файлу

static private String file_name; //ім’я файлу

static private JLabel label = new JLabel("Шлях обраного файлу:"); //мітка шляху обраного файлу

static private JLabel symb = new JLabel("Символів: "); //мітка кількості символів

static private JLabel slov = new JLabel("Слів: "); //мітка кількості слів

static private JLabel prob = new JLabel("Прогалин: "); //мітка кількості прогалин

static private JFileChooser fileChooser = new JFileChooser();

private static final Logger log = Logger.getAnonymousLogger();
public static void createGUI() {

try {

JDialog.setDefaultLookAndFeelDecorated(true);

Handler handler = new FileHandler("test.log", 1024, 10);

log.addHandler(handler);

//Створення вікна

JFrame.setDefaultLookAndFeelDecorated(true);

JFrame frame = new JFrame("Аналіз вмісту файлу");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setPreferredSize(new Dimension(600, 300));

JPanel panel = new JPanel(new BorderLayout());

//Створення кнопки вибору файлу

JButton button = new JButton("Оберіть файл»");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

log.info("Knopka nagata");

try {

int returnValue = fileChooser.showOpenDialog(null);

if (returnValue == JFileChooser.APPROVE_OPTION) {

File selectedFile = fileChooser.getSelectedFile();

file = fileChooser.getSelectedFile().getPath();

file_name = selectedFile.getName();

label.setText(label.getText() + file);

}

} catch(NullPointerException e) {

log.info(e.toString());

}

}

});

//Створення кнопки для аналізу вмісту файлу

JButton button_f = new JButton("Виконати");

button_f.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

try {

FileInputStream in = new FileInputStream(file);

byte[] array = new byte[in.available()];

in.read(array);

String text = new String(array);

int count = 0; // кількість символів

int kl_sp=0; // кількість прогалин

for (char ch : text.toCharArray()) {

if (!Character.isSpaceChar(ch)) {

count++;

}

if (Character.isSpaceChar(ch)){

kl_sp++;

}

}

prob.setText(prob.getText() + kl_sp);

symb.setText(symb.getText() + count);

slov.setText(slov.getText() + (kl_sp+1));

} catch (IOException e) {

log.info("Oshibka vvoda/vivoda");

} catch (NullPointerException npe) {

log.info("Fail ne vibran");

}

}

});

JPanel panel2 = new JPanel(new BorderLayout());

panel2.add(prob, BorderLayout.NORTH);

panel2.add(slov, BorderLayout.CENTER);

panel2.add(symb, BorderLayout.SOUTH);

panel.add(label, BorderLayout.WEST);

panel.add(button_f, BorderLayout.SOUTH);

panel.add(button, BorderLayout.EAST);

frame.add(panel, BorderLayout.NORTH);

frame.add(panel2, BorderLayout.SOUTH);

frame.pack();

frame.setVisible(true);

} catch (IOException ex) {

Logger.getLogger(AnalizFaila.class.getName()).log(Level.SEVERE, null, ex);

} catch (SecurityException ex) {

Logger.getLogger(AnalizFaila.class.getName()).log(Level.SEVERE, null, ex);

}

}

public static void main(String[] argv) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createGUI();

}

});

}

}
Лістинг задачі 2:

Server.java:

import java.net.*;

import java.io.*;
class ServerOne extends Thread {

private Socket socket;

private InputStream sin;

private OutputStream sout;

private DataInputStream in;

private DataOutputStream out;

public ServerOne (Socket s) throws IOException {

socket = s;

sin = socket.getInputStream();

sout = socket.getOutputStream();

in = new DataInputStream(sin);

out = new DataOutputStream(sout);

start();

}

public void run() {

try {

while (true) {

String line = "Hello world!";

out.writeUTF(line);

out.flush();

}

} catch (IOException e) {

System.err.println("\nIO Exception");

}

finally {

try {

socket.close();

} catch (IOException e) {

System.err.println ("\nSocket not closed");

}

}

}

}
public class Server {

public static void main(String[] args) throws IOException {

if (args.length != 1)

throw new IllegalArgumentException("\nParameters:
");

int port = Integer.parseInt(args[0]);

ServerSocket ss = new ServerSocket(port);

System.out.println("\nWaiting for a client...");

try {

while (true) {

//locked to the appearance of new connection

Socket socket = ss.accept();

try {

new ServerOne (socket);

} catch(IOException e) {

socket.close();

}

}

}

finally {

ss.close();

}

}

}

Client.java:

import java.net.*;

import java.io.*;
public class Client {

public static void main(String[] args) throws IOException {

if (args.length != 2)

throw new IllegalArgumentException("\nParameters: ,
");

int serverPort;

serverPort = Integer.parseInt(args[1]);

InetAddress ipAddress = InetAddress.getByName(args[0]);

Socket socket = new Socket(ipAddress, serverPort);

InputStream sin = socket.getInputStream();

OutputStream sout = socket.getOutputStream();

//Convert streams to another type

DataInputStream in = new DataInputStream(sin);

DataOutputStream out = new DataOutputStream(sout);

String line = null;

line = in.readUTF();

System.out.println("The server sent me this : " + line + '\n');

socket.close();

}

}

СПИСОК ЛІТЕРАТУРИ
1. Хорстманн К.С., Корнелл Г. Java 2. Библиотека профессионала, том I. Основы, 7-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2007. – 896 с.

2. Хорстманн К.С., Корнелл Г. Java 2. Библиотека профессионала, том II. Тонкости программирования, 7-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2007. – 1168 с.

3. Java Code Conventions – Oracle, September 12, 1997. – 24 p.

4. Эккель Б. Философия Java. Библиотека программиста. 4-е изд. – СПб.: Питер, 2009. – 640 с.

5. Calvert K.L., Donahoo M.J. TCP/IP sockets in Java: practical guide for programmers (2nd ed.). The Morgan Kaufmann, 2008. – 193 p.

6. Фаулер М. Рефакторинг: улучшение существующего кода. – Пер. с англ. – СПб.: Символ-Плюс, 2003. – 432 с.

7. S.Chacon. Pro Git. Apress, 2009.

8. Самоучитель. Зоопарк операционных систем на одном компьютере + 25 ОС на DVD: быстро и легко / С.Н.Абражевич. – М.: Лучшие книги, 2008. – 320 с.

9. Ноутон П., Шилдт Г. JAVA 2 – «БХВ-Петербург», 2001. – 1102 с.

10. Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). – СПб.: Питер, 2007. – 844 с.
ПРИМЕРНАЯ ФОРМА ОТЗЫВА 
РУКОВОДИТЕЛЯ ПРАКТИКИ ОТ ВУЗА


 

ОТЗЫВ

 

На отчет студента (Фамилия Имя Отчество)____________________

По практике (наименование вида практики) _____________________ _____________________________________________________________

 

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

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

 

 

 

 

 

 

Руководитель практики                                                             И.О. Фамилия

Например: Что пишут в характеристике на студента?

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

Информация о сроках прохождения практики
Может располагаться в произвольном месте характеристики (см. ниже).

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

Характеристика теоретических знаний студента и приобретенных им практических навыков
Пример: Практикант Иванов А.Б. успешно применял полученные в Университете теоретические знания для выполнения заданий на производстве. Помимо этого,
в период прохождения практики студент изучил структуру предприятия и координацию отделов, освоил основные принципы документооборота, составления отчетности и договоров.
Оценка выполненной студентом работы
Пример: Руководство организации ООО "Образец" положительно оценивает работу студента Петрова П.С. в период с ___ по ____, все поставленные задачи были им выполнены в срок с соблюдением требований к качеству исполнения.

Характеристика профессиональных качеств студента
Проявляет внимательность к мелочам, особенно к финансовым документам. Работоспособен, исполнителен. Компетентен в профессиональной сфере.

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

Итоговая оценка
Пример: Результаты работы студента Петрова В.Г. в рамках производственной практики заслуживают оценки "отлично".

Печать, дата, подпись руководителя
Подпись должна быть заверена в отделе кадров.

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

Другие примеры смотрите ниже.

Характеристика

на студента Кафельникова Михаила Львовича, проходившего практику во ФГУП "Электроавтоматика" с 11.04.11 по 28.04.11.

Студент Кафельников М.Л. проходил практику в отделе разработки и внедрения автоматизированных систем. За время производственной практики на Кафельникова М.Л. были возложены следующие обязанности:

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


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

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

* Составление проектных чертежей.
* Монтаж базовых частей промышленного оборудования.
* Корректировка рабочих параметров производственных установок.


Также практикант получил опыт работы в инженерном коллективе (работа в команде).

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

Главный инженер ФГУП "Электроавтоматика", доктор технических наук, профессор Белобородов С.В.

скачати

© Усі права захищені
написати до нас