应用软件系统综合设计课程设计-简单个人电话号码查询系统.doc_第1页
应用软件系统综合设计课程设计-简单个人电话号码查询系统.doc_第2页
应用软件系统综合设计课程设计-简单个人电话号码查询系统.doc_第3页
应用软件系统综合设计课程设计-简单个人电话号码查询系统.doc_第4页
应用软件系统综合设计课程设计-简单个人电话号码查询系统.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

武汉工程大学 计算机科学与工程学院 综合设计报告 设计名称:设计名称: 应用软件系统综合设计应用软件系统综合设计 设计题目:设计题目: 简单个人电话号码查询系统简单个人电话号码查询系统 学生学号:学生学号: 专业班级:专业班级: 软件工程软件工程 2 班班 学生姓名:学生姓名: 学生成绩:学生成绩: 指导教师(职称):指导教师(职称): 课题工作时间:课题工作时间: 2011-9-14 至至 2011-9-23 说明: 1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每 个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设 计完成情况、报告的质量及答辩情况,给出客观、全面的评价。 4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一 律按不及格处理。答辩小组成员应由 2 人及以上教师组成。 5、报告正文字数一般应不少于 5000 字,也可由指导教师根据本门综合设 计的情况另行规定。 6、平时表现成绩低于 6 分的学生,取消答辩资格,其本项综合设计成绩 按不及格处理。 7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适 用于学院各类综合设计) ,各教研室可根据本门综合设计的特点及内容 做适当的调整,并上报学院批准。 成绩评定表 学生姓名: 王纯超 学号: 0905100218 班级: 软件工程 2 班 类别 合计 分值 各项 分值 评分标准 实际 得分 合计 得分 备注 平时 表现 1010 按时参加综合设计,无旷课、迟 到、早退、违反实验室纪律等情 况。 由设计负责 人给出 20 按设计任务书的要求完成了全部 任务,能完整演示其设计内容, 符合要求。 完成 情况 30 10 能对其设计内容进行详细、完整 的介绍,并能就指导教师提出的 问题进行正确的回答。 10 报告文字通顺,内容翔实,论述 充分、完整,立论正确,结构严 谨合理;报告字数符合相关要求, 工整规范,整齐划一。 5 课题背景介绍清楚,综述分析充 分。 5 设计方案合理、可行,论证严谨, 逻辑性强,具有说服力。 5 符号统一;图表完备、符合规范 要求。 5 能对整个设计过程进行全面的总 结,得出有价值的结论或结果。 报告 质量 35 5 参考文献数量在 3 篇以上,格式 符合要求,在正文中正确引用。 10 在规定时间内能就所设计的内容 进行阐述,言简意明,重点突出, 论点正确,条理清晰。 答辩 情况 25 15 在规定时间内能准确、完整、流 利地回答教师所提出的问题。 总评成绩: 分 补充说明: 指导教师: (签字) 日 期: 年 月 日 答辩记录表 学生姓名: 王纯超 学号: 0905100218 班级: 软件工程 2 班 答辩地点: 答辩内容记录: 合计 分值 各项 分值 评分标准 实际 得分 合计 得分 备注 答 辩 成 2510在规定时间内能就所设计的内容 进行阐述,言简意明,重点突出, 论点正确,条理清晰。 绩 15 在规定时间内能准确、完整、流 利地回答教师所提出的问题。 答辩小组成员(签字): 年 月 日 指导教师评语 指导教师: (签字) 日 期: 年 月 日 一、综合设计目的、条件、任务和内容要求: 1、设计目的 综合设计是专业教学过程中重要的实践性教学环节,旨在使学生对所学过的理论知识和专业 知识进行一次全面、系统的回顾和总结,通过设计分析,使理论实践相结合,巩固和发展所学理 论知识,掌握正确的思想方法和基本技能,并培养学生全面考虑问题,抓住主要矛盾解决问题的 思维方法,提高独立思考能力和团队精神,培养学生调查研究、查阅技术文献、资料、手册以及 编写技术文献的能力,树立严肃认真的工作作风。 本次综合设计的课题是设计一个模拟手机电话本的简单个人电话号码查询系统,人们在日常 生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询 系统,根据用户输入的信息(例如姓名等)进行快速查询。并提供其他一些基本的功能,如添加 和删除用户,修改用户记录。 2、设计任务 (1) 在外存上,用文件保存电话号码信息; (2) 在内存中,设计数据结构存储电话号码信息; (3) 提供查询功能:根据姓名、号码实现快速查询; (4) 提供其他维护功能:例如插入、删除、修改等; (5) 按电话号码进行排序。 3、内容要求 简单个人电话号码查询系统是一个模拟系统,具有查询、插入、删除和修改的功能。当用户 输入一个联系人的姓名和电话号码之后,单击插入,软件会自动判别记录是否已经存在,如不存 在,软件会进一步判断该联系人的号码是否与当前联系人中的某位号码相同,若相同,则禁止插 入并提示号码已经存在,否则完成插入;当单击查询时,软件会进行两个层次的查询,首先查询 当前记录里是否有记录与待查找记录部分匹配,有则返回,若没有,则查找与待查找记录有关联 的记录;当单击删除或修改时,完成删除和修改的功能。软件运行时,会自动把当前记录显示出 来,退出时会提示用户是否保存修改。 指导教师签字: 年 月 日 二、进度安排: 集中设计时间:3 周-4 周 答辩时间:4 周周五下午 三、应收集资料及主要参考文献: 1武伟.操作系统教程z.北京:机械工业出版社, 2004,第 280 页. 2汤小丹,梁红兵,哲凤萍等.计算机操作系统第三版z.西安:西安电子科技大学出 版社,2008,第 312 页. 3马石安,魏文平.Visual C+程序设计与应用教程题解及课程设计z.北京:清华大 学出版社,2009,第 14 页至第 45 页. 4张宏军,党留群,赵天巨等.Visual C+6.0 编程案例精解z.北京:电子工业出版 社,2005,第 59 页. 5严蔚敏,吴伟民.数据结构(C 语言版)z.北京:清华大学出版社,2006,第 152 页至 160 页. 6齐德翌.数据结构与算法z.北京:清华大学出版社,2003,第 364 页. 7James O. Coplien. Multi-Paradigm Design for C+z.美国:中国电力出版社, 2004,第 152 页. 8刘鎏.Visual C+6.0 用户界面制作技术与应用实例z.北京:中国水利水电出版社, 1999,第 20 页至第 68 页. 四、综合设计(课程设计)摘要(中文): 电话号码查询管理系统是用于辅助个人完成其通讯信息有序管理的计算机软件系 统,系统实施的目的旨在帮助用户完成其私人通讯信息管理的数字化,以提供比手工 方式更高效、更少出错的方式。电话号码查询体统是为了方便用户查找所需的电话号 码。 本软件使用了提供的双端队列,采用顺序查找的算法,搜索双端队列。在 内存中用双端队列保存文件。界面采用 MFC 提供的可视化界面,采用文档视图结构, 程序思路清晰,结构合理。经过基本的测试,已经基本达到设计要求,实现了简单的 常用的电话号码管理操作,能适用姓名、号码实现精确和模糊查找。 五、综合设计(课程设计)Abstract(英文): Telephone number searching and managing system is a software system which is designed to assist users in the realization of digitalization of the management of personal telecommunication information and to provide a more efficient and less errant method than the manual style, thus facilitating the search for the specific telephone number. This software adopts linear search algorithm to search the double-end queue ,in which the file is stored, provided by STL(Standard Template Library),and interface from MFC(Microsoft Foundation Class) visual view, and document-view structure. It has a clear logic and a reasonable structure. After a series of basic test, it proves to fulfill the fundamental requirements of the design and has offered the common operation command for telephone number management, of which using name or telephone number to exactly find and fuzzy search stands out. 武汉工程大学计算机科学与工程学院 综合设计报告 - I - 目目 录录 目目 录录.I 第一章第一章 课题背景(或绪论、概述)二号字黑体课题背景(或绪论、概述)二号字黑体.1 1.1 背景.1 1.2 目的.1 1.3 意义.1 1.4 主要问题 .1 1.5 技术要求.1 1.6 工作完成的目标.1 第二章第二章 设计简介及设计方案论述设计简介及设计方案论述.2 2.1 设计简介 .2 2.2 设计方案 .2 2.2.1 数据结构 .2 2.2.2 数据成员 .3 2.2.3 程序流程图 .3 第三章第三章 详细设计详细设计 .4 3.1 窗体设计 .4 3.2 初始化 .5 3.3 插入.5 3.4 查找.5 3.5 修改.5 3.6 删除.5 3.7 退出.5 3.8 程序的容错性 .5 3.8.1 插入时检查 .5 3.8.2 查找时检查 .6 3.8.3 修改时检查 .6 第四章第四章 设计结果及分析设计结果及分析.6 4.1 开始界面.7 4.2 添加功能.7 4.3 查找功能.8 4.4 删除功能 .9 4.5 修改功能 .9 4.6 退出.10 总总 结结.10 致致 谢谢.11 参考文献参考文献 .12 程序代码程序代码 .13 武汉工程大学计算机科学与工程学院 综合设计报告 - II - 摘 要 电话号码查询管理系统是用于辅助个人完成其通讯信息有序管理的计算机软件系 统,系统实施的目的旨在帮助用户完成其私人通讯信息管理的数字化,以提供比手工 方式更高效、更少出错的方式。电话号码查询体统是为了方便用户查找所需的电话号 码。 本软件使用了提供的双端队列,采用顺序查找的算法,搜索双端队列。在内 存中用双端队列保存文件。界面采用 MFC 提供的可视化界面,采用文档视图结构,程 序思路清晰,结构合理。经过基本的测试,已经基本达到设计要求,实现了简单的常 用的电话号码管理操作,能适用姓名、号码实现精确和模糊查找。 关键词:电话号码查询管理系统;双端队列;MFC;模糊查找 武汉工程大学计算机科学与工程学院 综合设计报告 - III - Abstract Telephone number searching and managing system is a software system which is designed to assist users in the realization of digitalization of the management of personal telecommunication information and to provide a more efficient and less errant method than the manual style, thus facilitating the search for the specific telephone number. This software adopts linear search algorithm to search the double-end queue ,in which the file is stored, provided by STL(Standard Template Library),and interface from MFC(Microsoft Foundation Class) visual view, and document-view structure. It has a clear logic and a reasonable structure. After a series of basic test, it proves to fulfill the fundamental requirements of the design and has offered the common operation command for telephone number management, of which using name or telephone number to exactly find and fuzzy search stands out. Keywords:telephone number searching and managing system;double-end queue; MFC; fuzzy search 武汉工程大学计算机科学与工程学院 综合设计报告 - 1 - 第一章第一章 课题背景(或绪论、概述)二号字黑课题背景(或绪论、概述)二号字黑 体体 1.1 背景 随着计算机技术的飞速发展,计算机的普及,利用计算机实现通讯管理已经是这一 趋势的必然要求。计算机管理具有无法比拟的检索迅速、可靠性高、存储量大、成本 低、方便快捷的巨大优势。这给人们带来了极大的方便,尤其是商务人士,免去了他 们记忆大量信息的痛苦。 1.2 目的 考察面向对象的方法学,以及利用 MFC 的可视化界面设计设计具有良好友好界面 的能力。 1.3 意义 通讯录是日常生活中十分便捷有效且必备的工具,能实现对个人信息记录备案的 工具,是常用的应用软件之一。它能给我们的生活带来极大的便捷。 1.4 主要问题 1.利用合适的数据结构以实现快速查询 2.模糊搜索 3.数据的永久化保存 1.5 技术要求 面向对象程序设计技术,数据结构,Visual C+ 程序设计 1.6 工作完成的目标 (1) 在外存上,用文件保存电话号码信息; (2) 在内存中,设计数据结构存储电话号码信息; (3) 提供查询功能:根据姓名、号码实现快速查询; (4) 提供其他维护功能:例如插入、删除、修改等; (5) 按电话号码进行排序。 武汉工程大学计算机科学与工程学院 综合设计报告 - 2 - 第二章第二章 设计简介及设计方案论述设计简介及设计方案论述 2.1 设计简介 程序启动后,在初始化应用程序实例时,程序自动将文件里的内容读到内存并更新 数据在程序界面上的显示,程序提供了插入、查询、删除、编辑的功能。当选择查询 功能时,程序会采取三层查询方式,第一层,当用户在输入待查询信息时,程序实时 地检索文件记录,并将结果显示在程序界面的列表框中;第二层,当用户输入的信息 是不完整的信息时,程序自动检查文件记录里是否有记录含有待查找信息,若有则自 动显示出来;第三层,若前两层检索失败,当单击查询(search)按钮时,程序在文件 记录里查找任何与待查找信息有关联的记录,只要记录里包含一个与待查找记录相同 的字符,就将其返回,否则三层查找失败。当单击插入时,将记录插入到双端队列里, 并更新显示。当单击删除和编辑按钮时,执行相应的操作,并更新显示。在程序退出 时,程序提示是否保存,是则保存,否则不保存修改。 2.2 设计方案 2.2.1 数据结构 自定义类 CRecord 用以保存单个用户的记录,类声明如下: class CRecord public: void SetTel(CString void SetName(CString const CString const CString CRecord(CString nm=,CString tl=); virtual CRecord(); private: CString tel; CString name; 武汉工程大学计算机科学与工程学院 综合设计报告 - 3 - ; 采用 STL 提供的双短队列用以在内存中保存文件,并声明为程序主对话框的类的 数据成员声明如下: CPhoneBookDlg:std:deque m_internalBook; 2.2.2 数据成员 CComboBox m_comboTel;组合框对象,用以输入电话号码; CComboBox m_comboName;组合框对象,用以输入姓名; CListCtrl m_listNow;列表控件对象,显示当前文件中的记录; CListCtrl m_listResult;列表控件对象,用以显示搜索结果; CStringm_strComboName;组合框对象的数据成员,用于保存姓名; CStringm_strComboTel;组合框对象的数据成员,用于保存电话号码; CFile phoneBook;文件类对象,用于读写外存文件; std:deque m_internalBook;双端队列对象,用于在内存保存文件。 武汉工程大学计算机科学与工程学院 综合设计报告 - 4 - 2.2.3 程序流程图 N Y Y Y N N Y N 图 2-1-3 程序流程图 开始 输入信息删除指定项 将文件内容 载入程序 是否完整 选中待修改 项并修改 有无相同记录和 号码相同的记录 是否为空 插入 查找 是否保存修改 结束 保存 武汉工程大学计算机科学与工程学院 综合设计报告 - 5 - 第三章第三章 详细设计详细设计 3.1 窗体设计 程序的界面如下图: 图 3-1 程序主界面 3.2 初始化 程序运行之后初始化,将文件中的内容读入内存,并显示在窗体上。 3.3 插入 在姓名和号码栏里输入信息,单击插入按钮,程序进行必要的数据合法性检查之后 将其插入。 3.4 查找 在姓名栏或号码栏里输入信息,程序获取其信息之后,在内存中的双端队列中搜索 相关联的记录。 武汉工程大学计算机科学与工程学院 综合设计报告 - 6 - 3.5 修改 在姓名栏或号码栏里输入信息,选中要修改的记录,单击修改按钮,程序使用原信 息找到双端队列中的记录将其修改,并更新显示在列表控件里。 3.6 删除 在姓名栏或号码栏里输入信息,选中要删除的记录,单击删除按钮,程序使用原信 息找到双端队列中的记录将其删除,并更新显示列表控件里内容。 3.7 退出 单击退出或程序上的关闭按钮,将会弹出是否保存修改的对话框,如果选择是,则 保存,否则不保存。 3.8 程序的容错性 3.8.1 插入时检查 若输入时,信息未输入完全,不允许插入。在插入时,若记录已经存在,则不允许 重复插入。还有一种情况,在现实生活中,一个人可以有多个号码,但是不可能有多 个人拥有同一个号码,因此若待插入的号码已经存在,也不能插入。另外若号码中含 有非数字字符时,不允许插入。 3.8.2 查找时检查 若输入时,信息未输入完全,不能查找,否则根据输入内容查找。 3.8.3 修改时检查 若输入时,信息未输入完全或未选中待修改项,不能修改。 武汉工程大学计算机科学与工程学院 综合设计报告 - 7 - 第四章第四章 设计结果及分析设计结果及分析 4.1 开始界面 图 4-1 程序界面 4.2 添加功能 只输入姓名,运行结果如下图 4-2-1: 只输入号码,运行结果如下图 4- 2-2: 图 4-2-1 只输入姓名结果图 图 4-2-2 只输入号码结果 图 武汉工程大学计算机科学与工程学院 综合设计报告 - 8 - 合法记录插入如下图: 图 4-2-3 插入过程 4.3 查找功能 在输入过程中动态现实搜索结果,如图 图 4-3-1 搜索结果 1 图 4-3-2 搜索结果 2 按名搜索,没有找到记录,如图 4-3-3 图 4-3-3 搜索结果 3 武汉工程大学计算机科学与工程学院 综合设计报告 - 9 - 单击搜索按钮,找到关联项,如图 4-3-4 图 4-3-4 搜索结果 4 4.4 删除功能 删除记录: 图 4-4-1 删除前 图 4-4-2 删除后 4.5 修改功能 图 4-5-1 修改前 武汉工程大学计算机科学与工程学院 综合设计报告 - 10 - 图 4-5-2 修改后 4.6 退出 图 4-6-1 退出 武汉工程大学计算机科学与工程学院 综合设计报告 - 11 - 总总 结结 通过设计这个简单个人电话号码查询系统,使我对 MFC 有了更深的理解(特别是 列表控件)同时对 C,C+的编程以及算法的实现产生了比较大的兴趣。之前也曾经看 到过关于列表控件的书籍,但是每当看到一大堆的代码头就开始晕了!很难看得懂。 现在到自己真的需要用到它的时候就不同了,遇到某个不知道如何实现的功能时就不 断去找资料上网去搜索,经过多方面的努力最终终于达到了实现自己想要功能的目的。 由于在设计系统的过程中需要利用到数据结构中的知识如顺序表、链表和排序,因此 对它们有了更加深刻的理解和更加熟悉如何应用;除了之后设计了这个简单个人电话 号码查询系统才真正体会了知识学而致用,而不是学习这门课程是仅仅为了应付考试 而已。总之,我觉得设计这个简单个人电话号码查询系统对提升我们的思考能力和动 手能力有很大的帮助,可以说是受益匪浅。 在这次程序设计中,我觉得重要的一点,那就是不要人云亦云,要有自己的主见, 不管别人如何,一定要有自己的思想,并且始终不改变的去坚持,纵然,可能会遇到 很多难以解决的困难,都要自始到终,相信自己能把这个程序做得出来。当自己最终 在自己的努力下完成任务的时候,那就会有更多属于自己的收获,包括成功的喜悦以 及程序中体现的思想。 其次是我认为调试功能是整个编写程序过程中很重要的一个环节。通过此次实验我对 调试有了更加深刻的理解,懂得怎么样去调试程序,如何发现错误,如何更高效的改 正,最终能把程序实现。 武汉工程大学计算机科学与工程学院 综合设计报告 - 12 - 致致 谢谢 首先要感谢相关文献的作者,从他们的作品中我学到了很多课本上没有学到的东 西,感谢他们的辛勤劳动。 其次,在本次课程设计的整个过程中,要特别感谢自始至终给我提供帮助和指导 的余年胜和冯呈龙同学和姚老师,是他们耐心的指导才使得本次设计得以顺得完成, 同时,也要感谢身边的好多同学,在此还要特别感谢为我们提供良好上机环境的学校. 如果没有以上老师,同学和学校的帮助和支持,本次设计实难完成.再次感谢老师的精 心辅导和同学的相互帮助,使我们顺利完成此次设计以及为学习以后的科目打下良好 的基础. 武汉工程大学计算机科学与工程学院 综合设计报告 - 13 - 参考文献参考文献 1武伟.操作系统教程z.北京:机械工业出版社, 2004,第 280 页. 2汤小丹,梁红兵,哲凤萍等.计算机操作系统第三版z.西安:西安电子科技大学出版 社,2008,第 312 页. 3马石安,魏文平.Visual C+程序设计与应用教程题解及课程设计z.北京:清华大学 出版社,2009,第 14 页至第 45 页. 4张宏军,党留群,赵天巨等.Visual C+6.0 编程案例精解z.北京:电子工业出版社, 2005,第 59 页. 5严蔚敏,吴伟民.数据结构(C 语言版)z.北京:清华大学出版社,2006,第 152 页 至 160 页. 6齐德翌.数据结构与算法z.北京:清华大学出版社,2003,第 364 页. 7James O. Coplien. Multi-Paradigm Design for C+z.美国:中国电力出版社,2004, 第 152 页. 8刘鎏.Visual C+6.0 用户界面制作技术与应用实例z.北京:中国水利水电出版社, 1999,第 20 页至第 68 页. 武汉工程大学计算机科学与工程学院 综合设计报告 - 14 - 程序代码程序代码 Record.h class CRecord public: void SetTel(CString void SetName(CString const CString const CString CRecord(CString nm=,CString tl=); virtual CRecord(); private: CString tel; CString name; ; / Record.cpp / Record.cpp: implementation of the CRecord class. / / #include stdafx.h #include PhoneBook.h #include Record.h #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE=_FILE_; #define new DEBUG_NEW #endif / / Construction/Destruction / CRecord:CRecord(CString nm,CString tl) :name(nm),tel(tl) 武汉工程大学计算机科学与工程学院 综合设计报告 - 15 - CRecord:CRecord() const CString const CString void CRecord:SetName(CString void CRecord:SetTel(CString / PhoneBookDlg.h #include #include Record.h class CPhoneBookDlg : public CDialog / Construction public: CPhoneBookDlg(CWnd* pParent = NULL);/ standard constructor / Dialog Data /AFX_DATA(CPhoneBookDlg) enum IDD = IDD_PHONEBOOK_DIALOG ; CComboBoxm_comboTel; CComboBoxm_comboName; CListCtrlm_listNow; CListCtrlm_listResult; CString m_strComboName; 武汉工程大学计算机科学与工程学院 综合设计报告 - 16 - CString m_strComboTel; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CPhoneBookDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL / Implementation protected: HICON m_hIcon; / Generated message map functions /AFX_MSG(CPhoneBookDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnBtnInsert(); afx_msg void OnBtnSearch(); af

温馨提示

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

评论

0/150

提交评论