1、通讯录管理系统湖南人文科技学院计算机系课程设计说明书课程名称:软件工程导论课程代码:408029题 目:通讯录管理系统年级/专业/班:09级计算机科学与技术二班学生姓名:李亚运、胡雨婷、吴浩宇、宋昕、何旭华学 号 :09408240、18、26、29、32指导老师:颜富强开题时间:2011年6月6日完成时间:2011年6月30日课程设计任务书及成绩评定课程名称:软件工程导论完成者:李亚运、胡雨婷、吴浩宇、宋昕、何旭华1、设计的目的与要求 1)加强学生的实践能力;2)理解小型系统开发的基本步骤; 3)本系统的功能包括:用户登录模块、通讯录的管理模块(包括基本的查询、修改、删除、增加)等。2、设计
2、进度及完成情况日 期内 容6.5-6.7项目开发计划书6.8-6.10系统可行性研究 6.11-6.15系统需求分析 6.16-6.23系统设计 6.24-6.27系统测试 6.28-6.30项目的递交3、成绩评定设计成绩: (教师填写)指导老师: (签 字)2011 年 月 日目 录第一章 项目开发计划书 11.1 引言 11.1.1 编写目的 11.1.2 背景 11.2 项目概述 11.2.1 工作内容 11.2.2 主要参加人员 11.2.3 产品 21.2.4 服务 21.2.5 验收标准 21.2.6 本计划的批准者和批准日期 21.3 实施计划 21.3.1 工作任务的分配与人员
3、分工 21.3.2 进度 31.4 支持条件 31.4.1 计算机系统支持 3第二章 可行性分析 42.1 可行性研究前提 42.2 对现有系统的分析 42.3 建议新系统 42.3.1 新系统说明 42.3.2 新系统的流程图 52.4 经济上可行性 52.5 技术可行性 52.6 开发工具的选择 62.7 新系统的影响 62.8 结论 6第三章 需求分析 73.1 市场需求分析 73.2 系统功能性需求分析 73.2.1 功能划分 73.2.2 功能描述 73.3 系统非功能性需求 73.3.1 可用性 73.3.2 可靠性 83.4 数据字典 83.5 实体-联系图 9第四章 系统设计
4、104.1 总体设计 104.1.1 需求概述 104.1.2 联系人管理系统功能设计 104.2 功能模块的设计与实现 114.2.1 用户注册模块 114.2.2 用户登录模块 114.2.3 用户管理自己联系人信息模块 12第五章 系统测试 135.1 测试的作用和意义 135.2 测试方法 135.3 测试内容 135.4 测试结果 145.4.1 注册和登录模块测试 145.4.2 查询模块测试 145.4.3 联系人信息添加、修改和删除模块测试 155.5 结论 15第六章 总结 16参考文献 17附录:程序主要部分源代码 17第一章 项目开发计划书1.1 引言 1.1.1 编写目
5、的通讯录管理系统是一个专门针对存储用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅功能,大大缩减了查找时间,方便了人们的生活。1.1.2 背景日益繁多的人际交往使得我们很难搞清楚每个人之间的联系方式,特别是对于经常出差的人来说更难,所以,通讯录能够便捷的提供给我们所需要的相关信息。而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多人靠计算机来记住这些事情。这就需要建立一个通讯录管理系统,使得用户可以方便的通过自己电脑的通讯录管理系统,随时查阅自己所需要的信息,而不必大费周章的去翻记事本。1.2 项目概述1.2.1 工
6、作内容通讯录管理系统针对用户是所有需要对自己通讯录进行管理的用户,针对对象比较广泛。添加新通讯录模块、查找通讯录模块、删除通讯录模块、修改密码模块。该系统需要实现如下功能:添加新通讯录的功能 :主要是想让用户在想要保存的他人的个人信息时对他人信息进行添加。 查找通讯录:主要是用户在需要查找他人信息的时候可以随时的进行查找删除通讯录:用户可以对某些不需要的信息的时候,可以对其进行删除。修改密码: 用户可以对信息进行安全化的管理。1.2.2 主要参加人员 组长:李亚运 。设计: 胡雨婷、吴浩宇。开发: 李亚运、宋昕、何旭华。1.2.3 产品1 系统开发计划书2 系统需求说明书3 系统设计说明书4
7、测试计划5 一个能正确运行的可执行程序 源程序清单(有注释)1.2.4 服务安装、维护和运行支持从使用该系统开始,维护期限为一年。 1.2.5 验收标准 各个功能均能正常使用,满足用户的需求。1.2.6 本计划的批准者和批准日期 批准者:颜富强批准日期:2011年6月6日1.3 实施计划1.3.1 工作任务的分配与人员分工组长: 任务: (1)系统总的开发计划书 (2)每周至少组织小组讨论一次,列出本周开发计划 (3)项目开发进度的管理 (4)团队的组织和协调设计: 任务: (1)参与小组讨论 (2)进行系统的需求分析和系统设计 (3)完成系统需求说明书和系统设计说明书 (4)编写测试计划,参
8、与系统测试 (5)协助文档人员完成用户相关文档开发: 任务: (1)参与小组讨论 (2)根据设计完成编码,并注释 (3)进行单元测试1.3.2 进度 系统规划阶段: 项目标志性事件 开始到完成开发阶段: 项目开发计划书的完成 6.5-6.7需求分析阶段: 系统需求说明书完成 6.8-6.10设计阶段: 系统设计说明书 6.11-6.15编码实现: 项目的形成 6.16-6.23测试阶段: 测试计划 6.24-6.27移交阶段: 项目的递交 6.28-6.301.4 支持条件1.4.1 计算机系统支持操作系统需要: windows 2000 及以上;第二章 可行性分析2.1 可行性研究前提要求:
9、满足客户查找、添加通讯录的要求,并对联系人的资料具有保密性。目标:建立一个方便、快捷的通讯录管理系统,CPU占用率低,但程序运行流畅。条件、假定、限制:本软件自开发到运行结束至少可运行5年,开发成本不超过500人民币,开发软件到投入使用不超过1个月。2.2 对现有系统的分析如今没有一个专门用于储存、查找通讯录的平台。人们想要联系朋友、同事、亲人主要是翻看记事本或是电话薄。这样做不仅花费大量时间,而且效率不高,浪费了大量的人力、物力、财力。在生活节奏日益加快的今天,这种状况已无法满足人们的对通讯录效率的要求了。2.3 建议新系统2.3.1 新系统说明新系统能够为用户联系客户、同事、亲友提供一个良
10、好的平台。使用户能够快速、便捷的找到需要联系的人,提高了工作效率。而且本系统界面友好,操作简单,对硬件要求不高,且用户的花费是较低,因此十分有利于推广。2.3.2 新系统的流程图图1 新系统的流程图2.4 经济上可行性开发成本:500元人民币。效益:暂时无法具体衡量。效益/投资比:暂时无法估算。投资回收期:大约2个月。2.5 技术可行性软件需求:操作系统WINDOWS 2000 及以上。硬件需求:赛扬1.7G CPU、512M内存 80G硬盘的计算机。使用语言为:C+2.6 开发工具的选择这次开发以功能强大的Microsoft Visual C+ 6.0 作为开发工具;因为我们目前对数据库知识
11、了解不够,因此这次开发中没有运用数据库,仅以文件形式保存相关数据。2.7 新系统的影响 设备的影响:创建新系统需要添置一台性能良好的服务器。 人员的影响:新系统需要一个专职维护人员。 用户的影响:用户可准确、高效的添加和查找信息。 2.8 结论 综上所述,通讯录管理系统在技术非常成熟,主客观条件都具备,且具有良好的效益,因此开发此系统是可行的。为了方便人们的联系,建议立即开发。第三章 需求分析3.1 市场需求分析过去人们他人信息的管理主要是通过随记,名片等方式 。这些方式在查找的时候相当浪费时间,效率十分低下。现在通过通讯录管理系统对他人信息就行管理,不仅节约时间,同时检索迅速、查找方便、可靠
12、性高、存储量大、保密性好。这样极大的提高了通讯录管理的效率。 3.2 系统功能性需求分析3.2.1 功能划分本系统的目标使用人群是广大的电脑用户,将有助于改善通讯录管理,对通讯录进行系统化的管理,方便人们互相联系。用户首先通过该系统注册功能建立自己的通讯录。其中涉及到密码的设置,用户在登录的时候会用到用户名和密码。用户在登录该系统后,可以对通讯录联系人信息进行添加、删除、修改、查询等操作。其中密码的设置是为了用户通讯录的安全性。3.2.2 功能描述添加联系人:方便用户添加联系人资料,以方便互相联系。查找联系人:为用户提供方便快捷的查找,方便用户在联系人很多的时候,快速找到想要的联系人资料。删除
13、联系人:保证用户可以及时删除已失效的联系人资料,使得通讯录管理更高效。修改密码: 确保用户可以随时更改自己的密码,以防信息泄漏。3.3 系统非功能性需求3.3.1 可用性 本系统针对的对象比较广泛,可以是学生、公司管理人员等等。因此对本系统的可操作性和易用性都提出了很高的要求。过于复杂的操作将不可避免的损失大量的用户,本系统应能让任何用户都不必借助任何操作手册或相关的系统帮助就能顺利地进行各种操作。3.3.2 可靠性系统建成后预计将有大量的用户用该系统进行通讯录的管理,因此对系统的稳定性也有比较高的要求。一旦系统不能正常工作,会给用户群带来巨大的损失也将导致失去用户对系统的信任。3.4 数据字
14、典通过系统需求分析,对通讯录管理系统编制数据字典如下:各主要数据流的定义如表1至表3所示。表1表2表 33.5 实体-联系图根据需求分析,可以画出系统E-R图如下:图2 通讯录管理系统E-R图 第四章 系统设计4.1 总体设计4.1.1 需求概述本系统的目标是建立一个操作简单、管理高效的联系人信息管理平台。使得用户可以在本系统的帮助下,可以非常方便的与他人互相联系。因此,本系统需要实现对联系人信息的添加、删除、查询和修改的功能。同时为了保证用户的个人信息的安全,系统还需要有密码功能。在用户使用前必须在系统注册,登录。即系统还需实现用户的注册、登录功能。4.1.2 联系人管理系统功能设计根据系统
15、需求分析和系统功能模块结构图来看,该系统应具备如下基本功能: 用户注册 已注册用户的联系人信息添加、修改、查询、删除等。其功能模块结构图如下:图3 程序功能模块图4.2 功能模块的设计与实现4.2.1 用户注册模块用户如果想要注册,则按要求输入信息,包括用户名,密码,确认密码。输入完后点击“注册”,则系统自动转入登录界面。注册界面如下:图4 注册界面4.2.2 用户登录模块 用户可在登录界面输入用户名和密码。输完后点击“登录”系统即会跳转到相应的用户界面。期间点击“重置”可重新输入用户名和密码。图5 登录界面4.2.3 用户管理模块本系统的注册用户在登录之后,系统会在主界面显示出该当前用户的所
16、有联系人资料,如下图所示:图6 用户管理主界面4.2.4 添加联系人模块本系统的注册用户在登录之后,会进入系统主界面,点击界面左上角的添加按钮,即可进入添加联系人模块,如下图所示:图7 添加联系人信息界面4.2.5 删除联系人模块本系统的删除联系人功能是设置在鼠标右键,进入系统主界面之后,选中想要删除的联系人,点击鼠标右键,即可进入删除联系人模块,如下图所示:图8 删除联系人信息界面4.2.6 修改联系人模块本系统的修改联系人功能也是设置在鼠标右键,进入系统主界面之后,选中想要删除的联系人,点击鼠标右键,即可进入修改联系人模块,如下图所示: 图9 修改联系人信息界面4.2.7 查询联系人模块系
17、统的查询联系人功能主要是表现在快速定位,用户可以通过主界面右上角的搜索框,快速找到想找的联系人。如下图所示:图10 快速查找联系人界面4.2.7 修改密码模块系统的修改密码功能主要是为了防止用户密码因为泄漏而导致个人损失,用户可以通过点击修改密码按钮进入修改密码模块。如下图所示:图11 修改密码界面第五章 系统测试5.1 测试的作用和意义系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、
18、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的4050。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。因此做好系统交付前的系统测试的目的就是在系统在投入生产性运行之前,尽可能多的发现系统的潜在错误,这是保证系统质量的关键,也是减少系统后期维护投入的最佳方法。5.2 测试方法本次测试主要是对系统进行黑盒测试。由未参与系统编程的组员参与。通过设计不同的等价输入类对系统的各项功能进行反复运行,观察系统的返回结果来判断系统的各项功能的实现情况。5.3 测试内容1 软件的正常运行、关闭及退出时
19、保存记录情况。2 用户界面是否友好,可操作性及安全性能是否良好。3 数据库的可维护性好,数据的录入、删除及更改是否能顺利完成。4 各模块的共能是否能达到预期要求。5 系统的稳定性是够良好。5.4 测试结果5.4.1 注册和登录模块测试经过测试,用户能在本系统进行正常的注册和登录,并在用户输入不存在的用户名或错误的密码后能给出提示。说明本系统的注册和登录模块的各项功能都圆满实现了。图12 输入错误的用户名或密码后系统的提示界面5.4.2 查询模块测试在本系统的搜索框中输入不同类容进行搜索时系统都能返回准确的结果。例如下图是在搜索输入框中输入“姓名”,系统返回的结果,从中可看出本系统的搜索功能可以
20、正常运行,即说明本系统的查询模块的各项功能都能良好实现。图13 搜索结果界面5.4.3 联系人信息添加、修改和删除模块测试通过在本系统添加若干个房屋信息和系统返回的结果观察,可知本系统的信息发布、修改和删除等各项功能均运行良好。图14 5.5 结论经过反复测试,系统完成后运行用户注册、登录、管理联系人信息等功能均正常,发布1.0版。虽然此系统仍存在许多缺陷,但是通过该系统设计达到了系统设计目的意义,基本掌握了软件开发的主要步骤,了解了各环节在开发时要注意的问题,从方便用户的角度出发,去考虑开发出好的软件。另外,在设计过程中我们也学会了团队合作,了解了团队精神的可贵。因此本设计虽然较粗糙,但是从
21、学习的角度上看,非常有意义。第六章 总结在本系统的开发过程中,使我们更清楚的了解了 C+系统的开发流程, 但由于是第一次把 C+ 语言应用于MFC工程, 因此系统必然会存在一些缺陷和不足,特别是在功能方面不是很完善,但我们会在今后的学习过程中不断修改,使系统更加完善。这次课程设计使我们懂得了理论和实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识和实际相结合,从理论中得出结论,才能真正提高自己的动手能力和独立思考能力。在本次课程设计中,我们受益匪浅,这对于我以后的工作和学习都有很大的好处。在此,感谢颜富强老师耐心的辅导。另外,在系统开发过程中通过组员之间的密切合作,大家互相
22、帮助,勇于向实际困难挑战,基本完成此次设计,这极大的增强了团队合作意识。参考文献1 张海藩著,软件工程导论(第五版),清华大学出版社,2008年2 郑人杰著,软件工程,人民邮电出版社,2009年3 孙鑫余安萍著,VC+深入详解,电子工业出版社,2007年附录:程序主要部分源代码登录界面主要程序部分:/ prj01Dlg.cpp : implementation file/#include stdafx.h#include prj01.h#include prj01Dlg.h#include #include Message.h#include Register.h#ifdef _DEBUG#d
23、efine new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic: CAboutDlg(); / Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAb
24、outDlg)protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL / Implementationprotected: /AFX_MSG(CAboutDlg) /AFX_MSG DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD) /AFX_DATA_INIT(CAboutDlg) /AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataEx
25、change* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CPrj01Dlg dialogCPrj01Dlg:CPrj01Dlg(CWnd* pParent /*=NULL*/): CDialog(CPrj01Dlg:IDD, pParent) /AFX_DATA_INIT
26、(CPrj01Dlg) m_username = _T(); m_password = _T(); /AFX_DATA_INIT / Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CPrj01Dlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CPrj01Dlg) DDX_Control(p
27、DX, IDC_REGISTER, m_RegStatic); DDX_Text(pDX, IDC_EDIT1, m_username); DDX_Text(pDX, IDC_EDIT2, m_password); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CPrj01Dlg, CDialog)/AFX_MSG_MAP(CPrj01Dlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, OnEnter) ON_BN_CLICKED(IDC_BUTTON2, OnBu
28、tton2) ON_BN_CLICKED(IDC_REGISTER, OnRegister) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CPrj01Dlg message handlersBOOL CPrj01Dlg:OnInitDialog() CDialog:OnInitDialog(); / Add About. menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); /
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1