- •1.Основи проектування програмних систем
- •2.Мета та завдання курсового проекту
- •2.1.Етапи виконання курсового проекту
- •3.Опис програмного проекту
- •3.1.Постановка задачі
- •3.1.1.Опис задачі
- •3.1.2.Вимоги до програмно-апаратного комплексу
- •3.1.3.Вибір субд
- •3.1.4.Розробка тестової задачі
- •3.2.Проектування задачі
- •3.2.1.Проектування бази даних
- •3.2.2.Проектування форм
- •3.2.3.Проектування звітів
- •3.2.4.Проектування меню додатку
- •4.Вимоги до оформлення пояснювальної записки
- •5.Література
- •6.Додатки Додаток а Форма титульного аркуша курсового проекту (роботи)
3.1.4.Розробка тестової задачі
Тестова задача – це сукупність даних та процедур їх обробки, які дозволяють визначити чи є вірними та безпомилково реалізованими алгоритми обробки даних. Інакше кажучи, це "правильні" та "неправильні" дані які необхідно розмістити у базі даних і при виконанні програми вона повинна "правильні" дані обробити наперед заданим чином, а на "неправильні" дані відреагувати адекватно (виправити їх, видати відповідні діагностичні повідомленні і т.д.).
3.2.Проектування задачі
Проектування і розробка додатків є складним інтерактивним процесом. Іноді на проміжному етапі роботи над проектом ви розумієте, що необхідно повернутися до його початку і внести в проект істотні зміни. Іноді такий цикл “аналіз — проект — реалізація” приходиться повторювати декілька разів, поки робота дійсно не буде закінчена.
Для успішної реалізації проекту об'єкт проектування (інформаційна система) повинний бути насамперед адекватно описаний, повинні бути побудовані повні і несуперечливі функціональні й інформаційні моделі (ІС). Накопичений до цього часу досвід проектування ІС показує, що це логічно складна, трудомістка і тривала за часом робота, що вимагає високої кваліфікації фахівців, що беруть участь у ній. Однак донедавна проектування ІС виконувалося в основному на інтуїтивному рівні з застосуванням неформалізованих методів, заснованих на мистецтві, практичному досвіді, експертних оцінках і дорогих експериментальних перевірках якості функціонування ІС. Крім того, у процесі створення і функціонування ІС інформаційні потреби користувачів можуть змінюватися чи уточнюватися, що ще більш ускладнює розробку і супровід таких систем.
Visual FoxPro має досить розвинуті засоби для проектування баз даних, таблиць, локальних переглядів, запитів, форм, класів, звітів та меню.
3.2.1.Проектування бази даних
Для нашого проекту “Деканат” достатнім буде мати одну базу даних, і назвемо її – Dekanat. Строго кажучи, назви бази даних, таблиць, форм, звітів та інших компонентів проекту можуть складатися і з символів кирилиці, але такі назви давати треба дуже обережно щоб не мати проблем надалі. Все ж англійська мова вважається міжнародною в інформаційних технологіях. До складу бази даних Dekanat входять нормалізовані таблиці (Таблиця 3 .1).
Таблиця 3.1. Склад бази даних Dekanat.
Назва таблиці |
Псевдонім |
Призначення |
Зв’язок з таблицею |
Відношення таблиць |
Поле зв'язку |
Student |
Студенты |
Перелік всіх студентів і анкетні дані на них |
PosStud Atestacia Sessia |
1:Б |
ikStud |
Group |
Группы |
Довідник груп |
Student |
1:Б |
ikStud |
Fakult |
факультет |
Довідник факультетів |
Group |
1: Б |
iFacult |
PosStud |
посещения |
Реєстрація відвідання занять |
Student |
Б:1 |
ikStud |
Atestacia |
Аттестация |
Дані про атестацію студентів |
Student |
Б:1 |
ikStud |
Sessia |
Сессия |
Результати здачі сесії |
Student |
Б:1 |
ikStud |
Визначившись зі складом бази даних та з взаємозв'язками всіх її компонентів розпочинаємо побудову бази даних у середовищі Microsoft Visual FoxPro. На Рис. 3 .1 наведено зображення добудовника бази даних у якому є всі таблиці що входять до складу бази даних Dekanat. Відношення таблиць, зображені на Рис. 3 .1, мають лише потенційне значення – у формах, запитах, локальних представленнях та інших об'єктах, що будуть працювати з відповідними парами таблиць по замовчуванню буде пропонуватись саме таких зв’язок, але ніхто не забороняє розроблювачу використовувати і інші зв’язки. У Таблиця 3 .2 наведено зміст і коротка характеристика кожної таблиці.
Рис.
3.1. Таблиці
що входять до складу бази даних Dekanat
Назва таблиці |
Назва поля |
Тип поля |
Призначення поля |
Назва індексу |
Тип індексу |
Ключ індексу |
Student |
IkStud |
Integer |
індивідуальний (унікальний) код студента |
IkStud |
Primary |
IkStud |
|
cFam |
Character |
прізвище |
|
|
|
|
cIm |
Character |
ім'я |
|
|
|
|
cOt |
Character |
по батькові |
|
|
|
|
lSex |
Logical |
стать |
|
|
|
|
dDater |
Date |
дата народження |
|
|
|
|
iGroup |
Integer |
код групи |
iGroup |
Regular |
iGroup |
|
iStreet |
Integer |
Код вулиці на якій мешкає студент |
|
|
|
|
cHouse |
Character |
№ будинку в якому мешкає студент |
|
|
|
|
cKv |
Character |
Квартира у якій мешкає студент |
|
|
|
Fakultet |
iFakult |
Integer |
код факультету |
iFakult |
Primary |
iFakult |
|
cName |
Character |
назва факультету |
|
|
|
Продовжити за зразком |
Виходячи зі змісту даних які зберігаються в таблиці “Студенти”, вочевидь, що дані в поле іkStud (код студента) повинні бути унікальними. Для забезпечення унікальності даних ми індексуємо таблицю по цьому полю і задаємо тип індексу “Primary”. Visual FoxPro не дозволить увести записи що дублюються в таблицю, але він не може заборонити користувачу спробувати це зробити. Грамотно спроектована і виготовлена програмна система характерна тим, що в ній неможливі “у принципі” подібні ситуації. Спробуємо і ми запобігти самій можливості спроби ввести дублюючі записи (така ситуація можлива коли декілька користувачів у локальній мережі одночасно захочуть увести нового студента). Єдиний шлях рішення цієї проблеми — зробити так, щоб при введенні нового студента унікальний код йому привласнювався автоматично і заборонити одночасно привласнювати код декільком студентам. У Visual FoxPro 8.0 проблема формування унікального ключа запису вирішується просто. У цій версії розроблювачі ввели новий тип поля – Integer (AutoInc). При додаванні запису у це поле автоматично записується значення на одиницю більше від попереднього.Це можна зробити, наприклад, описаним нижче способом.