Розробка програмного додатку для медичного діагностичного центру "Medical© control"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 21.08.2015
Размер файла 2,0 M

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

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

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

Зміст

програма інтерфейс додаток медичний

1. Системний аналіз

1.1 Вимоги до продукту

2. Розробка інтерфейсу програми

2.1 Кроки розробки призначених для користувача інтерфейсів

2.2 Проектування інтерфейсу

3. Вибір архітектури

3.1 Функціональна структура програми (типи моделі розробки)

3.2 Вхідні дані на розробку автоматизованої системи

3.3 Вибір середовища програмування

3.4 Вибір сервера баз даних

4. Детальне проектування

4.1 Логічна структура програми

4.2 Розробка структури бази даних проекту

4.3 Розробка структури і полів таблиць бази даних

Висновок

Список літератури

Додатки

Вступ

Виробництво програмного забезпечення (ПО) сьогодні - це найбільша галузь світової економіки, в якій зайнято більше семи мільйонів фахівців. Саме приголомшливий прогрес в області ПЗ допоміг впоратися з інформаційним бумом кінця 20 століття.

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

Потреба контролювати процес розробки ПЗ, прогнозувати і гарантувати вартість розробки, терміни і якість результатів призвела до необхідності переходу від кустарних до індустріальних способам створення ПЗ і появі сукупності інженерних методів і засобів створення ПЗ, об'єднаних загальною назвою програмна інженерія (software engineering).

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

1. Системний аналіз

1.1 Вимоги до продукту

Специфікація вимог - це вимоги до програмного засобу і до усіх файлів програмного забезпечення.

Специфікація вимог до ПЗ "Medical© control"

1. Вступ

1.1 Призначення, мета

Даний документ проектується студентом ПР-9-12 для опису програмного продукту "Medical© control". А також системних, функціональних і не функціональних вимог до даного продукту.

Даний продукт буде вести облік клієнтів, їх діагнозів, виконувати пошук по діагнозам або по ПІБ, обчислювати вартість за день та друкувати звіти.

2. Загальний опис

2.1 Характеристики

2.2.1. Веде облік клієнтів;

2.2.2. Веде облік діагнозів клієнтів;

2.2.3. Виконує пошук;

2.1.4. Обчислює вартість за день;

2.1.5. Друкує звіти.

2.2 Користувачі

2.2.1. Старша медсестра;

2.2.2. Лікарі;

2.2.3. Головний лікар.

2.3 Середовище функціонування

Даний продукт працює на операційній системі Windows 95 / 98 / 2003 / Vista / 7 / 8 / 8.1 / 10.

Апаратна платформа: Клавіатура, миша, монітор, системний блок(материнська плата, вінчестер, процесор, блок живлення, відеоадаптер 16Mb).

3. Характеристики системи

3.1 Функціональні вимоги

3.1.1 Продукт повинен дозволяти вводити дані: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та ім'я, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та ім'я клієнта, діагноз клієнта, код препарату);

3.1.2 Продукт повинен дозволяти виводити дані: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та ім'я, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та ім'я клієнта, діагноз клієнта, код препарату);

3.1.3 Продукт повинен дозволяти видаляти дані: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та ім'я, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та ім'я клієнта, діагноз клієнта, код препарату). По заданим полями таблиці: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та ім'я, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату), Квитанції(Код квитанції, код клієнта, всього до оплати, прізвище та ім'я клієнта, діагноз клієнта, код препарату);

3.1.4 Продукт повинен дозволяти здійснювати пошук даних по полях деяких таблиць: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та ім'я, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та ім'я клієнта, діагноз клієнта, код препарату);

3.1.5 Продукт повинен обчислювати прибуток за день на основі даних в таблиці Квитанції по полю "Всього до оплати";

3.1.6 Продукт повинен дозволяти друкувати звіти усіх полів таблиць: Діагнози, Квитанції, Лікарі, Препарати, Клієнти.

4. Вимоги до зовнішніх інтерфейсів

4.1 Користувацькі інтерфейси

На інтерфейсі продукту повинно бути:

4.1.1 Головне меню;

4.1.2 Таблиця бази даних;

4.1.3 Вікна додавання та видалення даних.

4.1.4 Вікна пошуку даних.

4.1.5 Меню швидкого доступу.

4.2 Апаратні інтерфейси

4.2.1 Взаємодіє з принтером.

5. Не функціональні вимоги

5.1 Вимоги продуктивності

5.1.1 Продукт повинен обчислювати вартість за день менше ніж за секунду;

5.1.2 Продукт повинен здійснювати пошук менше ніж за секунду;

5.1.3 Програма повинна бути розроблена на мові С++.

5.2 Вимоги безпеки

5.2.1 Продукт повинен містити ідентифікацію по паролю.

2. Розробка інтерфейсу програми

2.1 Кроки розробки призначених для користувача інтерфейсів

Характеристика

Градації

Рівень знань і досвід

Комп'ютерна грамотність

Середній. Користувач повинен володіти елементарними навиками користування комп'ютером

Системний досвід

Середній

Досвід роботи з подібними програмами

Середній

Освіта

Закінчена вища освіта

Рівень читання

9 років в школі

Машинопис

100 слів за хвилину

Фізичні характеристики користувача

Вік

Молодий, середнього віку, літній

Стать

Чоловіча, жіноча

Розвиненість рук

Лівша, правша, володіє однаково обома руками

Характеристики завдань і роботи користувача

Спосіб використання цієї програми

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

2.2 Проектування інтерфейсу

1. Головне вікно(вікно, яке запускається першим) - це вікно "Ідентифікація" [Мал. 2];

2. Вікно "Зміна паролю" [Мал. 3] - викликається через вікна: "Ідентифікація" [Мал. 2], "Діагнози" [Мал. 11], "Клієнти" [Мал. 13], "Квитанції" [Мал. 12], "Препарати" [Мал. 15], "Лікарі" [Мал. 14];

3. Вікно "Діагнози" [Мал. 11] - викликається через вікна: "Ідентифікація" [Мал. 2], "Клієнти" [Мал. 13], "Лікарі" [Мал. 14], "Квитанції" [Мал. 12], "Препарати" [Мал. 15].

4. Вікна додавання, видалення даних, пошуку та друку даних [Мал. 6] в "Діагнози" [Мал. 11] - викликається через вікно "Діагнози" [Мал. 11];

5. Вікно "Квитанції" [Мал. 12] - викликається через вікна: "Діагнози" [Мал. 11], "Клієнти" [Мал. 13], "Препарати" [Мал. 15], "Лікарі" [Мал. 14].

6. Вікна додавання та видалення, пошуку та друку даних [Мал. 7], підрахування заробленої суми за день [Мал. 4] в "Квитанції" [Мал. 12] - викликається через вікно "Квитанції" [Мал. 12].

7. Вікно "Клієнти" [Мал. 13] - викликається через вікна: "Діагнози" [Мал. 11], "Квитанції" [Мал. 12], "Препарати" [Мал. 15], "Лікарі" [Мал. 14].

8. Вікна додавання та видалення, пошуку та друку даних [Мал. 8] в "Клієнти" [Мал. 13] - викликається через вікно "Клієнти" [Мал. 13].

9. Вікно "Препарати" [Мал. 15] - викликається через вікна: "Діагнози" [Мал. 11], "Квитанції" [Мал. 12], "Лікарі" [Мал. 14], "Клієнти" [Мал. 13].

10. Вікна додавання та видалення, пошуку та друку даних [Мал. 10] в "Препарати" [Мал. 15] - викликається через вікно "Препарати" [Мал. 15].

11. Вікно "Лікарі" [Мал. 14] - викликається через вікна: "Препарати" [Мал. 15], "Квитанції" [Мал. 12], "Діагнози" [Мал. 11], "Клієнти" [Мал. 13].

12. Вікна додавання та видалення, пошуку та друку даних [Мал. 9] в "Лікарі" [Мал. 14] - викликається через вікно "Лікарі" [Мал. 14].

13. Вікно "Про нас" [Мал. 5] та вікно "Довідка" [Мал. 1] - викликається через вікна: "Препарати" [Мал. 15], "Діагнози" [Мал. 11], "Лікарі" [Мал. 14], "Квитанції" [Мал. 12], "Клієнти" [Мал. 13].

3. Вибір архітектури

3.1 Функціональна структура програми (типи моделі розробки)

Схема IDEF0 [Мал. 16]

IDEF0 - Діаграма декомпозиції. Дану модель використовують для показу функціональної діяльності системи.

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

Схема DFD [Мал. 17]

DFD - діаграми потоків даних.

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

3.2 Вхідні дані на розробку автоматизованої системи

Для розробки даної автоматизованої системи медичного діагностичного центру використовується ERwin, BatchAccess та Builder c++ 6.

· ERwin - для створення схеми бази даних(БД) та генерування коду БД для BatchAccess;

· BatchAccess - для створення БД, на основі генерованого коду на основі схеми БД із ERwin [Мал. 19].

· Builder c++ 6 - для програмної реалізації додатку, який буде працювати із генерованою БД, де для зв'язку з нею буде використовуватися драйвер ADO.

3.3 Вибір середовища програмування

Програма проектується в середовищі Builder c++ 6. Для зв'язку з БД використовується драйвер ADO середовища Builder c++ 6, а саме компонент ADOConnection, в якому встановлюється шлях до БД де підключаємось через дані "Microsoft Jet 4.0 OLE DB Provider".

3.4 Вибір сервера баз даних

Для генерації бази даних(БД) використовується сервер ODBC.

4. Детальне проектування

4.1 Логічна структура програми

Структура бази даних(БД) з визначеними ключовими та зовнішніми полями БД, яка працює з проектованим додатком [Мал. 20].

4.2 Розробка структури бази даних проекту

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

4.3 Розробка структури і полів таблиць бази даних

Визначаю структуру і поля таблиць бзи даних, які є ключовими та зовнішніми [Мал. 19].

Висновок

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

В даний час практично немає жодної сфери людської діяльності (медицина, економіка, комерція, промисловість і т.д.), де б не застосовувалися комп'ютерні програми, тому на даній курсовій роботі було розроблено програмний додаток для медичного діагностичного центру "Medical© control".

Medical© control - це програмний додаток, який працює з базою даних (БД) медичного діагностичного центру. Через Medical© control можна здійснювати ряд операцій з БД: редагування, пошук та фільтрування за довільними полями, друкувати звіти, обчислювати прибуток за день, підраховувати кількість записів в таблиці (Діагнози, Квитанції, Клієнти, Препарати, Лікарі).

На даній курсовій роботі я засвоїв методи проектування та документації додатків, зрозумів потребу контролювати процес розробки ПЗ.

Список літератури

1. Іан Соммервілла. Інженерія програмного забезпечення 2002.

2. Орлов С.А. Технології розробки програмного забезпечення: Розробка складних програмних систем (Вид. 3), 2004.

3. Ерік Дж. Брауде. Технологія розробки програмного забезпечення, 2004.

4. Липаев В.В. Програмна інженерія. Методологічні основи [Текст]: Учеб. / В.В. Липаев; Держ. ун-т - Вища школа економіки. - М.: ТЕИС, 2006. - 608 с. - 1000 екз. - ISBN 5-7598-0424-3, УДК 004,41 (075,8), ББК 32.973.26-018я73, Липаев, Вища школа економіки, ТЕИС, 2006, PDF, економіка, програмування.

5. Лапланте Філ (2009). Вимоги Техніка для програмного забезпечення і систем (вид. 1). Редмонд, штат Вашингтон: CRC Press. ISBN 1-42006-467-3.

6. Макконнелл Стів (1996). Швидкий розвиток: Приборкання Дикого Software Розклади (. Вид 1). Редмонд, штат Вашингтон: Microsoft Press. ISBN 1-55615-900-5.

7. Віджерс Карл Е. (2003). Вимоги до програмного забезпечення (вид. 2). Редмонд, штат Вашингтон: Microsoft Press. ISBN 0-7356-1879-8.

8. Андрій Стельман і Дженніфер Грін (2005). Прикладне програмне забезпечення для управління проектами. Кембридж, Массачусетс: O'Reilly Media. ISBN 0-596-00948-8.

9. Брайан Беренбач, Даніель Пауліш, Юрген Катзмеєр, Арнольд Рудофер (2009). Програмне забезпечення та системи технічних вимог: на практиці. Нью-Йорк: McGraw-Hill Професійний. ISBN 0-07-1605479.

10. Вальтер Собків (2008). Сталий розвиток можливий при Creative System Engineering. Нью-Джерсі: CassBeth. ISBN 0615216307.

Додатки

Додаток 1. Лістинг програми

/*

- Управління базою даних "Медична діагностична клініка" MDC.mdb

- Автор Гребенюк Іван Андрійович

- Версія 1.0

- Програмування модулів (форм) алгоритмами

*/

//diagnozi_delete_zaput.cpp (daig_delete)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi_delete_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

Tdiag_delete *diag_delete;

__fastcall Tdiag_delete::Tdiag_delete(TComponent* Owner) : TForm(Owner) { }

void __fastcall Tdiag_delete::Button1Click(TObject *Sender)

{ Memo1->Clear(); bd_work->diagnoziz->Active=false; AnsiString text[]={"DELETE FROM Діагнози",

" WHERE Діагнози.[Код діагнозу]=\""+Edit1->Text+"\"", " OR Діагнози.[Термін лікування]=\""+Edit3->Text+"\" OR",

"Діагнози.Термін=\""+Edit2->Text+"\""}; for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);

bd_work->diagnoziz->Close(); bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text);

bd_work->diagnoziz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Діагнози;"}; Memo1->Clear();

for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->diagnoziz->Close();

bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text); bd_work->diagnoziz->Open();

bd_work->diagnoziz->Active=true; bd_work->count_diagnozi->Active=false; bd_work->count_diagnozi->Active=true; }

void __fastcall Tdiag_delete::FormCreate(TObject *Sender) { Left = 387; Top = 523; }

void __fastcall Tdiag_delete::Edit3KeyPress(TObject *Sender, char &Key)

{ if(Key == VK_RETURN) Button1Click(Sender); }

// diagnozi_insert_zaput.cpp (diag_insert)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi_insert_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

Tdiag_insert *diag_insert;

__fastcall Tdiag_insert::Tdiag_insert(TComponent* Owner) : TForm(Owner) { }

void __fastcall Tdiag_insert::Button1Click(TObject *Sender)

{ Memo1->Clear();

bd_work->diagnoziz->Active=false; AnsiString text[]={"INSERT INTO Діагнози([Код діагнозу], Термін,[Термін лікування])",

" VALUES ( \""+Edit1->Text+"\",\""+Edit2->Text+"\",\""+Edit3->Text+"\")"};

for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);

bd_work->diagnoziz->Close(); bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text);

bd_work->diagnoziz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Діагнози;"}; Memo1->Clear();

for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->diagnoziz->Close();

bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text); bd_work->diagnoziz->Open();

bd_work->diagnoziz->Active=true; bd_work->count_diagnozi->Active=false; bd_work->count_diagnozi->Active=true; }

void __fastcall Tdiag_insert::FormCreate(TObject *Sender) { Left = 387; Top = 523; }

void __fastcall Tdiag_insert::Button1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN) Button1Click(Sender); }

//diagnozi_search_zaput.cpp (diag_search)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi_search_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

Tdiag_search *diag_search;

__fastcall Tdiag_search::Tdiag_search(TComponent* Owner) : TForm(Owner) { }

void __fastcall Tdiag_search::Button1Click(TObject *Sender)

{ if((RadioButton2->Checked==true)&&(bd_work->diagnoziz->Locate("Термін",Edit2->Text, TLocateOptions())))

{ShowMessage("Присутній!");}

if((RadioButton1->Checked==true)&&(bd_work->diagnoziz->Locate("Код діагнозу",Edit1->Text, TLocateOptions())))

{ShowMessage("Присутній!");}

if((RadioButton3->Checked==true)&&(bd_work->diagnoziz->Locate("Термін лікування",Edit3->Text, TLocateOptions())))

{ShowMessage("Присутній!");} }

void __fastcall Tdiag_search::Edit3KeyPress(TObject *Sender, char &Key) { if(Key==VK_RETURN) Button1Click(Sender); }

void __fastcall Tdiag_search::FormCreate(TObject *Sender) { Left = 387; Top = 523; }

//password.cpp (PasswordDlg)

#include <vcl.h>

#pragma hdrstop

#include "password.h"

#include "diagnozi.h"

#include "work_bd.h"

#include "password_new.h"

#include "fstream.h"

#pragma resource "*.dfm"

TPasswordDlg *PasswordDlg;

__fastcall TPasswordDlg::TPasswordDlg(TComponent* AOwner) : TForm(AOwner) { }

void __fastcall TPasswordDlg::OKBtnClick(TObject *Sender)

{ Memo1->Clear(); Memo1->Lines->LoadFromFile("renew.bin"); String pass_file = Memo1->Text;

if(pass_file != Password->Text) { ShowMessage("Невірний пароль!"); } else { PasswordDlg->Visible=false; Diagnoz->Show(); } }

void __fastcall TPasswordDlg::CancelBtnClick(TObject *Sender) { PasswordDlg->Close(); }

void __fastcall TPasswordDlg::FormCreate(TObject *Sender)

{ fstream file("renew.bin"); if(!file.is_open()) { ofstream sozdat("renew.bin"); sozdat.close(); } Left = 529; Top = 317; }

void __fastcall TPasswordDlg::SpeedButton1Click(TObject *Sender)

{ PasswordDlg->Visible = false; Pass_renew->Visible = true; }

//kvitancii_suma_za_den_zaput.cpp (suma_za_den_form)

#include <vcl.h>

#pragma hdrstop

#include "kvitancii_suma_za_den_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

Tsuma_za_den_form *suma_za_den_form;

__fastcall Tsuma_za_den_form::Tsuma_za_den_form(TComponent* Owner) : TForm(Owner) { }

void proverka()

{ if(suma_za_den_form->DBText1->Caption == "") {String none = "0"; suma_za_den_form->DBText1->Caption = none;}}

void __fastcall Tsuma_za_den_form::Button1Click(TObject *Sender)

{ String date = DateToStr(MonthCalendar1->Date); date = StringReplace(date,".","/",TReplaceFlags()<<rfReplaceAll);

char *d = date.c_str(); char first_2_day[5]; first_2_day[0] = d[0];first_2_day[1] = d[1];

char month[5]; month[0] = d[3];month[1] = d[4]; d[0] = month[0];d[1] = month[1]; d[3] = first_2_day[0];d[4] = first_2_day[1];

char d1[100]; for(int i=0;i<10;i++) { d1[i] = d[i]; } Edit1->Text = d1; Memo1->Clear();

bd_work->suma_za_den->Active=false; String sum = "SELECT SUM(Квитанція.[Всього до оплати]) FROM Квитанція";

AnsiString text= sum+" WHERE Квитанція.[Дата видачі]=#"+Edit1->Text+"#";

Memo1->Lines->Add(text); bd_work->suma_za_den->SQL->Clear();

bd_work->suma_za_den->SQL->Add(Memo1->Text); bd_work->suma_za_den->ExecSQL();

bd_work->suma_za_den->Active=true; suma_za_den_form->Height = 281; proverka(); }

void __fastcall Tsuma_za_den_form::FormCreate(TObject *Sender) { Left = 1168; Top = 450;suma_za_den_form->Height=257; }

void __fastcall Tsuma_za_den_form::MonthCalendar1KeyPress(TObject *Sender, char &Key)

{ if(Key == VK_RETURN)Button1Click(Sender); }

//diagnozi.cpp (Diagnoz)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TDiagnoz *Diagnoz;

String atribute[] = {"Код діагнозу","Термін","Термін лікування"};

void __fastcall TDiagnoz::FormClose(TObject *Sender, TCloseAction &Action) { PasswordDlg->Close(); }

void __fastcall TDiagnoz::ComboBox1KeyPress(TObject *Sender, char &Key) { if(Key==Key)Key = 0x00; }

void __fastcall TDiagnoz::Button3Click(TObject *Sender) { Panel2->Visible=false; }

void __fastcall TDiagnoz::DBGrid1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ bd_work->count_diagnozi->Active=false;

bd_work->count_diagnozi->Active=true; Diagnoz->StatusBar1->Panels->Items[1]->Text = DBText1->Caption; }

void __fastcall TDiagnoz::FormCanResize(TObject *Sender, int &NewWidth, int &NewHeight, bool &Resize)

{ Edit1->Width=Diagnoz->Width-260; }

void __fastcall TDiagnoz::Button1Click(TObject *Sender)

{ if((ComboBox1->Text=="Скинути фільтр")||(Edit1->Text=="")) bd_work->diagnoziz->Filtered = false;

else if((ComboBox1->Text=="Фільтр по \"Код діагнозу\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false; bd_work->diagnoziz->Filter = "[Код діагнозу] like '"+Edit1->Text+"*'";

bd_work->diagnoziz->Filtered = true; }

else if((ComboBox1->Text=="Фільтр по \"Термін\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false; bd_work->diagnoziz->Filter = "[Термін] like '"+Edit1->Text+"*'";

bd_work->diagnoziz->Filtered = true; }

else if((ComboBox1->Text=="Фільтр по \"Термін лікування\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false;

bd_work->diagnoziz->Filter = "[Термін лікування] like '"+Edit1->Text+"*'"; bd_work->diagnoziz->Filtered = true; } }

void __fastcall TDiagnoz::ToolButton1Click(TObject *Sender) { bd_work->table1Click(Sender); }

void __fastcall TDiagnoz::ToolButton2Click(TObject *Sender) { bd_work->vidalit1Click(Sender); }

void __fastcall TDiagnoz::ToolButton4Click(TObject *Sender) { bd_work->N1Click(Sender); }

void __fastcall TDiagnoz::ToolButton6Click(TObject *Sender) { bd_work->N3Click(Sender); }

void __fastcall TDiagnoz::ToolButton8Click(TObject *Sender) { bd_work->MeButtonClick(Sender); }

void __fastcall TDiagnoz::ToolButton10Click(TObject *Sender) { bd_work->N2Click(Sender); }

void __fastcall TDiagnoz::ToolButton12Click(TObject *Sender) { bd_work->N5Click(Sender); }

void __fastcall TDiagnoz::FormCreate(TObject *Sender) { Left = 387; Top = 74; }

void __fastcall TDiagnoz::ToolButton13Click(TObject *Sender) { bd_work->N63Click(Sender); }

void __fastcall TDiagnoz::DBGrid1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

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

Мал. 1 - Вікно довідки програми, та інструкція до неї.

Мал. 2 - Вікно контролю доступу до програми.

Мал. 3 - Вікно зміни пароля доступу до програми.

Мал. 4 - Вікно обрахування заробленої суми за певний день.

Мал. 5 - Вікно інформації про розробника.

Мал. 6 - Вікна додавання, видалення, пошуку та друку даних в Діагнози.

Мал. 7 - Вікна додавання, видалення, пошуку та друку даних в Квитанції.

Мал. 8 - Вікна додавання, видалення, пошуку та друку даних в Клієнти.

Мал. 9 - Вікна додавання, видалення, пошуку та друку даних в Лікарі.

Мал. 10 - Вікна додавання, видалення, пошуку та друку даних в Препарати.

Мал. 11 - Вікно контролю над таблицею БД "Діагнози".

Мал. 12 - Вікно контролю над таблицею БД "Квитанції".

Мал. 13 - Вікно контролю над таблицею БД "Клієнти".

Мал. 14 - Вікно контролю над таблицею БД "Лікарі".

Мал. 15 - Вікно контролю над таблицею БД "Препарати".

Мал. 16 - Функціональна діяльність проектованої системи(IDEF0).

Мал. 17 - Діаграма потоків даних проектованої системи (DFD).

Мал. 18 - Діаграма варіантів використання проектованої системи.

Мал. 19 - Логічна модель бази даних проектованої системи в ERwin.

Мал. 20 - Робоча схема БД програмного додатку.

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


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

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

    курсовая работа [43,1 K], добавлен 30.06.2015

  • Розробка інтерфейсу програми "Автоматизована інформаційна система автошколи". Вибір архітектури, характеристика користувача. Генерація, проектування схеми бази даних, детальне програмування. Розробка структури таблиць. Лістинг програми, результат роботи.

    курсовая работа [2,7 M], добавлен 11.09.2015

  • Характеристика функціональної структури предметної області програмного комплексу. Розробка архітектури програмної системи. Вибір типу архітектури й зразків проектування. Опис декомпозиції, залежностей та інтерфейсу. Детальне проектування модулів та даних.

    курсовая работа [462,2 K], добавлен 19.12.2013

  • Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.

    курсовая работа [4,5 M], добавлен 03.01.2014

  • Проектування бази даних для КП "ВодГео" - комунального підприємства у сфері водопостачання та водовідведення в м. Сміла. Предметна область, вимоги до продукту. Розробка інтерфейсу програми. Вибір архітектури та сервера бази даних, її логічна структура.

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

  • Вибір середовища програмування Borland Delphi 7.0 для створення електронно-медичного довідника. Формування бази даних для перегляду та пошуку медичних препаратів для лікування. Особливості програмування інтерфейсу програми, інструкція користувача.

    курсовая работа [2,2 M], добавлен 19.09.2012

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

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

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

    курсовая работа [2,3 M], добавлен 26.12.2014

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

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

  • Аналіз вимог до програмного забезпечення. Розробка структури бази даних, що дозволить реалізувати різноманітні операції для створення платіжного доручення. Розробка об’єктної моделі, алгоритмів та структури бази даних. Вибір засобу автоматизації.

    курсовая работа [3,2 M], добавлен 30.01.2014

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