Проектування та реалізація об’єктів навчального процесу кафедри

Розробка програми для управління навчальним процесом студентської групи вищого навчального закладу. Об’єктно-орієнтоване проектування об’єктів групи. Створення мови програмування Java. Побудова графічного інтерфейсу. Робота з невеликими базами даних.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 21.12.2013
Размер файла 935,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Міністерство освіти і науки України

ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЙЧНИЙ УНІВЕРСИТЕТ

КАФЕДРА КОМП'ЮТЕРНИХ ТЕХНОЛОГІЙ

КУРСОВА РОБОТА

з „Об'єктно-орієнтованого програмування”

на тему: Проектування та реалізація об'єктів навчального процесу кафедри

Студента

Нікулін М.С.

Керівник

Стеценко І.В.

м. Черкаси - 2013 рік

Зміст

Вступ

1. Постановка завдання

2. Дослідження навчального процесу групи ВНЗ

3. Об'єктно-орієнтоване проектування об'єктів групи ВНЗ

4. Розробка класів об'єктів мовою Java

5. Побудова графічного інтерфейсу

Висновки

Додаток А

Вступ

Метою даної роботи є розробка програми для управління навчальним процесом студентської групи ВНЗ.

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

Успадкування. Клас може мати «підкласи», спеціалізовані, розширені версії надкласу. Можуть навіть утворюватись цілі дерева успадкування. Підкласи успадковують атрибути та поведінку своїх батьківських класів, і можуть вводити свої власні.

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

Інкапсуляція. Обмежує доступ до даних. Доступ до даних здійснюється за допомогою інших об'єктів.

Мова програмування Java зародилася в 1991 р. в лабораторіях компанії Sun Microsystems inc. Як не дивно, поштовхом для створення Java став зовсім не Internet. Головним мотивом була потреба в мові програмування, яка не залежала б від платформи (тобто від архітектури) і яку можна було б використовувати для створення програмного забезпечення, яке вбудовується в різноманітні побутові електронні прилади, такі як мобільні засоби зв'язку, пристрої дистанційного управління тощо. Розробка першої робочої версії зайняла 18 місяців і вона мала назву “Oak”, але 1995 р. проект був перейменований на “Java”.

1. Постановка завдання

Розробити програму для управління навчальним процесом студентської групи ВНЗ.

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

Функціональність програми:

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

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

Для реалізації поставленної задачі на мові програмування Javaвикористовувалось середовищеNetBeans IDE 7.1.

2. Дослідження навчального процесу групи ВНЗ

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

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

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

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

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

Механізм дії управління може бути стихійним або організованим. Управління, що орієнтується на свідоме (організоване) впорядкування суспільних зв'язків і відносин, виступає у формі свідомої, доцільної і перетворюючої діяльності, здійснюваної соціальними інститутами. Ми вважаємо, що доцільно розглядати управління саме як діяльність, а «невід'ємною характеристикою кожної діяльності є її усвідомленість» [2, С. 151].

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

Специфіка управлінської діяльності по відношенню до освіти визначається особливостями об'єкту управління. Цим об'єктом є освіта як соціальний інститут, тобто «елемент соціальної структури, історичної форми, організації і регулювання суспільного життя» [2, C.200]. Стосовно освіти поняття «управління» виступає як «педагогічне управління», яке раніше розглядалося такими ученими, як Ю. Васильєв, А. Найн, М. Поташник, Г. Серіков і ін. Так, на думку А. Найна, поняття «педагогічне управління» може застосовуватися там, де здійснюється навчання і виховання: у сім'ї, школі і ВНЗ, суспільних організаціях, установах системи підвищення кваліфікації фахівців та ін. [3].

Л. Столяренко вважає, що процес управління може виступати одночасно як циклічний і безперервний, що створюється одночасними послідовним виконанням багатьох циклів управління. Управлінський цикл починається з постановки цілей і визначення задач, а завершується їхнім вирішенням, досягненням поставленої мети. Після досягнення поставленої мети ставиться нова мета, і управлінський цикл повторюється [4].

Посилаючись на наведені положення, можна сказати, що управління - це діяльність, направлена на створення умов із впорядкування,збереження і вдосконалення об'єкта.

Управляти - не значить пригнічувати, не нав'язувати процесу хід, що суперечить його природі, а навпаки, максимально враховувати природу процесу, погоджувати кожну дію на процес із його логікою [4].

Навчально-виховний процес у ВНЗ є складною динамічною системою управління. Система (з грецького systema - ціле, складене з частин) - безліч елементів, що перебувають у відносинах і зв'язках один з одним, створюючи певну цілісну єдність.

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

- управління розглядається як вид взаємодії з системою елементів, які можуть піддаватися зовнішнім діям у формі організації, стимулювання, корекції, цілепокладання, контролю;

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

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

- управління здійснюється залежно від стадії розвитку системи;

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

Для ефективного управління системами необхідно враховувати й функції управління. М. Мескон виділяє чотири функції управління: планування, організація, мотивація, контроль [5].

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

Схарактеризуємо вищезазначені функції.

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

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

Організація (від пізньолат. Organizo - повідомляю стрункий вигляд, влаштовую) - сукупність процесів або дій, що ведуть до утворення і вдосконалення взаємозв'язків між частинами цілого [6].

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

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

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

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

Розрізняють три види контролю:

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

- поточний контроль здійснює безпосередню перевірку виконання планів і рішень в ході виховного процесу;

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

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

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

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

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

Аналіз педагогічної літератури дозволив виділити такі рівні і підрівні управління виховним процесом у ВНЗ:

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

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

3.Галузевий рівень. На цьому рівні у ВНЗ враховується специфіка галузі. У даному випадку вища школа одержує соціальне замовлення конкретної галузі, і готує фахівця з урахуванням особливостей діяльності в цій галузі.

4. Внутрішньо-вузівський рівень. Управління виховним процесом у вищому навчальному закладі здійснюється з урахуванням ряду чинників: кваліфікації професорсько-викладацького складу, адміністративно-управлінського персоналу, матеріальної бази, психологічного клімату в колективі, традицій вищого навчального закладу, стану внутрішніх і зовнішніх зв'язків ВНЗ та ін.

Внутрішньо-вузівський рівень управління виховним процесом має такі підрівні:

- Загально-вузівський (здійснюється координація виховної діяльності колективу викладачів, співробітників і студентів вищого навчального закладу);

- факультетський (організовується повсякденна виховна діяльність колективу факультету);

- груповий (на рівні студентської групи здійснюється взаємодія між студентами і викладачами, а також між студентами);

- особистісний (на цьому рівні особистісні цілі виконують важливу роль в управлінні виховним процесом і виявляються через самовиховання, саморозвиток, самореалізацію та ін.).

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

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

3. Об'єктно-орієнтоване проектування

Структура моделі системи управління навчальним процесом ВНЗ представлена такими класами: Група, Студент, Викладач, Навчальний план спеціальності. Кожний об'єкт певного класу являється ініціатором подій, що відбуваються в системі. Статика об'єктів задається полями і методами, які описують правила змінювання полів.

Клас «Викладач»

Поля:

- Ім'я

- Кафедра

- Дата народження

- Предмети, що викладає

- Кількість предметів

Методи:

- метод для зміни інформації про викладача

- метод, що закріпляє дисципліну за викладачем

- метод, що показує предмети, що викладає певний викладач

- метод для виводу інформації про викладача

Клас «Студент»

Поля:

- Ім'я

- Дата народження

- Номер залікової книжки

- Номер студентського посвідчення

- Журнал відвідування та успішності

Методи:

- метод для зміни інформації про студента

- метод для виводу інформації про студента

- метод для отримання оцінки

- метод для виводу фурналу відвідування і успішності

Клас «Група»

Поля:

- Назва

- Кафедра

- Тип

- Куратор

- Студенти

- Кількість студентів

- Розклад занять

- Розклад сесії

- Кількість екзаменів

- Максимальна кількість пар в тижні

Методи:

- метод завдання групи

- метод, що додає студента в групу

- метод, що виводить список студентів групи

- метод для завдання розкладу сесії

- метод для зміни розкладу сесії

- метод для додавання пари

- метод для виведення розкладу групи

- метод для отримання випадкових оцінок певним студентом певну кількість днів

Клас «Навчальний план спеціальності»

Поля:

- Напрям

- Номер

- Назва групи

- Текст

Методи:

- метод для завдання плану спеціальності

- метод для виводу плану спеціальності

Клас «Журнал»

Поля:

- Оцінка

- Журнал

Методи:

- метод для запису оцінки

- метод перегляду журналу

Діаграма класів:

4. Розробка класів об'єктів мовою Java

package vnz;

public class Lecturer{

private String name; // ім`я викладача

private String department; // кафедра

private String date; //дата народження

private String subjects[]= new String[5];

private int numSubj;

//конструктор викладача

Lecturer(String n, String d, String date){

name = n;

department = d;

this.date = date;

}

//методи доступу до полів

String getName(){

return name;

}

String getDate(){

return date;

}

String getDepart(){

return department;

}

//метод для зміни інформації про викладача

void Lecturer(String n, String d, String date){

name = n;

department = d;

this.date = date;

}

//метод, що закріпляє дисципліну за викладачем

void addSubject(String s){

subjects[numSubj++]=s;

}

//метод, що показує предмети, які викладає певний викладач

void showSubjects(){

if (numSubj==0)

System.out.println("\nНемає закріплених дисциплін!");

else

System.out.println("\nСПИСОК ПРЕДМЕТІВ, ЩО ВИКЛАДАЄ "+this.getName());

for (int i=0;i<=numSubj-1;i++)

System.out.println(" \""+subjects[i]+"\"");

}

//метод для виводу інформації про викладача

void showLecInf(){

System.out.println("\nІНФОРМАЦІЯ ПРО ВИКЛАДАЧА \nІмя викладача: "+name+"\nДата народження: "+date+"\nКафедра: "+department);

}

}

package vnz;

4.2

public classStudent {

private String name;//ім`я студента

private String date;//дата народження

private String numZal;//номер залікової книжки

private String numStud;//номер студентського посвідчення

private String journal[][]=new String[6][5];

//конструктор класу "студент"

Student(String n, String d, String z, String s){

name = n;

date = d;

numZal = z;

numStud = s;

}

//методи доступу до полів

String getName(){

return name;

}

String getDate(){

return date;

}

String getNumZal(){

return numZal;

}

String getNumStud(){

return numStud;

}

//метод для зміни інформації про студента

void changeStud(String n, String d, String z, String s){

name = n;

date = d;

numZal = z;

numStud = s;

}

//метод для показу інформації про студента

void showStudInf(){

System.out.print("\nІНФОРМАЦІЯ ПРО СТУДЕНТА\nІмя студента: "+name+"\nДата народження: "+date+"\nНомер заліковки: "+numZal+"\nНомер студентського посвідчення: "+numStud+"\n");

}

String getMark(int day, int num){

return journal[day-1][num-1];

}

void cleanJournal(int day, int num){

journal[num-1][day-1]=null;

}

//метод для отримання оцінки

void takeMark(int day, int num, int m){

if((m<6) && (m>-1))

if((m==1)||(m==0))

journal[num-1][day-1]="н";

else

journal[num-1][day-1]=String.valueOf(m);

else

System.out.println("\nОЦІНКА ЗАДАНА НЕВІРНО!");

}

//метод для виводу фурналу відвідування і успішності

void showJournal(){

System.out.println("\nЖУРНАЛ ВІДВІДУВАННЯ І УСПІШНОСТІ СТУДЕНТА: "+this.name);

for(int j=0;j<5;j++){

for(int i=0;i<5;i++)

System.out.print(String.format("%9s",journal[i][j]));

System.out.println();

}

}

}

//Підклас "староста"

class Starosta extends Student{

private String group;

//конструктор

Starosta(String n, String d, String z, String s, Group g){

super(n,d,z,s);

group = g.getName();

}

//перевизначення методу для зміни інформації про студента

void changeStud(String n, String d, String z, String s, String g){

super.changeStud(n, d, z, s);

group = g;

}

//перевизначення методу для показу інформаії про студента

@Override

void showStudInf(){

System.out.println("\nІНФОРМАЦІЯ ПРО СТУДЕНТА\nІмя студента: "+getName()+"\nДата народження: "+getDate()+"\nНомер заліковки: "+getNumZal()+"\nНомер студентського посвідчення: "+getNumStud()+"\nГрупа: "+group+"\n");

}

}

//Підклас "студент випускного курсу"

class StudentV extends Student{

private int markD;

StudentV(String n, String d, String z, String s){

super(n,d,z,s);

}

//метод для отримання оцінки за дипломну роботу

void takeMarkD(int m){

markD=m;

}

//метод для показу оцінки за дипломну роботу

void showMarkD(){

System.out.println("\nОЦІНКА ЗА ДИПЛОМНУ РОБОТУ: "+markD);

}

}

//Підклас "студент - магістр"

class StudentM extends Student{

private int markM;

StudentM(String n, String d, String z, String s){

super(n,d,z,s);

}

//метод для отримання оцінки за магістерську роботу

void takeMarkM(int m){

markM=m;

}

//метод для показу оцінки за д магістерську роботу

void showMarkM(){

System.out.println("\nОЦІНКА ЗА МАГІСТЕРСЬКУ РОБОТУ: "+markM);

}

}

package vnz;

public class Jiornal {

private String FindE;

private String FindA;

private String FindB;

private String journal[][]=new String[6][5];

Jiornal(String E, String A, String B){

FindE = E;

FindA = A;

FindB = B;

}

String getFindE(){

return FindE;

}

String getFindA(){

return FindA;

}

String getFindB(){

return FindB;

}

//метод для отримання оцінки

void takeMark(int day, int num, int m){

if((m<6) && (m>-1))

if(m==0)

journal[num-1][day-1]="н";

else

journal[num-1][day-1]=String.valueOf(m);

else

System.out.println("\nОЦІНКА ЗАДАНА НЕВІРНО!");

}

//метод для виводу фурналу відвідування і успішності

void showJournal(){

System.out.println("\nЖУРНАЛ ВІДВІДУВАННЯ І УСПІШНОСТІ СТУДЕНТА: ");

for(int j=0;j<5;j++){

for(int i=0;i<5;i++)

System.out.print(String.format("%9s",journal[i][j]));

System.out.println();

}

}

}

package vnz;

import java.util.Random;

public class Group{

private String name;//назва групи

private String department;//кафедра

private String curator;//куратор

private int numStudents;//номер у списку

private String tip;

private String students[][] = new String[30][5];

private String rozkladS[][] = new String[7][5];

private int numExem;

private String rozklad[][]=new String[6][5];

private int maxNumPar;

String getRozklad(int day, int num){

return rozklad[day-1][num-1];

}

//метод, що повертає студента групи

String getStudName(int num){

return students[num][1];

}

//метод задання групи

void setGroup(String n, String d, Lecturer l, String t){

name = n;

department = d;

curator = l.getName();

numStudents = 0;

tip=t;

}

//методи доступу до полів

String getName(){

return name;

}

String getDepart(){

return department;

}

String getCurator(){

return curator;

}

int getNumStudents(){

return numStudents;

}

int getMaxNumPar(){

return maxNumPar;

}

String getTip(){

return tip;

}

//метод, що виводить загальну кількість студентів в групі

void showNumStudent(){

System.out.println("\nКІЛЬКІСТЬ СТУДЕНТІВ В ГРУПІ: "+numStudents);

}

//метод, що додає студента в групу

void addStudent(Student a){

students[0][0]="№";

students[0][1]="ПІП студента";

students[0][2]="Дата народження";

students[0][3]="№ заліковки";

students[0][4]="№ студентського посвідчення";

numStudents++;

students[numStudents][0]=String.valueOf(numStudents);

students[numStudents][1]=a.getName();

students[numStudents][2]=a.getDate();

students[numStudents][3]=String.valueOf(a.getNumZal());

students[numStudents][4]=String.valueOf(a.getNumStud());

}

//метод, що виводить список студентів групи

void showGroup(){

System.out.println("\nСПИСОК ГРУПИ "+this.name);

for(int i=0;i<=numStudents;i++){ System.out.println(String.format("%4s",students[i][0])+String.format("%18s",students[i][1])+String.format("%16s",students[i][2])+String.format("%12s",students[i][3])+String.format("%28s",students[i][4]));

}

}

//метод для задання розкладу сесії

void addExem(String date, String time, String place, String name){

rozkladS[numExem][0]=date;

rozkladS[numExem][1]=time;

rozkladS[numExem][2]=place;

rozkladS[numExem++][3]=name;

}

//метод для зміни розкладу сесії

void changeExem(int i, String date, String time, String place, String name){

rozkladS[i-1][0]=date;

rozkladS[i-1][1]=time;

rozkladS[i-1][2]=place;

rozkladS[i-1][3]=name;

}

//метод, що виводить розклад сесії

void showRozkladS(){

System.out.println("\nРОЗКЛАД СЕСІЇ "+this.name+"\n Дата Час Місце Назва диципліни");

for(int i=0; i<numExem;i++)

System.out.println(String.format("%10s",rozkladS[i][0])+String.format("%8s",rozkladS[i][1])+String.format("%11s",rozkladS[i][2])+String.format("%25s",rozkladS[i][3]));

}

//метод для додавання пари

void addPara(int day, int num, String name){

rozklad[num-1][day-1]=name;

if (maxNumPar<num)

maxNumPar=num;

}

void showMaxNumPar(){

System.out.println(maxNumPar);

}

//метод для виведення розкладу групи

void showRozklad(){

System.out.println("\nРОЗКЛАД ГРУПИ "+this.name);

for(int i=0;i<maxNumPar;i++){

for(int j=0;j<5;j++)

System.out.print(String.format("%9s",rozklad[i][j]));

System.out.println();

}

}

//метод доступу до певної пари

String getPara(int day, int num){

return rozklad[num-1][day-1];

}

//метод для отримання випадкових оцінок певним студентом певну кількість днів

void study(Student S, int dayBegin, int dayEnd){

Random r = new Random();

for(int i=0;i<maxNumPar;i++)

for(int j=dayBegin-1;j<dayEnd;j++)

if(!(rozklad[i][j].equals("")))

S.takeMark(j+1, i+1, r.nextInt(6));

else

S.cleanJournal(j+1, i+1);

}

}

4.5

package vnz;

public class Plan {

private String napriam;//напрям підготовки

private String number;//номер

private String nameGroup;//назва групи

private String text;

//метод для задання плану спеціальності

void setPlan(String n, String num, Group name, String text){

napriam=n;

number=num;

nameGroup=name.getName();

this.text=text;

}

//метод для виводу плану спеціальності

void showPlan(){

System.out.println("\nНАВЧАЛЬНИЙ ПЛАН СПЕЦІАЛЬНОСТІ\nНапрям: "+napriam+"\nНомер: "+number+"\nНазва: "+nameGroup+"\n"+text);

}

}

package vnz;

public classVNZ {

public static void main(String args[]){

}

5. Побудова графічного інтерфейсу

Наступним етапом моєї курсової роботи є представлення мого завдання у зручному для перегляду користувачами вигляді, а саме створення графічного інтерфейсу взаємодії програми з користувачами. Графічний інтерфейс користувача (GUI, Graphical user interface) - інтерфейс між комп'ютером і його користувачем, що використовує піктограми, меню, і вказівний засіб для вибору функцій та виконання команд. Зазвичай, можливе відкриття більше, ніж одного вікна на одному екрані.

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

package vnz;

import java.awt.Color;

public class Form extends javax.swing.JFrame {

Form2 Form2;

Form3 Form3;

Form4 Form4;

Form5 Form5;

Form6 Form6;

Form7 Form7;

public Form() {

initComponents();

Form2 F2 = new Form2();

F2.setVisible(false);

Form2 = F2;

Form3 F3 = new Form3();

F3.setVisible(false);

Form3 = F3;

Form4 F4 = new Form4();

F4.setVisible(false);

Form4 = F4;

F4.F2=F2;

Form5 F5 = new Form5();

F5.setVisible(false);

Form5 = F5;

F5.F3=F3;

F5.F4=F4;

Form6 F6 = new Form6();

F6.setVisible(false);

Form6 = F6;

F6.F4=F4;

Form7 F7 = new Form7();

F7.setVisible(false);

Form7 = F7;

F7.F3=F3;

F7.F4=F4;

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Form2.setVisible(true);

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Form3.setVisible(true);

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Form4.setVisible(true);

}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Form5.setVisible(true);

}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Form6.setVisible(true);

}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Form7.setVisible(true);

}

package vnz;

public class Form2 extends javax.swing.JFrame {

private Lecturer lecturers[]=new Lecturer[32768];

private int numLect;

Lecturer getLecturer(int num){

return lecturers[num-1];

}

int getNumLect(){

return numLect;

}

public Form2() {

initComponents();

}

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String s1, s2, s3;

s1=jTextField1.getText();

s2=jTextField2.getText();

s3=jTextField3.getText();

if(s1.equals("") || s2.equals("") || s3.equals(""))

jLabel6.setText("Заповніть всі поля!");

else{

jLabel6.setText("");

Lecturer L = new Lecturer(s1, s2, s3);

jTextArea2.append(numLect+1+") "+L.getName()+" "+L.getDepart()+" "+L.getDate()+"\n");

lecturers[numLect++]=L;

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

}

}

package vnz;

public class Form3 extends javax.swing.JFrame {

private Student students[]=new Student[32768];

private int numStud;

Student getStudent(int num){

return students[num-1];

}

int getNumStud(){

return numStud;

}

public Form3() {

initComponents();

}

private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String s1, s2, s3, s4;

s1 = jTextField1.getText();

s2 = jTextField2.getText();

s3 = jTextField3.getText();

s4 = jTextField4.getText();

if (s1.equals("") || s2.equals("") || s3.equals("") || s4.equals(""))

jLabel6.setText("Заповніть всі поля!");

else{

jLabel6.setText("");

Student S = new Student(s1, s2, s3, s4);

jTextArea2.append(numStud+1+") "+S.getName() + " " + S.getDate() + " " + S.getNumZal()+ " " + S.getNumStud() + "\n");

students[numStud++]=S;

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

}

}

package vnz;

public class Form4 extends javax.swing.JFrame {

Form2 F2;

private Group groups[]=new Group[32768];

private int numGroups;

Group getGroup(int num){

return groups[num-1];

}

int getNumGroups(){

return numGroups;

}

public Form4() {

initComponents();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String s1,s2,s3,s4;

Lecturer l;

s1=jTextField1.getText();

s2=jTextField2.getText();

s3=jTextField3.getText();

s4=jTextField4.getText();

if(s1.equals("") || s2.equals("") || s3.equals("") || s4.equals("")){

jLabel8.setText("Заповніть всі поля!");

jLabel7.setText("");

}

else{

int n,k=0;

char c;

for(int i=0;i<s3.length();i++){

c=s3.charAt(i);

n=(int)c;

if((n<48)||(n>57)){

i=s3.length();

k++;

}

}

if(k==0){

jLabel8.setText("");

jLabel7.setText("");

if(F2.getNumLect()==0)

jLabel7.setText("Немає створених викладачів!");

else{

if((Integer.parseInt(s3)<1))

jLabel7.setText("Номер викладача має бути додатним!");

else{

l=F2.getLecturer(Integer.parseInt(s3));

if((Integer.parseInt(s3)<1)||(Integer.parseInt(s3)>F2.getNumLect()))

jLabel7.setText("Виладача з номером "+Integer.parseInt(s3)+" не існує!");

else{

jLabel7.setText("");

Group G = new Group();

G.setGroup(s1, s2, l, s4);

jTextArea1.append(numGroups+1+") "+G.getName()+" "+G.getDepart()+" "+l.getName()+" "+G.getTip()+"\n");

groups[numGroups++]=G;

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

}

}

}

}

else

jLabel7.setText("Неправильно вказаний номер викладача!");

}

}

package vnz;

import java.awt.Color;

public class Form5 extends javax.swing.JFrame {

Form3 F3;

Form4 F4;

public Form5() {

initComponents();

}

@SuppressWarnings("unchecked")

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String s1,s2;

Student S;

Group G;

s1=jTextField1.getText();

s2=jTextField2.getText();

jLabel5.setForeground(Color.red);

if(s1.equals("") || s2.equals(""))

jLabel5.setText("Заповніть всі поля!");

else{

int k=0;

if((F3.getNumStud()==0)||(F4.getNumGroups()==0))

jLabel5.setText("Немає створених студентів або(та) груп!");

else{

int n;

char c;

for(int i=0;i<s1.length();i++){

c=s1.charAt(i);

n=(int)c;

if((n<48)||(n>57)){

i=s1.length();

k++;

}

}

for(int i=0;i<s2.length();i++){

c=s2.charAt(i);

n=(int)c;

if((n<48)||(n>57)){

i=s2.length();

k++;

}

}

if(k==0){

if((Integer.parseInt(s1)==0)||(Integer.parseInt(s2)==0))

jLabel5.setText("Неправильно вказаний номер студента або(та) групи");

else{

if((Integer.parseInt(s1)>F3.getNumStud())||(Integer.parseInt(s2)>F4.getNumGroups()))

jLabel5.setText("Номер студента або(та) групи перевищує існуючі!");

else{

S=F3.getStudent(Integer.parseInt(s1));

G=F4.getGroup(Integer.parseInt(s2));

G.addStudent(S);

jLabel5.setForeground(Color.green);

jLabel5.setText("В групу "+G.getName()+" доданий "+G.getNumStudents()+"-ий студент");

jTextField1.setText("");

jTextField2.setText("");

}

}

}

else

jLabel5.setText("Неправильно вказаний номер студента або(та) групи");

}

}

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

String s3=jTextField3.getText();

if(s3.equals("")){

jLabel6.setText("Введіть номер групи!");

jTextArea1.setText(" ");

}

else{

int n,k=0;

char c;

for(int i=0;i<s3.length();i++){

c=s3.charAt(i);

n=(int)c;

if((n<48)||(n>57)){

i=s3.length();

k++;

}

}

if(k==0){

if(F4.getNumGroups()==0){

jLabel6.setText("Немає створених груп!");

jTextArea1.setText(" ");

}

else

if((Integer.parseInt(s3)<1)||(Integer.parseInt(s3)>F4.getNumGroups())){

jLabel6.setText("Групи з номером "+Integer.parseInt(s3)+" не існує!");

jTextArea1.setText(" ");

}

else{

jTextArea1.setText(" ");

jLabel6.setText("");

Group G=F4.getGroup(Integer.parseInt(s3));

jTextArea1.append("Група "+G.getName()+" кафедри "+G.getDepart()+"; куратор "+G.getCurator()+"; форма навчання: "+G.getTip()+".\nСписок групи:\n");

for(int i=1;i<=G.getNumStudents();i++){

String s=G.getStudName(i);

jTextArea1.append(s+"\n");

}

jTextField3.setText("");

}

}

else

jLabel6.setText("Неправильно вказаний номер групи!");

}

}

Виконання програми знаходиться у додатку А.

Висновки

В курсовій роботі з дисципліни "Об'єктно-орієнтоване програмування", написаній на мові програмування Java, мені вдалось виконати всі поставлені завдання і правильно розробити програму для управління навчальним процесом студентської групи ВНЗ.

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

програма навчальний програмування інтерфейс

Додаток А. Результати роботи програми

Размещено на Allbest.ru


Подобные документы

  • Проектування бази даних: визначення об’єктів, структура таблиць, побудова схеми даних, забезпечення цілісності даних, створення певних відношень між таблицями, створення запитів, побудова форм, оформлення об’єктів. Розробка інструкції користувача.

    курсовая работа [1,9 M], добавлен 19.09.2014

  • Проектування бази даних (БД). Проектування логічної моделі БД. Реалізація БД та створення таблиць. Встановлення зв’язків, вибір мови та середовища програмування. Опис функціональних елементів та реалізація програми. Опис та тестовий приклад програми.

    дипломная работа [1,6 M], добавлен 07.01.2017

  • Прототип об'єктно-орієнтованого програмування. Управління процесом реалізації програми. Розвиток апаратних засобів. Об'єктно-орієнтовані мови програмування. Надійність і експлуатаційні якості програм. Візуальне об’єктна-орієнтовне проектування Delphi.

    контрольная работа [28,9 K], добавлен 18.05.2009

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

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

    статья [18,9 K], добавлен 18.05.2015

  • Методи первинної обробки даних - згладжування та характеристика сплайнів. Загальна характеристика об'єктно-орієнтованої мови Java. Принципи побудови графічного інтерфейсу. Розробка алгоритму програми та інтерфейсу користувача програмного продукту.

    дипломная работа [3,3 M], добавлен 10.10.2013

  • Редагування за допомогою текстового редактора NotePad вхідного файлу даних. Програмна реалізація основного алгоритму з використанням засобів об'єктно-орієнтованого програмування. Об’ява та опис класів і об'єктів. Розробка допоміжних програмних засобів.

    курсовая работа [69,4 K], добавлен 14.03.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.