Інформація про навчальний заклад

ВУЗ:
Національний авіаційний університет
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Курсова робота
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ КУРСОВА РОБОТА з дисципліни «Об’єктно-орієнтоване програмування» Зміст Завдання 3 Опис предметної області 6 Фізична та логічна структура даних 7 Опис програмного забезпечення 9 Структуризація програми 11 Інструкція з використання програми (для користувача) 23 Інструкція для використання розробником 28 СПИСОК ЛІТЕРАТУРИ 29 Завдання Розробити систему автоматизації центра зайнятості згідно з наступними вимогами: Функціональні вимоги: Управління категоріями: Можливість додавати категорію Можливість видаляти категорію Можливість змінити категорію Можливість перегляду категорії Можливість перегляду всіх категорій кількість вакансій і резюме 2. Управління вакансією і резюме 2.1. Можливість додавати вакансію і резюме до категорії 2.2. Можливість видаляти вакансію і резюме з категорії 2.3. Можливість змінювати дані вакацій і резюме 2.4. Можливість переглянути дані конкретної вакації і резюме 2.5 Можливість переглянути список всіх вакансія 2.5.1 Можливість відсортувати список по назві 2.6. Можливість переглянути список всіх резюме 2.6.1 Можливість відсортувати список по назві 3. Управління безробітними 3.1. Можливість додавати безробітних 3.2. Можливість видаляти безробітних 3.3. Можливість змінювати дані безробітних 3.4. Можливість переглянути дані конкретного безробітного 3.5. Можливість переглянути список всіх безробітних 3.5.1.Можливість відсортувати список по імені 3.5.2.Можливість відсортувати список по прізвищу 4. Управління фірмами замовниками 4.1. Можливість додавати замовників 4.2. Можливість видаляти замовників 4.3. Можливість змінювати дані замовників 4.4. Можливість переглянути дані конкретного замовника 4.5. Можливість переглянути список всіх замовників 4.5.1. Можливість відсортувати список по імені 4.5.2. Можливість відсортувати список по прізвищу 5. Управління наймом 5.1. Можливість найняти людину на певну вакансію. 5.2. Можливість відмінити найм людини на певну вакансію. 5.3. Можливість переглянути дані конкретного наймання людини. 6. Пошук 6.1. Можливість пошуку по ключовому слову серед вакансій 6.2. Можливість пошуку по ключовому слову серед безробітних 6.3. Пошук найактивнішого роботодавця 7. Можливість переглянути довідку по командам Нефункціональні вимоги: Вимоги до зовнішнього інтерфейсу Зовнішній інтерфейс користувача має бути командним Застосування має бути консольним Дані повинні зберігатись у файлах після виходу з програми. Система має забезпечити правильність введених даних Логічна структура даних Інформаційний об'єкт категорія Елемент даних Тип Опис Коментар  Назва текст -   Інформаційний об'єкт вакансія Елемент даних Тип Опис Коментар  Назва текст Назва вакансії   Опис текст Опис вакансії   Назва фірми роботодавця текст Назва фірми роботодавця   Дата Дата Дата добавлення нової вакансії   Інформаційний об'єкт резюме Елемент даних Тип Опис Коментар  Назва текст Назва резюме   Опис текст Опис резюме   Ім’я безробітного текст Ім’я безробітного   Дата Дата Дата добавлення нового резюме   Акт найму Елемент даних Тип Опис Коментар  Дата дата Дата замовлення   Безробітній текст посилання   Вакансія текст Посилання на список вакансій   Назва фірми роботодавця текст посилання    Інформаційний об'єкт Фірма замовник Елемент даних Тип Опис Коментар  Назва текст Назва резюме   Опис текст Опис резюме   Кількість вакансій текст Опис вакансій   Реєстраційний номер текст     Опис предметної області Предметною областю, що є об’єктом даної курсової роботи, є система автоматизації центра зайнятості. Дана система реалізує можливості накопичення бази даних центру новими безробітними та їх резюме, фірмами-замовниками та їх вакансіями, а також їх подальше редагування та видалення, наймом та звільнення з роботи, пошук безробітних та вакансій, а також сортування списків. Накопичення передбачає каталогізацію створених даних у порядку їх створення. Редагування визначає можливість змінювати всі наявні пункти, що входять до бази даних. Основним завданням даної системи є: Автоматизувати процес роботи з фірмами-замовниками та роботодавцями; Надати робітнику центру зайнятості повний доступ до даних системи; Спростити процедури прийому та звільнення з роботи; Система повинна забезпечувати простоту у використанні, тому використовує простий консольний інтерфейс. Також вона повинна підтримувати якомога більшу кількість комп’ютерів різних характеристик, тому використовує прості алгоритми для виведення консольної графіки. Фізична та логічна структура даних Логічна структура даних Інформаційний об'єкт категорія характеризується полями наведеними у Табл.1 Табл. 1 Елемент даних Тип Опис Коментар  Назва текст -   Об'єкт вакансія характеризується полями наведеними у Табл.2 Табл. 2 Елемент даних Тип Опис Коментар  Назва текст Назва вакансії   Опис текст Опис вакансії   Назва фірми роботодавця текст Назва фірми роботодавця   Дата Дата Дата добавлення нової вакансії   Об'єкт резюме характеризується полями наведеними у Табл.3 Табл.3 Елемент даних Тип Опис Коментар  Назва текст Назва резюме   Опис текст Опис резюме   Ім’я безробітного текст Ім’я безробітного   Дата Дата Дата добавлення нового резюме    Акт найму характеризується полями наведеними у Табл.4 Табл.4 Елемент даних Тип Опис Коментар  Дата дата Дата замовлення   Безробітній текст посилання   Вакансія текст Посилання на список вакансій   Назва фірми роботодавця текст посилання   Об'єкт Фірма замовник характеризується полями наведеними у Табл.5 Табл.5 Елемент даних Тип Опис Коментар  Назва текст Назва резюме   Опис текст Опис резюме   Кількість вакансій текст Опис вакансій   Реєстраційний номер текст     Така логічна структура даних використовується в даній системі, а для збереження даних на диск використовується запис та зчитування даних з файлу. Опис програмного забезпечення Вербальний опис прецеденту системи автоматизації центру зайнятості: Короткий опис. Користувач обирає необхідний пункт меню. Після вибору користувач має можливість працювати з конкретною функцією. Після завершення роботи функції користувач повертається до попереднього меню. Суб’єкти – користувач. Передумова. Користувач вибирає управління резюме. Основний потік. 4.1) Система відображає сторінку вибору. Сторінка вміщує наступне: 4.1.1) Додати резюме; 4.1.2) Видалити резюме; 4.1.3) Змінити резюме; 4.1.4) Переглянути певне резюме; 4.1.5) Переглянути всі резюме; 4.1.6) Сортувати резюме за назвою. 4.2) Якщо користувач вибирає пункт меню, то викликається відповідна функція. 4.3) Якщо користувач натискає кнопку Esc, то відбувається повернення до попереднього меню Постумови. Якщо користувач натискає будь-яку іншу (не відповідну клавішу), то дія ігнорується. Як показує діаграма прецедентів вся взаємодія користувача з системою поділяється на кілька частин: управління категоріями, вакансіями і резюме, безробітними, управління фірмами – замовниками, наймом та перегляд довідки. На основі даної діаграми побудоване меню системи. Тому для редагування конкретного елементу бази даних необхідно поступово деталізувати вибір від загального до частково. Такий спосіб представлення системи взаємодії забезпечує інтуїтивний доступ до системи за рахунок можливості узагальнити доступні операції для даного контексту задачі. Дана діаграма надає загальне представлення роботи користувача з системним меню, а більш детальна класифікація буде наведена нижче. Спосіб взаємодії користувача з системою наведений на Рис.1 Рисунок 1 Діаграма прецедентів Дана система використовує декілька класів, які потрібні їй для формування інтерфейсу та виконання певних функцій, які зображені на Рис.2 Рисунок 2 Діаграма класів Структуризація програми Детальний опис класів: Програма розподілена на дві частини: Бізнес-логіка – класи, які використовує програма для запису, виведення, підрахунку, серіалізації/десеріалізації даних, які знаходяться в окремій DLL бібліотеці; Інтерфейс користувача - меню для вибору операцій, виклику довідки, та використовування функцій бізнес-логіки. Рисунок 3 Діаграма компонентів Бізнес-логіка. Для експорту даних, функцій, та класів використовується ключове слово __declspec(dllexport). Воно додає директиви експорту в об'єктний файл, отже, відпадає необхідність використовувати .def файл. Класи бізнес-логіки наведені в Таблиці 1. Таблиця 1 Класи бізнес-логіки Клас Опис  Category Клас «Category» включає в себе методи для управління категоріями.  Date Клас «Date» використовується для збереження календарної дати, яка використовується при створенні резюме, вакансій та прийомі на роботу.  Firm Клас «Firm» включає методи для управління фірмами-клієнтами, а також інформацію про кожну фірму: Назва, Опис, Реєстраційний номер, Кількість наданих вакансій.  Hiring Клас «Hiring» включає методи для управління наймом безробітного, а також звільнення останнього з роботи, також містить інформацію про працюючих на даний момент людей.  Resume Клас «Resume» включає методи для управління резюме безробітних, а також інформацію про кожне додане резюме: Назва, Професія, Опис, Дата створення.  Search Клас «Search» використовує об’єкти класів «Firm», «Vacancy», «Resume» та «Hiring» для пошуку безробітних та вакансій по ключовому слову, а також найактивнішого роботодавця.  Unemployed Клас «Unemployed» включає методи для управління безробітними, а також список імен кожного з них  Vacancy Клас «Vacancy» включає методи для управління вакансіями, а також інформацію про кожну з них: Назва, Опис, Професія, Дата створення.   Клас «Category» Клас «Category» має об’єкт Name типу vector<sting> для збереження назв категорій. А також методи для управління: Додавання, Зміна, Видалення категорій, Перегляд всіх, або певної категорії: Табл.2 Назва функції Короткий опис  void Add() Додавання нового елементу категорії  void Change() Змінення існуючого елементу категорії  void Del() Видалення існуючого елементу категорії  void Show() Відображення певного елементу категорії  void Show_All(Vacancy, Resume) Відображає всі категорії, а також кількість резюме та вакансій з отриманих об’єктів класу  void Serializatoin() Збереження даних в файл  void Deserializatoin() Завантаження даних з файлу   Клас «Date» Клас “Date” – це базовий клас для збереження та перевірки календарної дати. Дата зберігається в 3ох змінних типу int: day, month, and year.Також є конструктори для запису дати з форматів string та in, і методи для перевірки та запису дати: Табл.3 Назва функції Короткий опис  bool Check(string) У випадку правильності запису дати повертає true  void Write(string) Записує передану стрічку в клас  friend ostream & operator<< (ostream&,Date) Перевантаження операції виведення дати. Данні виводяться у форматі ДД.ММ.РРРР   Клас «Firm» Клас «Firm» містить дані щодо фірм-замовників: Назва та Опис, що вводяться при доданні фірми в базу даних, а також Реєстраційний номер та Кількість наданих вакансій, що рахуються автоматично. А також включає методи для управління фірмами-клієнтами: додання, видалення, зміна інформації про фірму, перегляд інформації щодо всіх, або певної фірми, а також сортування фірм за назвою. Табл.4 Назва функції Короткий опис  void Add() Додання нового елементу фірми  void Change() Змінення існуючого елементу фірми  void Del() Видалення існуючого елементу фірми;  void Show() Відображення певного елементу фірми  void Show_All() Відображення усіх елементів фірми  void Sort() Сортування списку фірм за назвою у алфавітному порядку  void Change_Amount(int) Змінює кількість поданих заяв  Методи , викликаються іншими класами для доступу до даних класу  vector<string> Title_List() Повертає список назв  vector<int>return_Amount_of_vacancies() Повертає кількість вакансій  void Serializatoin() Збереження даних в файл  void Deserializatoin() Завантаження даних з файлу   Клас «Hiring» Клас «Hiring» включає дані про працевлаштованих , фірми, в яких вони працюють, та їхні вакансії, а також методи для управління наймом безробітного, звільнення останнього з роботи, також містить інформацію про працюючих на даний момент людей. Табл.5 Назва функції Короткий опис  void Add(Vacancy, Unemployed, Resume) метод прийняття на роботу  void Remove(Vacancy,Unemployed) метод звільнення з роботи  void Show() метод виведення працевлаштованих людей  void Serializatoin() збереження даних в файл  void Deserializatoin() завантаження даних з файлу   Клас «Resume» Клас «Resume» включає дані про подане безробітним резюме, а саме: його професію, опис, ім’я самого безробітного та дату подачі, методи для управління резюме безробітних, такі як додання, видалення, зміна, сортування, відображення одного, чи декількох а також інформацію про кожне додане резюме: Назва, Професія, Опис, Дата створення. Табл.6 Назва функції Короткий опис  Unemployed Add(Unemployed) додає резюме безробітного, а також додає саму людину в базу, якщо вона ще не зареєстрована  Unemployed Change(Unemployed) змінює такі резюме, як назва, опис, та ім’я безробітного, а також додає саму людину в базу, якщо вона ще не зареєстрована, видаляючи зі списку старого власника резюме  void Del() видалення існуючого елементу резюме  void Show() відображення певного елементу резюме  void Show_All() відображення усіх елементів резюме  void Sort() сортування списку резюме за назвою у алфавітному порядку  void Serializatoin() збереження даних в файл  void Deserializatoin() завантаження даних з файлу   Клас «Search» Клас «Search» не зберігає ні яких параметрів, а використовує об’єкти класів «Firm», «Vacancy», «Resume» та «Hiring» для пошуку безробітних та вакансій по ключовому слову, а також найактивнішого роботодавця. Табл.7 Назва функції Короткий опис  void Search_Most_Active(Firm) Виводить на екран найактивнішого (або найактивніших роботодавців), тобто того, хто надав найбільшу кількість вакансій;  void Search_Vacancy(Vacancy) Пошук вакансії за ключовим словом  void Search_Unemployed(Resume, Hiring) Пошук безробітного за ключовим словом   Клас «Unemployed» Клас «Unemployed» включає список імен кожного з безробітних, а також методи для управління ними: додавання, зміна, видалення, сортування за ім’ям або прізвищем, виведення інформації про всіх, або конкретного безробітного. Табл.8 Назва функції Короткий опис  void Add() Додання нового елементу фірми  void Change() Змінення існуючого елементу фірми  void Del() Видалення існуючого елементу фірми  void Show() Відображення певного безробітного  void Show_All() Відображення усіх безробітного  void Sort_Name() Сортує список безробітних по імені  void Sort_Surname() Сортує список безробітних по прізвищу  void Fast_Add(string,string) Додавання безробітних по прийнятим параметрам  void Serializatoin() Збереження даних в файл  void Deserializatoin() Завантаження даних з файлу  Методи, які використовуються сторонніми класами для доступу до даних класу :  bool Check_Name(string) Перевірка на присутність імені в базі  void Silent_Delete(string) Видалення імені не відображаючи нічого в консолі  string return_name(int) Повернення імені конкретного безробітного  int return_Amount()    Клас «Vacancy» Клас «Vacancy» включає методи для управління вакансіями, а також інформацію про кожну з них: Назва, Опис, Професія, Дата створення. Табл.9 Назва функції Короткий опис  Firm Add(Firm) Додає вакансію фірми, а також додає саму фірми в базу, якщо вона ще не зареєстрована  Firm Change(Firm) Змінює такі пункти вакансії, як назва, опис, та ім’я фірми, а також додає саму фірму в базу, якщо вона ще не зареєстрована, видаляючи зі списку старого власника резюме  void Del() Видалення існуючого елементу вакансії  void Show() Відображення певного елементу вакансії  void Show_All() Відображення усіх елементів вакансії  void Sort() Сортування списку вакансій за назвою у алфавітному порядку  void Serializatoin() Збереження даних в файл  void Deserializatoin() Завантаження даних з файлу  Методи , які викликаються іншими класами для доступу до даних класу:  int amount();   int Show_Suitable_Vacancies(string)   int return_position(string vac, int h)   vector<string> return_Vacancy_Title()   string return_firm(int)   string return_vacancy(int)    Інтерфейсна частина програми В інтерфейсній частині програми у нас знаходиться меню, яке складається з 7 пунктів, в кожному з них, в свою чергу, знаходяться пункти, які викликають методи обробки даних з DLL бібліотеки. Для роботи використовується клас «Menu», який включає в себе об’єкти усіх необхідних класів бізнес-логіки. При запуску програми користувачу пропонується створити нову базу даних, або використовувати існуючу. При виборі завантаження бази даних викликається метод void Deserialization(), який завантажує раніше збережені дані з файлу. Кожному пункту меню відповідає певний метод: Назва функції Короткий опис  void Category_Menu(int) Виконання обраних в меню операцій над категоріями  void Vacancies_Menu(int) Виконання обраних в меню операцій над вакансіями  void Resume_Menu(int) Виконання обраних в меню операцій над резюме  void Unemplyed_Menu(int) Виконання обраних в меню операцій над безробітними  void Firm_Menu(int) Виконання обраних в меню операцій над фірмами-роботодавцями  void Hiring_Menu(int) Виконання обраних в меню операцій найму  void Search_Menu(int) Виконання обраних в меню пошукових операцій   Кожен метод викликає певні методи класів з DLL бібліотеки. При виході з програми користувачу дається вибір зберігати зміни, чи ні. При позитивній відповіді викликається метод void Deserialization(), та зачиняється програма. При негативному – програма зачиняється без виклику цього методу. Загальна схема роботи системи представлена на діаграмі активності нижче. Рисунок 4 Діаграма діяльності Після запуску програми, перед вами постає вибір завантажити базу даних з файлу чи ні(див. Додаток 1). Потім виводиться головне меню. Після того, як буде вибрано один з пунктів головного меню – буде виведено підменю, довідка, або ініціалізується вихід з програми, в залежності від вибраного пункту меню. Після виконання вибраної функції – програма повернеться до підменю, у якому ви працювали. При виборі пункту меню, який відповідає за вихід з програми знову ж таки постає вибір зберігати всі зміни у файл чи ні. Рисунок 5 Дерево меню Інструкція з використання програми (для користувача) Для користування програмою потрібно мінімум навичок роботи з комп’ютерною технікою та мінімум апаратного забезпечення. Програма не займає багато місця на жорсткому диску, не вимагає багато оперативної пам’яті, спеціального розширення монітору тощо. Програма працює на базі Win32 або Win64 з архітектурою процесора х86 або х64. Для роботи також буде необхідна клавіатура, мишка. Для запуску досить запустити програму шляхом подвійного натискання лівою клавішею миші виконуючий файлу Main_Project.exe в робочій директорії програми, що зображено на Рис. 6. Рисунок 6 Іконка програми Після запуску програми буде виведено на екран вікно з запитом, бажаєте ви завантажити данні чи ні(Рис.7) Рисунок 7 Запит про завантаження даних Керування програмою відбувається через головне меню шляхом вибору певних пунктів меню натисканням відповідних клавіш від 1 до 7. Викликати довідку можна натиснувши клавішу F1. Щоб вийти з програми, потрібно натиснути ESC в головному меню програми. Рисунок 8 Головне меню програми Для прикладу роботи з програмою представимо можливість управління вакансіями: Додавання вакансії Рисунок 9 Управління вакансіями Для додавання нової вакансії необхідно ввести назву фірми, яка надає вакансію, якщо такої фірми не існує – додати, описати фірму. Ввести назву вакансії та описати її та заключним є дата реєстрації вакансії. Рисунок 10 Додавання вакансії Зміна вакансії Для зміни вакансії необхідно обрати відповідний пункт меню та обрати необхідну вакансію. Вам надана можливість обрати поле для змін, чи це буде назва, чи дата реєстрації це вже вам вирішувати.  Рисунок 11 Поля для зміни вакансій  Рисунок 12 Зміна дати реєстрації вакансії Видалення вакансії Для видалення вакансії необхідно вибрати підходящий пункт меню та вибрати необхідну вакансію.  Рисунок 13 Видалення вакансії Перегляд списку вакансій Щоб відобразити перелік вакансій необхідно обрати відповідний пункт меню. Одразу після цього буде відображено перелік вакансій.  Рисунок 14 Перелік вакансій Інструкція для використання розробником Програма написана з використанням ліцензійної версії Microsoft Visual Studio 2012 на мові програмування C++. У одному рішенні виконано 2 проекти: Бізнес-логіка – класи, які використовує програма для запису, виведення, підрахунку, серіалізації/десеріалізації даних, які знаходяться в окремій DLL бібліотеці; Інтерфейс користувача - меню для вибору операцій, виклику довідки, та використовування функцій бізнес-логіки. Бізнес-логіка. Для експорту даних, функцій, та класів використовується ключове слово __declspec(dllexport). Воно додає директиви експорту в об'єктний файл, отже, відпадає необхідність використовувати .def файл. Інтерфейсна частина програми В інтерфейсній частині програми у нас знаходиться меню, яке складається з 7 пунктів, в кожному з них, в свою чергу, знаходяться пункти, які викликають методи обробки даних з DLL бібліотеки. Для роботи використовується клас «Menu», який включає в себе об’єкти усіх необхідних класів бізнес-логіки. При запуску програми користувачу пропонується створити нову базу даних, або використовувати існуючу. При виборі завантаження бази даних викликається метод void Deserialization(), який завантажує раніше збережені дані з файлу.При розробці програми використовувалось зовнішні бібліотеки.(Рис.15)  Рисунок 15 Посилання СПИСОК ЛІТЕРАТУРИ Макс Шлее - Qt 4.5. Профессиональное программирование на C++ Бьерн Страуструп - Язык программирования C++. Специальное издание 2011. http://msdn.microsoft.com/ http://stackoverflow.com/
Антиботан аватар за замовчуванням

05.02.2014 23:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!