Автор работы: Пользователь скрыл имя, 05 Ноября 2012 в 19:36, курсовая работа
Программное обеспечение — совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ, а также совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных. Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.
Введение 4
Постановка задачи 5
Методы проектирования 6
Этапы создания ПО 10
Выявление требований 12
Описание программы 14
Проектирование инфологической модели 14
Даталогическое проектирование 15
Разграничение доступа 17
Администратор 18
Пациент 25
Тестирование 30
Общие сведения 30
Процесс тестирования 31
Результаты тестирования 35
Заключение 36
Библиографический список 37
ПРИЛОЖЕНИЕ А 38
ПРИЛОЖЕНИЕ Б 41
ПРИЛОЖЕНИЕ В 42
return data;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return null;
}
}
public void Query(string query)
{
try
{
sql.Connect();
sql.SetCommand(query);
sql.Disconnect();
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
}
public static string[][] Res_Doc(string begin, string end)
{
SQL s = new SQL();
s.Connect();
DataTable data2;
DataTable data = s.Query(@"SELECT t1.ID_doc FROM Doctors t INNER JOIN Обследования t1 ON t.ID = t1.ID_doc
Where t1.[Дата проведения] >= #" + begin + "# AND t1.[Дата проведения] <= #" + end + @"# AND Готовность=True
group by t1.ID_doc Order by t1.ID_doc");
string[][] docs = new string[data.Rows.Count][];
string[][][] pats = new string[data.Rows.Count][][];
for (int i = 0; i < data.Rows.Count; i++)
{
data2 = s.Query("Select Фамилия, Имя, Отчество, Кабинет, Профессия From Doctors Where ID = " + data.Rows[i][0].ToString());
docs[i] = new string[5];
for (int j = 0; j < 5; j++)
docs[i][j] = data2.Rows[0][j].ToString();
}
s.Disconnect();
return docs;
}
public static string[][][] Res_Pat(string begin, string end)
{
SQL s = new SQL();
s.Connect();
DataTable data2;
DataTable data = s.Query(@"SELECT t1.ID_doc FROM Doctors t INNER JOIN Обследования t1 ON t.ID = t1.ID_doc
Where t1.[Дата проведения] >= #" + begin + "# AND t1.[Дата проведения] <= #" + end + @"# AND Готовность=True
group by t1.ID_doc Order by t1.ID_doc");
string[][][] pats = new string[data.Rows.Count][][];
for (int i = 0; i < data.Rows.Count; i++)
{
data2 = s.Query(@"SELECT t1.Фамилия, t1.Имя, t1.Отчество, t1.[Дата рождения], t.Услуга, t2.[Дата проведения], t.Стоимость
pats[i] = new string[data2.Rows.Count][];
for (int j = 0; j < data2.Rows.Count; j++)
{
pats[i][j] = new string[7];
for (int k = 0; k < 7; k++)
pats[i][j][k] = data2.Rows[j][k].ToString();
}
}
s.Disconnect();
return pats;
}
}
}
SQL.cs
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;
namespace Admin
{
class SQL
{
public SQL()
{
}
OleDbConnection cn;
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.
public void Connect()
{
try
{
cn = new OleDbConnection();
cn.ConnectionString = ConnectionString;
cn.Open();
}
catch (Exception exp)
{
System.Windows.Forms.MessageBo
return;
}
}
public void Disconnect()
{
try
{
cn.Close();
}
catch (Exception exp)
{
System.Windows.Forms.MessageBo
return;
}
}
public DataTable Query(string SQLstring)
{
OleDbCommand cm = null;
try
{
cm = new OleDbCommand(SQLstring, cn);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cm;
DataTable _table = new DataTable();
da.Fill(_table);
da.Dispose();
cm.Dispose();
return _table;
}
catch (Exception exp)
{
System.Windows.Forms.MessageBo
cm.Dispose();
return null;
}
}
public int SetCommand(string SQLstring)
{
OleDbCommand cm = null;
int res = -1;
try
{
cm = new OleDbCommand(SQLstring, cn);
res = cm.ExecuteNonQuery();
cm.Dispose();
}
catch (Exception exp)
{
System.Windows.Forms.MessageBo
cm.Dispose();
return res;
}
return res;
}
}
}
Исходный код программы «
user.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Windows.Forms;
using System.Data;
using System.Globalization;
namespace hospital_user
{
public class user
{
public user()
{
}
OleDbConnection cnt;
OleDbCommand cmd;
OleDbDataAdapter da;
private string ConnectionString = "Provider=Microsoft.Jet.OLEDB.
public void registration(string F,string I,string O,string time,string P,string A,string Pass)
{
cnt = new OleDbConnection(
cnt.Open();
cmd = new OleDbCommand("SELECT MAX(ID) FROM Autorization", cnt);
OleDbDataReader myOleDbDataReader = cmd.ExecuteReader();
myOleDbDataReader.Read();
int ID;
try
{
ID = (myOleDbDataReader.GetInt32(0) + 1);
}
catch
{
ID = 1;
}
myOleDbDataReader.Close();
DateTime date = DateTime.ParseExact(time, "yyyy/MM/dd", CultureInfo.InvariantCulture);
/*добавление в таблицу patient*/
cmd = new OleDbCommand("INSERT INTO [Patients] ([ID],[Фамилия],[Имя],[
cmd.Parameters.Add("@a", OleDbType.Integer, 100000000, "ID").Value = ID;
cmd.Parameters.Add("@b", OleDbType.VarChar, 50, "Фамилия").Value = F;
cmd.Parameters.Add("@c", OleDbType.VarChar, 50, "Имя").Value = I;
cmd.Parameters.Add("@d", OleDbType.VarChar, 50, "Отчество").Value = O;
cmd.Parameters.Add("@g", OleDbType.DBDate, 50, "Дата Рождения").Value = date.Date;
cmd.Parameters.Add("@e", OleDbType.VarChar, 100, "Полис").Value = P;
cmd.Parameters.Add("@f", OleDbType.VarChar, 100, "Адрес").Value = A;
cmd.ExecuteNonQuery();
/*добавление в таблицу autorization*/
cmd = new OleDbCommand("INSERT INTO [Autorization] ([ID],[Pass]) VALUES (@a,@b)", cnt);
cmd.Parameters.Add("@a", OleDbType.Integer, 100000000, "ID").Value = ID;
cmd.Parameters.Add("@b", OleDbType.VarChar, 50, "Name").Value = xor(F, Pass);
cmd.ExecuteNonQuery();
cmd.Dispose();
cnt.Close();
MessageBox.Show("Данные успешно
внесены в базу поликлинники. \n"
+ "Логин: " +
ID.ToString() + "\n" + "Пароль:" +Pass, "Обновление", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.
}
private string xor(string key, string shifr)
{
string deshifr = "";
int j = 0;
for (int i = 0; i < shifr.Length; i++)
{
if (j == key.Length)
j = 0;
deshifr += Convert.ToChar(Convert.
j++;
}
return deshifr;
}
public DataTable doQuery(string query)
{
cnt = new OleDbConnection(
cnt.Open();
cmd = new OleDbCommand(query, cnt);
da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
try
{
da.Fill(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
dt = null;
}
cnt.Close();
cmd.Dispose();
da.Dispose();
return dt;
}
public int priem_to_doc(int ID_doc, int ID_pat, DateTime time)
{
cnt = new OleDbConnection(
cnt.Open();
cmd = new OleDbCommand("SELECT MAX(ID) FROM Талоны", cnt);
OleDbDataReader myOleDbDataReader = cmd.ExecuteReader();
myOleDbDataReader.Read();
int ID;
try
{
ID = (myOleDbDataReader.GetInt32(0) + 1);
}
catch
{
ID = 1;
}
myOleDbDataReader.Close();
MessageBox.Show(time.ToString(
/*добавление в таблицу patient*/
cmd = new OleDbCommand("INSERT INTO [Талоны] ([ID],[ID_doc],[ID_patient],[
cmd.Parameters.Add("@a", OleDbType.Integer, 100000000, "ID").Value = ID;
cmd.Parameters.Add("@b", OleDbType.Integer, 50, "ID_doc").Value = ID_doc;
cmd.Parameters.Add("@c", OleDbType.Integer, 50, "ID_patient").Value = ID_pat;
cmd.Parameters.Add("@d", OleDbType.DBTimeStamp, 50, "Время").Value = time;
cmd.ExecuteNonQuery();
cmd.Dispose();
cnt.Close();
MessageBox.Show("Талон на ваше имя
успешно зарезервирован", "Обновление", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.
return ID;
}
}
}