课程设计方案模块张健东_第1页
课程设计方案模块张健东_第2页
课程设计方案模块张健东_第3页
课程设计方案模块张健东_第4页
课程设计方案模块张健东_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

个人资料整理 仅限学习使用《高级语言课程设计》题目:通讯录程序班级:2018级软件学院软件工程05班学生学号:201831000812学生姓名:郭富城指导老师: 殷建军提交时间:2018年4月28日成绩:功能完整性<40分)界面美观性<10分)设计合理性及创新性<20分)答辩表现<20分)报告撰写质量<10分)华南农业大学信息学院目录<1<2<3<31.1<31.2<31.3<4<5个人资料整理 仅限学习使用2.1<52.2<52.3<62.4<8<10<174.1<174.2<23<26<33问题描述简要描述1<1<2<<3<4<5 <<6 <2<1<2<3<4<53<1<21.1 系统功能分析1.2 开发平台及工具介绍Windows7个人资料整理 仅限学习使用开发工具:VisualC++6.0系统设计2.1 系统总体结构设计单用户选择用户界面修改联系人信息删除联系人信息 查找联系人信息显示分类信息 统计功能用户密码修改 注销用户注册功能设置关于软件退出程序2.2 数据结构设计主要数据的结构:用户的通讯录信息数据在载入程序后以 Treap的形式存在。 Treap 是一棵二叉排序树,它的左子树和右子树分别是一个 Treap,和一般的二叉排序树不同的是, Treap 纪录一个额外的数据,就是优先级。 Treap在以关键码构成二叉排序树的同时,还满足堆的性质。有一个特性,就是每个子树的形态在优先级唯一确定的情况下都是唯一的,不受其他因素影响,也就是说,左子树的形态与树中大于根节点的值无关,右子树亦然。因此, Treap的根节点是优先级最小的那个节点,考虑它的左子树,树根也是子树里面最小的一点,右子树亦然。所以 Treap相当于先把所有节点按照优先级排序,然后插入,实质上就相当于以随机顺序建立的,只不过它并不需要一次读入所有数据,可以一个一个地插入。而当这个随机顺序确定的时候,这个树是唯一的。在给定优先级的情况下,只要是用符合要求的操作,通过任何方式得出的 Treap个人资料整理 仅限学习使用都是一样的,所以不改变优先级的情况下,特殊的操作不会造成

Treap

结构的退化。因此,

Treap

是一种平衡的二叉排序树。可以证明,

Treap

的插入、删除、查找等操作的期望复杂度是

O(logn>

。本程序中

Treap以链表的形式实现。数据的持久存储设计:所有用户的账号与密码统一存放在名为 UserList.dat 的文件中,而各个用户的通讯录信息数据分别存放在一个文件中,文件名均为十位随机的大写字母或数字,后缀名为 .dat。2.3 系统各个函数及函数之间关系设计界面函数:voidgotoxy(int,int>。//光标定位主菜单界面函数:voidMainMenu(void>。//主菜单界面intLogIn(void>。//用户登录intRegister(void>。//用户注册voidSettings(void>。//功能设置voidAbout(void>。//关于软件intQuit(void>。//退出程序用户界面函数:voidUserInterface(void>。//用户界面voidAdd_New_Contact(void>。//添加联系人信息voidEdit_Contact(void>。//修改联系人信息voidDelete_Contact(void>。//删除联系人信息voidSearch(void>。//查找联系人信息voidShow_Group(void>。//显示分类信息voidStatistics(void>。//统计功能intNewPsd(void>。//用户密码修改intLogOut(void>。//注销数据与文件操作函数:voidLoadFile(void>。//载入数据voidSaveFile(void>。//保存数据个人资料整理 仅限学习使用structContactPersonNode*Insert(structContactPersonNode*,structContactPersonNode*> 。//Treap 的插入操作structContactPersonNode*Delete(structContactPersonNode*,structContactPersonNode*> 。//Treap 的删除操作structContactPersonNode*Search_Name(structContactPersonNode*,structContactPersonNode*>。//Treap 的查找操作structContactGroupNode*Count(structContactGroupNode*,structContactPersonNode*> 。//Treap 的统计功能MainMenuLogInUserInterfaceAdd_New_Contact Edit_ContactDelete_Contact SearchShow_Group StatisticsNewPsd LogOutRegisterSettingsAbout2.4 界面设计本程序的界面设计的最大Quit特点是使用指针符号指向用户即将选择的选项,并采用键盘的方向键进行移动指针操作,避免用户记忆繁杂的键盘操作,使用起来更便捷。个人资料整理 仅限学习使用3开始进入主菜单界面进入登录界面输入用户名和密码个人资料整理 仅限学习使用添加联系人信息流程图开始进入用户界面进入添加联系人信息界面输入联系人信息N添加<返回)?YY联系人已存在?N添加成功个人资料整理 仅限学习使用修改联系人信息流程图开始进入用户界面进入修改联系人信息界面输入联系人姓名N找到联系人?Y修改联系人信息N保存修改结果?Y修改成功结束个人资料整理 仅限学习使用删除联系人信息流程图开始进入用户界面进入删除联系人信息界面输入联系人姓名N找到联系人?YN确认删除联系人信息?Y删除成功结束查找联系人信息流程图开始进入用户界面进入查找联系人信息界面个人资料整理 仅限学习使用显示分类信息流程图开始进入用户界面进入显示分类信息界面输入分类名N找到分类?Y显示分类信息个人资料整理 仅限学习使用系统测试4.1 模块测试

统计功能流程图开始进入用户界面进入统计功能界面统计各分类人数、信显示统计结果结束用户登录测试说明:登录前已注册了账号为 Scott,密码为12345的用户。成功操作测试:输入数据:账号: Scott,密码:12345。预期结果:登录成功。运行结果:登录成功。个人资料整理 仅限学习使用测试结论:预期结果与运行结果一致,通过成功操作测试。失败操作测试:输入数据:账号: Scott,密码:12346。预期结果:密码错误,登录失败。运行结果:登录失败。测试结论:预期结果与运行结果一致,通过失败操作测试。总结论:通过用户登录测试。添加联系人信息测试说明:添加联系人信息前已存在联系人 Alice Zhang,BobLi,CindyDeng,EricChen,Mike Tang,TomHuang,YoyoZheng。成功操作测试:输入数据:分类:Friend,姓名:Linda Cheung,姓氏:Cheung,地址:Hong Kong,电话号码:1357924680,QQ:1470369258,E-mail:lindacheung@,备注:Joking。预期结果:添加成功。运行结果:添加成功。测试结论:预期结果与运行结果一致,通过成功操作测试。失败操作测试:输入数据:分类: Friend,姓名: Alice Zhang,姓氏: Zhang,地址: U.S.A.,电话号码: 1357924680,QQ:1470369258,E-mail:alicezhang@,备注:Joking。预期结果:联系人已存在,添加失败。运行结果:添加失败。测试结论:预期结果与运行结果一致,通过失败操作测试。总结论:通过添加联系人信息测试。个人资料整理 仅限学习使用修改联系人信息测试说明:修改联系人信息前已存在联系人 AliceZhang,BobLi,CindyDeng,EricChen,MikeTang,TomHuang,YoyoZheng。其中,BobLi的地址为 England。成功操作测试:输入数据:姓名: BobLi,修改地址:Australia。预期结果:修改成功。运行结果:修改成功。测试结论:预期结果与运行结果一致,通过成功操作测试。失败操作测试:输入数据:姓名: LindaCheung,修改地址: U.S.A.。预期结果:联系人不存在,修改失败。运行结果:修改失败。测试结论:预期结果与运行结果一致,通过失败操作测试。总结论:通过修改联系人信息测试。删除联系人信息测试说明:删除联系人信息前已存在联系人 AliceZhang,BobLi,CindyDeng,EricChen,MikeTang,TomHuang,YoyoZheng。成功操作测试:输入数据:姓名: CindyDeng。预期结果:删除成功。运行结果:删除成功。测试结论:预期结果与运行结果一致,通过成功操作测试。个人资料整理 仅限学习使用失败操作测试:输入数据:姓名: LindaCheung。预期结果:联系人不存在,删除失败。运行结果:删除失败。测试结论:预期结果与运行结果一致,通过失败操作测试。总结论:通过删除联系人信息测试。查找联系人信息测试说明:查找联系人信息前已存在联系人 AliceZhang,BobLi,CindyDeng,EricChen,MikeTang,TomHuang,YoyoZheng。成功操作测试 1:输入数据:姓名: EricChen。预期结果:查找成功,显示联系人的信息。运行结果:查找成功,显示联系人的信息。测试结论:预期结果与运行结果一致,通过成功操作测试 1。成功操作测试 2:输入数据:姓氏: Tang。预期结果:查找成功,显示联系人的信息。运行结果:查找成功,显示联系人的信息。测试结论:预期结果与运行结果一致,通过成功操作测试 2。失败操作测试 1:输入数据:姓名: LindaCheung。预期结果:联系人不存在,查找失败。运行结果:查找失败。测试结论:预期结果与运行结果一致,通过失败操作测试 1。个人资料整理 仅限学习使用失败操作测试 2:输入数据:姓氏: Cheung。预期结果:联系人不存在,查找失败。运行结果:查找失败。测试结论:预期结果与运行结果一致,通过失败操作测试 2。总结论:通过查找联系人信息测试。显示分类信息测试说明:显示分类信息前已存在分类 Classmate,包含联系人 AliceZhang,BobLi,CindyDeng,EricChen,分类Friend,包含联系人 MikeTang,TomHuang,YoyoZheng。成功操作测试:输入数据:分类名: Classmate。预期结果:查找成功,显示相应分类的信息。运行结果:查找成功,显示相应分类的信息。测试结论:预期结果与运行结果一致,通过成功操作测试。失败操作测试:输入数据:分类名: Family。预期结果:分类不存在,查找失败。运行结果:分类不存在,查找失败。测试结论:预期结果与运行结果一致,通过失败操作测试。总结论:通过显示分类信息测试。统计功能测试说明:显示分类信息前已存在分类 Classmate,包含联系人 AliceZhang,BobLi,CindyDeng,EricChen,个人资料整理 仅限学习使用分类Friend,包含联系人 MikeTang,TomHuang,YoyoZheng。操作测试:输入数据:无。预期结果:显示各分类人数及相关信息。运行结果:显示各分类人数及相关信息。测试结论:预期结果与运行结果一致,通过操作测试。总结论:通过统计功能测试。4.2 系统测试说明:进行系统测试前不存在任何数据文件。测试任务:(1) 注册一个账号为 Administrator,密码为Password的用户。2)登录Administrator。3)添加五个新的联系人,信息如下:第一个联系人:分类:Test姓名:Guest1Random姓氏:Random地址:Internet电话号码:12345678QQ:13572468E-mail:备注:Default第二个联系人:分类:Test姓名:Guest2Random姓氏:Ra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论