МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Кафедра «Інтелектуальних комп’ютерних систем»
КУРСОВА РОБОТА
Тема: «Створення бази відеофільмів»
Керівник роботи
ас. каф. ІКС
Кочуєва З.А
Виконавець
студентка групи ІФ-87
Леонт’єва А.В
Харків – 2009р.
ЗАВДАННЯ
на науково-дослідну курсову роботу
Тема: «Створення бази відеофільмів»
Короткий зміст роботи:
а) реферативна частина
Огляд літературних джерел з існуючих методів та алгоритмів рішення задачі створення бази відеофільмів
б) теоретична частина
Опис основних принципів об'єктно-орієнтованого програмування, основ алгоритмізації, типових середовищ програмування та особливостей мови програмування С++, розгляд основних методів рішення даної задачі та їх алгоритмів, опис обраного методу розв’язання задачі та його алгоритму експериментальна частина
Розробка програмного забеспечення рішення задачі створення бази відеофільмів
Дата видачі завдання: 5.10.08 Термін захисту: 30.12.08
Керівник курсової роботи: ас. каф. ІКС Кочуєва З. А.
РЕФЕРАТ
КР: 53 с., 10 рис., 7 источников, 2 приложения
Ключевые слова и выражения:
АЛГОРИТМ, C++ BUILDER6, БАЗА ДАННЫХ, СТРУКТУРЫ ДАННЫХ, ТИП, ФУНКЦИЯ, СТРУКТУРА.
РЕФЕРАТ
КР: 53 с., 10 мал., 7 джерел, 2 додатки
Ключові слова і вирази
АЛГОРИТМ, C++ BUILDER6, БАЗА ДАНИХ, СТРУКТУРА ДАНИХ, МЕТОД, ТИП, ФУНКЦІЯ, СТРУКТУРА.
ABSTRACT
TP: 53 р., 10 pic., 7 sources, 2 appendixes
Keywords and expressions:
ALGORITHM, C++ BUILDER6, DATABASE, DATA STRUCTURES, TYPE, FUNCTION, STRUCTURE.
ЗМІСТ
Вступ
1 Використання сучасних систем і мов програмування
1.1 Основні принципи об’єктно-орієнтованого програмування
1.2 Типові середовища програмування та особливості мови С++
1.2.1 Borland C++ Builder
1.2.2 Microsoft Visual C++
1.2.3 Мова програмування С++
1.3 Основи алгоритмізації
2 Розробка рішення задачі створення бази відеофілмів
2.1 Бази даних
2.1.1 Основні положення та моделі БД
2.1.2 Типи БД
2.1.3 Етапи проектування БД
2.1.4 Використання БД
2.2 Структури даних
2.3 Функції
3 Розробка програмного забезпечення для реалізації створення бази відеофільмів
3.1 Опис програмної реалізації бази відеофільмів
3.2 Результати, отримані користувачем при використанні програмного забезпечення
Висновок
Список літератури
Додаток А
Додаток Б
ВСТУП
Якісним кроком в розвитку методів структурного програмування став винахід об'єктно-орієнтованого програмування (мов SmallTalk, C++, Turbo Pascal і ін.). Програми стали будуватися з порівняно простих об'єктів, що складаються з даних і підпрограм їх обробки. Гнучкість об'єктів дозволила дуже просто пристосовувати їх для власних цілей, докладаючи для цього мінімум зусиль. Програмісти обзавелися готовими бібліотеками об'єктів, але, як і раніше, створення призначеного для користувача інтерфейсу вимагало силу-силенна часу і сил, особливо коли програма повинна була працювати під управлінням популярної операційної системи Windows і мати графічний призначений для користувача інтерфейс.
Знання про світ розвиваються з неймовірною швидкістю. Причиною тому є науково-технічний прогрес, заснований на полегшенні роботи та життєдіяльності людини та пошуку методів для розв’язання різноманітних задач. Прогрес базується на дослідженні, а будь-яке дослідження, в свою чергу, базується на використанні доступних даних. І у кожного фахівця існує свій, персональний "архів" довідкової інформації, який після машинної обробки та систематизації має вигляд бази даних.
Створення бази даних передбачає рішення цілого комплексу проблем, в тому числі розробку програмних, мовних, організаційних і технічних засобів, призначених для централізованого зберігання і колективного використання інформації.
1 ВИКОРИСТАННЯ СУЧАСНИХ СИСТЕМ І МОВ ПРОГРАМУВАННЯ
1.1 Основні принципи об’єктно-орієнтованого програмування
Якісним кроком в розвитку методів структурного програмування став винахід об'єктно-орієнтованого програмування. Об'єктне і об'єктно-орієнтоване програмування (ООП) виникло внаслідок розвитку ідеології процедурного програмування, де дані і підпрограми (процедури, функції) їх обробки формально не зв'язані. Крім того, в сучасному об'єктно-орієнтованому програмуванні часто велике значення мають поняття події (так зване подієво-орієнтоване програмування) і компоненту (компонентне програмування).
Першою мовою програмування, в якій були запропоновані принципи об'єктної орієнтованості, була Симула. У момент своєї появи (у 1967 році), ця мова програмування запропонувала справді революційні ідеї: об'єкти, класи, віртуальні методи і ін., проте це все не було сприйнято сучасниками як щось грандіозне. Однак, більшість концепцій була розвинена Аланом Кейем і Деном Інгаллсом в мові Smalltalk. Саме вона стала першою широко поширеною об'єктно-орієнтованою мовою програмування.
С++ додає до С об'єктно-орієнтовані можливості. Він запроваджує класи, які забезпечують три найважливіші властивості ООП:
1. Інкапсуляція;
2. Наслідування;
3. Поліморфізм.
Додаткові властивості корисні, та не обов'язкові.
Розглянемо сі ці властивості детальніше.
Інкапсуляція
Основним способом організації інформації в С++ є класи. На відміну від типу структура (struct) мови С, яка може складатися лише з полів і вкладених типів, клас (class) С++ може складатися з полів, вкладених типів і функцій-членів (member functions). Члени класу бувають публічними (відкритими, public), захищеними (protected) і власними (закритими, приватними, private). В С++ тип структура аналогічний типу клас, відмінність в тому, що за умовчанням члени і базові класи в структурі публічні, а в класі - власні.
З відкритими (публічними) членами класу можна робити зовні класу все, що завгодно. До закритих (приватних) членів не можна звертатися ззовні класу, щоб не порушити цілісність даних класу. Спроба такого звертання спричине помилку компіляції. До таких членів можуть звертвтися тільки функції-члени класу. Крім відкритих і закритих членів класу, можуть бути ще і захищені - це члени, доступні класу, що містить їх, його друзям, а також похідним від нього класам. Такий захист членів називається інкапсуляцією.
Використовуючи інкапсуляцію, автор класу може захистити свої дані від некоректного використання. Крім того, вона замислювалася для полегшення спільної розробки класів. Малося на увазі, що при зміні способу зберігання даних, якщо вони оголошені як захищені або власні, не вимагається відповідних змін в класах, які використовують змінений клас. Навіть оператор доступу operator [] може бути визначений як така стандартна функція.
Для створення класів з доданою функціональністю вводять наслвдування. Клас-наслідувач має поля і функції-члени базового класу, але не має права звертатися до власних (private) полів і функцій базового класу. У цьому і полягає різниця між власними і захищеними членами.
Клас-наслідувач може додавати свої поля і функції або перевизначати функції базового класу.
За умовчанням, конструктор спадкоємця без параметрів викликає конструктор базового класу, а потім конструктори нестатичних членів-даних, що є екземплярами класів. Деструкція працює в зворотном порядку. Інші конструктори доводиться визначати кожного раз наново. На щастя, це можна зробити викликом конструктора базового класу.