Проектирование и разработка программы для работы со справочником фармацевта
РЕФЕРАТ
Ключевые слова: оператор, базовый класс, производный класс, символьная
строка, передача информации, функции сортировки, функции вывода.
В курсовом проекте описан процесс обработки, который включает в себя
следующие аспекты:
1. Создание базы справочника
2. Удаление записей из базы справочника
. Добавление данных в базу справочника
4. Изменение данных в базе справочника
Введение
Целью курсового проекта, является проектирование и разработка программы
на объектно-ориетированном языке программирования программу для работы со
справочником фармацевта.
Клиент-сервер (англ. Client-server) - вычислительная или сетевая
архитектура, в которой задания или сетевая нагрузка распределены между
поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг,
называемыми клиентами. Нередко клиенты и серверы взаимодействуют через
компьютерную сеть и могут быть как различными физическими устройствами, так и
программным обеспечением
Сервер базы данных представляет собой мультипользовательскую версию СУБД,
параллельно обрабатывающую запросы, поступившие со всех рабочих станций. В его
задачу входит реализация логики обработки транзакций с применением необходимой
техники синхронизации - поддержки протоколов блокирования ресурсов,
обеспечение, предотвращение и/или устранения тупиковых ситуаций.
В ответ на пользовательский запрос рабочая станция получит не «сырье» для
последующей обработки, а готовые результаты. Программное обеспечение рабочей
станции при такой архитектуре играет роль только внешнего интерфейса (Front -
end) централизованной системы управления данными. Это позволяет существенно
уменьшить сетевой трафик, сократить время на ожидание блокированных ресурсов
данных в мультипользовательском режиме, разгрузить рабочие станции и при
достаточно мощной центральной машине использовать для них более дешевое
оборудование.
Как правило, клиент и сервер территориально отделены друг от друга, и в
этом случае они входят в состав или образуют систему распределенной обработки
данных.
Для современных СУБД архитектура «клиент-сервер» стала фактически
стандартом. Если предполагается, что проектируемая информация будет иметь
архитектуру «клиент-сервер», то это означает, что прикладные программы,
реализованные в ее рамках, будут иметь распределенный характер, т. е. часть
функций приложений будет реализована в программе-клиенте, другая - в
программе-сервере. Основной принцип технологии «клиент-сервер» заключается в
разделении функций стандартного интерактивного приложения на четыре группы:
функции ввода и отображения данных;
прикладные функции, характерные для предметной области;
фундаментальные функции хранения и управления ресурсами (базами данных);
служебные функции.
1. Описание предметной области
Фармацевтическая химия - наука, которая, базируясь на общих законах
химических наук, исследует способы получения, строение, физические и химические
свойства лекарственных веществ, взаимосвязь между их химической структурой и
действием на организм, методы контроля качества и изменения, происходящие при
хранении.
Основными методами исследования лекарственных веществ в фармацевтической
химии являются анализ и синтез - диалектически тесно связанные между собой
процессы, взаимно дополняющие друг друга. Анализ и синтез - мощные средства
познания сущности явлений, происходящих в природе.
Задачи, стоящие перед фармацевтической химией, решаются с помощью
классических физических, химических и физико-химических методов, которые
используются как для синтеза, так и для анализа лекарственных веществ.
Чтобы познать фармацевтическую химию, будущий провизор должен иметь
глубокие знания в области общетеоретических химических и медико-биологических
дисциплин, физики, математики. Необходимы также прочные знания в области
философии, ибо фармацевтическая химия, как и другие химические науки,
занимается изучением химической формы движения материи.
Фармацевтическая химия занимает центральное место среди других
специальных фармацевтических дисциплин - фармакогнозии, фармацевтической
технологии, фармакологии, организации и экономики фармации, токсикологической
химии и является своеобразным связующим звеном между ними.
Так, фармакогнозия - наука, изучающая лекарственное растительное сырье и
возможности создания из него новых лекарственных веществ. Тесно взаимосвязана
фармацевтическая химия с фармацевтической технологией, изучающей методы
приготовления лекарственных средств. Они являются объектами для разработки
способов фармацевтического анализа. Токсикологическая химия базируется на
применении целого ряда тех же методов исследования, что и фармацевтическая
химия. В изучении проблем хранения лекарственных средств, а также организации
контрольно-аналитической службы тесно связаны с фармацевтической химией
организация и экономика фармации. В области исследования взаимосвязи между
структурой молекул лекарственных веществ и их действием на организм
фармацевтическая химия близко примыкает к фармакологии.
Вместе с тем фармацевтическая химия занимает промежуточное положение
между комплексом медико-биологических и химических наук. Объектом применения
лекарственных средств является организм больного человека. Исследованием
происходящих в нем процессов и лечением занимаются специалисты, работающие в
области клинических медицинских наук (терапия, хирургия, акушерство и
гинекология и т.д.), а также теоретических медицинских дисциплин: анатомии,
физиологии и др. Многообразие применяемых в медицине лекарственных средств
требует совместной работы врача и провизора при лечении больного.
Являясь прикладной наукой, фармацевтическая химия базируется на теории и
законах таких химических наук, как неорганическая, органическая, аналитическая,
физическая, коллоидная химия. В тесной связи с неорганической и органической
фармацевтическая химия занимается исследованием способов синтеза лекарственных
веществ. Поскольку их действие на организм зависит как от химической структуры,
так и от физико-химических свойств, фармацевтическая химия использует законы
физической химии.
При разработке способов контроля качества лекарственных веществ и
лекарственных форм в фармацевтической химии применяют методы аналитической
химии. Однако фармацевтический анализ имеет свои специфические особенности и
включает три обязательных этапа: установление подлинности, контроль чистоты
(установление допустимых пределов примесей) и количественное определение
лекарственного вещества.
Развитие фармацевтической химии невозможно и без широкого использования
законов таких точных наук, как физика и математика, так как без них нельзя
познать физические методы исследования лекарственных веществ и различные
способы расчета, применяемые в фармацевтическом анализе.
Объекты фармацевтической химии.
Объекты фармацевтической химии чрезвычайно разнообразны по химической
структуре, фармакологическому действию, по массе, числу компонентов в смесях,
наличию примесей и сопутствующих веществ. К числу таких объектов следует
отнести:
Лекарственные вещества (ЛВ) - (субстанции) индивидуальные вещества
растительного, животного, микробного или синтетического происхождения,
обладающие фармакологической активностью. Субстанции предназначены для
получения лекарственных средств.
Лекарственные средства (ЛС) - неорганические или органические соединения,
обладающие фармакологической активностью, полученные путем синтеза, из
растительного сырья, минералов, крови, плазмы крови, органов, тканей человека
или животного, а также с применением биологических технологий. КЛВ также
относятся биологически активные вещества (БАБ) синтетического, растительного
или животного происхождения, предназначенные для производства или изготовления
лекарственных средств.
Лекарственная форма (ЛФ) - придаваемое ЛС или ЛРС удобное для применения
состояние, при котором достигается необходимый лечебный эффект.
Лекарственные препараты (Л П) - дозированные ЛС в определенной ЛФ,
готовые к применению.
Все указанные Л В, ЛС, ЛФ и ЛП могут быть как отечественного, так и
зарубежного производства, разрешенные для применения в Российской Федерации.
Приведенные термины и их аббревиатуры являются официальными. Они внесены в ОСТы
и предназначены для использования в фармацевтической практике.
К числу объектов фармацевтической химии относятся также исходные
продукты, используемые для получения ЛВ, промежуточные и побочные продукты
синтеза, остаточные растворители, вспомогательные и другие вещества. Кроме
патентованных ЛС объектами фармацевтического анализа являются дженерики
(венерические препараты). На разработанный оригинальный ЛП фармацевтическая
компания-производитель получает патент, который подтверждает, что он является
собственностью компании на определенный срок (обычно 20 лет). Патент
обеспечивает эксклюзивное право на его реализацию без конкуренции со стороны
других производителей. После истечения срока действия патента свободное
производство и реализация данного ЛП разрешается веем другим компаниям. Он
становится генерическнм препаратом, или дженериком, но должен быть абсолютно
идентичен оригинальному. Разница состоит только в отличии наименования, которое
дает компания-производитель. Сравнительная оценка дженерика и оригинального
препарата производится по фармацевтической эквивалентности (равное содержание
активного ингредиента), биоэквивалентности (равные концентрации накопления при
приеме в крови и тканях), терапевтической эквивалентности (одинаковая
эффективность и безопасность при введении в равных условиях и дозах).
Преимущества дженериков состоят в значительном снижении затрат по сравнению с
созданием оригинального Л П. Однако оценка их качества производится так же, как
и соответствующих оригинальных ЛВ.
справочник
сервер база данные
2. Назначение информационной системы
Информационная система предназначена для решения следующих задач:
возможности редактирования, добавления, хранения и удаления данных;
-список
всей базы;
2.1 Постановка задачи
Необходимо разработать приложение учета сотрудников отдела кадров чтобы
оно выполняло следующие задачи:
· Добавление препаратов
· Редактирование препаратов
· Удаление препаратов
· Сортировка по колонкам.
К необходимым требованиям относятся:
· Передача данных по сети TCP/IP
· Использование реляционной базы данных.
Все таблицы базы данных должны быть приведены к третьей нормальной форме
3
ФУНКЦИОНАЛЬНОЕ МОДЕЛИРОВАНИЕ
Функциональное моделирование является важнейшим элементом концептуального
анализа, который выполняется на начальном этапе проектирования любой
автоматизированной информационной системы, в том числе и системы управления
предприятием. Разработка и анализ функциональной модели деятельности
предприятия позволяет достаточно глубоко погрузиться в предметную область,
выявить бизнес-процессы, используемые на предприятии, определить информационные
потоки, выявить узкие места в деятельности предприятия и т.д.
Для функционального анализа на концептуальном этапе удобно использовать
простые, доступные для широкого понимания использования, хорошо проработанные
методологии. Несмотря на солидный возраст стандартной методологии IDEF0, она
по-прежнему весьма популярна среди аналитиков и широко используется, особенно
на этапе концептуального анализа.
Детальный анализ функциональной IDEF0-модели является основой для
изучения существующих на предприятии бизнес-процессов и для разработки новых
бизнес-процессов, которые в дальнейшем будут являться основой для разработки
алгоритмов системы управления. Для моделирования бизнес-процессов удобно
воспользоваться специально разработанной для этих целей методологией IDEF3.
Модель IDEF3 содержит 2 типа диаграмм: диаграммы процессов и диаграммы
состояний объектов, которые позволяют выполнить анализ бизнес-процессов с
разных сторон в рамках одной модели.
4. МОДЕЛИ
ПРЕДСТАВЛЕНИЯ СИСТЕМНЫХ И ИХ ОПИСАНИЕ
Диаграмма классов.
Диаграмма классов служит для представления статистической структуры
системы в терминологии классов объектно - ориентированного программирования.
Диаграмма классов может отражать, в частности, различные взаимосвязи между
отдельными сущностями предметной области, такими как объекты и подсистемы, а
также описывает их внутреннюю структуру и типы отношений. На данной диаграмме
не указывается информация о временных аспектах функционирования системы. С этой
точки зрения диаграмма классов является дальнейшим развитием концептуальной
модели проектируемой системы. Диаграмма классов представляет собой некоторый
граф, вершинами которого являются элементы типа «классификатор», которые
связаны различными типами структурных отношений. Следует заметить, что
диаграмма классов может содержать интерфейсы, пакеты, отношения и даже
отдельные экземпляры, такие как объекты и связи. Когда говорят о данной
диаграмме, имеют ввиду структурную статистическую модель проектируемой системы.
Поэтому диаграмму классов принято считать графическим представлением таких
структурных взаимосвязей логической модели системы, которые не зависят или
инвариантны от времени. Диаграмма классов состоит из множества элементов,
которые в совокупности отражают декларативные знания о предметной области. Эти
знания интерпретируются в базовых понятия языка UML , таких как классы, интерфейсы и отношения между ними
и их составляющими компонентами. При этом отдельные компоненты этой диаграммы
могут образовывать пакеты для представления более общей системы. Если диаграмма
класса является частью некоторого пакета , то ее компоненты должны
соответствовать элементам этого пакета, включая возможные ссылки и элементы из
других пакетов. В общем случае пакет структурной статической модели может быть
представлен в виде одной или нескольких диаграмм классов. Декомпозиция
некоторого представления на отдельные диаграммы выполняется с целью удобства и
графической визуализации структурных взаимосвязей предметной области. При этом
компоненты диаграммы соответствуют элементам статической семантической модели.
Модель системы, в свою очередь, должна быть согласована с внутренней структурой
классов, которая описывается на языке UML. На диаграмме, представленной ниже,
указана диаграмма классов приложения.
Диаграмма
последовательности
Диаграмма последовательности предназначена для отображения определённой
последовательности. На диаграмме 3.5 отображается последовательность действий
пользователя при подключении к системе. Действия осуществляемые пользователем в
приложении последовательными не являются по этому закончим рассмотрение
последовательности на уровне подключения.
5. ОПИСАНИЕ
РУКОВОДСТВА ПОЛЬЗОВАТЕЛЯ
Требования для работы приложения.
Для сервера:
Рабочий ПК
.NET
Framework <#"787434.files/image002.gif">
Вводим сетевой адрес, нажимаем ввод, вводим нужный порт, нажимаем ввод.
В этом окне будут показаны все сообщения которые будут приходить на
сервер и уходить с него.
Теперь можно запускать клиентскую часть на компьютерах пользователя.
На компьютере пользователя запускаем «Client.exe». Откроется окно.
Вводим сетевой адрес, нажимаем ввод, вводим нужный порт, нажимаем ввод,
для соединения с сервером который уже запущен. После этого можно работать с
программой.
Удаление
Добавление
Изменение
ЗАКЛЮЧЕНИЕ
В ходе выполнения данной курсовой работы была использована в архитектуре
клинет-сервер на языке С#. Соединение между клиентами и сервером реализовано с
использованием протокола TCP\IP, с помощью сокетов. Соединение с базой
производиться с помощью сервера и драйвера ODBC. Поставленные задачи выполнены.
Цель работы можно считать достигнутой.
Достоинство системы:
-хранит лекарственные средства по видам;
база данных легко переноситься.
Варианты усовершенствования: использовать для работы с базой Entity
Framework; использование трансферов для передачи данных между клиентом и
сервером.
Список
использованных источников
1. Microsoft Visual Studio 2008/ Л. Пауэрс, М. Снелл: Пер. с англ. - СПб
БХВ-Петербург, 2009.
2. Рихтер
Дж. Программирование на платформе Microsoft .Net Framework 2.0 на языке С#.
Мастер-класс. СПб.: Питер, 2007
3. Раттц
М. Джозеф С. LINQ: язык интегрированных запросов в С# 2008 для профессионалов.
Пер. с англ. - М.: OOO ”И. Д. Вильямс”, 2008.
4. Нортон
Т., Райн Б. Основы разработки приложений на платформе Microsoft .Net Framework.
СПб.: Питер, 2007
5. Net.
Сетевое программирование для профессионалов Эндрю Кровчик, Винод Кумар, Но г.
2007
ПРИЛОЖЕНИЕ А
ЛИСТИНГ
ПРОГРАММНОГО КОДА
System;System.Collections.Generic;System.Linq;System.Text;System.Data.SqlClient;System.Data;System.Windows.Forms;
Agenstvo
{connect
{
//public string ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Users\\Yury\\Desktop\\AgentN.mdf';Integrated
Security=True;User Instance=True;";DataTable ConnToDbReturnDT(string
query)
{(var SQLConn = new SqlConnection("user id=sa;" +
"password=12345;" + "server=.\\SQLEXPRESS;" +
"Trusted_Connection=yes;" +
"database=Farm; " + "connection timeout=1"))
{
{.Open();
}(Exception e)
{.Show("База данных недоступна. Подробности : " + e.Message);
}
dt = new DataTable();
cmd = new SqlCommand();.CommandText = query;.Connection =
SQLConn;
{da = new SqlDataAdapter(cmd);.Fill(dt);.ExecuteNonQuery();
}(Exception g)
{.Show("Ошибка в получении данных
от базы! Подробности : " + g.Message);
}
dt;
}
}void ConnToDbCUD(string query)
{
(var SQLConn = new SqlConnection("user id=sa;" +
"password=12345;" + "server=.\\SQLEXPRESS;" +
"Trusted_Connection=yes;" +
"database=Farm; " + "connection
timeout=1"))
{cmd = new SqlCommand();.CommandText = query;.CommandType =
System.Data.CommandType.Text;.Connection = SQLConn;
{da = new SqlDataAdapter(cmd);
.Open();.ExecuteNonQuery();
.Close();
}(Exception g)
{.Show("Ошибка работы с базой данных!
Подробности : " + g.Message);
}
}
}
}
}System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;
Agenstvo
{partial class Form1 : Form
{Form1()
{();
}
void client_Click(object sender, EventArgs e)
{cl = new recipt();.Text = "Рецепты";.ShowDialog();
}
void chastnNid_Click(object sender, EventArgs e)
{n = new pr();.nameT = "Preporats";.Text =
"Препораты";.ShowDialog();
}
void conNid_Click(object sender, EventArgs e)
{n = new pr();.nameT = "Reactiv";.Text =
"Реактивы";.ShowDialog();
}
}
}System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;
Agenstvo
{partial class pr : Form
{pr()
{();
}
string nameT = null;con = new connect();
void nidv_Load(object sender, EventArgs e)
{() ;
}
void start()
{request = " select * FROM " + nameT;.DataSource =
con.ConnToDbReturnDT(request);
}
void add_Click(object sender, EventArgs e)
}void cheng_Click(object sender, EventArgs e)
{na = new prAdd();.nameT = nameT;.nameForm =
"ch";.Text = "Изменение";.id =
dg.SelectedCells[0].Value.ToString();.name = dg.SelectedCells[1].Value.ToString();.size
= dg.SelectedCells[2].Value.ToString();.conc =
dg.SelectedCells[3].Value.ToString();.ShowDialog();();
}
void dell_Click(object sender, EventArgs e)
{request = "DELETE FROM " + nameT + " WHERE id
= " + dg.SelectedCells[0].Value.ToString();.ConnToDbCUD(request);();
}
void sherchbutton_Click(object sender, EventArgs e)
{request = " select * FROM " + nameT + " WHERE
names = '"+sherchtextBox.Text+"' ";.DataSource =
con.ConnToDbReturnDT(request);
}
}
}System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;
Agenstvo
{partial class prAdd : Form
{prAdd()
{();
}
string nameForm = null;string id = null;string name =
null;string conc = null;string size = null;string nameT = null;
con = new connect();
void Seave_Click(object sender, EventArgs e)
{(nameForm == "add")
{request = "INSERT INTO " + nameT + " ( names,
size, conc ) VALUES ( '" + textBox1.Text + "', '" +
textBox2.Text + "', '" + textBox3.Text + "'
)";.ConnToDbCUD(request);
}if (nameForm =="ch")
{request = "update " + nameT + " set names =
'" + textBox1.Text + "', size = '" + textBox2.Text + "',
conc = '" + textBox3.Text + "' WHERE id= '" + id +
"'";.ConnToDbCUD(request);
}
}
void nidvAdd_Load(object sender, EventArgs e)
{(nameForm == "ch")
{.Text = name;.Text = size;.Text = conc;
}
}
}
}System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;
Agenstvo
{partial class recipt : Form
{recipt()
{();
}
dt = new DataTable();con = new connect();
void Clients_Load(object sender, EventArgs e)
{();
}
void clientsStart()
{request = " select * FROM recipt ";=
con.ConnToDbReturnDT(request);.DataSource = dt;
}
void add_Click(object sender, EventArgs e)
{cad = new reciptAddDel();.nameForm = "add";.Text =
"Добавление";.ShowDialog();();
}
void cheng_Click(object sender, EventArgs e)
{cad = new reciptAddDel();.nameForm = "ch";.name =
dg.SelectedCells[1].Value.ToString();.description = dg.SelectedCells[2].Value.ToString();.id
= dg.SelectedCells[0].Value.ToString();.Text =
"Изменение";.ShowDialog();();
}
void dell_Click(object sender, EventArgs e)
{request = "DELETE FROM recipt WHERE id = " +
dg.SelectedCells[0].Value.ToString();.ConnToDbCUD(request);();
}
void sherchbutton_Click(object sender, EventArgs e)
{request = " select * FROM recipt where name = '" +
sherchtextBox.Text + "'";
= con.ConnToDbReturnDT(request);.DataSource = dt;
}
}
}System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;
Agenstvo
{
partial class reciptAddDel : Form
{reciptAddDel()
{();
}
string nameForm = null;con = new connect();string id =
null;string name = null;string description = null;
void Seave_Click(object sender, EventArgs e)
{(nameForm == "add")
{request = "INSERT INTO recipt ( name, description )
VALUES ( '" + textBox1.Text + "', '" + textBox2.Text + "'
)";.ConnToDbCUD(request);
}if (nameForm == "ch")
}
}
void clientAddDel_Load(object sender, EventArgs e)
{(nameForm == "ch")
{.Text = name;.Text = description;
}
}
}
}