生产实习报告通讯录.docx
- 文档编号:6035577
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:11
- 大小:76.84KB
生产实习报告通讯录.docx
《生产实习报告通讯录.docx》由会员分享,可在线阅读,更多相关《生产实习报告通讯录.docx(11页珍藏版)》请在冰豆网上搜索。
生产实习报告通讯录
目录
1问题定义1
2可行性研究2
2.1项目概述2
2.2可行性分析2
3需求分析3
4总体设计4
4.1系统体系结构4
4.2模块详细说明4
4.3数据库设计4
5详细设计5
5.1人机界面设计5
5.2过程设计5
6测试9
6.1黑盒测试9
7结论11
参考文献12
1问题定义
设一个通信录由以下几项数据信息构成:
数据项类型
姓名字符串
地址字符串
邮政编码字符串
电话号码字符串
试为通信录数据定义类型和定义通信录变量,实现功能:
存取、显示、删除记录、查询记录等功能。
2可行性研究
2.1项目概述
通过数据库存储通讯录,通过对数据库的操作实现对通讯录的存取,显示,删除,查询的功能。
建设信息管理系统的必要性取决于需求的迫切性和现实的可行性。
因此在进行系统调查之后就应该进行可行性分析。
可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程。
可行性分析的主要目标是进一步分析和澄清问题定义,进一步明确系统的目标、规模和功能,对系统开发的背景、必要性和意义进行调查分析并根据需求提出开发系统的初步方案和计划。
它对初步调查进行复审,重新明确问题,对所提系统大致规模和目标及约束进行论证。
一般来说,可行性分析应该在技术可行性、经济可行性金额操作可行性3个方面尽心研究。
该通讯录信息管理系统也从这3个方面进行可行性分析,并论证通讯录信息管理系统建设的必要性和可行性。
2.2可行性分析
(1)技术上的可行性。
由于对通讯录这一类的联系记录管理系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。
(2)经济上的可行性。
由于通讯录管理系统是一个比较小型的系统,是由我一个人进行开发的,所以从人力、物力方面来说都是可行的。
(3)操作可行性。
这个当然难不倒我们,因为我们有专业的管理员,可行性研究进一步探讨问题定义阶段的问题是否有可行的解。
在对问题正确定义的基础上,通过分析问题,导出试探性的解,然后复查并修正问题定义,再次分析问题,改进提出的问题,以便最后保证系统的正常运行
3需求分析
通讯录是人与人之间交流必不可少的工具之一,它能为用户提供及时、准确联系人信息,对于每个用户来说是非常重要的,但是,用纸和笔记录联系人信息的时代已经远远满足不了我们的需求,而且这种方法费时费力,很不方便快捷,对联系人信息的安全性和保密性也不高。
因此在科技高速发展计算机已经应用到各个领域的今天,用计算机管理联系人信息已经势在必行,并且它具有人力记录无可比拟的优点,如速度快、使用方便快捷、数据保密性和安全性好、易于查询,修改和删除等。
因此,开发这个通讯录信息管理系统是非常有必要性的。
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。
需求分析是指在信息管理系统开发生命周期中系统详细调查阶段的各项活动和方法。
需求分析的目标是按照系统规划原则在系统开发生命周期中详细调查阶段的各项活动和方法。
通常对软件系统有功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求和将来可能提出的要求等方面的综合要求。
需求分析的目标是按照系统规划原则,在系统项目的范围内,具体明确系统开发的目标和用户的信息要求。
通过对现行系统的管理水平、原始数据的精确程度、规章制度是否齐全和切实可行、部门级别中是否能够抽调出比较精通本行业管理业务并且对本单位存在问题有深刻理解的相关人员等内容的详细调查,从而获得软件开发的基础,确定总体设计的限制条件,确认软件测试的具体要求,定义详细的功能模块,以求达到协助系统开发的根本目的。
在通讯录管理系统中,对使用者来说他们所关心的问题其实是如何方便地添加、修改、删除以及如何查询人们的通讯信息,所以对上述的“需求”进行分析之后,可以得到一个面向使用者的简单需求分析并得出系统在面向用户方面应该至少做到如下几点:
(1)通讯信息的查询 其包括:
姓名、手机、家庭住址、邮编这四项信息。
(2)通讯信息的删除——在表格中选中要删除的信息再删除。
(3)通讯信息的添加——添加姓名、手机、家庭住址、邮编(也可以添加其中的几项)。
(4)通讯信息的修改——修改姓名、手机、家庭住址、邮编(也可以修改其中的几项)。
(5)基于这些问题出发,可以得到系统该具有如下功能:
a.系统以菜单方式工作;
b.录入信息用表(数据库)保存;
c.能添加、修改和增删联系人通讯录;
d.能够查询所有的人员信息(用表格输出)。
4总体设计
4.1系统体系结构
图4.1系统体系结构图
4.2模块详细说明
存取:
通过数据库inster语句实现插入存功能,通过数据库updata语句实现修改存功能
显示:
通过数据库select语句实现查功能,显示联系人名字
删除:
通过数据库delete语句实现删除功能,删除联系人信息
查询:
通过数据库select语句实现查功能,查询联系人详细信息
4.3数据库设计
通讯录中用到联系人表,所以新建表Linkman,如图4.2Linkman数据表设计
图4.2Linkman数据表设计
5详细设计
5.1人机界面设计
人机交互界面设计,如图5.1人机界面图
图5.1人机界面图
5.2过程设计
数据库连接代码类DbConn.cs如下:
classDbConn
{
publicDataTablegetData(stringsql)
{
stringstc=ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
System.Data.SqlClient.SqlConnectionsqc=newSystem.Data.SqlClient.SqlConnection(stc);
sqc.Open();
System.Data.SqlClient.SqlCommandcom=sqc.CreateCommand();
com.CommandText=sql;
com.CommandType=CommandType.Text;
System.Data.SqlClient.SqlDataAdaptersda=newSystem.Data.SqlClient.SqlDataAdapter(com);
System.Data.DataSetds=newDataSet();
sda.Fill(ds);
sqc.Close();
returnds.Tables[0];
}
publicBooleanupData(stringsql)
{
stringstc=ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
System.Data.SqlClient.SqlConnectionsqc=newSystem.Data.SqlClient.SqlConnection(stc);
sqc.Open();
System.Data.SqlClient.SqlCommandcom=sqc.CreateCommand();
com.CommandText=sql;
com.CommandType=CommandType.Text;
intln=com.ExecuteNonQuery();
Booleantemp=ln==1;
sqc.Close();
returntemp;
}
publicBooleaninsert(stringsql)
{
stringstc=ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
System.Data.SqlClient.SqlConnectionsqc=newSystem.Data.SqlClient.SqlConnection(stc);
sqc.Open();
System.Data.SqlClient.SqlCommandcom=sqc.CreateCommand();
com.CommandText=sql;
com.CommandType=CommandType.Text;
intln=com.ExecuteNonQuery();
Booleantemp=ln==1;
sqc.Close();
returntemp;
}
publicBooleandelete(stringsql)
{
stringstc=ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
System.Data.SqlClient.SqlConnectionsqc=newSystem.Data.SqlClient.SqlConnection(stc);
sqc.Open();
System.Data.SqlClient.SqlCommandcom=sqc.CreateCommand();
com.CommandText=sql;
com.CommandType=CommandType.Text;
intln=com.ExecuteNonQuery();
Booleantemp=ln==1;
sqc.Close();
returntemp;
}
}
其中ConfigurationManager.ConnectionStrings["connString"].ConnectionString的代码:
--数据库连接字符串-->
实现联系人增删改查操作的代码类LinkmanDaoImpl.cs如下:
classLinkmanDaoImpl:
ILinkmanDao
{
privatestringname;
privatestringphone;
privatestringaddress;
privatestringpostcode;
privateDbConnconn;
//获取数据库列名
publicLinkmanDaoImpl()
{
stringsql="select*fromLinkman";
conn=newDbConn();
DataTabletable=conn.getData(sql);
List
for(inti=0;i
{
temp.Add(table.Columns[i].Caption.ToString());
}
name=temp[0].ToString();
phone=temp[1].ToString();
address=temp[2].ToString();
postcode=temp[3].ToString();
}
//查看联系人的抽象方法
publicList
{
stringsql="select"+name+","+phone+","+address+","+postcode+"fromLinkman";
DataTabletable=newDataTable();
table=conn.getData(sql);
List
for(inti=0;i
{
Linkmanlinkman=newLinkman(table.Rows[i][0].ToString(),table.Rows[i][2].ToString(),table.Rows[i][3].ToString(),table.Rows[i][1].ToString());
temp.Add(linkman);
}
returntemp;
}
//更新联系人的抽象方法
publicBooleanlink_update(LinkmanLinkman,stringname)
{
stringsql="updateLinkmanset"+this.name+"='"+Linkman.getName()+"',"+phone+"='"+Linkman.getPhone()+"',"+address+"='"+Linkman.getAddress()+"',"+postcode+"='"+Linkman.getPostcode()+"'"+"where"+this.name+"='"+name+"';";
Booleantemp;
temp=conn.upData(sql);
returntemp;
}
//添加联系人的抽象方法
publicBooleanlink_insert(LinkmanLinkman)
{
stringsql="insertintoLinkman("+name+","+phone+","+address+","+postcode+")values('"+Linkman.getName()+"','"+Linkman.getPhone()+"','"+Linkman.getAddress()+"','"+Linkman.getPostcode()+"');";
Booleantemp;
temp=conn.insert(sql);
returntemp;
}
//删除联系人的抽象方法
publicBooleanlink_delete(stringname)
{
stringsql="deletefromLinkmanwhere"+this.name+"='"+name+"';";
Booleantemp;
temp=conn.delete(sql);
returntemp;
}
}
6测试
该通讯录使用黑盒测试。
测试数据为添加联系人:
姓名=test,地址=shenyang,邮编=110159,联系方式=1234567891011。
实现该数据的存储,删除,查询功能
6.1黑盒测试
添加成功,如图6.1添加联系人
图6.1添加联系人
实现了添加联系人test的功能,添加正确。
查看联系人,如图6.2查看联系人
图6.2查看联系人
实现了查看联系人的功能,联系人的详细信息在右边得到了显示。
删除联系人,如图6.3删除联系人
图6.3删除联系人
删除联系人成功,左边联系人list中已经没有联系人test,并且已经查不到test的信息
7结论
经过不懈努力,通讯录基本开发完毕。
本系统的内容涵盖了联系人姓名、手机号、家庭住址和邮编信息组成,其系统功能基本符合用户需求。
本系统的每一个管理子系统均尽量做到内容详备合理、界面友好、查询方便快捷。
虽然本系统总体功能已经基本实现,但由于时间和知识储备有限等关系,数据验证还不完全,还存在一些问题。
经过将近几天的“艰苦奋斗”,我终于完成了面向对象课程设计。
通过这次令人“痛苦”的经历,我终于体会到,作为一名编程人员,绝没有原本想象中的那么轻松潇洒,而是处处充满了曲折和艰辛。
首先,我们要对软件过程的基本概念、相关方法和技术有清楚的理解和认识,要懂得在开发软件工程中,工程思想的重要性,软件界面的是不是美观,操作是不是简单都直接关系到软件自身的应用前景及其经济效益,学会吸收商业软件的优点,是一个很重要的学习方法。
同时,必须理解用户的需求,从而明确所要编写程序的功能,倘若不知道所要编的程序目的何在,那么编程时就会失去目标,程序自然编不好,也就是说要先进行“需求分析”。
然后,要明确编程思想,即在编程之前要对程序有一个总体的构思、总体的框架;这样编程时才能条理清晰,不致出现程序结构混乱的错误。
完成了总体设计之后,再进行详细设计、模块设计,这样编程时才能心中有数。
最后,就是平时素材的积累,这次软件工程课程设计是我们很好的一个实践磨练,时序图以及活动图,也让我学到更多的方法和知识,更加清楚的了解软件系统的流程和框架,这对我们是一笔很宝贵的财富和经验。
参考文献
[1]刘洪峰,陈江波.网络开发技术大全[M].人民邮电出版社,2005:
119-143.
[2]程成,陈霞.软件工程[M].机械工业出版社,2003:
46-80.
[3]舒红平.Web数据库编程-Java[M].西安电子科技大学出版社,2005:
97-143.
[4]薛华成.管理信息系统第3版[M].北京:
清华大学出版社,1999.
[5]王珊.数据组织与管理[M].北京:
经济科学出版社,1996.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生产 实习 报告 通讯录