《程序设计基础课程设计文档.doc》由会员分享,可在线阅读,更多相关《程序设计基础课程设计文档.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、长 沙 学 院课程设计说明书题目银行账户管理系统的基本功能模拟 系(部)计算机科学与技术系专业(班级)软件工程(12软件10班)姓名覃浩然 学号 A21指导教师 曽尖起止日期2013.1.102013.1.12课程设计任务书课程名称:程序设计基础课程设计设计题目:银行账户管理系统的基本功能模拟、手机软件通讯录模块的功能模拟(任选一题)已知技术参数和设计要求:需求说明及要求题目一:银行账户管理系统的基本功能模拟银行银行账户管理系统的基本功能业务描述如下:银行系统一般由三个部分组成,ATM机、前台的柜台系统和后台数据服务的系统。后台服务系统管理着储户的账号、密码、余额和姓名等信息,而前台系统和AT
2、M机为用户使用这些功能提供了接口。一般而言,用户使用银行系统时使用的功能为:开户注册(一般在柜台)、销户、取款、存款、转账、查询余额、修改密码等等。本题假设所有上述功能都在ATM机上实现,为了模拟真实的ATM业务环境,本系统必须实现开户注册(一般在柜台)、销户、取款、存款、转账、查询余额、修改密码的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。本系统各个业务有如下注意点:(1) 登陆系统用户登陆之前,必须在登陆界面输入其银行账户,通过其正确输入的银行账户登陆系统。(2) 开户业务 要使用本系统必须首先执行
3、开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。(3) 存款业务 客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。(4) 取款业务客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。(5) 查询业务 客户登陆系统后,可以选择查询业务,查询账户余额。(6) 转账业务 客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。(7) 修改密码客户登陆系统后,可以选择修改密码业务,进行密码修改
4、。设计要求:为控制实现难度,本系统可以使用结构数组完成。除上述功能外,应该对用户的信息中的一项进行排序(如将余额按照从高到低的顺序排序)。题目二:手机软件通讯录模块的功能模拟手机软件通讯录模块的功能的业务描述如下:通信录必须为用户提供联系人管理、系统管理和帮助三个部分。通讯录管理包括联系人信息录入、联系人信息修改、联系人信息删除和联系人信息查询的功能,在此基础上可以设置联系人分组;系统管理包括密码修改、分组配置;帮助需要为用户提供系统的操作帮助。联系人的信息应该包括:联系人姓名、联系人电话号码、联系人地址。本系统各个业务有如下注意点:(1)登陆系统用户在登陆界面输入用户名和密码,校验正确后可以
5、登陆系统。(2)联系人管理新增的联系人信息保存至文件,之后对联系人信息的管理都是对文件中的联系人信息进行处理,并且可以将联系人信息进行分组。(3)系统管理可以在密码修改中修改本用户的密码;可以在此功能中配置系统需要的分组名,并且将分组名保存到文件中。(4)帮助帮助业务需要为用户提供系统的操作帮助。设计要求:为控制实现难度,本系统可以使用结构数组(数组长度为500)完成。除上述功能外,应该对用户的信息中的一项进行排序(如将联系人的电话号码进行排序)。各阶段具体要求:1、需求分析阶段熟悉系统业务,从业务中抽取出系统的需求,形成完善的需求说明书。2、系统设计阶段根据需求,进行程序设计,包括定义系统的
6、界面、定义系统数据的存储方式等,形成完善的设计说明书。3、编码实现阶段(1)完成代码编写 (2)要求代码编写规范4、系统测试阶段(1)完成功能调试(2)要求完成必要的测试工作5、交付实施阶段(1)提交可正常执行的系统(2)提交系统需求说明书、设计说明书、程序代码(3)撰写课程设计报告书(4)要求规范地书写文档设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。工作计划:软件开发进度如下,论文同步进行;1.选定题目(2课时)2.需求分析(2课时)3.概要设计(2课时)4.详细设计(2课时)5.编码实现(8课时)6
7、.系统测试(1课时)7.模拟实施(1课时)8.答辩(2课时)注意事项n 提交文档 长沙学院课程设计任务书(每学生1份) 长沙学院课程设计论文(每学生1份) 长沙学院课程设计鉴定表(每学生1份)指导教师签名: 日期: 教研室主任签名: 日期:系主任签名: 日期:长沙学院课程设计鉴定表姓名覃浩然学号A21专业软件工程班级12软件10班设计题目银行账户管理系统的基本功能模拟指导教师曽尖指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格
8、”四类;摘 要本部分为对课程设计说明书内容的简短陈述,字数要求在100300字之间。下面的关键词部分为反映设计说明书主题内容的通用技术词汇,且一定要在摘要中出现。一般为35个左右,按词条的外延层次排列(外延大的排在前面),本部分的字体为宋体,5号,行距18磅。(此处空一行,不要删除空行)关键字:判题,记分,分离目 录1需求分析11.1 开发平台介绍11.2 题目描叙11.3 需求分析12总体设计22.1 设计总体思想22.2 系统整体模块22.3 模块设计22.3.1 登录注册模块22.3.2 选题模块22.3.3 答题模块22.3.4结果显示模块33.详细设计43.1 界面设计43.2 题目
9、读取设计53.3 判题算法设计63.4 交互设计7小 结10参考文献11附录121需求分析1.1 开发平台介绍Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C+是一个功
10、能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调
11、试的程序。其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著 1.2 题目描叙银行系统一般由三个部分组成,ATM机、前台的柜台系统和后台数据服务的系统。后台服务系统管理着储户的账号、密码、余额和姓名等信息,而前台系统和ATM机为用户使用这些功能提供了接口。一般而言,用户使用银行系统时使用的功能为:开户注册(一般在柜台)、销户、取款、存款、转账、查询余额、修改密码等等。本题假设所有上述功能都在ATM机上实现,为了模拟真实的ATM业务环境,本系统必须实现开户注册(一般在柜台)、销户、取款、存
12、款、转账、查询余额、修改密码的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。1.3 需求分析1.3.1 开户1. 输入的数据需要有:卡号,密码,户名,性别,身份证号,开户金额。2. 卡号长度为19位,密码长度为6位,性别只能为男或女。3. 一个身份证只能开一个户。4. 开户金额最少1元。1.3.2 存款1.3.3 存款1.3.4 存款1.3.5 存款1.3.6 存款1.3.7 存款1.3.8 存款1.3.9 存款2总体设计2.1 设计总体思想说明模块化设计思想2.2 系统整体模块(画出模块结构图,如下所示
13、)依据需求分析,设计如下一个模块结构图,如下图示例:ATM系统开户储蓄业务退出登录存款图2.1 系统模块(图的标注,使用仿宋,5号,居中)2.3 模块说明2.3.1 开户模块(2.3节,分小节对模块结构图中的每个模块的功能进行说明)该模块通过输入卡号、密码、户名、身份证信息,开立账户,将账户存储于XX中2.3.2 储蓄业务模块该模块首先通过调用登录模块,进入系统,然后可以调度登录,存款,取款模块。2.3.3 存款模块该模块通过输入存款金额,将钱存入登录后的账户。2.3.4模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3.5模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3
14、.6模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3.7模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3.8模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3.9模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3.10模块 从数据库中取出用户的信息,用列表的方式显示出来。2.3.11模块 从数据库中取出用户的信息,用列表的方式显示出来。3.详细设计3.1 主流程设计ATM系统的总体流程图如下:(注意,以下示例只是本老师的程序的设计,你们根据自己的设计编写)开始显示系统主菜单选择开户?选择储蓄业务?退出?YN开户储蓄业务YN提示错误NY退出图3.1 A
15、TM系统总体流程图程序启动时,显示系统主菜单,包含开户、储蓄业务、退出,三个菜单项。选择开户时,则进入开户模块中,选择储蓄业务时,则进入储蓄业务中,选择退出,则退出该系统,否则,提示错误。在系统未退出情况下,在选择的各模块结束后,则仍然返回系统主菜单。附上代码:3.2 储蓄业务模块设计储蓄业务模块开始登录显示储蓄业务菜单选择存款?选择取款?选择退卡?存款取款储蓄业务模块结束YYNNY提示错误N图3.2 储蓄业务模块设计(如何描述流程图,参考主流程设计中的描述,但注意,在描述各处理时,需要进行详细描述)。3.3 开户模块设计开户模块开始开户模块结束输入开户要素检查输入元素合法性生成账户信息存入账
16、户数据服务中图3. 记录多选题结果(如何描述流程图,参考主流程设计中的描述,但注意,在描述各处理时,需要进行详细描述,如:输入开户要素时,要描述具体输入哪些开户要素,每个输入要素都要写出来。在检查输入元素合法性时,要具体描述出检查的条件,如:检查密码是否为6位,开户金额是否大于账户余额等,每个检查点都要用文字描述出来)3.4 登录模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX3.5 存款模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXX
17、XXXX3.6 取款模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX3.7 转账模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX3.8 查询账户模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX3.9 修改密码模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX3.10
18、 销户模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX3.11 退卡模块设计(详细设计中,每个模块的设计包含部分:流程图,流程图的说明,代码)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX4.测试4.1 开户测试每个测试模块,分为部分,测试用例的描述,和测试图片的展示。用例描述如下(注意每个表上面有标注,如:图.功能测试用例。此处字体为黑体,号,居中):表4.1 XX(如存款)功能测试用例测试功能(这里填功能名称(如存款)描述对本次测试进行描述用例编号001(按序编号)测试日期2013-1-12测试
19、者你自己的名字输入数据输入哪些要素预期输出预期结点测试结果实际结果原因分析测试未通过的原因分析然后截出程序测试时的图片附上图4.1 存款模块测试4.2 登录测试4.3 存款测试每个测试模块,分为部分,测试用例的描述,和测试图片的展示。用例描述如下(注意每个表上面有标注,如:图.功能测试用例。此处字体为黑体,号,居中):表4.1 XX(如存款)功能测试用例测试功能(这里填功能名称(如存款)描述对本次测试进行描述用例编号001(按序编号)测试日期2013-1-12测试者你自己的名字输入数据输入哪些要素预期输出预期结点测试结果实际结果原因分析测试未通过的原因分析然后截出程序测试时的图片附上图4.1
20、存款模块测试4.4 取款测试4.5 转账测试4.6 查询账户测试4.7 修改密码测试4.8 退卡测试4.9 销户测试小 结(字体,宋体,5号,行距,18磅,首行缩进2字符),写出自己的所得,所想等为期两个礼拜的Android课程设计已渐远去,带着对这次课程设计的些许记忆,我开始写这篇文章,为了自己以后能从中汲取经验、也为自己的留下珍贵的回忆,哪怕是微不足道而写下了这篇小结。 首先,让我的记忆追溯到10天以前,在周老师的指引下,我选择测验系统这一题目。那个时候我并没有觉得我能很快做完,因为我对上机这块平时做的并不是很好,很多时候都是混过关的,也不知Android布局和结构什么的,反正脑子里一片混
21、乱。但是我还是铁了心,我觉得我一定能够很快做出来的,因为我坚信只要我努力,我会做好的。于是我开始在脑子里构思、开始在心里建模。我是一个好胜心很强的人,只要在追求胜利的途中,我就一定会奋斗到底。在和同学们的积极讨论中,我的课程设计开始有了个雏形。就这样我开始着手写我的代码了,可是对于很多语法语句,我有点记不清楚,这无疑加大了课程设计的难度,但我相信一切困难都是纸老虎,没有我过不去的坎。于是我就把我的课本摆在我面前,哪句不记得了就翻书,哪里运行出现了错误我就回忆上机时的情景、或者是上网查找或者是打电话问老师和同学。我记得Java字符串比对的问题我用了很久才调试出来Java的问题,我很是兴奋,因为我
22、在平时上机的时候,对这方面的内容不熟,上课的时候也没听什么。自己能够独立做出来,我觉得我做得不错。通过自己不断的努力和讨索,我基本搞清楚理论方面的一些东西,具体怎么用比较清楚。解决了一些自己的认为比较难的地方后我又继续朝前行进着, 我相信在下面的过程中我会越做越顺的。课程设计终于在我的努力下做完了。这个时候我更加深入的了解了Java的特点以及一些相关知识。 与其临渊羡鱼,不如退而结网。这次Android课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。如果你连失败都不怕了,那你还怕什么,拾起懒惰的心,勤奋着就会走向成功斩。这次的课程设计在我未来的时日里,是一个标杆,因为它告诉了我,只要我努力没有什么事我做不好的。参考文献1 肖波安,刘华富著.C语言项目化实践教程.复旦大学出版社,20122 肖波安,刘华富著.C语言项目化实践教程.复旦大学出版社,2012附录附上所有的代码.每个代码文件要有说明及代码的注释,如: (字体宋体,5号,行距18磅)/* * 文件名:OpenAccount.c * 说 明:开户*/Int OpenAccount()/* Code */