Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 202 Методичні вказівки до курсового проектування, Об'єктно-орієнтоване програмування

Методичні вказівки до курсового проектування з предмету Об'єктно-орієнтоване програмування

« Назад

 ЗМІСТ

Загальні положення

1 Мета та задачі курсового проектування

2 Тематика курсових проектів

3 Структура і зміст курсового проекту

4 Методичні вказівки з виконання курсового проекту

5 Вимоги до оформлення курсового проекту

6 Організація проектування та захист проекту

Список рекомендованої літератури

 

Структура змісту пояснювальної записки курсового проекту

ЗМІСТ

Вступ

1. ЗАГАЛЬНА ЧАСТИНА

1.1. Постановка задачі

1.2. Вибір методу рішення задачі

1.3. Інформаційна модель задачі

1.4. Система програмування

2. СПЕЦІАЛЬНА ЧАСТИНА

2.1. Декомпозиція вихідної задачі на функціональні модулі

2.2. Програма задачі та її опис

2.3. Тестування та відлагодження програми

2.4. Інструкція користувача для роботи з програмою

Висновки

Перелік літературних джерел

Додатки

 

ЗАГАЛЬНІ ПОЛОЖЕННЯ

В наш час комп'ютери використовуються практично у всіх галузях люд­ської діяльності і тому таке велике значення для майбутніх спеціалістів має програмування, вивчення сучасних програмних технологій.

Основною метемо даних методичних вказівок є надання допомоги студентам у виконанні курсового проекту з дисципліни «Об’єктно-орієнтоване програмування».

Методичні вказівки складаються з таких розділів: мета курсового проек­тування, тематика курсових проектів, структура й зміст курсового проекту, ме­тодичні вказівки з його виконання, вимоги до оформлення курсового проекту, організація проектування і захист курсового проекту

В цих методичних вказівках викладаються загальні рекомендації щодо виконання курсового проекту та часткові рекомендації до розв'язання тематич­них задач.

 

1 МЕТА ТА ЗАДАЧІ КУРСОВОГО ПРОЕКТУВАННЯ

Основною метою курсового проекту є закріплення знань, здобутих при ви­вченні дисципліни «Об’єктно-орієнтоване програмування» та засвоєння нових програмних засобів, які орієнтовані на розв'язання різноманітних прикладних задач.

В процесі виконання роботи студент повинен навчитися:

— ставити задачу для розв'язання її на персональному комп'ютері (ПК);

— вибирати або розробляти відповідний алгоритм розв'язання задачі;

— складати, відлагоджувати та тестувати програми в рамках застосо­ваної технології програмування;

— користуватися довідковою літературою при вивченні нових програм­них продуктів;

— закріплювати практичні навички в оформленні документації на кожному етапі розробки;

— закріплювати практичні навички використання ПК.

Все це має сприяти розвитку у студентів алгоритмічного і логічного мис­лення, а також надбанню навичок практичного використання нових програмних продуктів.

Особливу увагу при виконанні курсового проекту слід приділяти розвитку у студентів навичок самостійного розв'язування поставленої задачі, вмінню абстра­гуватися від другорядних та виділяти головні чинники задачі, виконувати теоре­тичні обгрунтування поставленої задачі та набуття знань для її реалізації, реа­льне використання сучасних програмних технологій.

Курсовий проект за своїм змістом та структурою повинен відповідати етапам життєвого циклу програмного продукту. При використанні різних підходів до розробки: традиційного (структурного) чи об’єктно-орієнтованого, є деякі відмінності у формулюванні етапів життєвого циклу, проте основні з них залишаються спільними:

1) постановка задачі і задання вимог до програмного продукту (розробка технічного завдання — ТЗ);

2) розробка специфікації (детальний план виконання розробки);

3) проектування (розподіл програми на структурні одиниці: модулі,  функції; опис для кожної з них детальних вимог, вхідних та вихідних даних);

4) реалізація проекту (програмування окремих структурних одиниць);

5) інтегрування проекту (об’єднання структурних одиниць у цілісних програмний продукт, тестування, виправлення помилок);

6) експлуатація та підтримка (забезпечення користувача необхідною інформаційною та сервісною підтримкою, реалізація внесення змін у програму та доставки виправлених та нових версій програми до користувача);

7) утилізація (забезпечення можливості вилучення програмного продукту із системи та переносу на новий комп’ютер чи операційну систему).

Враховуючи специфіку курсового проекту з об’єктно-орієнтованого програмування всі ці етапи життєвого циклу є важливими, тому відповідні питання повинні бути опрацьованими. Складність передбачення всіх аспектів роботи програмного продукту, особливо на ранніх етапах розробки, та необхідність внесення значної кількості змін як у саму програму, так і в завдання та документацію привели до того, що документування та тестування проводиться  паралельно з проведенням всіх етапів розробки. Оскільки курсовий проект виконується лише однією людиною та в обмежених часових рамках, допускається винесення процесу тестування в окремий етап (між інтегруванням та експлуатацією) та оформлення його в окремий розділ чи підрозділ пояснювальної записки.

Важливим також є правильне використання існуючих рішень, підходів та інформаційних ресурсів, тому відбір, вивчення і реферування літературних джерел (публікацій), ресурсів Internet з теми курсової роботи є її необхідною частиною. При виконанні курсових проектів недостатньо користуватися лише підручниками і навчальними посібниками, оскільки вони здебільшого розкривають лише основи тієї чи іншої мови або технології програмування, а не описують прикладних задач і проблем та методів їх вирішення. Літературні джерела краще вивчати, переходячи від простих до складніших. При вивченні наукової літератури потрібно навчитися чітко відрізняти головне від другорядного, яке безпосереднього не пов'язане з темою дослідження.

Для полегшення розробки та внесення змін у проект, підвищення якості документації бажано забезпечити достатню кількість якісних та змістовних ілюстрацій (оригінальних схема, діаграма тощо), які у порівнянні з текстовим описом є більш лаконічним та надійним способом відображення інформації.

При практичні реалізації програмних проектів першим етапом розробки (першим етапом життєвого циклу програмного продукту) є постановка задачі і задання вимог до програмного продукту. Закінчується цей етап формулюванням ТЗ. В даному курсовому проекті на вибір студента завдання на роботу може оформлятися у скороченому вигляді на стандартному бланку або як повноцінний документ — технічне завдання, відповідно до державних стандартів. В обох випадках завдання повинно підписано студентом і керівником розробки, ще до початку її втілення, і визначати підстави та параметри роботи. Повнота  і  якість виконання вимог, поставлених у завданні (ТЗ) визначає оцінку курсового проекту.

Виходячи з теми курсового проекту, провівши попередній аналіз, студент формулює та узгоджує з керівником зміст завдання на проект (ТЗ). У завданні обов’язково має вказуватись: назва навчального закладу; шифр і назва спеціальності; тема курсового проекту; термін здачі студентом завершеної роботи; початкові дані до роботи; зміст роботи (перелік питань, що розробляються) та календарний план виконання роботи. Завдання, підписане студентом та керівником розміщується на початку пояснювальної записки (після титульного аркуша).

Початком життєвого циклу програмного продукту прийнято вважати аналіз вимог до програми. Основною метою даного розділу пояснювальної записки є аналіз вимог завдання на курсовий проект й формулювання додаткових технічних вимог, які безпосередньо випливають з нього та мети роботи.

Якщо на попередньому етапі не було здійснено вибір технології, засобів розробки, мови програмування, то на початку аналізу необхідно обґрунтувати їх вибір. Задля забезпечення високої швидкодії, зменшення розмірів виконуваних файлів та обсягів оперативної пам’яті можливі наступні підходи до розробки:

1) використання мови програмування низького рівня чи мови С з можливим підключенням готових модулів;

2)використання мови програмування високого або низького рівня з підключенням стандартних бібліотек операційної системи (API).

Перший підхід частіше використовується при розробці низькорівневих драйверів спеціалізованих апаратних пристроїв, критичних частин операційних систем, сервісних програм, що працюють в обхід операційної системи. Також можливе використання цього підходу при написанні мікропрограм (firmware) для вбудованих мікропроцесорів та спецпристроїв.

Другий підхід більш характерний при написанні системних засобів, що доповнюють можливості існуючої операційної системи, наприклад Windows.

Для збільшення ефективності програмування доцільно використовувати інтегровані середовища швидкої розробки (IDE, RAD Delphi, C++Builder), проте, при створенні проектів слід відключати стандартні бібліотеки візуальних класів та компоненти високого рівня.

На основі аналізу завдання (ТЗ) потрібно конкретизувати основні параметри програми, її можливості та функції, засоби їх реалізації, інтерфейс із користувачем, середовище, в якому програма може працювати.

Якщо у попередньому розділі лише формулюють загальну методику розв’язування задач, то тут визначають конкретний план роботи. Просте переписування вимог завдання на курсовий проект не допускається, потрібно творчо осмислити його та сформулювати конкретні технічні вимоги і шляхи їх досягнення. Даний розділ відповідає другому етапу життєвого циклу і його результатом є специфікація, що деталізує вимоги сформульовані в ТЗ у вигляді описів, діаграм, схем, специфікацій функцій, які повністю визначають всі аспекти функціонування програмного продукту. З даного документу має бути повністю зрозуміла робота програмного продукту ще до його створення.

Третій етап життєвого циклу програмного продукту  є  найвідповідальнішим і, часто, найоб’ємнішим, адже при використанні сучасних технологій та засобів розробки генерування програмного коду деколи є набагато простішим, майже тривіальним завданням, яке в деяких випадках навіть може бути проведено автоматично, без участі людини. Хоча в системному програмуванні такі задачі трапляються не так часто, як, скажімо, при розробці баз даних, проте, важливість правильного проектування структури має вирішальний вплив як на терміни та вартість виконання розробки, так і на її якість та можливості підтримки і вдосконалення.

Основною задачею, яка розв’язується на даному етапі є функціональна декомпозиція, що полягає в розділенні на окремі блоки (модулі, підпрограми, функції), що призначені для виконання специфічних функцій у розроблюваному продукті. В залежності від специфіки теми в роботі розробляється одна або декілька програмних одиниць, що в більшій чи меншій мірі пов’язані між собою. Якщо програма є цілісна, то декомпозиція полягає у її розподілі на дрібніші структурні одиниці на основі аналізу алгоритму її роботи, даних та функціонально призначення. Якщо ж розробляється пакет програм, драйверів чи бібліотек, то декомпозиція стосуватиметься кожної програмної одиниці. В будь-якому випадку розпочинати слід із розробки алгоритму роботи (або алгоритмів для кожної програмної одиниці).

Алгоритм розробляється, виходячи із поставленого завдання та технічних вимог до програми. Він може бути відображений як у вигляді блок-схеми, оформленій згідно з вимогами стандартів, так і словесним описом, що включає послідовність узагальнених операцій та переходів між ними. Такий опис може мати ієрархічну структуру, де спочатку записують більш загальні операції, які потім розшифровують на нижчому ієрархічному рівні.

Для деяких типів програм опис алгоритму зручніше проводити в термінах об'єктів, що взаємодіють між собою за допомогою повідомлень і подій. Тоді використовується об’єктно-орієнтована технологія проектування, в якій загальний алгоритм на етапі розробки сформулювати неможливо, оскільки послідовність операцій визначається  самим користувачем на етапі виконання. До таких програм відносяться різноманітні редактори (текстові, нотні, графічні), програми опрацювання переривань, ігрові програми та інші. В цьому випадку алгоритм розпадається на кілька незалежних одна від одної послідовностей операцій, що реагують на події та керують опрацюванням повідомлень.

Для систем, що працюють у реальному часі, паралельних потоків та процесів, розподілених систем важливою є часова послідовність опрацювання повідомлень і подій. Для них, крім опису алгоритму, застосовують ще й часові діаграми, що характеризують послідовність виконання різних процесів, та їх взаємодію з апаратними засобами.

В загальному, спосіб опису алгоритму вибирають, виходячи з конкретної задачі, однак він повинен бути повним, несуперечливим і достатнім для розуміння суті запропонованого способу її вирішення й принципу роботи спроектованої програми.

Аналізуючи отриманий алгоритм, потрібно визначити в ньому основні структурні частини, які дозволять здійснити декомпозицію (розбиття) проекту на завершені програмні одиниці (модулі, програми, бібліотеки). Це в більшості випадків спрощує як процес розробки, так і відлагодження програмного проекту.

Найчастіше окремі функції, класи та змінні групують за функціональним призначенням та розміщують в окремих програмних одиницях (модулях), які можна окремо компілювати. Для програмування на мові С++ кожен із модулів, як правило, розбивають на два файли: заголовний файл із розширенням *.h (*.hpp), що містить інтерфейсну частину модуля, та файл реалізації модуля з розширенням *.cpp.

Крім модулів, потрібна головна програма, яка їх викликає. Для випадку, якщо завданням передбачено розробку повноцінної програми, то ця головна програма й реалізує необхідний алгоритм роботи. Якщо ви розробляєте лише набір модулів або бібліотеку функцій (наприклад, реалізуєте побудову графіків на основі даних, сформованих у програмі користувача, або створюєте бібліотеку для реалізації різноманітних операцій з новим пристроєм), то така головна програма буде лише тестовою, призначеною для відлагодження, перевірки та демонстрування можливостей модулів.

Для деяких задач виникає необхідність створення ще й допоміжних програм (утиліт), що виконують певні сервісні функції (наприклад, конвертування файлів, формування тестових даних, виведення графіків тощо). У такому випадку розв’язок задач реалізується у вигляді програмного пакета, що містить головну програму, модулі та допоміжні програми.

Згідно з указаною вище схемою потрібно провести декомпозицію проекту та відобразити її в даному розділі. Для кожного модуля чи функціональної одиниці слів детально задати специфікацію (інтерфейс) у вигляді опису призначення, вхідних і вихідних параметрів, типів, змінних, констант, повідомлень, формату файлів тощо. За необхідності наводяться також тестові дані, за допомогою яких можна перевірити правильність роботи модуля чи функції.


2. ТЕМАТИКА КУРСОВИХ ПРОЕКТІВ

Для курсового проектування обираються різноманітні задачі, для вирі­шення яких слід використовувати мову С++ та середовище Builder С++.

Курсові проекти представляють собою такі типові тематичні напрямки:

— розв'язання різноманітних математичних задач (потрібні знання відпо­відних чисельних методів, способів досягнення необхідної точності);

— розв'язання задач з використанням різноманітних методів пошуку та со­ртування;

— розробка програм, пов'язаних з тематикою дискретної математики;

— розробка довідкових систем, тобто сервісних програм, які дозволяють накопичувати, зберігати та обробляти різноманітну інформацію. Такі теми ма­ють бути реальними, наприклад, заснованими на даних про студентів, викла­дачів, різних сфер побуту тощо;

- створення програм для збереження, обробки та відображення структур даних;

— розробка програм, пов'язаних з науково - дослідною тематикою;

— створення демонстраційних програм для впровадження їх в системи розробки комп'ютерних навчальних посібників. Студент може спробувати свої сили в складанні цікавих комп'ютерних уроків, проектуванні та програмуванні навчаючих ігор.

Дані методичні вказівки не виключають курсових робіт за тематикою, відмінної від рекомендованої, (якщо це узгоджено з керівником роботи), але зав­жди результатом роботи має бути створений програмний продукт.

 

З. СТРУКТУРА І ЗМІСТ КУРСОВОГО ПРОЕКТУ

Кожен студент повинен одержати у керівника курсового проекту тему сво­єї роботи і заповнити лист завдання з постановкою задачі, початковими даними, календарним планом роботи тощо.

Курсовий проект виконується студентом самостійно відповідно з календар­ним планом та завданням на проектування. Підсумком роботи є сукупність файлів на диску та пояснювальна записка. Студент повинен захистити ро­боту перед комісією, до якої входять 2-3 викладача.

Пояснювальна записка (обсягом 25-30 сторінок тексту формату А4) по­винна мати: титульний аркуш, лист-завдання, реферат, зміст, вступ, постановку задачі, основну (спеціальну) частину частину з інструкцією користувача, перелік посилань, а також до­даток, що містить лістинг з текстом програми та результатами її роботи.

В рефераті (приклади оформлення наведені в додатку Б) треба вказати обсяг записки, відомості про обсяг проекту, кількість розділів, ілюстрацій, таб­лиць, додатків, джерела за переліком посилань. В ньому має також бути пере­лік ключових слів, які характеризують основний зміст пояснювальної записки* (10-15 слів, надрукованих прописними літерами в називному відмінку через ко­му). В тексті реферату описується мета курсової роботи, методи вирішення за­дачі, основні результати робота, можливі області застосування. Обсяг рефера­ту — не більше 2000 знаків.

При написанні "ВСТУПУ" треба відмітити роль персональних комп'ю­терів в сучасному житті, перелічити основні можливості сучасних інформацій­них технологій (обсяг 1 -2 а).

Пункт "ПОСТАНОВКА ЗАДАЧІ" "розкриває" сформульовану в листі - завданні задачу (мету, початкові дані, вимоги щодо функціональності продукту, тощо). При необхідно­сті слід зробити огляд існуючої інформації за даною тематикою з метою довести, що вона не вирішує поставлену задачу або вирішує їх неефективно. Тут розкрива­ється також сфера застосування розробленого програмного продукту.

Текст основної частини пояснювальної записки має бути розподіленим на розділи, підрозділи, в яких наводиться опис методу, розв'язання задачі, розкрит­тя особливостей алгоритму та його програмної реалізації, а також опис сере­довища програмування, що використовується в роботі. Автор курсової роботи повинен конкретно пояснити застосування тих чи інших програмних засобів. При цьому для ілюстра­ції можна наводити копії екрану або його фрагментів тощо. Опис має бути чітким, послідовним і зрозумілим. Слід узгодити з керівником роботи питання про те, які з фрагментів розробленого програмного продукту. описувати в подробицях, а про які лише згадати.

Основна частина роботи повинна мати такі розділи, як  

 «Вибір методу рішення задачі» «Інформаційна модель задачі», «Система програмування», «Декомпозиція вихідної задачі на функціональні модулі»,  « Програма задачі та її опис», «Тестування та відлагодження програми», «Дослідна експлуатація програми», «Інструкція користувача для роботи з програмою»,  тощо.

В розділі " Інструкція користувача для роботи з програмою " має бути вказано на при­значення програмного виробу, пояснений склад файлів що входять до проекту, вимоги до ресурсів комп'ютера, детально викладений порядок завантаження програми на виконан­ня.

В розділі "ВИСНОВКИ" треба пояснити результати роботи, показати, на­скільки вони відповідають очікуваним, вказати ( при необхідності ) на причину їх невідповідності тощо.

В розділі "ПЕРЕЛІК ЛІТЕРАТУРНИХ ДЖЕРЕЛ" записують всі джерела, які було ви­користано при виконанні курсової роботи.

В додатку слід розмістити наступну інформацію:

- презентацію курсового проекту, що обов’язково повинна містити опис структури проекту, вимоги до функціональності створених програм, принципи роботи користувача з програмою, результати роботи з програмою;

- тексти відлагоджених програм з текстовими коментарями та результати їх роботи. Результати мають бути віддрукованими на принтері у вигляді текстових повідомлень, масивів чисел, таблиць, графіків, копій екрану, або його фрагментів тощо.

 

4. МЕТОДИЧНІ ВКАЗІВКИ З ВИКОНАННЯ КУРСОВОГО ПРОЕКТУ

4.1 Постановка задачі

Розпочинаючи виконання курсової роботи, в першу чергу необхідно детально розібратися в постановці задачі та підібрати літературу.

Курсова робота, як правило, має навчальний характер. Це значить, що студенту достатньо отримати при необхідності одну -дві консультації у викладача з метою уточнення деяких частин завдання. В більш складних роботах це може проходити в декілька етапів. Після того, як студент з'я­сував суть задачі, він має приступиш до вивчення літератури. Процес виявляєть­ся більш плідним, якщо у виконавця є достатня теоретична підготовка.


4.2 Вибір методу рішення задачі.  Інформаційна модель задачі

На цьому етапі треба визначитись з питанням наявностей та можливостей використання готового методу розв'язання всієї задачі або її частини. Це стосується, в першу чергу, таких типових задач, як сортування, розв'язання матема­тичних завдань тощо. Краще застосовувати готові алгоритми для вирішення таких часткових задач, зосередивши свою увагу на інших аспектах роботи. Ха­рактерним для програмування є сполучення типових засобів та нових методів обробки інформації.

В пояснювальній записці в розділі "Вибір методу" треба виконати аналіз існуючих методів та обґрунтувати вибір одного (декількох) з них.

Також, до пункту «Інформаційна модель задачі» слід навести структуру та типи даних, з якими буде працювати програма та засоби збереження цих даних (у структурованих чи звичайних файлах, у масивах і т.д.). Після опису даних бажано навести приклади реальних значень, що будуть зберігатися у сформованому форматі.

 

Після того, як з інтерфейсною частиною класів “закінчено”, залишилося лише розробити реалізацію методів, дружніх та глобальних функцій. Це завдання є досить простим, якщо на попередньому етапі було правильно спроектовано систему класів та детально пророблено інтерфейсні частини. При програмування мовою С чи С++,  реалізація будь-якої функції (чи методу) розміщується в *.с (*.cpp) – частині модуля, на відміну від інтерфейсної, яка записується у *.h  - файл. Потрібно лише акуратно записати ті дії, які має виконувати метод чи функція, не забуваючи користуватися вже готовими функціями та методами замість того, щоб увесь час змінювати дані за допомогою одних і тих же послідовностей операцій.

 

4.3. Декомпозиція вихідної задачі на функціональні модулі. Розробка алгоритму

Відомо, що алгоритм - це сукупність повністю визначених та зрозумі­лих операцій, виконання яких приводить до вірної відповіді. Задачу треба "роз­класти по полицям" так ретельно, щоб кожна дія була визначена і весь ланцюг таких дій був також вірним. Іноді це дуже важко зробити, але саме це є голо­вною метою вивчення дисциплін циклу програмування. Все розпочинається з алгоритму.

Розроблений алгоритм треба представити у такому вигляді, який був би зрозумілим для спеціалістів. В умовах виробництва це визначається вимогами тієї чи іншої технології створення програмних виробів. В умовах курсового проектування таке питання вирішується узгодженням з викладачем. В цьому розділі слід в тій чи іншій формі викласти всі основні деталі алгоритму, вказати перелік та призначення візуальних елементів на формі програми в середовищі Builder C++.

Якщо програма використовує файли як джерело вхідних даних або для зберігання проміжних чи кінцевих результатів роботи, то в даному підрозділі слід навести опис формату цих файлів. Він може бути виконаний у текстовому, табличному чи графічному вигляді. Можна додавати до нього приклади реальних файлів із даними програми.

Для інтерактивної програми з розвинутою системою меню та діалогових вікон у цьому підрозділі слід описати призначення елементів меню, роботу з ними, параметри, що вибираються в діалогових вікнах тощо. У цьому ж розділі слід описати інтерфейс програм, які працюють з параметрами командного рядка.

Якщо темою роботи є розробка модулів або бібліотеки, то слід детально описати порядок їх використання, навести в алфавітному порядку всі доступні для користувача глобальні типи даних і змінні, функції та класи

 

4.4 Складання програми та ії відлагодження

Передусім треба спланувати програму — визначити, які функції треба розробити, важливо забезпечити правильний зв'язок між програмними одини­цями, бажано прокоментувати та вказати на їх функціональне призначення. Ре­комендується, щоб на початку роботи програми на екрані з'явилась інформація про її автора.

В пояснювальній записці має бути розділ " Програма задачі та її опис", в якому слід достатньо детально викласти всі особливості програми. Перш за все треба зробити детальний огляд програми, тобто перелікувати основні компоненти всієї програми і охарактеризувати в цілому її роботу. Потім виді­лити найбільш важливі частини програми і докладно описати їх компоненти. Якщо в програмі багато таких частин, треба узгодити з викладачем питання про те, які з фрагментів описувати в подробицях, а про які лише згадати.

Відлагодження програми починається з виявлення всіх синтаксичних по­милок в тексті програми. На цьому етапі майже не виникає проблем, тому що транслятор упевнено розпізнає помилкові конструкції. Важче виявити логічні помилки в тому випадку, коли не працює вся програма або її частина.

В таких випадках можна застосувати прості способи: друкування проміж­них результатів, допоміжних змінних тощо.

При сучасному підході тестування є невід'ємною частиною кожного з етапів життєвого циклу і тому проводиться постійно. Для порівняно простих програмних продуктів, які реалізуються в курсових роботах, для спрощення процес тестування можна виділити в окремий розділ для проекту в цілому, або в підрозділи для кожного з етапів життєвого циклу. У даному розділі треба описати методику тестування програми, тестові дані та навести результати роботи програми. Якщо програма працює в графічному режимі, то слід роздрукувати копію графічного вікна програми. Якщо результатом роботи програми є текстовий файл, то необхідно вивести вміст цього файлу. Для програм з розвинутою системою діалогових вікон і меню слід обмежитися друком лише найсуттєвіших результатів, які демонструють правильну роботу програми, а не передруковувати весь екран для кожного відкритого пункту меню. Перелік усіх пунктів меню в такому випадку та вміст неосновних діалогових вікон можна подати в текстовому вигляді.

Якщо для відображення роботи програми необхідна значна кількість роздруківок, то їх можна подати в додатках.

Обсяг розділу — 1..4 сторінки. У розділі потрібно зробити висновок, який підтверджує (або заперечує) працездатність програми та її відповідність поставленому  завданню.

В розділі " Інструкція користувача для роботи з програмою " слід навести детальний опис всих компонентів створених форм, правила роботи користувача з тим або іншим набором даних, вказати на обмеження в програмі якщо такі існують, описати послідовності дій для досягнення того або іншого результату.

В розділі "Висновки" слід вказати, при яких даних отримані результати, провести їх аналіз. Якщо це можливо, відмітити обмеження на функціонування програми, чим вони викликані та як їх усунути.

 

5. ВИМОГИ ДО ОФОРМЛЕННЯ КУРСОВОГО ПРОЕКТУ

Результати курсового проектування розмішують на диску та в поясню­вальній записці.

На диску мають бути всі файли, які відносяться до теми курсової робо­ти: тексти програм (лістинги) та форм проекту, exe-файли, файли з даними, допоміжні файли тощо.

В файлі Readme має бути інструкція для користувача. В цьому файлі тре­ба вказати вимоги до програмних ресурсів. Конверт з диском акуратно наклеюється на зворотній стороні останньої сторінки пояснювальної записки.

Пояснювальна записка оформляється відповідно до вимог Державного стандарту України — ДСТУ 3008-95  «ЗВІТИ У СФЕРІ НАУКИ І ТЕХНІКИ.

Пояснювальна записка (ПЗ) повинна розкривати зміст курсової роботи, містити обґрунтування вибору методів, алгоритмів та програм для виконання поставленого завдання, аналіз отриманих результатів та інші матеріали.

Матеріал пояснювальної записки повинен бути викладений грамотно, чітко та стисло. При цьому в тексті мають бути обов’язковими посилання на використані літературні та інші джерела.

У тексті пояснювальної записки не рекомендується вживати звороти із займенниками першої особи, наприклад: "Я вважаю ...", "Ми вважаємо ..." тощо. Рекомендується вести виклад, не вживаючи займенників, наприклад: "Вважаємо ...", "... знаходимо ..." тощо.

Без пояснень дозволяється використовувати тільки загальноприйняті скорочення, наприклад: ПЕОМ, ДСТУ, ООП тощо.

Структура та правила оформлення" і має містити такі структурні елементи:

— титульний аркуш;

— завдання на курсове проектування;

— зміст;

— вступ;

— основна частина;

— інструкція користувача;

— висновки;

— перелік посилань (літературні джерела);

— додатки.

Титульний аркуш являється першою сторінкою пояснювальної записки і не нумерується.

Аркуш завдання на курсове проектування відповідає формі У-287 і не включається в загальну нумерацію сторінок пояснювальної записки.

Реферат є другою після титульного аркуша сторінкою, яка не нумеруєть­ся, але включається в загальну нумерацію сторінок.

Правила оформлення пояснювальної записки

Загальні вимоги до пояснювальної записки: логічна послідовність викладу матеріалу, стислість і чіткість викладу теоретичних і практичних результатів, до­казовість висновків і обгрунтованість рекомендацій і т.д.

Обсяг пояснювальної записки — 25-30 с. Текст розмішують на одній сто­роні аркуша формату А4 машинописним, комп'ютерним (через 1-1,5 інтервали) або рукописним способом. Розміри полів праворуч — 1,5 см., ліворуч — 3 см., зверху — 2 см, знизу — 3 см. Аркуші паперу А4 повинні бути з малим штампом для пояснювальної записки, та великим для змісту курсового проекту.

Сторінки нумерують арабськими цифрами у правому верхньому куті без крапки в кінці.

При комп'ютерному способі оформлення пояснювальної записки слід корис­туватись текстовим редактором Word і дотримуватись таких параметрів:

— шрифт Times New Roman 14;

— 35-40 рядків на сторінці;

— абзац (табуляція)- 1,25см.

Текст основної частини має бути розподіленим на розділи, підрозділи та пункти. Заголовки розділів пишуть симетрично тексту прописними літерами. Заголовки підрозділів пишуть з абзацу строковими літерами (перша літера — прописна). Переносити слова в заголовках не дозволяється, крапку в кінці не ставлять. Заголовок не підкреслюється.

Розділи і підрозділи пояснювальної записки повинні мати змістовні заголов­ки. Розділи нумерують арабськими цифрами послідовно в межах усієї пояснювальної записки. Після номера розділу не став­лять крапку.

Текст розділу може поділятися на підрозділи і, у разі потреби, на пункти і підпункти. Заголовки розділів пишуть симетрично тексту прописними літерами. Заголовки підрозділів пишуть з абзацу строковими літерами (перша літера — прописна). Переносити слова в заголовках не дозволяється, крапку в кінці не став­лять. Заголовок не підкреслюється. Переноси слів у заголовках не допускаються. Крапку наприкінці заголовка не ставлять. Якщо заголовок складається з двох ре­чень, їх розділяють крапкою.

Підрозділи нумерують арабськими цифрами в межах кожного розділу. Ко­жен підрозділ має містити номер розділу і свій порядковий номер, розділені крап­кою. Наприклад, 3.2 — другий підрозділ третього розділу.

Пункти нумерують арабськими цифрами в межах підрозділу. Наприклад, 3.2.4 — четвертий пункт підрозділу 3.2. Текст кожного пункту починається з нового рядка.

Відстань між заголовками і текстом 3-4 інтервали. Виправлення заголовків не допускається. Кожен розділ треба починати з нового аркуша (сторінки).

Кожна з ілюстрацією (блок— схема, фрагмент програми тощо) познача­ється словом "Рисунок - " та нумерується в межах кожного розділу всієї запи­ски (наприклад, рисунок 2.3 — третій рисунок другого розділу), їх розмішують після першого згадування в тексті. Підпис "Рисунок 2.3" розміщують під рисун­ком.

Таблиці повинні мати тематичні заголовки, перед заголовком (з лівого боку) треба написати слово "Таблиця" та вказати її номер. Посилання на таб­лицю виконують з її номеру, наприклад: в таблиці 1.1

Формули нумеруються арабськими цифрами в круглих дужках в межах розділу. Посилання на формулу записують, наприклад, так: в формулі (4.1).

Сторінки додатків нумерують в межах всієї записки. Вгорі симетрично відносно тексту сторінки малими літерами з першої великої має бути надруко­вано "Додаток “  і велика літера, що позначає додаток, нижче аналогічним чи­ном друкується тематичний заголовок.

Посилання в тексті на літературні джерела вказують за допомогою по­рядкового номера в квадратних дужках, наприклад [3]. Перелік посилань на лі­тературні джерела оформляють відповідно з вимогами ГОСТ 7.1-84 аналогічно структурному елементу "СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ" даних методичних вказівок.


6 ОРГАНІЗАЦІЯ ПРОЕКТУВАННЯ ТА ЗАХИСТ ПРОЕКТУ

Курсове проектування за курсом "Об’єктно-орієнтоване програмування" складається з етапів, що зведені в табл. 6.1.

Таблиця 6.1

Номер етапу

Зміст виконуваних робіт

Строк виконання етапів проекту ,

(заповнює студент)

1

Видача завдань

 

2

Ознайомлення з літературними джерелами за тематикою поставленої задачі

 

3

Розробка алгоритмів   та вивчення засобів вирішення задачі курсового проектування

 

4

Написання програми і відладка на ПК

 

5

З'ясування одержаних проміжних теоретич­них и практичних результатів з керівником роботи

 

6

Оформлення пояснювальної записки

 

7

Захист курсового проекту

 

Захист курсового проекту здійснюється при комісії з числа ви­кладачів комісії спецдисциплін програмування.

Оцінкою "відмінно" оцінюються курсові проекти, що виконані самостій­но відповідно до завдання і вищевикладених вимог та мають оригінальне рі­шення, а також:

1) якщо в роботі немає суттєвих недоліків;

2) програма повністю виконує поставлене завдання;

3) при розробці програми вміло використано переваги сучасних технологій програмування та існуючі модулі і бібліотеки:

4) при захисті роботи студент аргументовано виклав основні технічні рішення, прийняті в процесі розробки та відповів на поставлені запитання;

При захисті важливу роль відіграють чіткі відповіді на поставлені запи­тання, а також практичне використання курсового проекту.

Оцінкою "добре" оцінюються курсові проекти, що мають деякі несуттєві похиб­ки реалізації проекту, деякі недоліки в розгляданні окремих питань, неповні відповіді на запитання, тобто:

1) програма повністю виконує поставлене завдання, але

2) містить деякі незначні помилки, або

3) при розробці програми не використано переваг сучасних технологій  програмування, програма реалізована не оптимальним чином,

4) прийняті в роботі рішення не є достатнім чином обґрунтовані;

при захисті роботи студентом були допущені неточності, або не було аргументованих відповідей на деякі з поставлених запитань

Оцінкою "задовільно" оцінюються курсові проекти, що мають істотні по­хибки в реалізації, а їх автори — недостатню теоретичну підготовку, тобто:

1) у роботі є недоліки, однак програма в основному виконує поставлені завдання;

2) містить незначні помилки, які не дозволяють використовувати її для деяких комбінацій вхідних параметрів, або

3)при розробці програми не використано сучасних технологій програмування;

4) робота оформлена зі значними відхиленнями від стандартів і вимог, або в процесі проектування були відхилення від затвердженого календарного плану чи завдання,

при захисті роботи студентом допущені неточності, але вони були виправлені студентом в процесі відповідей на запитання

 

СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ

1. Холзнер С. VISUAL С++6: учебный курс — СПб: Издательство " Пи­тер", 2000. —576 с.

2. Подбельский В.В. Язык Си++: Учеб. пособие — 5-е изд. — М.: Финан­сы и статистика, 2000. —560 с.

3. Павловская Т.А. C/C++. Программирование на языке высокого уровня —

СПб: Издательство " Питер", 2001. — 464 с.

4. Глушаков СВ. и др. Язык программирования С++: учебный курс — Харьков: Фолио; М: ООО "Издательство ACT", 2001. —500 с.

5. Керниган Б., Ритчи Д. Язык программирования Си: Пер. с англ. —М.:

Финансы и статистика, 1992. — 272 с.

6. Страуструп Б. Язык программирования Си++. Часть 1.— Киев:

"ДиаСофт", 1993. — 264 с.

7. Страуструп Б. Язык программирования  С++.  Часть 2.— Киев:

"ДиаСофт", 1993.—296 с.

8. ГОСТ 19.701—90. ЕСПД. Схемы алгоритмов, программ, данных и сис­тем. Условные обозначения и правила выполнения.— М.: 1991. -

9. ДСТУ 3008-95 "ЗВІТИ У СФЕРІ НАУКИ і ТЕХНІКИ. Структура та правила оформлення".

10. Путятин Е.П. Смагин ДМ. Степанов В.П. Турбо Паскаль в курсе высшей математики: Учеб. пособие. — Харьков: Каравелла, 1997.—352с.

11. КозинА.С, Лященко Н.Я. Вычислительная математика. К.: Рад. шко­ла, 1983.-19ІС.

12. Яремчук Ф.П., Рудченко П.А. Алгебра и элементарные функции. Справочник. К.: Наукова думка,'1987.-649С.

З повагою ІЦ "KURSOVIKS"!