Методичні вказівки до курсової роботи з дисципліни Об’єктно-орієнтоване програмування, НЛТУУ
« Назад МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ ЛІСОТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
Методичні вказівки до курсової роботи з дисципліни Об’єктно-орієнтоване програмуваннядля студентів денної та заочної форми навчання напряму 6.050101 «Комп’ютерні науки»
ЛЬВІВ 2012 УДК 004.415.2045 (075.8) Укладачі: проф. Соколовський Ярослав Іванович, д. т. н., зав. каф. ОТ і МТП НЛТУ України; к. т. н. Коширець Світлана Іванівна ,старший викладач каф. ОТ і МТП НЛТУ України; Сало Микола Федорович, асистент каф. ОТ і МТП НЛТУ України Рецензент: к. т. н. доц. Карашецький Володимир Петрович, доц. каф. ОТ і МТП НЛТУ України Викладені питання організації виконання, оформлення та захисту курсової роботи з дисципліни «Об’єктно-орієнтоване програмування» . Наведені індивідуальні завдання для курсової роботи для студентів другого курсу напряму 6.050101 «Комп’ютерні науки» денної та заочної форми навчання. Методичні вказівки затверджені на засіданні кафедри обчислювальної техніки і моделювання технологічних процесів Протокол №_1_ від «_3_» вересня 2012 р. Схвалено методичною комісією НЛТУ України за напрямом підготовки 6.050101 «Комп’ютерні науки» Протокол №_4_ від «_4_» жовтня 2012 р.
ЗмістЗАГАЛЬНІ ПОЛОЖЕННЯ.. 4 1. МЕТА ВИКОНАННЯ КУРСОВОЇ РОБОТИ.. 5 2. СТРУКТУРА ТА ЗМІСТ КУРСОВОЇ РОБОТИ.. 6 2.1. ОРГАНІЗАЦІЯ КУРСОВОЇ РОБОТИ.. 6 2.2. ЗАВДАННЯ НА КУРСОВУ РОБОТУ.. 7 2.3. ЗМІСТ.. 7 2.4. РЕФЕРАТ.. 7 2.5. ВСТУП.. 8 2.6. ФОРМУЛЮВАННЯ ЗАДАЧІ. 8 2.7. МЕТОДИ ТА ЗАСОБИ РОЗВЯЗУВАННЯ ЗАДАЧІ. 8 2.8. ПРОЕКТУВАННЯ СТРУКТУРИ ПРОГРАМИ.. 8 2.9. ПРОЕКТУВАННЯ ІНТЕРФЕЙСУ КОРИСТУВАЧА.. 9 2.10. РОЗРОБЛЕННЯ ГРАФІЧНИХ СХЕМ КЛАСІВ ТА АЛГОРИТМІВ З ВИКОРИСТАННЯМ UML.. 9 2.11. РОЗРОБЛЕННЯ ПРОГРАМИ ТА ЇЇ ОПИС.. 10 2.12. ІНСТРУКЦІЯ КОРИСТУВАЧА.. 11 2.13. КОНТРОЛЬНИЙ ПРИКЛАД ТА АНАЛІЗ РЕЗУЛЬТАТІВ КОМП’ЮТЕРНОЇ РЕАЛІЗАЦІЇ ПРОГРАМИ 11 2.14. ВИСНОВКИ.. 11 2.15. СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ.. 11 2.16. ДОДАТКИ.. 11 3. ВИМОГИ ДО ОФОРМЛЕННЯ.. 13 4. КОНТРОЛЬ ВИКОНАННЯ РОБОТИ.. 14 5. ЗАХИСТ РОБОТИ.. 15 ДОДАТКИ.. 16 Додаток А.. 16 Додаток В.. 18 Додаток С.. 19 ЗАГАЛЬНІ ПОЛОЖЕННЯОсновною метою даних методичних вказівок є надання допомоги студентам під час виконання курсової роботи з дисципліни «Об’єктно-орієнтоване програмування» (ООП). Методичні вказівки складаються з таких розділів: мета курсової роботи, структура та зміст роботи, вимоги до оформлення, контроль виконання і захист курсової роботи. У методичних вказівках викладаються загальні рекомендації щодо виконання курсової роботи та конкретні рекомендації щодо програмної реалізації тематичних задач. Під час виконання курсової роботи кожен студент виконує індивідуальне завдання. 1. МЕТА ВИКОНАННЯ КУРСОВОЇ РОБОТИМетою виконання курсової роботи є закріплення отриманих теоретичних знань та практичне засвоєння студентами сучасних технологій та інструментальних засобів об’єктно-орієнтованого програмування. Тематика курсових робіт пов’язана з розробленням проектів програм, що ґрунтуються на використанні класів, відношень між ними та принципах об’єктно-орієнтованого програмування. Створення проектів прикладних програм здійснюються у середовищі Visual Studio C++ 2010. Основні вміння, які мають бути продемонстровані студентом:
Робота над курсовою роботою певною мірою визначає загальнотеоретичну та спеціальну підготовку студента і в остаточному підсумку готує його до майбутнього виконання більш складного й завершального етапу навчального процесу – дипломного проектування. Студент повинен розглядати роботу над курсовою роботою як складову дипломного проектування. 2. СТРУКТУРА ТА ЗМІСТ КУРСОВОЇ РОБОТИКурсова робота повинна містити такі розділи:
Об’єм курсової роботи повинен становити близько 30 сторінок друкованого тексту без додатків формату А4. 2.1. ОРГАНІЗАЦІЯ КУРСОВОЇ РОБОТИВідповідно до навчального плану вивчення дисципліни «Об’єктно-орієнтоване програмування» включає лекційні, лабораторні заняття та самостійну роботу. Завершується вивчення дисципліни розробкою і захистом курсової роботи. Курсову роботу студент виконує самостійно. Якісне виконання курсової роботи вимагає чіткої організації роботи студента з моменту вибору теми роботи й до його захисту. Керівництво курсовою роботою здійснюється викладачами кафедри, які беруть участь у викладенні цієї дисципліни. Керівник курсової роботи рекомендує студенту основну літературу, орієнтує його на розробку необхідних проектних рішень. Тематика курсових робіт відповідає програмі навчальної дисципліни «Об’єктно-орієнтоване програмування». Студенту може бути призначена тема курсової роботи з переліку рекомендованих тем. Також йому надається право самостійного вибору теми роботи з урахуванням його схильностей і можливостей найбільш повно застосувати отриманні знання. Якщо тема пропонується студентом, то вона повинна бути обговорена й погоджена з керівником курсової роботи. У завданні наводиться тема курсової роботи, вихідні дані до проекту, зміст пояснювальної записки, терміни початку й закінчення роботи над курсовим проектом, обумовлені графіком навчального процесу, план – графік виконання етапів курсової роботи. Зразок завдання на курсову роботу та календарний план виконання роботи наведений у додатку А. Зразок оформлення титульної сторінки наведено у додатку В. Після вивчення літературних джерел студент складає попередній план виконання курсової роботи, обговорює його з керівником. У процесі обговорення уточнюються вхідні дані для проектування й строки, що регламентують роботу студента над проектом. Після цього студент складає уточнений план роботи над проектом, узгоджує його з керівником та приступає до проектування. У процесі виконання курсової роботи студент повинен регулярно відвідувати консультації керівника, подавати йому на перевірку робочі матеріали відповідно до плану-графіка виконання етапів курсової роботи. Матеріали виконаної курсової роботи: пояснювальну записку в друкованому та електронному вигляді, вихідний код програмного додатка, виконавчий файл в release-конфігурації і допоміжні файли, презентацію доповіді для захисту в електронному вигляді, студент здає на перевірку керівникові за тиждень до терміну захисту. Захист курсових робіт організовується кафедрою у комісіях за графіком, затвердженим завідувачем кафедри. Під час захисту студент коротко доповідає про поставлене йому завдання, проектні рішення, що були прийняті, одержані результати, відповідає на питання членів комісії. Демонстрація роботи розробленої студентом програми на контрольному прикладі та презентація розроблених проектних рішень є обов’язковими. 2.2. ЗАВДАННЯ НА КУРСОВУ РОБОТУЗавдання на курсову роботу видає викладач після вивчення студентами відповідного розділу дисципліни. У завданні вказується тема роботи, прізвище студента, номер групи та перелік вузлових задач, які необхідно розв'язати під час виконання курсової роботи із зазначенням календарного плану їх виконання. Завдання на курсову роботу підписується керівником та студентом і видається студенту для виконання. Бланк завдання підшивається студентом до пояснювальної записки курсової роботи. 2.3. ЗМІСТЗміст курсової роботи повинен відповідати темі та завданню на курсову роботу. У змісті необхідно вказувати номери та назви основних розділів курсової роботи та номери сторінок, де вони починаються. Вступ, висновки з роботи, список літератури та додатки не нумеруються у змісті. 2.4. РЕФЕРАТРеферат – це короткий виклад змісту пояснювальної записки, що містить основні фактичні відомості і висновки, необхідні для початкового ознайомлення з нею. Реферат повинен містити: відомості про обсяг звіту, кількість частин звіту, кількість ілюстрацій, таблиць, додатків, кількість джерел згідно з переліком посилань (усі відомості наводять, включаючи дані додатків). Текст реферату повинен відбивати подану в пояснювальній записці інформацію у такій послідовності:
Реферат належить виконувати українською та англійськими мовами обсягом не більше, як 350 слів, і, бажано, щоб він уміщувався на одній сторінці формату А4. Ключові слова призначені для розкриття суті роботи у та для розповсюдження інформації про розробку. Їх розміщують після тексту реферату. Перелік ключових містить від 5 до 15 слів (словосполучень), надрукованих великими літерами в називному відмінку в рядок через коми. 2.5. ВСТУПВступ повинен відповідати темі роботи, бути стислим та конкретним. У вступі формулюють актуальність, мету та завдання роботи, відомості, щодо розробленої програми (призначення, що вона дозволяє автоматизувати, технології та мови програмування, що були використані при розробленні програми). 2.6. ФОРМУЛЮВАННЯ ЗАДАЧІУ цьому розділі формулюють завдання роботи, описують вимоги до вхідних та вихідних даних, форми їх подання, вимоги до інструментальних програмних і технічних засобів, необхідних для розв'язування задачі. 2.7. МЕТОДИ ТА ЗАСОБИ РОЗВЯЗУВАННЯ ЗАДАЧІУ цьому розділі подають основні характеристики конкретних методів розв'язання задачі, інформаційні, програмні, системні та допоміжні засоби, які застосовуються у роботі для розв'язування сформульованої задачі, їх порівняльний аналіз, обґрунтування переваг і можливостей застосування. Цей розділ виконується із використанням літературних джерел і повинен містити повну інформацію, необхідну для розроблення алгоритмічного та програмного забезпечення. 2.8. ПРОЕКТУВАННЯ СТРУКТУРИ ПРОГРАМИУ цьому розділі необхідно визначити склад файлової системи проекту програми, вимоги до їх структури та змісту. Проектування структури програми ґрунтується на визначенні структур класів, операцій, даних та методів їх опрацювання, семантики потоків повідомлень. Спроектовану структуру програми бажано зобразити у вигляді діаграм UML. Розроблення програми будь-яким методом має основуватися на абстракціях, які найточніше відповідають постановці конкретної задачі. Реалізація програми повинна являти собою сукупність завершених модулів, які можна використати для побудови інших програм. У практиці програмування найбільшого поширення здобули методи процедурного та об'єктно-орієнтованого програмування. Методи процедурного програмування ґрунтуються на моделі побудови програми як сукупності функцій. Функціональна декомпозиція програми визначає функції як абстрактні операції в термінах задачі, а не в деталях їх реалізації. За допомогою глобального алгоритму ці функції дають змогу розв'язувати конкретну задачу програмування. Механізм фактичних - формальних параметрів функцій та незалежність від глобальних змінних програми дає можливість використовувати такі функції як абстрактні операції в інших задачах. Файлова організація програми та засоби структурного програмування роблять реалізацію функцій зрозумілою та очевидною. Об'єктно-орієнтоване програмування (ООП) ґрунтується на абстракціях даних. Модель абстракції даних полягає в інкапсуляції даних та операцій над ними в окремий класовий тип. Доступ до даних можливий лише за допомогою інкапсульованих операцій. Класовий тип є автономно завершеним і дає можливість повного або часткового успадкування для інших класів. ООП концентрується на суті задачі, для якої розробляється програма. Задача будується як сукупність об'єктів, які взаємодіють між собою за допомогою повідомлень. Елементи програми розробляють відповідно до об'єктів у постановці задачі. Суть ООП полягає у визначенні найбільш вдалих об'єктових типів. Об'єктовий тип є модулем, який можна використати для розв'язування інших подібних задач. Жодна із моделей програмування не дає змоги оптимально вирішити всі проблеми, які виникають під час проектування програми. Тому методи програмування необхідно використовувати гнучко, враховуючи їхні особливості та можливості для розв'язування конкретного типу задач. Побудова об'єктно-орієнтової складової програмної системи є обов'язковою у цій курсовій роботі. 2.9. ПРОЕКТУВАННЯ ІНТЕРФЕЙСУ КОРИСТУВАЧАПісля проектування структури програми здійснюється розроблення елементів користувацького діалогу з програмою: екранних форм, вікон, меню, блоків діалогу тощо. Інтерфейс програми будується виходячи з ергономічних характеристик, простоти та компактності відображення інформації на екрані, зручності доступу до основних органів керування режимами роботи програми, забезпечення надійної роботи з програмою. Наводяться ескізи екранних форм та обґрунтування розміщення елементів діалогу на екрані. Описуються інструментальні засоби автоматизованого проектування екранних форм та їх під'єднання до програми. 2.10. РОЗРОБЛЕННЯ ГРАФІЧНИХ СХЕМ КЛАСІВ ТА АЛГОРИТМІВ З ВИКОРИСТАННЯМ UMLУ цьому розділі розробляються структури класів та наводяться графічні схеми їх взаємодії. При потребі розробляються алгоритми роботи методів класу. Для розроблення графічних діаграм бажано використати інструментальні засоби автоматизованого програмування: пакети RationalRose, BorlandTogetherArchitecture, бібліотеку графічних компонентів Microsoft Visio або інші. Графічні схеми класів і алгоритмів повинні бути описані. В описі вказуються прийняті позначення та призначення основних ланок графічної схеми. 2.11. РОЗРОБЛЕННЯ ПРОГРАМИ ТА ЇЇ ОПИСПісля планування структури програми, розроблення її екранних форм, елементів діалогу, графічних схем класів та відношень між ними здійснюється деталізація структури складових частин програми, які загалом повинні виконувати розв'язування поставленої задачі та забезпечувати взаємодію з користувачем через спроектований інтерфейс екранних форм. Розроблення складових частин програми базується на вибраній технології програмування і вимагає знання можливостей мови програмування, складу та призначення бібліотечних функцій середовища програмування. Текст програми повинен бути документований. Кожна програма на початку повинна містити інформацію про тему курсової роботи, прізвище автора та дату створення. Оголошення класу повинно містити дані про його призначення та про призначення його елементів даних і методів. Крім того, на початку кожної підпрограми розміщується таблиця із специфікацією на використані ідентифікатори за таким зразком: позначення ідентифікатора, призначення у підпрограмі. Кожен логічно завершений фрагмент програми повинен мати коментар про його призначення. Програму необхідно описати за такою схемою:
Залежно від особливостей програми дозволяється вводити додаткові або об'єднувати зазначені розділи. У розділі "Призначення програми" вказують класи задач, які можна розв'язати за допомогою розробленої програми, та відомості про функціональні обмеження на застосування. У розділі "Мови програмування" стисло характеризують мови програмування, якими написана програма. У розділі "Логічна структура програми" описують структуру програми з на рівні класів, методів, функцій та зв'язків між ними. Вказують назву і призначення класу, деталізують його вміст, описують кожен метод класу та зовнішні функції за схемою: назва, призначення, список параметрів, результат роботи. У розділах "Вхідні дані" та "Вихідні дані" вказуються способи організації даних, їхні формати, оголошення, способи кодування та носії. У розділі "Програмні засоби" перераховується програмне забезпечення, необхідне для функціонування програми: операційна система, засоби автоматизації програмування, інтегровані середовища, редактори текстів, компілятори, редактори зв'язків, завантажувачі коду програми, відлагоджувальники та ін. У розділі "Технічні засоби" описують структуру та характеристики обчислювальної системи, необхідні для виконання програми. 2.12. ІНСТРУКЦІЯ КОРИСТУВАЧАУ інструкції користувачу подають детальну послідовність дій із запуску програми на виконання, описують усі можливі режими керування роботою програми. Для ілюстрації режимів роботи програми бажано наводити зображення екранних форм, вікон, меню, блоків діалогу, форм документів тощо. Приклад інструкції користувача наведено у додатку С. 2.13. КОНТРОЛЬНИЙ ПРИКЛАД ТА АНАЛІЗ РЕЗУЛЬТАТІВ КОМП’ЮТЕРНОЇ РЕАЛІЗАЦІЇ ПРОГРАМИФормулюють умови прикладу, який було використано для реалізації та відлагодження програми. Розробляють структуру і формат вхідних та вихідних даних. Необхідно проаналізувати результати, отримані під час реалізації програми для коректних і некоректних наборів вхідних даних. Аналіз здійснюють за кількісними та якісними характеристиками роботи програми: точністю обчислення, часом розв'язання задачі, необхідним обсягом оперативної та зовнішньої пам'яті, надійністю роботи програми за зміни вхідних даних, ергономічними характеристиками спроектованого програмного інтерфейсу та ін. 2.14. ВИСНОВКИУ висновках перераховують основні результати курсової роботи, вказують її позитивні сторони та недоліки, дають рекомендації з практичного застосування розроблених алгоритмів та програм, визначають відповідність отриманих результатів поставленому завданню. 2.15. СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛСписок використаних джерел – це перелік джерел інформації, які було цитовано, згадано або розглянуто у роботі. Джерела можна розміщувати в списку одним із таких способів: у порядку появи посилань у тексті, в алфавітному порядку прізвищ перших авторів або заголовків. 2.16. ДОДАТКИУ додатках вміщують матеріал, який є необхідним для повноти пояснювальної записки, але не може бути послідовно розміщений в її основній частині через великий обсяг або способи відтворення та з інших причин. Ілюстрації (діаграми UML, схеми алгоритмів, технологічних процесів, сценарії діалогів та ін.), таблиці проміжні математичні докази, формули та розрахунки, текст допоміжного характеру та інші матеріали можуть бути оформлені у вигляді додатків. У одному з додатків повинен знаходитися вихідний код програми, яка розроблена студентом при виконанні курсової роботи.
3. ВИМОГИ ДО ОФОРМЛЕННЯКурсова робота оформляється кожним студентом згідно із виданим індивідуальним завданням. Курсова робота оформляється на аркушах формату А4, які заповнюються з одного боку. Текст роботи повинен бути надрукований на принтері у чорно-білому вигляді. Заголовки розділів можуть бути виділені великими літерами або підкреслюванням. Виправлення у тексті не бажані. Текст на сторінці повинен бути розміщений рівномірно з дотриманням відступів: ліворуч, згори та знизу - 20 мм, праворуч - 10 мм. Шрифт TimesNewRoman Суг, розмір шрифту 12 - 14, міжрядковий інтервал 1 - 1.5. Сторінки курсової нумерують, номери вміщують посередині нижнього поля. Титульну сторінку вважають першою і не нумерують. Кожен розділ повинен мати свій номер, який ставлять перед його назвою, наприклад: 1. Формулювання задачі. Вступ, висновки, список літератури та додаток не нумеруються. Кожен розділ необхідно розпочинати з нової сторінки. Розділ може складатися з підрозділів. Номер підрозділу записується через крапку після номера розділу, наприклад: 4.2. Призначення програми. Формули, на які є посилання у тексті роботи, а також всі таблиці та рисунки повинні мати номер. Нумерація може бути наскрізною або прив'язаною до номеру розділу. Номер формули подають після неї у круглих дужках. Номер та назву таблиці вказують над нею після слова "Таблиця". Номер та назву рисунка вказують під ним після скорочення "Рис.". Бажаним є комп'ютерне виконання графічної частини курсової роботи. Графічні схеми класів будують згідно із специфікацією UML-діаграм. Графічні схеми алгоритмів виконують за вимогами міжнародного стандарту ISO 5807-85 "Опрацювання інформації. Символи і умовні позначення блок-схем даних, програм та систем, схем програмних мереж і системних ресурсів" або його адаптації - ГОСТ 19.701-90. Роздруки текстів програм наводять у додатку. Кожен окремий документ додатка повинен мати назву, яку записують після слова "Додаток". Додатки нумеруються числами або позначаються літерами українського алфавіту. Список літератури складають за вимогами стандарту ДСТУ 7 - 1 - 2006. Джерела можна розміщувати за алфавітом або за послідовністю посилання на неї. У списку можна наводити тільки ту літературу, яку було використано під час виконання курсової роботи і на яку є посилання у тексті пояснювальної записки. Пояснювальну записку формують згідно із змістом і надійно зшивають з лівого довшого боку аркушів формату А4.
4. КОНТРОЛЬ ВИКОНАННЯ РОБОТИКурсова робота виконується самостійно кожним студентом у відповідно до графіка, який встановлюють під час видавання завдання на курсову роботу. Графік виконання роботи контролює викладач під час консультацій з дисципліни. Видача завдань здійснюється у перші два тижні семестру. Кожен студент складає календарний план роботи над темою і затверджує його у викладача. Час консультацій узгоджується з викладачем. Студенти консультуються у керівника індивідуально. Основні етапи роботи:
Після показу керівникові готової роботи та її схвалення студент починає писати пояснювальну записку. Пояснювальна записка здається керівнику для перевірки, після чого студент виправляє виявлені недоліки. Керівник допускає студента до захисту і призначає дату і час захисту. Курсова робота має бути виконана і захищена не пізніше, ніж за 1 тиждень до початку сесії.
5. ЗАХИСТ РОБОТИУ призначений час оформлена курсова робота подається керівнику для перевірки. До захисту приймається робота, оформлена за наведеними вище вимогами, разом з електронним носієм. Електронний носій не повинен містити вірусів. На електронному носії в одній папці розміщуються файли програм, даних та текст пояснювальної записки до курсової роботи. Тексти програм повинні бути працездатними. Для перевірки працездатності програм студент демонструє їх роботу на комп'ютері Під час захисту роботи студент повинен дати відповідь на питання за темою роботи: з побудови програми, технології програмування та відлагодження програми. Захист відбувається перед комісією кафедри. Студент повинен вміти виділити і чітко викласти основні моменти своєї роботи, відповісти на поставлені запитання, довести свою компетентність в області знань, що досліджується. Загальна оцінка залежить від теоретичної підготовки студента в області знань відповідно до завдання, від якості розробленої програми та пояснення її особливостей, змісту пояснювальної записки, повноти опрацювання теоретичного матеріалу, а також від оформлення записки. З повагою ІЦ "KURSOVIKS"! |