MIS课程设计报告书

      管理信息系统课程设计       

          (个人通讯录系统)

          姓名:谭旭

          学号:1007511146

          专业:医药信息工程学院

          班级:医药信息(10)

          指导老师:蔡先发

              目   录

第一章 引言.................................................................................................................... 2

1.1 开发背景............................................................................................................... 2

1.2 开发思路---------------------------------------------------------------------------------------------------2

   1.2.1思考环节---------------------------------------------------------------------------------------------2

   1.2.2组织环节........................................................................................................ 3

1.3可行性分析-------------------------------------------------------------------------------------------------3

   1.3.1技术可行性------------------------------------------------------------------------------------------3

   1.3.2经济可行性------------------------------------------------------------------------------------------4

   1.3.3运行可行性.................................................................................................... 4

第二章 系统分析............................................................................................................ 4

2.1 系统综合分析........................................................................................................ 5

  2.1.1 目标系统要求................................................................................................ 5

  2.1.2 系统功能....................................................................................................... 5

  2.1.3 系统平台及软件选择..................................................................................... 7

2.2 用户需求分析........................................................................................................ 7

2.3 业务流程及其功能分析......................................................................................... 8

第三章 系统设计............................................................................................................ 9

3.1 数据库设计.......................................................................................................... 10

3.2 系统访问界面...................................................................................................... 10

   3.2.1 界面要求 .................................................................................................... 11

3.3 用户登录模块...................................................................................................... 11

3.4 添加联系人模块.................................................................................................. 12

3.5搜索联系人模块-----------------------------------------------------------------------------------------12

3.6删除联系人模块-----------------------------------------------------------------------------------------13

3.7修改联系人模块-----------------------------------------------------------------------------------------14

3.8账户管理模块--------------------------------------------------------------------------------------------15

3.9安全退出模块--------------------------------------------------------------------------------------------16

 第四章 总结语 ........................................................................................................... 17

第一章  引 言

1.1 开发背景

     在生活中,我们是否有过这样的事情:由于自己的失误,把手机里的通讯录联系人不小心删除了,或是由于不小心手机丢失或者被偷了,导致无法联系上自己想要联系的亲戚、朋友、同学、家人,或是由于手机存储空间有限,随着交际的日益增大的时候,有些联系人虽说不常联系,但也我们也不忍心删除,可手机存储空间又不够了-------针对这类问题,确实有在我身上发生过,我作为体验者深有体会,故我借这个课题设计试试着实现一种脱离手机的电子通讯录,名为:个人通讯录。它可以为自己方便地存储联系人,当然它不会受联系人多少的限制,以及最初版本会具备基本的实用功能,随着以后版本的不断更新,我会为这着个人通讯录实现更多实用性功能,壮大此电子通讯录。

1.2 开发思路

当然我作为还没有什么开发经验的学生,在我的学习和努力过程中也经历了从选题,调研,熟悉开发环境,学习实现关键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。

1.2.1 思考环节

    做课题之前当然做了些准备的,也下载了一些小型系统来研究研究,比如成绩管理系统,选课系统,主要是想了解他们设计的基本思想,最值得一提的是学习了他们的采用母版页Masterpage来创建适合的网页。MasterPage是一种模板,可以让你快速的建立相同页面布局而内部不同的网页,如果一个网站有多个MasterPage,那么新建aspx文件的时候就可以选择需要实现页面布局的MasterPage。另外,在你没有使用MasterPage之前,如果N个相同的页面布局需要改动成另外一个样式,那么你就要做很多无聊而又不得不做的工作,对N个页面进行一一更改,如果使用了MasterPage,你只要改动一个页面也就是MasterPage文件就可以了。另外,部署的web程序越来越大,使用MasterPage在一定程度上会减小web程序的大小,因为所有的重复的html标记都只有一个版本。

1.2.2 组织环节

    我经过一系列研究后选定课题,开始我的课题设计,从选题、查询资料、熟悉开发环境-----------到最后的系统测试和系统试运行和修改,以下是组织整个组织环节流程图。

 796aebdce3f518accc11663e[1]

1.3可行性分析

概述:

当今世界,随着我们的交流面和人际关系的不断扩张,手机存储空间难以支持如此多的联系人,加上日益繁忙的现实生活,偶尔让人错失上遗失了手机,种种原因导致联系人无法找回,带来无可挽回的损失,本人设想很有必要实现一种类似电子通讯录的功能,即脱离手机也可以实现通讯录的基本功能。总结个人通讯录小型系统的可行性体现在以下几方面:
  1.技术可行性:目前以我现有的技术,我学习了asp.net和数据库js、html、css相关知识,可对一般的网站进行建设。曾经有做过自己的博客网站,并且在大二的java课中有了一定编程思想,并曾经用java写过类似课题《酒店管理系统》,以上述经验,再者,可参考其他书籍,充分利用百度工具查找难以问题已得到解决。
 2.经济可行性:对于此次开发,我主要是利用课余时间和这几个星期的实验课来完成的。在翻阅图书馆的书籍下,还在大学城二手书店买了本有关C#的书籍,在边自学边做课题的情况下,并按照老师给定的时间三周内圆满完成此次课题设计。
 3.运行可行性

对我的电脑性能测试后,再经过网上参考类似系统和进行测试和实验,得出对该系统的完美运行已能够全力应付。

第二章 系统分析

2.1  系统综合分析

2.1.1  目标系统要求

1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。

2、可靠性。能连续准确的处理业务,有较强的容错功能。

3、可理解性。使用者容易理解和使用该系统。

4、可维护性和适用性。系统应易于修改、易于扩充、易于维护,能够适应业务的不断发展需要。

5、可用性。目标系统功能齐全,能够完成满足基本的通讯录需求。

6、安全保密性。标准系统的物理安全,数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。

2.1.2  系统功能  
   这个简易个人系统作为版本1.0,其功能稍微简单当然是可以理解的,下面介绍它所具有的主要功能,它主要分为五大模块,分别是搜索模块、添加联系人模块、删除联系人模块、修改联系人模块、账户管理模块。 
  1.搜索模块:主要是针对联系人的关键字进行搜索,搜索关键字包括姓名、ID、地址、邮箱、电话。从而得到需要搜索的联系人。 
  2.添加联系人模块:对通讯录以外的联系人进行添加,并未数据库新增一条记录。

3.删除联系人模块:对选中的联系人进行删除,并且删除数据库记录。    
  4.修改联系人模块:对选中的联系人进行修改,并更新到数据库。

5.用户管理模块:对使用者的信息进行管理,修改并更新到数据库,在下次登录时需要使用新的账户信息。

2.1.3 系统平台及软件选择

   选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。

操作系统:Windows 7旗舰版

开发工具与语言:Visual studio 5.0简体中文版

数据库:sqlserver 2005

流程图设计:microsoft Visio 2003

Photoshop CS3

2.2  需求分析

     根据手机的通讯录的常用的功能,简化成了几个通讯录应有的基本功能,并且他的界面方面应该人性化设计,操作简易,美观大方。 总结如下:

1、能够根据权限进行登录,根据权限访问系统数据。

2、该通讯录应具备通讯录的基本功能。

3、界面人性化设计,操作方便易懂。

4、系统所占资源率低,运行流畅。

5、系统维护容易,运行时发生错误的概率的低。

6、对以后的版本升级容易,可以为日后方便地增加其他模块。

7、采用b/s模式开发此系统

2.3   业务流程及其系统功能分析

本系统由于是版本1.0,所以目前功能来说比较简单,所以业务流程比较简单,下面的图表示了简易个人通讯录的基本业务流程,从该流程图可以知道其有的基本功能。

第三章  系统详细设计

3.1 数据库设计

数据库资源管理器如图所示:

创建conact表

创建Manage表

表的结构类型说明:其中conact表中的字段ID设为自动增长,种子增量为1,标志种子为1。

具体设置如下:

3.2系统访问界面

系统的界面需要是人机操作系统的重要组成成分,所以需要对程序系统的界面进行详细的规范,以简洁、实用、美观为主要目的。要在满足功能的前提下尽可能的适应客户对界面的要求。

3.2.1界面要求

3.3用户登录

安全机制问题在进入系统之前,要进行身份确认,只有用户名和密码都相符方可进入此个人通讯录。当密码或者用户名不符合时提示相关信息。

 

核心代码:

         if (reader.HasRows)

            {

                //string id= reader.GetString(0);

                //string pwd = reader.GetString(1);

                if (reader.GetString(0) == TextBox1.Text && reader.GetString(1) == TextBox2.Text)

                {

                    Session["UserID"] = TextBox1.Text.Trim();//保存userid到session里

                    Response.Redirect("login.aspx");

                    //Server.TransferRequest("login.aspx");

                }

                else

                {

                    //Response.Write("<script>alert('密码或者账号不正确')</script>");

                    Tanxu.Utility.AlertMessageBox("密码或者账号不正确", this.Page);

                }

            }

验证成功进入主界面:

主要功能:

实现在进入个人通讯之前的身份验证功能,若登录失败则无法访问任何一个页面。登陆成功现实主界面,主界面显示出所有联系人主要信息,以及相关处理个人通讯录的基础功能。

核心代码:

 private void BindData(string key)

        {

            this.GridView1.DataSourceID = null;

            SqlConnection conn = new SqlConnection();

            conn.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "select row_number() over(order by id) as nID, ID,cName,cAddress,cPhone,cEmail from contact ";

            //

            cmd.CommandText += "where cName like '%" + key + "%'";

            cmd.CommandText += "or cAddress like '%" + key + "%'";

            cmd.CommandText += "or cPhone like '%" + key + "%'";

            cmd.CommandText += "or cEmail like '%" + key + "%'";

            cmd.Connection = conn;

            conn.Open();

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataSet ds = new DataSet();

            da.Fill(ds);

            SqlDataReader reader = cmd.ExecuteReader();

            this.GridView1.DataSource = ds;

            this.GridView1.DataBind();

            reader.Close();

            conn.Close();

        }

3.4 添加联系人模块

主要功能:

实现添加新的联系人,建立新的联系人的相关信息,写进数据库。

核心代码:

        if (Page.IsValid)

        {

            SqlConnection conn = new SqlConnection();

            conn.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "Insert into contact(cName,cAddress,cPhone,cEmail)";

            cmd.CommandText += "Values('" + TextBox1.Text + "','";

            cmd.CommandText += TextBox2.Text + "','";

            cmd.CommandText += TextBox3.Text + "','";

            cmd.CommandText += TextBox4.Text + "')";

         if (TextBox1.Text != "" && TextBox3.Text != "")

            {

                cmd.Connection = conn;

                conn.Open();

                cmd.ExecuteNonQuery();

                conn.Close();

              //  Response.Write("<script>alert('添加成功,按确定返回')</script>");

                Tanxu.Utility.AlertMessageBox("添加成功,按确定返回", this.Page);

                Response.Redirect("login.aspx");

            }

            else

            {

               // Response.Write("<script>alert('姓名和电话不能为空')</script>");

                Tanxu.Utility.AlertMessageBox("姓名和电话不能为空", this.Page);

            }

        }

3.5 搜索功能

主要功能:对联系人进行查询,并且显示相关信息,当输入关键字段时,就会显示相应的联系人具体信息。同时,也可以对查询出来的联系人进行其他操作。

比如如下输入:张,点击“搜索”后显示出姓张的联系人数据。然后点击“显示全部”回到所有联系人页面。

3.6删除联系人模块

主要功能:对选定的联系人进行删除,相应的数据库数据也将删除。

核心代码:

if(string.IsNullOrEmpty(this.ID))

{

            return;

        }

        SqlConnection conn = new SqlConnection();

        conn.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];

        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "delete from contact where ID="+this.ID;

        cmd.Connection = conn;

        conn.Open();

       int count = cmd.ExecuteNonQuery();

        conn.Close();

        if(count>0){

            Response.Write("<script>alert('删除成功')</script>");

            Response.Redirect("login.aspx");

 }

3.7修改联系人模块

主要功能:对选定的联系人进行修改,更新到相应的数据库数据

核心代码:

 if (Page.IsValid)

        {

            SqlConnection conn = new SqlConnection();

            conn.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "update contact set cName='" + TextBox1.Text;

            cmd.CommandText += "', cAddress='" + TextBox2.Text;

            cmd.CommandText += "', cPhone='" + TextBox3.Text;

            cmd.CommandText += "', cEmail='" + TextBox4.Text + "'";

            cmd.CommandText += "  where ID= " + this.contactID;

            cmd.Connection = conn;

            conn.Open();

            cmd.ExecuteNonQuery();

            conn.Close();

            Response.Redirect("login.aspx");

        }

添加方法: void IntialData(int ID)

    {

        SqlConnection conn = new SqlConnection();

        conn.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];

        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "select cName,cAddress,cPhone,cEmail from contact";

        cmd.CommandText += "  where ID=" + ID;

        cmd.Connection = conn;

        conn.Open();

        SqlDataReader reader = cmd.ExecuteReader();

        //while(reader!=null){

        if (reader != null)

        {

            reader.Read();

        }

        if (reader.HasRows)

        {//has record

            this.TextBox1.Text = reader.GetString(0);

            this.TextBox2.Text = reader.GetString(1);

            this.TextBox3.Text = reader.GetString(2);

            this.TextBox4.Text = reader.GetString(3);

        }

        reader.Close();

        conn.Close();

    }

3.8账户管理模块

主要功能:对账户信息进行更新操作。

核心代码:

 加入方法:

   void getmanage()

    {

        SqlConnection conn = new SqlConnection();

        conn.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"];

        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "select manage_id,password from manage";

        cmd.Connection = conn;

        conn.Open();

        SqlDataReader reader = cmd.ExecuteReader();

        reader.Read();

        this.TextBox1.Text = reader.GetString(0);

        this.TextBox2.Text = reader.GetString(1);

        reader.Close();

        conn.Close();

    }

按钮下加入:

        if(Page.IsValid)

        {

            SqlConnection conn = new SqlConnection();

conn.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"];

SqlCommand cmd = new SqlCommand();

            cmd.CommandText="update manage set manage_id='"+TextBox1.Text;

            cmd.CommandText+="',password='"+TextBox2.Text+"'";

            if (TextBox3.Text == TextBox2.Text)

            {

                cmd.Connection = conn;

                conn.Open();

                cmd.ExecuteNonQuery();

                conn.Close();

                //Response.Write("<script>alert('更改成功,点击确定返回')</script>");

                Tanxu.Utility.AlertMessageBox("更改成功,点击确定返回", this.Page);

                TextBox3.Text = "";

                getmanage();

            }

            else {

                TextBox3.Text = "";

                Tanxu.Utility.AlertMessageBox("密码不一致,更改失败", this.Page);

            }

        }

    }

3.9安全退出模块

主要功能:对保存的用户信息的cookie清除,安全退出个人通讯录。返回到登陆页面。

核心代码:

 protected void Button_LoginOut_Click(object sender, EventArgs e)//退出

    {

        //把session清空就是了

        Session.Clear();

        Session.Abandon();

        Response.Redirect("login_in.aspx");

}   

              第四章  总结语

     刚开始,老师布置这个课题时,感觉有点压力,毕竟没有真正系统地用C#来做一个完整的系统,但是通过实验课做的实验,所学知识已经基本已涵盖我们常见的增删改功能,所以只要我们组织好这些知识,再向外界补充所必要的知识,做出一个稍微简单的系统还是比较简单的。所以后来的时间都在准备,并且补充些必要的知识,比如css、javascrip、存储过程等知识,边学习的过程中也在研究他人所做的类似小系统。从中学习了许多技巧的经验。

     当然,在做的时候也遇到许多问题,除了在网上寻找答案,也得到同学的帮助,共同进步,最主要的是通过此次课程设计学到了许多的编程思想,许多有用的技巧,比如采用mvc模式进行开发,使用母版页设计减少开销、减少编程,使用css样式使外观更出众,希望老师以后能让我们多做项目,并教授老师做项目的经验,以便我们能在实践中学习------

     这作为我学习C#来做完整系统系统的处女作,功能方面虽然没有很完善,但已经基本具备通讯录的大部分主要功能,但是,在以后的学习中,我会随着我的知识的不断完善,而不断对其进行功能方面和外观方面进行完善,相信随着版本的不断升级,一个实用性的通讯录会产生。

参考文献  
  [1]《asp.net网络应用开发例学与实践》,郭常圳、李云锦主编,清华大学出版社  
  [2]《管理信息系统(第四版)》,黄梯云主编,高等教育出版社 

[3]《数据库系统概论(第四版)》,王珊,萨师宣主编,高等教育出版社

[5]《asp.net(C#)基础教程》,李勇平主编,清华大学出版社

[6]《photoshopCS3平面设计与制作》,崔建成主编,高等教育出版社

相关推荐