Курсова робота: _____ с., 7 рис., 6 джерел, 2 додатки.
Об’єктом дослідження є типові оператори та базові конструкції мови програмування С++.
Мета роботи - отримати навички коректного використання операторів та конструкцій та побудова ефективних алгоритмів для розв’язку типових задач.
Методика (метод дослідження): комп’ютерна реалізація та комп’ютерне тестування.
Одержані висновки та їх новизна: розроблені алгоритми та складені програми для створення бази даних телефонних номерів.
Результати досліджень можуть бути застосовані при розробці алгоритмів та програм складних задач; створенні великих баз даних.
Перелік ключових слів: АЛГОРИТМ, ПРОГРАМА, КЛАС,
ОБ’КТ, ДАНІ, ЗМІННА, СТРУКТУРА, ІНСТРУКЦІЯ, ФУНКЦІЯ, ПРОЦЕДУРА.
Зміст
Реферат
Вступ
1. Постановка завдання
2. Опис предметної області
3. Об’єктно орієнтоване програмування
3.1 Основи ООП
3.2 Створення класів. Методи, властивості, поля
3.3 Конструктори та деструктори. Успадкування класів
4. Побудова об’єктної моделі
4.1 Визначення об'єктів та класів і зв’язків між ними
4.2 Побудова діаграми ієрархії класів
5. Реалізація програми в середовищі Visual Studio C++
5.1 Інтерфейс програми
5.2 Тестування програми
Висновок
Список використаної літератури
Приложения
Курсова робота - це перша самостійна наукова праця майбутнього програмного інженера. При її виконанні студент поглиблює знання з фундаментальних та професійно-орієнтованих дисциплін, засвоює методику експериментальних досліджень, оволодіває навичками співставлення результатів своїх досліджень із літературними даними, аналізу, узагальнення і літературного оформлення одержаних результатів з теми дослідження, набуває вміння вести науковий пошук, що розвиває в молодого інженера творчий підхід до роботи.
Курсова робота з об'єктно-орієнтованого програмування передбачає знання студентами об’єктно-орієнтованого проектування та програмування і є завершальним етапом вивчення у рамках курсу об'єктно - орієнтованє програмування підготовки студентів.
Метою курсової роботи є закріплення, поглиблення та узагальнення знань, якими студент оволодів під час вивчення курсу, в набутті навичок використання основ алгоритмізації та програмування на алгоритмічних мовах високого рівня з використанням принципів об’єктно-орієнтованого проектування та програмування, методики розробки програмних модулів та програмного забезпечення комп’ютерних систем управління, набуття студентами теоретичних знань та практичних навичок в області використання сучасних систем візуального проектування програмних засобів комп’ютерних систем управління та освоєння принципів та методів сучасних технологій програмування, набуття навичок професійних та практики наукових досліджень з оформленням відповідного текстового, програмного та ілюстративного матеріалу у формі наукового звіту.
Виконання курсової роботи (КР) направлено на закріплення знань, отриманих при вивченні теоретичної частини курсу, і набуття практичних навичок розробки об'єктно-орієнтованих програм. В результаті виконання курсової роботи студент повинен освоїти:
концепції об'єктно-орієнтованого програмування;
спеціалізовані засоби розробки програмного забезпечення мовою Java;
спеціалізовані засоби розробки програмного забезпечення мовою С ++;
знати: загальні питання побудови та використання сучасних систем об’єктно-орієнтованного та візуального проектування програмних засобів комп’ютерних систем управління; основні поняття та методи об’єктно-орієнтованного проектування та програмування, основні засоби розробки програм з використанням багато ієрархічних структур об’єктів та класів об’єктів;
вміти: самостійно вибирати середовище проектування програмних засобів, проектувати, розробляти, налагоджувати та супроводжувати сучасне програмне забезпечення комп’ютерних систем управління.
Під час виконання курсової роботи студент повинен продемонструвати:
вміння збирати і аналізувати відповідні матеріали про об’єкт дослідження, використовуючи сучасні джерела інформації, включаючи Інтернет - ресурси;
- спроможність проводити необхідні обґрунтування для розробки програмних засобів систем управління різного призначення тощо;
здатність доводити розв'язання поставленої задачі до логічного кінця;
вміння аналізувати отримані результати і робити з них висновки.
КР складається з двох взаємопов'язаних частин. Для виконання першої частини КР потрібно побудувати детальну об'єктну модель запропонованої предметної області. Друга частина КР передбачає безпосередню розробку об'єктно-орієнтованого програмного забезпечення, реалізує розроблену об'єктну модель.
програмне забезпечення мова java
Основним етапом в розв’язку поставленої задачі є її постановка. Під час постановки завдання програміст повинен визначитися з вхідними даними, побудувати математичну модель задачі, вирішити основні проблеми.
В нашому випадку нам необхідно розробити систему обліку співробітників фірми.
Для початку нам необхідно розібратися з вхідними даними. Наша система повинна вміщувати в собі повну інформацію про кожного співробітника фірми, а саме:
· прізвище, ім’я, по-батькові;
· дату народження;
· адресу проживання;
· освіту;
· спеціальність;
· дату прийняття на роботу;
· номер телефону;
· заробітну плату;
Розібравшись зі вхідними даними нам потрібно визначитись, які функції виконуватиме наша система. Так як нам необхідно розробити програму обліку співробітників. То функції будуть наступними:
Прийняття працівника на роботу.
- Відображення переліку всіх співробітників фірми.
Звільнення працівника.
Пошук працівника за визначиними критеріями (ПІБ, освіта, спеціальність).
Визначивши основні функції перейдемо до вирішення проблеми зберігання вихідних даних. Так як проект міститиме об’ємну кількість інформації, її доцільно буде зберігати у вигляді таблиць БД Access. І на кінець, нам потрібно вибрати мову програмування, для реалізації проекту. Для нашого проекту ми виберемо мову С++.
Система обліку співробітників фірми призначена для комплексного вирішення завдань автоматизації служб організацій та установ, що займаються обліком персоналу. Використання сучасних технологій та досвіду, дозволяє зробити управління персоналом досконалим інструментом в руках фахівців.
Використання системи дозволяє:
· реєструвати в системі анкети співробітників з можливістю подальшого їх виведення на друк;
· створювати штатний розклад по співробітниках
· вести розширений облік відпусток персонала
· проводити дії над співробітниками і їх особовими рахунками
· вести облік анкет вступників на роботу (здобувачів).
Система також дає можливість отримувати звіти користувача на підставі відібраних співробітників по тим чи іншим умовам відбору. Слід зазначити, що поля, які включаються в такий звіт, обираються користувачем самостійно, що робить систему більш гнучкою та функціональною. Налаштовані користувачем дані зберігаються в базі даних
Також забезпечена можливість оперативного відбору співробітників за заданими критеріями, що дозволяє отримувати оперативні зведення по різних напрямках діяльності персоналу.
В системі можна реалізовувати функція
розмежування прав доступу до окремих розділів, що є необхідною умовою при
роботі в системі декількох користувачів. Це програмне забезпечення призначене
для автоматизації основних функцій управління персоналом, ведення кадрового
обліку, забезпечення інформаційних потреб, нарахування заробітної плати,
управління і функції обліку в бізнесі, а також для ефективного прийняття
управлінських рішень. Автоматизована система управління персоналом є одним з
модулів програмного забезпечення планування ресурсів підприємства. [6]
З розвитком програмування виникла ідея поєднати в межах однієї сутності дані і код, що безпосередньо опрацьовує ці дані. Така сутність отримала назву об’єкт, а відповідний підхід до створення програм називають об’єктно-орієнтованим програмуванням.
Об’єктно-орієнтоване програмування (ООП) - це парадигма програмування, яка розглядає програму як сукупність гнучко пов’язаних між собою об’єктів. Кожен об’єкт має суттєві характеристики, які відрізняють його від усіх інших об’єктів. Сукупність таких характеристик називається абстракцією. Розрізняють абстракції стану та поведінки об’єкта.
Кожен об’єкт є екземпляром (представником) певного класу. Відповідно, клас - це відповідна абстракція об’єктів.
Основні переваги концепції ООП:
· моделювання предметів та явищ реального світу;
· можливість створювати користувацькі типи даних (класи);
· приховування деталей реалізації (інкапсуляція);
· можливість повторного використання коду (наслідування);
· інтерпретація викликів процедур та функцій на етапі виконання (поліморфізм).
Інкапсулювання - це механізм в програмуванні, який пов’язує в одне ціле функції і дані, якими вони маніпулють, а також захищає їх від зовнішнього доступу і неправильного застосування. В об’єктно-орієнтованій мові функції і всі необхідні дані можуть пов’язуватись таким способом, що створюється автономна структура - об’єкт. Іншими словами, об’єктом є структура, яка підтримує інкапсулювання. В межах об’єкта функції, дані або і функції, і дані можуть бути або закритими для інших об’єктів (private), або відкритими (public).
Модифікатори доступу:
Модифікатор private - забороняє доступ до полів і методів класу ззовні самого класу. Поля і методи, оголошені з модифікатором private, будуть доступні тільки в межах самого класу.
Якщо поле і метод класу визначені з модифікатором public, вони доступні ззовні оголошення базового класу чи похідних класів. Це в деякій мірі означає, що метод оголошений із зовнішнього класу може вільно звертатись до таких полів і методів. З допомогою модифікатора protected можна доступитись до полів і методів базового класу тільки для похідних класів, але не для зовнішніх по відношенню до класу методів.
Успадкування - це властивість, з допомогою якої один об’єкт може набувати властивостей іншого. При цьому підтримується концепція ієрархічної класифікації. Без використання успадкування кожний об’єкт повинен явно визначати всі свої характеристики; використовуючи наслідування, об’єкт повинен визначати тільки ті якості, які роблять його унікальним в межах свого класу. Визначення нового класу (породжений клас, підклас) може базуватись на визначенні вже існуючого (базовий клас). В такому випадку, новий клас отримає властивості та поведінку базового класу, та доповнить їх своїми власними. У випадку одиничного успадкування, у кожного класу може бути лише один безпосередній базовий клас. У випадку множинного успадкування, дозволяється існування декількох безпосередніх надкласів. Застосування методів успадкування дозволяє покращити повторне використання коду шляхом використання вже визначених властивостей та методів <#"871500.files/image001.gif">
4.2.1 Діаграма класів
Після дослідження предметної області, постановки завдання і побудови об’єктної моделі можна приступити до реалізації програми на мові програмування. Нашу програму ми будемо реалізовувати в середовищі Visual Studio C++.
Для гарної роботи нашої майбутньої програми, вона повинна бути легкою у використанні. Щоб програмою могли користуватися будь-які користувачі, створюють графічний інтерфейс. В Visual Studio C++ інтерфейс програми створюється за допомогою простих маніпуляцій "мишкою". Для цього просто на панелі інструментів потрібно вибрати необхідний компонент і помістити його на робочу область.
Для початку створення програми відкриваємо
середовище програмування Visual Studio C++ за допомогою піктограми на
робочому столі комп’ютера. В розділі створити вибираємо вкладку Windows Form і
задаємо місце, де буде зберігатися наш проект. Після цих дій перед нами
появиться середовище розробки зображене не рис. 5.1.1.
Рис. 5.1.1 Середовище розробки Visual Studio
C++
Далі нам потрібно розробити інтерфейс програми.
Для цього Форму1 помістимо компонент DataGridView з панелі інструментів і 3
компоненти Button. Так як наш проект буде зберігати дані в БД Access, то
потрібно створити зв’язок БД з нашою програмою. Для цього вибираємо компонент
oleDbDataAdapter. Після цього перед нами появиться майстер добавлення
підключення де вказуємо шлях до нашої БД. Вікно майстра зображено на рис.
5.1.2.
Рис. 5.1.2 Вікно майстра добавлення підключення
Після того як ми створили інтерфейс програми і налаштували зв’язок з БД, можна перейти до програмування програми. Для цього вибираємо вкладку редактора коду і вводимо необхідні оператори. Лістинг коду Форми1 наведений в додатку 1.
Далі нам потрібно до нашого проекту додати 3 додаткові форми. Для цього потрібно вибрати наступні пункти: Проект->Додати новий елемент-> Форма Windows. Після цього аналогічним чином створюємо інтерфейс і програмуємо. Лістинг коду форми 2 наведені в додатках 2.
Оскільки наша програма містить користувацькі класи, потрібно до проекту також додати файл заголовків де будуть описані наші класи. Для цього виконуємо наступні команди: Проект->Додати клас. Перед нами появиться вікно де потрібно описати наші класи. Для початку описуємо клас PersonalData:
Розглянемо перший клас:
class PersonalData
{^PIB;^adress;^datnar;^tell;()
{="";="";="";="";
}get ()
{PD;^F2=gcnew Form2 ();. PIB=F2->textBox1->Text;. adress=F2->textBox3->Text;. datnar=F2->textBox2->Text;. tell=F2->textBox8->Text;->textBox1->Text="";->textBox2->Text="";->textBox3->Text="";->textBox8->Text="";
};
};
Цей клас містить в собі 4 атрибути типу System:: String, конструктор і один метод void get (). Метод void get () слугує для отримання значень від об’єктів класів textbox.
Другий клас аналогічний першому але він призначений для отримання інформації, яка відповідає робочим даним. Опис цього класу наведений нижче:
class JobData
{()
{="";="";="";="";
}^osvita;^spec;^datvst;^ZP;get ()
{JD;^F2=gcnew Form2 ();=F2->textBox4->Text;=F2->textBox5->Text;=F2->textBox6->Text;=F2->textBox7->Text;->textBox4->Text="";->textBox5->Text="";->textBox6->Text="";->textBox7->Text="";