Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 15:48, курсовая работа
Основною перевагою об’єктно-орієнтованого програмування є значне зменшення кількості міжмодульних повідомлень та зменшення об’єму інформації, що передається між модулями. Локалізація даних, їх інтегрування з процедурами обробки дозволяють створювати незалежні між собою окремі частини програми, які також можуть бути використані в інших програмах. Так, на основі поєднання готових, уже описаних блоків можна сконструювати кінцевий програмний засіб.
Компонентні діаграми показують відносини:
Моделювання програмного тексту системи.
При розробці складних систем програмний (початковий код) може бути розташований в декількох файлах. Наприклад, при використовуванні мови С++ початковий код зберігається в заголовних файлах і файлах .срр, Pascal - .pas файлах, Java – .java файлах. Між файлами існує залежність компіляції. Якщо врахувати, що мірі розробки з'являються нові файли, то стає очевидним необхідність розробки діаграм залежності при компіляції.
Моделювання реалізації системи.
Реалізація системи повинна включати велику кількість різноманітних компонентів:
Діаграма повинна показати всі компоненти, становлячі систему і взаємозв'язки між ними.
Діаграма розміщення показує конфігурацію оброблювальних вузлів в період роботи системи, а також компоненти, «живе» в них. Елементами діаграми є вузли, а також відносини залежності і асоціації. Діаграми можуть включати компоненти, кожний з яких повинен жити в деякому вузлі, а також містити пакети або підсистеми, використовується для угрупування елементів моделі в крупні фрагменти.
Вузол – це фізичний елемент,
який існує в період роботи системи
і представляє комп'ютерний
Вузол може мати додаткову секцію, відображає розміщувані в ньому елементи:
Вузол є тим місцем, де фізично розміщуються компоненти.
Діаграми розміщення
використовують для моделювання
статичного представлення того, як
розміщується система. Графічно діаграма
– це граф з вузлів, сполучених асоціаціями,
які показують існуючі
2.4 Тестування програмної системи
Тестування – процес виконання програми з метою виявлення помилок. Кроки процесу задаються тестами. Кожний тест визначає:
Етапи тестування:
Засоби тестування
Засобами тестування називаються програми, які допомагають автоматизувати процес випробувань системи:
Лагодження
Процесу лагодження передує процес тестування. Лагодження проводиться в тому випадку, якщо знайдено помилки.
При лагоджені зустрічаються
Загальна стратегія лагодження – зворотне проходження від поміченого симптому помилки до місця в програмі, де помилку вчинено.
Ціль лагодження –
знайти оператор програми, при виконанні
якого правильні аргументи
2.5 Опис контрольного прикладу
Програма запускається під управлінням операційної системи Windows XP, з каталогу «Magazin».
Запуск програми виповнюється командою “Magazin.exe”. При запуску програми на екрані з’являється головне вікно програми, яке містить меню з пунктами .
Перехід по пунктам меню виповнюється за допомогою миші.
Натиснувши пункт меню Начать/Показать объекты, на екрані з’являються обєкти програми – 6 товарів та 3 відділа магазину. Відеограма з обєктами зображена на малюнку 7.
Малюнок 7. Обєкти програми
При натисканні пункту Начать/Очистить вікно програми очищується.
При натисканні пункту Правка/Расположить всі товари розміщуються по відділах – 2 в кожному. Відеограма приводиться на малюнку 8.
Малюнок 8. Відеограма розміщення товарів по відділам
При натисненні пункту "Продать товар" – користувачу надається можливість за допомогою миші обрати будь-який товар для купівлі. Для підтвердження необхідно натиснути ОК. Обраний товар буде видалено з відповідного відділу, а в кассу магазину занесені відповідні кошти.
Малюнок 9. Відеограма продажу товару
При натисканні пункту "О программе" виводиться інформація про програму та автора.
Малюнок 10. Відеограма інформації про програму
В пункті меню «Вихід», відповідно назві пункту, реалізується вихід з програми взагалі.
В процесі виконування даної роботи були вивчені деякі аспекти програмування на мові Java. При оформленні цієї роботи були отримані навички оформлення програмної документації у відповідній до цього формі, а також великі практичні навички програмування в середовищі Visual J#.
Теоретичні знання були закріплені практичними заняттями - розроблена об’єктно-орієнтована программа “Магазин”, що в повній мірі демонструє деякі можливості об’єктно-орієнтованого програмування.
Додаток А
Текст програми
Розробник студент групи РПЗ-09-1/9
Керівник: Туренко Л. О.
Дата розробки: січень-травень 2012
Операційна система: Windows XP
Система програмування: Microsoft Visual J# 2005
Найменування програми : «Магазин»
Виклик: Magazin .exe
package Magazin;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
public class Program extends Frame implements MouseListener
{
static int menu; static MenuBar mb; otdel s1, s2, s3; tovar f[];int prod,ii,ok;
public Program()
{
this.addMouseListener(this);
setSize(1400, 800);
setTitle("Magazin");
setVisible(true);
mb = new MenuBar();
Menu mFile = new Menu("Начать");
mb.add(mFile);
MenuItem create = new MenuItem("Показать объекты");
mFile.add(create);
MenuItem delete = new MenuItem("Очистить");
mFile.add(delete);
Menu mEdit = new Menu("Правка");
mb.add(mEdit);
MenuItem move = new MenuItem("Расположить");
mEdit.add(move);
MenuItem random = new MenuItem("Продать товар");
mEdit.add(random);
Menu mHelp = new Menu("Справка");
mb.add(mHelp);
MenuItem Pro = new MenuItem("О программе");
mHelp.add(Pro);
Menu mExit = new Menu("Выход");
mb.add(mExit);
MenuItem Exit = new MenuItem("Выйти");
mExit.add(Exit);
Exit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) { System.exit(0); }
});
create.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) { menu = 1; repaint(); }
});
delete.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) { menu = 2; repaint(); }
});
move.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{ menu = 3; repaint(); }
});
random.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) { menu = 4; repaint(); }
});
Pro.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) { menu = 5; repaint(); }
});
}
public class pram
{
Color c;
int x, y; int h, w;
pram()
{ }
pram(Color c1, int x1, int y1, int h1, int w1)
{ c = c1; x = x1; y = y1; w = w1; h = h1; };
public void show(Graphics g1)
{
g1.setColor(c);
g1.fillRect(x, y, w, h);
}
public void hide(Graphics g1)
{
g1.setColor(Color.blue);
g1.fillRect(x , y-10, w, h+10);
}
}
public class otdel extends pram
{
String name;
otdel(Color c1, int x1, int y1, int h1, int w1, String n)
{ super(c1, x1, y1, h1, w1); name = n; }
public void show(Graphics g1)
{
super.show(g1);
g1.setFont (new Font("Arial",Font.BOLD ,15));
g1.setColor(Color.white);
g1.drawString("" + name, x , y+20);
}
public void hide(Graphics g1) { super.hide(g1); };
}
public class tovar extends pram
{
int tip;String n;
tovar(int x1, int y1,int w1,int h1, int t)
{ tip = t; x = x1; y = y1;
w = w1; h = h1;
}
public void show(Graphics g1)
{
switch (tip)
{
case 1:
{
w = 100; h =70;
n = "Сыр"; g1.setColor(Color.yellow);
g1.fillArc(x, y, w, h, 180, 180); g1.setColor(Color.black);
g1.drawOval(x + 10, y + 40, 5, 5); g1.drawOval(x + 40, y + 40, 5, 5);
g1.drawOval(x + 30, y + 60, 5, 5);
g1.drawOval(x + 60, y + 60, 5, 5); g1.drawOval(x + 80, y + 40, 5, 5);
} break;
case 2:
{
w = 80; h = 100;
n = "МОЛОКО";
g1.setColor(Color.cyan); g1.fillRect(x, y, w-10, h); g1.setColor(Color.black);
g1.drawString("МОЛОКО", x + 10, y + 30); g1.drawLine(x + 5, y + 15, x + 65, y + 15); g1.drawLine(x + 5, y + 40, x + 65, y + 40);
g1.setColor(new Color(120, 120, 120));
int xx[] ={ x, x + 10, x + 80, x + 80, x + 70, x + 70 }; int yy[] = { y, y - 10, y - 10, y + 90, y + 100, y };
g1.fillPolygon(xx,yy ,6);} break;
case 3:
{
w = 120; h = 50;
n = "Батон"; g1.setColor(Color.orange); g1.fillOval(x, y, w, h); g1.setColor(Color.black);
g1.drawLine(x + 25, y + 15, x + 25, y + 35);
g1.drawLine(x + 50, y + 15, x + 50, y + 35);
g1.drawLine(x + 75, y + 15, x + 75, y + 35);
} break;
case 4:
{
w = 100; h = 100;
n = "Бублик"; g1.setColor(new Color(200, 120, 0)); g1.fillOval(x, y, w, h);
g1.setColor(Color.white);g1.
} break;
case 5:
{
w = 120; h = 20;
n = "Морковь"; g1.setColor(new Color(240, 50, 0)); g1.fillArc(x, y, w-20, h, 180, 180);
g1.fillArc(x, y, w-20, h, 0, 180); g1.setColor(Color.green);g1.
g1.drawLine(x + 25, y + 5, x + 25, y + 10);
g1.drawLine(x + 50, y + 10, x + 50, y + 15);
g1.drawLine(x + 75, y + 5, x + 75, y +10);
} break;
case 6:
{
w = 65; h = 75;
n = "Яблоко"; g1.setColor(Color.red); g1.fillOval(x, y, w-15, h-5); g1.fillOval(x+15, y, w-15, h-5); g1.setColor(Color.black); g1.fillOval(x+30, y+66, 10, 5);
g1.fillRect(x+30, y-4, 5, 10);
g1.setColor(Color.white); g1.fillOval(x + 15, y + 25, 5, 25);
} break;
Информация о работе Розробка об’єктно-орієнтованої програми “Магазин”