Ім'я файлу: Розділ ІІІ.docx
Розширення: docx
Розмір: 222кб.
Дата: 16.06.2021
скачати
Пов'язані файли:
Розділ I.docx
Розділ ІІ.doc
Список використаних джерел.docx

РОЗДІЛ 3

РОЗРОБКА СИСТЕМИ ОЦІНКИ ПСИХОЛОГІЧНИХ ЯКОСТЕЙ АВІАЦІЙНОГО ПЕРСОНАЛУ
3.1. Інструментальні засоби для розробки системи

Для створення програмної системи в роботі було використано середовище розробки Visual Studio 2015, платформу .NET Framework 4.6 та мову програмування C#.

.NET Framework є надбудовою над ОС, в якості якої може виступати будь-яка версія Windows. Вона включає:

  1. мови програмування: С#, VB.NET, Managed C++і JScript.NET;

  2. об'єктно-орієнтоване середовище CLR (Common Language Runtime), спільно використовуване мовами програмування, зазначеними в першому пункті, для створення додатків під Windows і для Internet;

  3. ряд пов'язаних між собою бібліотек класів під загальним ім'ям FCL (Framework Class Library).

Відношення зазначених архітектурних компонентів платформи .NET Framework з концептуальної точки зору представлені на рис.3.1.



Рис. 3.1. Архітектура .NET Framework

Найважливішим компонентом платформи .NET Framework є CLR, що надає середовище, в якому виконуються програми. Головна його роль полягає в тому, щоб виявляти і завантажувати типи .NET і здійснювати управління ними відповідно до отриманих команд. CLR проводить перевірку безпеки, розміщує об'єкти в пам'яті, виконує їх, а також запускає прибиральник сміття.

CTS (Common Type System) – стандартна система типів, що вбудована в CLR. Вона описує всі типи даних, що підтримуються середовищем виконання,

CLS (Common Language Specification) – загальномовні специфікації, які визначають підмножину загальних типів і програмних конструкцій, зрозумілих усім мовам програмування, сумісних з .NET

Над рівнем CLR знаходиться набір базових класів платформи (бібліотека класів FCL), над ними розташовано шар класів даних і XML, а також шар класів для створення Web-служб (Web Services), Web- і Windows-застосувань (Web Forms і Windows Forms).

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

Над цим рівнем знаходиться рівень класів, які розширюють базові класи з метою забезпечення управління даними і XML. Класи даних дозволяють реалізувати управління інформацією, що зберігається в серверних БД. У число цих класів входять класи SQL (Structured Query Language – мова структурованих запитів), що дають програмісту можливість звертатися до довготривалих сховищ даних через стандартний інтерфейс SQL. Крім того, набір класів ADO.NET дозволяє оперувати постійними даними. Платформа. NET Framework підтримує також цілий ряд класів, що дозволяють маніпулювати XML-даними та виконувати пошук і перетворення XML.

    1. Розробка компонентів системи

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

Система розділена на декілька компонентів, які представлені на діаграмі компонентів (рис.3.2).



Рис. 3.2. Діаграма компонент системи
Компонент Animation.dll містить логіку для анімацій переходу.

Компонент PsyCharacteristic.txt містить перелік правил, що використовуються тестом та в подальшому аналізатором для прийняття рішення про характер людини. Зберігається в форматі Json.

Компонент Test.bin містить перелік слайдів, елементів слайдів, можливих переходів та відповідних правил, тобто є безпосередньо файлом тесту.

Компонент Passed_Test_Time.json містить перелік запитань, відповідей на запитання та відповідних правил. Використовуються аналізатором для прийняття рішення про характер людини. Зберігається в форматі Json.

Компонент Psysis.exe містить основну логіку системи створення та проходження тестів.

Програма призначена для виконання на ПК архітектури x86.

Мінімальні вимоги до апаратного забезпечення ЕОМ:

  • процесор:IntelPentiumIVабо аналогічний;

  • ОЗУ : 512Мб+;

  • монітор;

  • маніпулятор «Миша»;

  • клавіатура.
    1. Діаграма класів


Найбільш якісно показати та зрозуміти структуру майже будь-якого ПЗ можна за допомого діаграми класів. Діаграма класів – діаграма, що демонструє класи системи, їх атрибути, методи і взаємозв'язки між ними. Входить до складу уніфікованої мови моделювання UML.

Існує два види:

  • статичний вид діаграми розглядає логічні взаємозв'язки класів між собою;

  • аналітичний вид діаграми розглядає загальний вид і взаємозв'язки класів, що відносяться до системи.

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

  • концептуальна точка зору – діаграма класів описує модель предметної області, в ній присутні лише класи прикладних об'єктів;

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

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

Діаграми класів створюються при логічному моделюванні ПЗ і служать для наступних цілей: для моделювання даних; для представлення архітектури ПЗ; для моделювання логіки програмних компонентів; для моделювання логіки обробки даних.

Розроблена діаграма класів для розуміння логіки системи представлена в ДОДАТКУ А.

В даному пункті представлений опис основних класів системи (табл.. 3.1-3.6)

Таблиця1

Slide

Опис методів класу Slide

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public Slide(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public Slide()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 2

PassingViewModel

Опис методів класу PassingViewModel

Операції

Опис

public PassingViewModel()

Метод, що є конструктором за замовчуванням

private bool CanExecutedNextButtonCommand()

Метод, що перевіряє можливість натискання кнопки «Next»

private void DoNextButtonCommand(object sender)

Метод, що оброблює натискання кнопки «Next»

private void DoMenuButtonCommand(object sender)

Метод, що оброблює натискання кнопки «Menu»

private void DoFinishButtonCommand(object sender)

Метод, що оброблює натискання кнопки «Finish»

private void DoOpenTestTest(object sender)

Метод, що відкриває тест для проходження

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 3

EditingViewModel

Опис методів класу EditingViewModel

Операції

Опис

public EditingViewModel()

Метод, що є конструктором за замовчуванням

private void DoCreateNewTest(object sender)

Метод, що є обробником команди створення нового тесту

private void DoSaveTest(object sender)

Метод, що є обробником команди збереження тесту

private void DoSaveAsTest(object sender)

Метод, що є обробником команди збереження тесту із заданням нового імені

private void DoOpenTest(object sender)

Метод, що є обробником команди відкриття тесту для редагування

private void DoAddSlideCommand(object sender)

Метод, що є обробником команди додавання нового слайду

private void DoDeleteSlideCommand(object sender)

Метод, що є обробником команди видалення виділеного слайду

private void DoSelectedBackground(object sender)

Метод, що є обробником команди обрання фонової картинки

private void DoClearBackground(object sender)

Метод, що є обробником команди видалення фонової картинки

private void DoAddButtonCommand(object sender)

Метод, що є обробником команди додавання кнопки на слайд

private void DoDeleteButtonCommand(object sender)

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

private void DoAddPersonCommand(object sender)

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

private void DoDeletePersonCommand(object sender)

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

private void DoSelectImagePerson(object sender)

Метод, що є обробником команди обрання зображення персонажу

private void DoDefaultImagePersonCommand(object sender)

Метод, що є обробником команди задання зображення персонажу за замовчуванням

private void DoAddTextCommand(object sender)

Метод, що є обробником команди додавання тексту на слайд

private void DoDeleteTextCommand(object sender)

Метод, що є обробником команди видалення виділеного тексту зі слайду

private void DoAddAnswerBlockCommand(object sender)

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

private void DoDeleteAnswerBlockCommand(object sender)

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

private void DoEditAnswerBlockCommand(object sender)

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

private void DoClearNextSlideCommand(object sender)

Метод, що є обробником команди очищення наступного слайду у варіанті відповіді

private void DoDeleteAnswerItemCommand(object sender)

Метод, що є обробником команди видалення варіанта відповіді

private void DoAddAnswerItemCommand(object sender)

Метод, що є обробником команди додавання варіанта відповіді

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 4

Test

Опис методів класу Test

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public Test(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public Test()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 5

PsyCharacteristicUI

Опис методів класу PsyCharacteristicUI

Операції

Опис

public PsyCharacteristicUI(PsyCharacteristic old) StreamingContext context)

Метод, що є конструктором копіювання

public PsyCharacteristicUI()

Метод, що є конструктором за замовчуванням


Таблиця 6

PsyCharacteristic

Опис методів класу PsyCharacteristic

Операції

Опис

public PsyCharacteristic()

Метод, що є конструктором за замовчуванням


Таблиця 7

AbstractData

Опис методів класу AbstractData

Операції

Опис

public AbstractData ()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 8

ButtonData

Опис методів класу ButtonData

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public ButtonData(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public ButtonData(ButtonType buttonType)

Метод, що є конструктором для створення кнопки з певним типом

public ButtonData()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 9

TextData

Опис методів класу TextData

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public TextData(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public TextData()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 10

AnswerData

Опис методів класу AnswerData

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public AnswerData(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public AnswerData()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовуєтся для виклику події зміни значення атрибуту


Таблиця 11

Person

Опис методів класу Person

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public Person(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public Person()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту


Таблиця 12

AnswerDataItem

Опис методів класу AnswerDataItem

Операції

Опис

public void GetObjectData(SerializationInfo info, StreamingContext context)

Метод, що використовується для користувацької серіалізації.

public AnswerDataItem(SerializationInfo info, StreamingContext context)

Метод, що є конструктором і використовується для користувацької десеріалізації.

public AnswerDataItem()

Метод, що є конструктором за замовчуванням

private void RaisePropertyChanged(string propName)

Метод, що є частиною інтерфейсу INotifyPropertyChanged і використовується для виклику події зміни значення атрибуту































Висновок

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

В якості основної мови програмування при реалізації даного дипломного проекту вибрано мову C#, а середовище розробки: Visual Studio 2013. C# на сьогоднішній день є однією із найпотужніших об’єктно-орієнтовних мов програмування. Крім того, ця мова повністю орієнтується на платформу .NET Framework, що забезпечує ефективне використання макси­маль­ної кількості можливостей останньої.
скачати

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