Программирование

Автор работы: Пользователь скрыл имя, 05 Ноября 2012 в 19:36, курсовая работа

Описание работы

Программное обеспечение — совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ, а также совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных. Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.

Содержание работы

Введение 4
Постановка задачи 5
Методы проектирования 6
Этапы создания ПО 10
Выявление требований 12
Описание программы 14
Проектирование инфологической модели 14
Даталогическое проектирование 15
Разграничение доступа 17
Администратор 18
Пациент 25
Тестирование 30
Общие сведения 30
Процесс тестирования 31
Результаты тестирования 35
Заключение 36
Библиографический список 37
ПРИЛОЖЕНИЕ А 38
ПРИЛОЖЕНИЕ Б 41
ПРИЛОЖЕНИЕ В 42

Файлы: 1 файл

Пояснительная записка ГОТОВО.docx

— 2.39 Мб (Скачать файл)

                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.Стоимость

                                    FROM Услуги AS t INNER JOIN (Patients AS t1 INNER JOIN Обследования AS t2 ON t1.ID = t2.ID_patient) ON t.ID = t2.ID_услуга

                                    WHERE t2.ID_doc = " + data.Rows[i][0].ToString() + " AND t2.[Дата проведения] >= #" + begin +

                                    "# AND t2.[Дата проведения] <= #" + end + @"# AND Готовность=True ORDER BY t1.Фамилия, t1.Имя, t1.Отчество");

               

                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.4.0;Data Source=db.mdb;Persist Security Info=False";

 

        public void Connect()

        {

            try

            {

                cn = new OleDbConnection();

                cn.ConnectionString = ConnectionString;

                cn.Open();

            }

 

            catch (Exception exp)

            {

                System.Windows.Forms.MessageBox.Show("Can't connect to SQL Server. " + exp.Message);

                return;

            }

        }

 

        public void Disconnect()

        {

            try

            {

                cn.Close();

            }

            catch (Exception exp)

            {

                System.Windows.Forms.MessageBox.Show("Can't connect to SQL Server" + exp.Message);

                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.MessageBox.Show(exp.Message);

                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.MessageBox.Show("SQL Base Drive.\n" + exp.Message);

                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.4.0; Data Source = db.mdb";

 

        public void registration(string F,string I,string O,string time,string P,string A,string Pass)

        {

            cnt = new OleDbConnection(ConnectionString);

            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],[Фамилия],[Имя],[Отчество],[Дата Рождения],[Полис],[Адрес]) VALUES (@a,@b,@c,@d,@g,@e,@f)", cnt);

            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.Button1);

        }

 

        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.ToInt32(shifr[i]) ^ Convert.ToInt32(key[j]));

                j++;

            }

            return deshifr;

        }

 

        public DataTable doQuery(string query)

        {

            cnt = new OleDbConnection(ConnectionString);

            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(ConnectionString);

            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],[Время]) VALUES (@a,@b,@c,@d)", cnt);

            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.Button1);

            return ID;

        }

    }

}

 



Информация о работе Программирование