Методичні вказівки до виконання курсової роботи з курсу Об’єктно-орієнтоване програмування, КРОК
« НазадВищий навчальний закладУніверситет економіки та права “КРОК”МЕТОДИЧНІ ВКАЗІВКИДо виконання курсової роботи по дисциплінах “Об’єктно-орієнтоване програмування” та “ Об’єктно-орієнтована технологія програмування” для студентів 4-го курсу Коледжу економіки, права та інформаційних технологій та студентів 2-го курсу ННІ інформаційних та комунікаційних технологій Розроблено кафедрою комп’ютерних наук Розробники: Міловідов Ю.О., к.т.н. Терзян Т.К., к.т.н. Чебанюк О.М. Київ - 2011 Зміст 1. Загальні питання до виконання курсової роботи 1.1. Мета і завдання курсової роботи 1.2. Порядок виконання та захисту курсової роботи 2. Оформлення курсової роботи 2.1. Склад курсової роботи 2.2. Рекомендації щодо оформлення роботи 3. Методичні рекомендації 3.1. Аналіз задачі 3.2. Розробка алгоритму 3.3. Розробка програмного продукту 3.4. Виконання схем алгоритмів та ієрархії класів Література Додаток А. Зразок заяви на затвердження теми курсової роботи Додаток Б. Зразок оформлення титульної сторінки Додаток В. Зразок оформлення завдання на курсову роботу Додаток Г. Зразок складання календарного плану виконання курсової роботи Додаток Д. Зразок оформлення курсової роботи Додаток Е. Орієнтований перелік тем курсової роботи
1. Загальні питання до виконання курсової роботи1.1. Мета і завдання курсової роботиМета виконання курсової роботи по дисциплінах об’єктно-орієнтованого програмування полягає у закріпленні у студентів знань та практичних навичок отриманих при вивчанні дисциплін “Об’єктно-орієнтоване програмування”, “Об’єктно-орієнтована технологія програмування”. Мета досягається при виконанні об’єктного аналізу завдання, розробці ієрархії класів і алгоритму взаємодії їх об’єктів, складанні програми на мові C#. У ході виконання курсової роботи студенти можуть:
При виконанні курсової роботи студент розробляє схеми алгоритмів та ієрархії класів, створює безпосередньо програму та налагоджує її. Результатом, що подається на захист є текст пояснювальної записки та презентація програми. Текст пояснювальної записки повинен містити: аналіз завдання та відповідної предметної області, обґрунтування обраних рішень, спроектовані класи та алгоритми, текст програми, результати її тестування, результати виконання програми у вигляді контрольних прикладів. Ця робота підсумовує знання і навички студентів у галузі програмування, які здобуті студентами на поточному та попередніх курсах. При її виконанні студент має проявити свої творчі здібності до самостійного аналізу, алгоритмізації та створення програм.
1.2. Порядок виконання та захисту курсової роботиКожен студент за власноруч написаною заявою отримує індивідуальне завдання відповідно переліку тем, затверджених кафедрами комп’ютерних наук та програмної інженерії. Зразок заяви наведено у Додатку А, орієнтований перелік тем – у Додатку Е. При виконанні роботи допускається використання матеріалів, що були зібрані під час науково-дослідної діяльності студента, аналізу літератури, ознайомлення з прототипами програм. Методична та наукова допомога надається студентам їх науковим керівником. Керівником призначається викладач кафедри, котрий веде даний курс, або його асистент. Додатково до варіанта завдання керівник окреслює коло питань, які потребують вирішення, та перелік рекомендованої літератури. Форма завдання та приклад її заповнення показані у Додатку В. Завдання має бути затвердженим не пізніше початку третього тижня семестру. Виконання курсової роботи повинно відповідати графіку виконання роботи, що додається до завдання. Типовий графік наведено у Додатку Г. В період виконання роботи студент повинен періодично (стосовно із розкладом занять) звітувати керівникові про результати виконаної роботи і отримувати консультації. Захист курсової роботи проводиться за календарним графіком, за тиждень до початку залікової сесії. На захисті студент повинен зробити коротку доповідь (5 хвилин) перед комісією та відповісти на запитання за темою роботи. До складу комісії входять науковий керівник та один або більше викладачів кафедри. Студент допускається до захисту при виконанні таких умов:
По результатам роботи і її захисту комісія виставляє оцінку.
2. Оформлення курсової роботиОформлення курсової роботи виконується відповідно Державному стандарту України на програмну документацію [1].
2.1. Склад курсової роботиКурсова робота складається з таких частин:
Текст роботи (див. Додаток Д):
А. роздруківка тексту програми з детальними коментарями; Б. комплект тестів, на яких було перевірено функціонування програми; В. інструкція по використанню програми. Загальний обсяг пояснювальної записки складає приблизно 15 – 20 сторінок тексту. Сторінки з додатками не входять у ці 15-20 сторінок тексту пояснювальної записки. Розділ “Аналіз предметній галузі задачі” містить аналітичний огляд літературних джерел та прототипів щодо розкриття теми курсової роботи (3-5 стор.). Він повинен характеризувати ступінь знайомства студента із задачею, її математичним змістом та різними методами її розв’язання та існуючими програмними системами, в яких вирішуються аналогічні задачі. Літературними джерелами можуть бути підручники, монографії, статті, електронні джерела (Інтернет, телеконференції тощо). Посилання на літературні джерела є обов’язковими. На основі попереднього розділу студент повинен формалізувати “Постановку задачі” та надати обґрунтований вибір варіанту її рішення (якщо такі існують), відзначити особливості та переваги обраного варіанту рішення. Постановка задачі виконується згідно п. 3.2.3. стандарту РД 50-34_698-90 [2]. В ньому вказано: „В разделе "Постановка задачи" указывают основные пути и направления решения задачи, требования и ограничения на решение, критерии оценки результатов.” Розділ “Структури даних та діаграми класів для розв'язання задачі” повинен містити діаграму класів, котрі необхідні для розв’язання задачі. Вибір структур даних повинен бути обґрунтованим, а при можливості використання різних варіантів треба пояснити свій вибір. Діаграми виконуються відповідно рекомендаціям, приведеним в [3]. У розділі “Схеми взаємодії об’єктів та алгоритми виконання їх методів” подається діаграма взаємодії об’єктів в цілому та блок-схеми алгоритмів їх окремих методів. Виконується обґрунтування обраних алгоритмів з відповідними посиланнями на літературні джерела. При описі алгоритмів використовуються поняття та абстракції, розглянуті у попередніх розділах. Схеми виконуються відповідно рекомендаціям, приведеним в [3]. В “Описі розробленої програми” повинна бути описана реалізація розроблених класів, з аргументацією обраних програмних рішень. Окремо подається і коментується програмний код, введений до автоматично створених класів та методів (в першу чергу - змінні та функції, додані до коду головної форми). Сама програма повинна бути добре прокоментована. Обов’язково описується процес налагодження програми (які вікна були використані, методика трасування тощо). Наводиться статистика використаного на програмування часу. Опис контрольного прикладу містить вихідні дані та їх аналіз; дані, одержані в результаті роботи програми, результати роботи програми у вигляді роздруківок вмісту екрану, вікон тощо. Якщо при налагодженні програми було сформовано серію тестових прикладів, то їх доцільно розмістити у окремому додатку до курсової роботи. Висновки підсумовують основні результати, досягнуті автором при виконанні курсової роботи: теоретичні результати, оригінальні структури даних та алгоритми, відомості про створену програму тощо. Наведення матеріалу у роботі повинно підпорядковуватись логіці конструювання програм та алгоритмів. Кожен наступний крок має логічно і обґрунтовано випливати з попереднього. Опис програми виконується відповідно ЕСПД ГОСТ 19_402-78 „Описание программы” [4].
2.2. Рекомендації щодо оформлення роботиТекст пояснювальної записки до курсової роботи має бути надрукованим на аркушах формату А4 шрифтом 12 - 14 пунктів через 1,5 інтервали. Розмір полів ліворуч – 30 мм, праворуч – 10 мм, зверху та знизу – 20 мм. Вирівнювання по ширині обов’язкове. Заголовки розділів та підрозділів повинні розташовуватися на окремих рядках і відрізнятися від основного тексту збільшеним розміром або іншими атрибутами шрифту. Інтервал між заголовком і основним текстом має бути 2-2,5. Переніс слів у заголовках та крапка наприкінці не допускаються. Абзаци виконуються з відступом 10 – 15 мм. Нумерація сторінок виконується у правому верхньому куті аркуша. Розділи та підрозділи нумеруються арабськими цифрами з крапкою на кінці. Посилання на літературу робляться за допомогою номера джерела у квадратних дужках. Список літератури надається у порядку посилання в основному тексті.
3. Методичні рекомендаціїПриклад виконання та оформлення курсової роботи подано у додатку 6.
3.1. Аналіз задачіАналіз задачі передбачає визначити, чи має задача єдине рішення, чи є багато рішень, чи рішення відсутнє. Необхідно: ü З’ясувати, які дані є вихідними для задачі, які результати мають бути отримані. ü Визначити головні співвідношення між вихідними даними та результатами, сформулювати цілі. ü Накреслити схематичне зображення об’єктів, що приймають участь у модельованому процесі, позначити їх стосунки (виклики методів, передачу даних, обмін повідомленнями тощо.) ü Привести опис прикладів дій користувача, даних, що вводяться, реакції програми і відповідні результати – для подальшої розробки та обґрунтування алгоритму і тестування програми. При аналізі задачі треба керуватися літературою з предметної галузі, книгами та статтями з описом класичних постановок задач. Деякі дані з предметних галузей для завдань, приведених в Додатку Е можна знайти в джерелах [5-12].
3.2. Розробка алгоритмуПеред розробкою програми необхідно визначити основні математичні співвідношення та розробити математичній алгоритм рішення задачі, тобто побудувати математичну модель процесів, що відбуваються при вирішенні завдання. Для цього рекомендується користуватися довідниками з математики, фізики (див. [13,14], а також науковою і довідковою літературою з предметної галузі [16]. Потім необхідно представити собі сценарій роботи програми: що треба вводити в програму, що і як виводити на екран, які перетворення даних здійснюються тощо. Для розробки алгоритму використовувати метод низхідного проектування: спочатку визначити загальний підхід до вирішення задачі, потім виділити окремі блоки, які виконують закінчений процес обробки даних, далі конкретизувати блоки, які були виділені раніше. Цей процес продовжувати до тих пір, поки не визначаться прості операції.
3.3. Розробка програмного продуктуРозробка програмної продукту - багатоступеневий процес, що повторюється. Основний цикл цього процесу: намітити загальний проект; знайти стандартні компоненти; створити нові компоненти; створити проект. Для проектування компонент необхідно виконати такі дії: ü знайти основні поняття та об'єктні типи (класи) і їх основні взаємозв'язки в ієрархії успадкування; ü уточнити об'єктні типи, задавши множину операцій над ними. Для цього розбити операції на групи, проаналізувати потребу в конструкторах, деструкторах, інших операціях. Проаналізувати операції в залежності від того, як вони змінюють внутрішній стан об'єктів і визначити базисні операції - конструктори, функції-методи та функції-властивості. Взяти до уваги повноту, мінімальність, зручність до застосування, зрозумілість і наявність коментарів до коду, що розробляється; ü уточнити об'єктні типи, визначивши, як вони залежать від інших об'єктних типів. Для цього визначити об'єктні типи, які успадковують властивості інших об'єктних типів. Визначити об'єктні типи, які підпорядковуються іншим об'єктним типам; ü Програмний код кожного класу виокремити в файл, доданий до проекту. При розробці програми треба керуватися рекомендаціями, викладеними у конспекті лекцій з ООП та у підручниках [17-19].
3.4. Виконання схем алгоритмів та ієрархії класівСхеми повинні дати наочну уяву послідовності дій, що запрограмовані. Розробляються такі схеми:
Обов'язково додається специфікація функцій і процедур, де наводиться формат оголошення функцій і процедур з поясненням змісту параметрів. Література
Додаток Б.
|
№ |
Назва етапів розрахунково-графічної роботи |
Термін виконання етапів роботи |
Підписи керівника, студента |
1. |
Отримання теми розрахунково-графічної роботи |
13.09.11 |
|
2. |
Узгодження постановки задачі з керівником |
15.09.11 |
|
3. |
Пошук та вивчення літератури з питань курсової роботи |
22.09.11 |
|
4. |
Розробка сценарію роботи програми |
11.10.11 |
|
6. |
Узгодження сценарію з керівником |
13.10.11 |
|
5. |
Розробка алгоритму рішення задачі |
18.10.11 |
|
6. |
Узгодження алгоритму з керівником |
20.10.11 |
|
7. |
Узгодження з керівником інтерфейсу користувача |
25.10.11 |
|
8. |
Розробка інформаційного забезпечення |
27.10.11 |
|
9. |
Розробка програмного забезпечення |
08.11.11 |
|
10. |
Налагодження розрахункової частини програми |
15.11.11 |
|
11. |
Розробка та налагодження інтерфейсної частини програми |
22.11.11 |
|
12. |
Узгодження з керівником набору тестів для контрольного |
24.11.11 |
|
13. |
Тестування програми |
29.11.11 |
|
14. |
Підготовка пояснювальної записки |
06.12.11 |
|
15. |
Здача курсової (розрахунково-графічної) роботи на |
13.12.11 |
|
16. |
Захист |
15.12.11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Студент_________________ ____________________
(підпис)
Керівник ____________________ ____________________
(підпис) (прізвище, ім'я, по батькові)
" " _________________2011 р.
Додаток Е.
Орієнтований перелік тем курсової роботи
- Розробка комп’ютерної гри „Судоку”.
- Розробка комп’ютерної гри „Сапер”.
- Розробка комп’ютерної гри „Морській бій”.
- Розробка комп’ютерної гри „П’ятнашки”.
- Розробка комп’ютерної гри „Маджонг”.
- Розробка комп’ютерної гри „Тетрис”.
- Розробка комп’ютерної гри „Хрестики - нулики (поле 4х4)”.
- Розробка комп’ютерної гри „Кісті”.
- Розробка комп’ютерної гри „Рулетка”.
- Розробка комп’ютерної гри „Лото”.
- Розробка комп’ютерної гри „Шахи”.
- Розробка комп’ютерної гри „Шашки”.
- Розробка комп’ютерної гри „Доміно”.
- Розробка комп’ютерної гри „Словник” (знайти відповідність іноземного слова)
- Розробка комп’ютерної гри „Запам'ятовування чисел”.
- Розробка комп’ютерної гри „Японський кросворд”.
- Розробка комп’ютерної гри „Прибрати палички”.
- Розробка комп’ютерної гри „Світлофори”.
- Розробка комп’ютерної гри „Авторалі”.
- Розробка комп’ютерної гри „Автодром”.
- Розробка комп’ютерної гри „Перегони на скутерах”.
- Розробка комп’ютерної гри „Перегони на вітрильниках”.
- Розробка комп’ютерної гри „Перегони з перешкодами”.
- Розробка комп’ютерної гри „Тир” (гвинтівка).
- Розробка комп’ютерної гри „Тир” (лук).
- Розробка комп’ютерної гри „Більярд”.
- Розробка комп’ютерної гри „Кеглі”.
- Розробка комп’ютерної гри „Крокет”.
- Розробка комп’ютерної гри „Пазли”.
- Розробка комп’ютерної гри „Врівноваж терези”.
- Розробка програмної моделі керування рухом автомобілів по дорогам з перехрестями та світлофорами.
- Розробка програмної моделі керування світлофорами з врахуванням навантаження на перехрестя доріг.
- Розробка програмної моделі перегонів по треку.
- Розробка програмної моделі проходження лабіринтів.
- Розробка програмної моделі взаємодії банкоматів з банком.
- Розробка програмної моделі взаємодії банкоматів з клієнтами.
- Розробка програмної моделі поведінки покупців у магазині з продавцями.
- Розробка програмної моделі поведінки покупців у магазині самообслуговування.
- Розробка програми керування запасами на складі.
- Розробка програми резервування квитків на потяг.
- Розробка програми формування поїздів відповідно придбанню квитків.
- Розробка програми планування завантаження контейнера.
- Розробка програми планування вантажних перевезень.
- Розробка системи керування з’єднаннями у телефонній мережі.
- Розробка системи моделювання поведінки абонентів при обранні засобів зв’язку.
- Розробка програмної моделі взаємодії абонентів з бібліотекою.
- Розробка програми для складання резисторних схем та розрахунку їх параметрів.
- Розробка програми для складання системи з механічних елементів та моделювання її поведінки при навантаженнях.
- Розробка програмної моделі зважування на механічних вагах з рівними та нерівними плечима.
- Розробка програми для складання системи пересування вантажів за допомогою блоків та тросів.
- Розробка програми для складання підйомного механізму та моделювання його роботи.
- Розробка програми моніторингу процесу навчання у ВНЗ.
- Розробка програми прокладання шляху пересування роботів по складу.
- Розробка програми керування маніпулятором робота при переміщеннях деталей.
- Розробка програми планування розподілу деталей по верстатах поточної лінії.
З повагою ІЦ "KURSOVIKS"!