- •Содержание
- •Введение
- •1 Аналитическая часть
- •1.1. Характеристика предметной области
- •1.2. Исследование аналогов программного продукта
- •Вкладка "Старт":
- •1.3. Постановка задачи
- •1. Информационное обеспечение – бд «Травмпункт»
- •2. Системные требования
- •3. Функциональные системы
- •4. Иерархия модулей
- •2. Проектная часть
- •2.1. Моделирование бизнес-процессов предметной части
- •2.2. Информационное моделирование
- •2.3. Программные модули
- •3. Технология работы с программным продуктом
- •3.1. Работа пользователя с системой
- •3.2. Перспективы развития проекта
- •3.3. Экономическая эффективность внедрения программного продукта
- •Заключение
- •Список литературы
- •Приложение Приложение 1
- •Приложение 2
- •Приложение 3
3.2. Перспективы развития проекта
Перспективами развития данного проекта, включая дополнения, новые функции, а также развитие программного продукта, может быть следующее:
Расширение списка имеющихся таблиц в базе в связи с усложнением требований и увеличение количества требуемой информации для формирования программного продукта
Более точная формулировка имеющихся объектов таблиц БД
Ускорение работы интерфейса
Ввод дополнительных функций вывода в такие программные ресурсы, как MsExcel, MsWord идругие
Смену(если это необходимо) основы базы данных с локального ресурса на глобальный(Sql)
Добавление списка различных вариантов дизайнерских тем для программного продукта
Формирование более удобного(для пользователя) варианта интерфейса
3.3. Экономическая эффективность внедрения программного продукта
Xls
MS Equation
Заключение
В целом, использование АРМ «Директора среднего общеобразовательного учреждения» ставит новые задачи по разработке коллекций цифровых источников, приложений, новых систем образования и т.д. АРМ школы в целом, дистанционная школьная служба, медиа-уроки, сетевое взаимодействие, Интернет-проектирование – эти элементы, отражающие основные линии использования АРМ в деятельности школы, должны войти в деятельность сотрудника образования и стать такими же естественными, как и привычная его работа в школе. Пусть не сегодня, но в ближайшем будущем.
Список литературы
Троелсен. Э, «С# и платформа .NET», Библиотека программиста, 2007
Герберт Шильд, «C# Учебный курс», Питер, 2008
В.Лабор, «Visual C# Создание приложений для Windows», Минск, 2008
Сеппа Д., « Microsoft ADO.NET»
Троелсен Э., «Язык программирования С# 2005 и платформа .Net 2.0 3 – е издание», 2010
Ботыгин И.А., Бурилов М.В. Информационная система обработки учебных планов.
Дорошев Д.В. Условия применения информационных технологий в общеобразовательных учреждениях.
Приложение Приложение 1
Здесь приведен пример формы для таблицы «Медицинская карта», а также исходный код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Травмпункт
{
public partial class FormMedKarta : Form
{
public FormMedKarta()
{
InitializeComponent();
bmMedKart = this.BindingContext[травмпунктDataSet, "Медицинская карта"];
}
int pos = -1;
BindingManagerBase bmMedKart;
Functionalcs func = new Functionalcs();
Functionalcs funcOtm = new Functionalcs();
Functionalcs funcSoz = new Functionalcs();
Functionalcs funcRed = new Functionalcs();
Functionalcs funcSochr = new Functionalcs();
Functionalcs funcUdal = new Functionalcs();
Functionalcs funcOtch = new Functionalcs();
Functionalcs funcOtchetPoVsem = new Functionalcs();
Functionalcs funcStatPoDatam = new Functionalcs();
Functionalcs funcStatPoInval = new Functionalcs();
Functionalcs funcStatPoGorodam = new Functionalcs();
Functionalcs funcStatPoDiagn = new Functionalcs();
public void DisplayReadOnly(bool ReadOnly)
{
this.textBox1.ReadOnly = ReadOnly;
this.textBox2.ReadOnly = ReadOnly;
this.textBox3.ReadOnly = ReadOnly;
this.textBox4.ReadOnly = ReadOnly;
this.textBox5.ReadOnly = ReadOnly;
this.textBox6.ReadOnly = ReadOnly;
this.textBox7.ReadOnly = ReadOnly;
this.textBox8.ReadOnly = ReadOnly;
this.textBox9.ReadOnly = ReadOnly;
this.textBox10.ReadOnly = ReadOnly;
this.textBox11.ReadOnly = ReadOnly;
this.textBox12.ReadOnly = ReadOnly;
this.textBox13.ReadOnly = ReadOnly;
this.textBox14.ReadOnly = ReadOnly;
this.textBox15.ReadOnly = ReadOnly;
this.textBox16.ReadOnly = ReadOnly;
this.textBox17.ReadOnly = ReadOnly;
this.comboBox1.Enabled = !(ReadOnly);
this.comboBox2.Enabled = !(ReadOnly);
this.comboBox3.Enabled = !(ReadOnly);
this.comboBox4.Enabled = !(ReadOnly);
this.comboBox5.Enabled = !(ReadOnly);
this.comboBox6.Enabled = !(ReadOnly);
this.comboBox7.Enabled = !(ReadOnly);
this.comboBox8.Enabled = !(ReadOnly);
this.dateTimePicker1.Enabled = !(ReadOnly);
this.dateTimePicker2.Enabled = !(ReadOnly);
listBox1.Enabled = ReadOnly;
dataGridView1.ReadOnly = !(ReadOnly);
}
private void DisplayForm(bool mode)
{
DisplayReadOnly(mode);
func.MenuItemEnabled(редактироватьToolStripMenuItem, удалитьToolStripMenuItem, создатьToolStripMenuItem, отменитьToolStripMenuItem, сохранитьToolStripMenuItem, mode);
func.MenuItemContextEnabled(редактироватьToolStripMenuItem1, удалитьToolStripMenuItem1, создатьToolStripMenuItem1, отменитьToolStripMenuItem1, сохранитьToolStripMenuItem1, mode);
func.StripButtonEnabled(удалитьToolStripButton, отменаToolStripButton, сохранитьToolStripButton, редактироватьToolStripButton, bindingNavigatorAddNewItem,
bindingNavigatorMoveFirstItem, bindingNavigatorMoveLastItem, bindingNavigatorMoveNextItem, bindingNavigatorMovePreviousItem, mode);
}
private void FormMedKarta_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "травмпунктDataSet.Архив_приёмов". При необходимости она может быть перемещена или удалена.
this.архив_приёмовTableAdapter.Fill(this.травмпунктDataSet.Архив_приёмов);
// TODO: данная строка кода позволяет загрузить данные в таблицу "травмпунктDataSet.Анализы". При необходимости она может быть перемещена или удалена.
this.анализыTableAdapter.Fill(this.травмпунктDataSet.Анализы);
// TODO: данная строка кода позволяет загрузить данные в таблицу "травмпунктDataSet.Лечение". При необходимости она может быть перемещена или удалена.
this.лечениеTableAdapter.Fill(this.травмпунктDataSet.Лечение);
// TODO: данная строка кода позволяет загрузить данные в таблицу "травмпунктDataSet.Диагнозы". При необходимости она может быть перемещена или удалена.
this.диагнозыTableAdapter.Fill(this.травмпунктDataSet.Диагнозы);
// TODO: данная строка кода позволяет загрузить данные в таблицу "травмпунктDataSet.Полис". При необходимости она может быть перемещена или удалена.
this.полисTableAdapter.Fill(this.травмпунктDataSet.Полис);
// TODO: данная строка кода позволяет загрузить данные в таблицу "травмпунктDataSet.Медицинская_карта". При необходимости она может быть перемещена или удалена.
this.медицинская_картаTableAdapter.Fill(this.травмпунктDataSet.Медицинская_карта);
func.StatusLabel(действиеToolStripMenuItem, действиеToolStripMenuItem.Text, "Действие по работе с данными", toolStripStatusLabel1);
funcOtm.StatusLabel(отменитьToolStripMenuItem, отменитьToolStripMenuItem.Text, "Отменить действие", toolStripStatusLabel1);
funcSoz.StatusLabel(создатьToolStripMenuItem, создатьToolStripMenuItem.Text, "Создать запись", toolStripStatusLabel1);
funcRed.StatusLabel(редактироватьToolStripMenuItem, редактироватьToolStripMenuItem.Text, "Редактировать запись", toolStripStatusLabel1);
funcSochr.StatusLabel(сохранитьToolStripMenuItem, сохранитьToolStripMenuItem.Text, "Сохранить запись", toolStripStatusLabel1);
funcUdal.StatusLabel(удалитьToolStripMenuItem, удалитьToolStripMenuItem.Text, "Удалить запись", toolStripStatusLabel1);
funcOtch.StatusLabel(отчётToolStripMenuItem, отчётToolStripMenuItem.Text, "Создание печатного варианта записи", toolStripStatusLabel1);
funcOtchetPoVsem.StatusLabel(вывестиИнформациюПоВсемПациентамToolStripMenuItem, вывестиИнформациюПоВсемПациентамToolStripMenuItem.Text, "Вывести информацию о всех пациентах", toolStripStatusLabel1);
funcStatPoDatam.StatusLabel(выводСтатистикиПоВозрастамToolStripMenuItem, выводСтатистикиПоВозрастамToolStripMenuItem.Text, "Вывести возрастную статистику", toolStripStatusLabel1);
funcStatPoInval.StatusLabel(выводСтатистикиПоСостояниюОргонизмаToolStripMenuItem, выводСтатистикиПоСостояниюОргонизмаToolStripMenuItem.Text, "Вывести статистику по состояниям пациентов", toolStripStatusLabel1);
funcStatPoGorodam.StatusLabel(выводСтатистикиПоРегионамToolStripMenuItem, выводСтатистикиПоРегионамToolStripMenuItem.Text, "Вывести региональную статистику", toolStripStatusLabel1);
funcStatPoDiagn.StatusLabel(выводСтатистикиПоЗаболеваемостиToolStripMenuItem, выводСтатистикиПоЗаболеваемостиToolStripMenuItem.Text, "Вывести статистику по заболеваемости", toolStripStatusLabel1);
func.ButtonsFuncs(удалитьToolStripButton, отменаToolStripButton, сохранитьToolStripButton, редактироватьToolStripButton, bindingNavigatorAddNewItem,
редактироватьToolStripMenuItem1, удалитьToolStripMenuItem1, создатьToolStripMenuItem1, отменитьToolStripMenuItem1, сохранитьToolStripMenuItem1,
редактироватьToolStripMenuItem, удалитьToolStripMenuItem, создатьToolStripMenuItem, отменитьToolStripMenuItem, сохранитьToolStripMenuItem);
DisplayForm(true);
}
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Инвалидность = comboBox1.SelectedItem.ToString();
}
private void comboBox2_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Пол = comboBox2.SelectedItem.ToString();
}
private void comboBox3_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Тип_населённого_пункта = comboBox3.SelectedItem.ToString();
}
private void comboBox4_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Тип_улицы = comboBox4.SelectedItem.ToString();
}
private void comboBox5_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Код_полиса = (int)((DataRowView)comboBox5.Items[comboBox5.SelectedIndex])["Код полиса"];
}
private void comboBox6_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Код__диагноза = (int)((DataRowView)comboBox6.Items[comboBox6.SelectedIndex])["Код диагноза"];
}
private void comboBox7_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Код_лечения = (int)((DataRowView)comboBox7.Items[comboBox7.SelectedIndex])["Код лечения"];
}
private void comboBox8_SelectionChangeCommitted(object sender, EventArgs e)
{
pos = bmMedKart.Position;
травмпунктDataSet.Медицинская_карта[pos].Код_анализа = (int)((DataRowView)comboBox8.Items[comboBox8.SelectedIndex])["Код анализов"];
}
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
DisplayForm(false);
textBox1.Focus();
toolStripStatusLabel1.Text = "Режим добавления данных...";
}
private void удалитьToolStripButton_Click(object sender, EventArgs e)
{
pos = медицинскаяКартаBindingSource.Position;
string mes = textBox2.Text.ToString().Trim() + " " + textBox3.Text.ToString().Trim() + " " + textBox4.Text.ToString().Trim();
toolStripStatusLabel1.Text = "Режим удаления данных...";
DialogResult result = MessageBox.Show(" Удалить данные \n о пациенте \n" + mes + "?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
switch (result)
{
case DialogResult.Yes:
{
this.травмпунктDataSet.Медицинская_карта.Rows[pos].Delete();
if (this.травмпунктDataSet.Медицинская_карта.GetChanges(DataRowState.Deleted) != null)
{
try
{
this.медицинская_картаTableAdapter.Update(травмпунктDataSet.Медицинская_карта);
this.травмпунктDataSet.Медицинская_карта.AcceptChanges();
}
catch (Exception x)
{
string er = x.Message.ToString();
MessageBox.Show("Ошибка удаления записи в базе данных Травмпункт " + er, "Предупреждение");
this.травмпунктDataSet.Медицинская_карта.RejectChanges();
}
}
MessageBox.Show("Удаление данных");
break;
}
case DialogResult.No:
{
this.травмпунктDataSet.Медицинская_карта.RejectChanges();
MessageBox.Show("Отмена удаления данных");
break;
}
}
toolStripStatusLabel1.Text = "";
}
private void отменаToolStripButton_Click(object sender, EventArgs e)
{
bmMedKart.EndCurrentEdit();
травмпунктDataSet.Медицинская_карта.RejectChanges();
медицинскаяКартаBindingSource.CancelEdit();
toolStripStatusLabel1.Text = "";
DisplayForm(true);
textBox1.Focus();
}
private void сохранитьToolStripButton_Click(object sender, EventArgs e)
{
try
{
медицинскаяКартаBindingSource.EndEdit();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
медицинскаяКартаBindingSource.CancelEdit();
}
if (this.травмпунктDataSet.Медицинская_карта.GetChanges(DataRowState.Added) != null)
{
toolStripStatusLabel1.Text = "Режим сохранения данных...";
try
{
this.медицинская_картаTableAdapter.Update(травмпунктDataSet.Медицинская_карта);
this.травмпунктDataSet.Медицинская_карта.AcceptChanges();
bindingNavigator1.Update();
MessageBox.Show("Сохранение добавлений", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception x)
{
string mess = x.Message;
MessageBox.Show("Ошибка вставки записи в базу данных Сотрудник " + mess, "Предупреждение");
this.травмпунктDataSet.Медицинская_карта.RejectChanges();
}
}
if (this.травмпунктDataSet.Медицинская_карта.GetChanges(DataRowState.Modified) != null)
{
try
{
this.медицинская_картаTableAdapter.Update(травмпунктDataSet.Медицинская_карта);
this.травмпунктDataSet.Медицинская_карта.AcceptChanges();
bindingNavigator1.Update();
MessageBox.Show("Сохранение изменений", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception x)
{
string mess = x.Message;
MessageBox.Show("Ошибка обновления базы данных Сотрудник " + mess, "Предупреждение");
this.травмпунктDataSet.Медицинская_карта.RejectChanges();
}
}
DisplayForm(true);
textBox1.Focus();
}
private void редактироватьToolStripButton_Click(object sender, EventArgs e)
{
DisplayForm(false);
textBox1.Focus();
toolStripStatusLabel1.Text = "Режим редактирования данных...";
}
private void вывестиИнформациюПоВсемПациентамToolStripMenuItem_Click(object sender, EventArgs e)
{
FormOtchetMed form = new FormOtchetMed();
funcOtchetPoVsem.FormOpen(form);
}
private void выводСтатистикиПоВозрастамToolStripMenuItem_Click(object sender, EventArgs e)
{
FormOtchetPoDatamRogg form = new FormOtchetPoDatamRogg();
funcStatPoDatam.FormOpen(form);
}
private void выводСтатистикиПоСостояниюОргонизмаToolStripMenuItem_Click(object sender, EventArgs e)
{
FormOtchetPoInvalid form = new FormOtchetPoInvalid();
funcStatPoInval.FormOpen(form);
}
private void выводСтатистикиПоРегионамToolStripMenuItem_Click(object sender, EventArgs e)
{
FormOtchetPoTipamGor form = new FormOtchetPoTipamGor();
funcStatPoGorodam.FormOpen(form);
}
private void выводСтатистикиПоЗаболеваемостиToolStripMenuItem_Click(object sender, EventArgs e)
{
FormOtchetPoDiagn form = new FormOtchetPoDiagn();
funcStatPoDiagn.FormOpen(form);
}
}
}