管理信息系统课程设计
(个人通讯录系统)
姓名:谭旭
学号: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.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平面设计与制作》,崔建成主编,高等教育出版社
XXXXXXX机电学院电子课程设计报告论文题目多功能电子表设计专业班级电气工程及其自动化123姓名时间20xx060920xx06…
华东交通大学课程设计报告书所属课程名称计算机网络原理题目院系软件学院班级软件工程20xx5班学号学生姓名指导教师谢昕辅导教师谢昕2…
信息工程学院网页设计与制作课程设计报告书指导教师专业班级姓名学号日期20xx年6月4日20xx年6月10日网页设计与制作课程设计一…
河南城建学院面向对象程序设计课程设计报告书设计题目企业人事管理系统指导老师崔雪冰蔡照鹏张妍琰学生学号083410109学生姓名王丽…
超声波测距仪课程设计报告书目录引言2超声波测距设计方案21总体方案设计介绍22硬件电路设计33系统程序的设计64设计总结12附件1…
管理信息系统课程设计报告课程设计任务书一课程设计课题题目安徽工程大学地下超市收银系统开发二课程设计原始资料地下超市商品信息三课程设…
课程设计课程名称管理信息系统课程设计题目名称学生学籍信息管理系统学生学院广东工业大学商学院专业班级电子商务10学生姓名杨百川411…
MIS课程设计报告书南通大学商学院MIS课程设计报告书设计题目系统设计专业班级国贸131学生姓名学号13040120xx13040…
MIS课程设计课设题目:中国电信(江苏分公司)供应链管理系统学院管理学院专业___市场营销________班别___09市场营销(…
信息工程学院网页设计与制作课程设计报告书指导教师专业班级姓名学号日期20xx年6月4日20xx年6月10日网页设计与制作课程设计一…