Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт Тимуш.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
525.07 Кб
Скачать

Державний вищий навчальний заклад

“Чернівецький політехнічний КОЛЕДЖ”

Циклова комісія програмування та інформаційних технологій

КУРСОВИЙ ПРОЕКТ з дисципліни «Об’єктно-орієнтоване програмування» на тему: Розробка програмного забезпечення «Лікарські рослини»

Студента IV курсу 541 групи

спеціальності 5.05010301

Тимуш М. А.

Керівник Смерека А.Г.

Оцінка _____________________________

Члени комісії:

__________________________________ С.Д. Мутаф

(підпис)

__________________________________ Т.М. Гуменна

(підпис)

__________________________________ А.Г. Смерека

(підпис)

Дата захисту “____” __________ 2013 р.

м. Чернівці – 2013 рік

ЗМІСТ

вступ 3

1 Опис програмного продукту 4

1.1 Характеристика предметної області 4

1.2 Діаграма класів 5

1.3 Діаграми прецедентів 6

1.4 Опис класів та методів класу 6

2 Функціональні можливості програмного подукту 10

3 ОХОРОНА ПРАЦІ та техніка безпеки 15

Висновки 20

перелік джерел 21

Додатки 22

вступ

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

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

  • велика кількість операторів;

  • постійні витрати на матеріали;

  • значний шанс впливу людського фактору.

Єдина перевага: більша захищеність даних при певних умовах. Дана перевага може скасуватись у випадку коли на комп’ютерах зберігають копії даних на різних носіях.

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

Мета курсового проекту – створення програмного забезпечення «Лікарські рослини» тобто провести автоматизацію обліку лікарських рослин пришвидшити та зробити його більш зручним у порівнянні із традиційними методами. Завдання – створити програмний продукт для спрощення роботи фармацевта чи лікаря з обліком та продажем лікарських рослин.

Основою для розробки став вибір мови програмування С++ та середовище програмування Borland C++ Builder. Мова програмування С++ підтримує об’єктний підхід до створення програмного забезпечення та є оптимальною з погляду швидкодії та складності в реалізації. Середовище програмування Borland C++ Builder полегшує створення програмного забезпечення із складним інтерфейсом та є зручним для розробника.

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

1 Опис програмного продукту

1.1 Характеристика предметної області

Даний курсовий проект присвячений розробці програмного забезпечення «Лікарські рослини».

Лікарські рослини описуються наступними характеристиками:

  • назва рослини;

  • рід рослини;

  • країна походження рослини;

  • лікарська форма;

  • показання;

  • ціна рослини.

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

Розроблене програмне забезпечення дозволяє виконувати операції:

  • зберігання інформації про лікарські рослини та препарати у файл;

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

  • перегляд загальної інформації, що зберігається у файлі;

  • створення лікарського препарату та розрахунок його вартості.

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

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

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

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

Рисунок 1 – Діаграма класів

1.3 Діаграми прецедентів

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

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

Діаграму прецедентів зображено на рисунку 2.

Рисунок 2 – Діаграма прецедентів

1.4 Опис класів та методів класу

Розроблений програний продукт містить як одиночні класи та і ієрархію класів. Клас Roslyny є базовим класом і містить опис рослини.

class Roslyny

{

protected:

AnsiString Nazva;

AnsiString Rid;

AnsiString Kraina;

int Type;

}

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

Даний клас містить наступні методи:

  • getNazva() – він призначений для зчитування інформації про назву рослини;

  • getRid() – даний метод використовується для перегляду інформації, що записана в полі Rid;

  • getKraina() – аналогічно до попередніх методів цей призначений для зчитування інформації про країну походження даного виду рослини.

  • Всі інші методи із приставкою get працюють аналогічно і використовуються в тих же цілях.

Методи setNazva, setRid, setKraina призначені для запису інформації, що буде в використовуватися. Вони всі працюють аналогічно, окрім інформації, яку записують.

Похідний клас Likarski_roslyny є похідним класом від класу Roslyny і містить опис лікарської рослини.

class Likarski_roslyny:public Roslyny

{

AnsiString Lik_forma;

AnsiString Pokazannia;

double Tsina;

public:

AnsiString getLik_forma();

AnsiString getPokazannia();

double getTsina();

void setLik_forma(AnsiString b);

void setPokazannia(AnsiString b);

void setTsina(double b);

void Add(AnsiString name_file);

};

Методи, що існують в класі:

  • getLik_forma(), getPokazannia(), getTsina() – ці методи використовуються для повернення відповідних значень. Методи є типу AnsiString, окрім методу getTsina(), яки є типу double;

  • setLik_forma(), setPokazannia(), setTsina() – це методи, що призначені для встановлення необхідного значення. В якості параметра вони всі використовують змінну b типу AnsiString;

  • Add(AnsiString name_file) – це метод класу, що використовується для додавання інформації в файл.

Клас, яки призначений для запису та використання інформації про суміші тих рослин, які записані в класі Likarski_roslyny. Поля даного класу: Nazva, Pokazannia, Kilkist, Sklad, Proportsiy, Vartist. Також даний клас містить методи:

  • getNazva(), getPokazannia(), getKilkist(), getSklad(), getProportsiy() – це методи, які, по аналогії до попередніх, зчитують інформацію з форми;

  • setNazva(AnsiString b), setPokazannia(Likarski_roslyny* b), setKilkist(int b), setSklad(Likarski_roslyny* b), setProportsiy(float* b) – це методи, що призначені для створення інформації по даним полям;

  • CalcVartist() – метод, що створений дл розрахунку загальної вартості створеної суміші.

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

class Table

{

AnsiString Name_file;

public:

int Print(Likarski_roslyny* A);

void Delete(AnsiString x);

int Search_product(AnsiString x,Likarski_roslyny* A);

AnsiString getName_file();

void setName_file(AnsiString a);

};

Методи класу:

  • Print(Likarski_roslyny* A) – цей метод використовується для запису інформації в файл. В якості параметру він використовує масив типу Likarski_roslyny;

  • Delete(AnsiString Nazva) – метод, який призначений для видалення інформації із файлу. В якості параметру використовується назва рослини, адже саме по цьому полю буде відбуватися видалення;

  • Poshuk(AnsiString x,Likarski_roslyny* A) – це метод, створений для того, щоб відшукати інформацію про рослину, назва якої буде введена у поле пошуку;

  • getName_file(), setName_file(AnsiString a) – це методи класу для задання та зчитування інформації про назву фалу, в який буде вноситися інформація.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]