Загальні концепції
1 Загальні вимоги
Метою курсової роботи є закріплення знань та вмінь, отриманих під час вивчення курсу "Основи програмування". Під час виконання курсової роботи необхідно спроєктувати та створити програму, яка реалізує просту комп'ютерну гру (типу головоломки або настільної гри) з обов'язковим використанням засобів 3D-графіки. Обов'язковими є такі ключові функції:
- ініціалізація поля гри (встановлення початкових значень)
- вибір елементів гри за допомогою клавіатури та маніпулятора "миша"
- маніпуляція елементами відповідно до правил гри
- обертання поля гри
- масштабування
- підрахунок і зберігання статистики ігор
Реалізація програми повинна здійснюватись з використанням об'єктноорієнтованих технологій. Зокрема, необхідно створити класи для представлення основних елементів гри.
Керівник курсової роботи видає завдання, проводить консультації, здійснює контроль за виконанням календарного плану, приймає рішення про допущення студента до демонстрації програмного продукту й захисту курсової роботи.
2 Порядок виконання курсової роботи
2.1 Вивчення поставленої задачі та дослідження програмних технологій, необхідних для її розв'язання
Основна задача цього етапу – отримання та аналіз завдання на курсову роботу і дослідження задачі. Крім того, для подальшого проєктування необхідно опанувати засоби Уніфікованої мови моделювання (UML).
2.2 Визначення вимог до програмного забезпечення. Аналіз і проєктування
Відповідно до нотації UML, вимоги до програмного забезпечення відображаються на діаграмі варіантів використання. При цьому необхідно виділити основні варіанти, варіанти включені в них та ті, які їх розширяють.
На цьому етапі необхідно проаналізувати та докладно описати правила гри.
Для виявлення основних сутностей предметної області необхідно розробити діаграму класів з концептуальної точки зору. Для з'ясування взаємодії об'єктів доцільно розробити діаграми послідовності для різних варіантів використання.
Проектуються класи програмного забезпечення. Проєктування класів передбачає використання механізму успадкування. Визначається взаємодія об'єктів та алгоритми реалізації окремих операцій. Здійснюється розробка структури програми.
2.3 Розробка структури програмного забезпечення. Реалізація та тестування окремих класів
Відповідно до раніше спроєктованої діаграми класів створюється програмний код, який реалізує ці класи. Необхідно здійснити незалежне тестування для кожного класу, який репрезентує окрему сутність.
Під час реалізації класів, які відповідають за розрахункову частину проєкту, може виникнути необхідність внесення змін до діаграм, які були спроєктовані раніше, зокрема діаграми класів.
2.4 Реалізація програми в цілому. Зневадження програми
Цей етап включає реалізацію графічного інтерфейсу користувача. Ви повинні програмно реалізувати введення з клавіатури й підтримку роботи з маніпулятором "миша". Крім того, функціональність програми може бути розширена відповідно до завдання, визначеного керівником. Виконання додаткового завдання потребує відтворення попередніх етапів виконання на більш високому рівні, зокрема уточнення вимог, модифікацію діаграм, а також додаткову програмну реалізацію та тестування.
Цей етап завершується збиранням усіх модулів у єдиний проєкт для його подальшого тестування.
2.5 Тестування програмного забезпечення
Необхідно продумати різні тести, які передбачають різні послідовності взаємодії з програмним забезпеченням для тестування. Варіанти тестування й отримані результати повинні бути формально зафіксовані та потім наведені в пояснювальній записці.
Негативні результати тестування обумовлюють повторне виконання одного чи кількох етапів розробки.
2.6 Підготовка пояснювальної записки та презентації
На цьому етапі здійснюється підготовка пояснювальної записки та презентації. Для підготовки презентації можна застосувати засоби Microsoft Office PowerPoint або OpenOffice.org Impress. Можна також створити послідовність HTML-сторінок.
3 Порядок захисту курсової роботи
Захист курсової роботи виконується у два етапи:
- Демонстрація роботи програми
- Остаточний захист
Не менш ніж за два тижні до остаточного захисту роботи студент демонструє розроблений програмний продукт.
На демонстрації присутні члени комісії з приймання курсової роботи, які оцінюють якість програми, рівень відповідності поставленому завданню та ступінь самостійності виконання роботи. У випадку одержання позитивної оцінки студент розпочинає оформлення пояснювальної записки. У випадку одержання незадовільної оцінки призначається додатковий час демонстрації програмного продукту перед розширеною комісією.
До остаточного захисту курсової роботи студент надає:
- пояснювальну записку до курсової роботи; записка повинна бути підписана керівником курсової роботи та містити його відгук;
- презентацію роботи; необхідно подати:
- постановку задачі
- правила гри
- вимоги до програми
- діаграму класів
- діаграми діяльності (для візуалізації розроблених алгоритмів)
- результати роботи програми
- висновки
Діаграми повинні бути виконані відповідно до стандарту Уніфікованої мови моделювання (UML).
Під час захисту курсової роботи студент повинен доповісти комісії постановку задачі, основні етапи проєктування програмного забезпечення та основні результати, отримані в ході роботи над проєктом, продемонструвати роботу програмного продукту та результати його тестування. Доповідь не повинна тривати понад 5 хвилин. У відповідях на запитання комісії студент повинен продемонструвати знання основ інформатики, програмування і проєктування програмного забезпечення, зокрема об'єктноорієнтованого програмування, математичних методів і інструментальних засобів, які були використані під час виконання курсової роботи. Незалежно від ступеня використання в проєкті, студент повинен продемонструвати знання теоретичного матеріалу у відповіді на контрольні запитання.
Підсумкова оцінка визначається на підставі оцінок, отриманих під час демонстрації усіх етапів роботи. У випадку розбіжності оцінок пріоритетом користується оцінка остаточного захисту. У випадку одержання незадовільної оцінки курсова робота повинна бути повторно захищена, або цілком виконана заново, залежно від рішення комісії.
У випадку захисту курсової роботи після завершення семестру і за відсутності документованих поважних причин відставання підсумкова оцінка виставляється зі зниженням.