《软件工程课设报告.doc》由会员分享,可在线阅读,更多相关《软件工程课设报告.doc(35页珍藏版)》请在三一办公上搜索。
1、精选优质文档-倾情为你奉上软件工程课程设计报告 课 题 单词记忆软件 专 业 自动化 班 级 学 生 胡鲲 疏琪堡 强文程 程睿 学 号 设计时间 2014年11月15日 2014年12月4日 目录1引言1.1编写目的 阐述该产品是可行实用的,面向群体是该产品的使用者,大多为学生。1.2背景说明:A. 此软件是在c语言环境下开发的;B. 开发人员为胡鲲,疏琪堡,强文程,程睿;1.3 定义此产品为单词背诵系统。1.4参考资料c语言程序设计专心-专注-专业可行性研究2可行性研究的前提说明对所建议的开发项目进行可行性研究的前提,如要求、目标、假定、限制等。2.1要求A. 功能:1.词库的维护2.课程
2、预览3.显示中文用户输入英文的背诵方法4.显示英文用户输入中文的背诵方法5.背诵成绩的记录;B. 用户输入单词的中文或者英文;C. 软件输出正确或错误,并给出正确答案;D. 此系统安全性能良好;E. 完成期限为2014年12月4日。2.2目标A. 增加背单词的效率;B. 节省查找错误的时间;C. 节约纸质印刷所带来的成本;D. 方便使用者随时随地记忆;2.3条件、假定和限制a 建议系统的运行寿命的最小值为2年;b 讨论时间为3天;c 经费由开发人员自行出资;d 无法律和政策方面的限制;e 硬件、软件、运行环境和开发环境方面的条件和限制;f 可利用的信息和资源;g 系统投入使用的最晚时间为201
3、5年1月1日。2.4进行可行性研究的方法说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法 和策略,如调查、加权、确定模型、建立基准点或仿真等。2.5评价尺度上述对系统的评价,主要基于其相较而言低廉的开发价格,以及较短的开发时间。3对现有系统的分析这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚 至是一个人工系统。分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。3.1处理流程和数据流程现有系统由用户输入英文或者中文单词,词组,系统进行自动翻译,然后输出对应的结果。3.2工作负荷因为使用人数多,
4、因此该系统的工作负荷很大。3.3费用开支 该系统由于较为复杂,使用人数很多。在开发阶段需要大量人力物力。3.4人员需要程序编写员若干,市场推销专员若干,系统升级维护专员若干。3.5设备 电脑3.6局限性现有系统由于使用人数过多,因此翻译速度较慢。4所建议的系统4.1对所建议系统的说明该系统是在原系统基础上,增加判断对错,给出成绩的功能。4.2处理流程和数据流程先由系统输入中文或者英文,然后由用户输入相应的中文或者英文,系统输出正确与否,给出评分,并且给出正确的中英文。4.3改进之处首先该系统使用人数较少,而且只涉及词汇与词组,因此速度快。同时,相比于纸质字典,又节约了纸张。相较于原系统,有了判
5、断对错,给出成绩的作用。4.4影响该系统将被学生广泛应用,提高翻译水平。4.4.1对设备的影响对设备要求并不高,只需要普通的电脑。4.4.2对软件的影响 用原系统的软件即可开发。4.4.3对用户单位机构的影响说明为了建立和运行所建议系统,可以大大减少工作的人员,词汇的扩充可以由用户自行完成。4.4.4对系统运行过程的影响a 用户操作时需等上次输出完毕后进行操作;b 数据由用户输入系统;c 数据将保存在整个系统的数据库中;d 输出由电脑屏幕呈现,输出正确与否,以及最终成绩;e 系统失效后,因及时找维护人员进行修理。4.4.5对开发的影响:a. 用户需要提供一定的资金支持;b. 需要vc开发软件和
6、网络上的一些知识作为支撑;c. 整个c语言的开发程序需要保密。4.4.6对地点和设施的影响对建筑物改造及对环境设施无要求。4.4.7对经费开支的影响所建议的系统,开发经费大约在2000元左右,日后维护更新的费用较低。4.5局限性 该系统只能完成背诵单词的功能,而对于整个语句的翻译与背诵,是该系统无法达成的。4.6技术条件方面的可行性a 在当前的限制条件下,该系统的功能目标可以达标;b 利用现有的技术,该系统的功能能实现;c 开发人员只需具备一定的c语言开发知识,并有3到4人成立团队,可以实现;d 在规定的期限内,本系统的开发能完成。5可选择的其他系统方案5.1可选择的系统方案1无可选择的其他方
7、案.6投资及效益分析 6.1支出6.1.1基本建设投资包括采购、开发和安装下列各项所需的费用,如:a. 房屋和设施由开发者免费提供;b. 数据通讯设备价值200元;c. 安全与保密设备价值200元;d. 数据库管理软件价值300元。6.1.2其他一次性支出包括下列各项所需的费用,如:a 研究(需求的研究和设计的研究)大约100元;b 开发计划与测量基准的研究大约200元;c 数据库的建立需要500元;d 人员为自愿性质,无需费用;e 检查费用和技术管理性费用大约500元。6.1.3非一次性支出列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括:a 设备无租金和维护费用,由开发
8、者自行提供;b 软件无租金和维护费用;c 人员无工资,为自愿开发;d 无房屋、空间的使用开支;e 网络费用大约每月100元;f 保密安全方面的开支在每月20元左右;6.2收益6.2.1一次性收益a 由于工作地点由开发者提供,因此减少了开发的费用;b 用户购买此软件,需要一次性支付20元的费用6.2.2非一次性收益此系统一经购买,不需要后续升级的费用。6.2.3不可定量的收益由于软件的性能好,价格低,在消费者心中留下了了良好的形象,为日后软件的出售提供了便利。6.3收益投资比收益为使用人数乘以20,投资为2000左右。6.4投资回收周期由100人购买即可收回投资,大约需要半个月。6.5敏感性分析
9、 当系统使用人数增加时,系统的载荷可能过大,需要对系统进行更新升级,需要一定的后续开发费用。7社会因素方面的可行性7.1法律方面的可行性该软件是自行发开的,其中所用到的程序,支付了版权的费用,不存在法律方面的问题。7.2使用方面的可行性学生用户可以方便的理解该系统的运行方法,因此该系统在使用方面是可行的。8结论 上述报告表明,该系统的开发在现阶段是可行的,也可以得到一定的经济效益,可以立即执行。软件需求9任务概述9.1目标该软件开发的目的是帮助用户记住英语单词,面向用户大多为学生。与如今市面上的一些翻译软件有些相似。|9.2用户的特点使用该产品的人群大多为学生,使用此软件可以扩充他们的词汇量,
10、提高其英语水平。而该产品的维护与开发人员都需要有一定的c语言程序编辑基础。9.3假定和约束该软件开发经费应控制在3000元以下,需在2015年1月10日之前完成。10需求规定 10.1对功能的规定功能:1.词库的维护2.课程预览3.显示中文用户输入英文的背诵方法4.显示英文用户输入中文的背诵方法5.背诵成绩的记录系统先给出预设中文或英文,然后用户输入对应的翻译,系统与预设程序进行比对,输出正确与否,给出评分,并最终给出正确答案;。10.2对性能的规定10.2.1精度该系统的精度可以达到每一个英文字符。10.2.2时间特性要求a 响应时间不超过0.5秒;b 更新处理时间不超过0.1秒;c 数据的
11、转换和传送时间不超过0.1秒;d 解题时间不超过0.5秒。10.2.3灵活性a 操作方式上的变化,可以灵活的从电脑切换到移动设备;b 在对软件的定期更新后,其处理问题的时间也将相应缩短;c 可以由用户自行编辑词库,灵活不死板。10.3输人输出要求输入与输出都为char型变量,中文与英文用不同的结构加以区别。10.4数据管理能力要求需要管理大于10万字节的数据。给用户自行添加单词留下足够大的空间。10.5故障处理要求在用户自行添加某些单词后,有可能出现重复的情况,因而有可能导致系统出现故障,此时维护人员会立刻进行故障处理。10.6其他专门要求由于此软件是自行开发的收费项目,因为在安全保密方面有一
12、定要求。11运行环境规定11.1设备a 输入及输出设备均为电脑,可以在脱机状态下运行;b 数据通信设备大约有3台;c 功能键有中文至英文,英文至中文,判断对错,显示成绩,显示正确结果。11.2支持软件支持windows98 xp ,苹果系统。11.3接口说明该软件与其他软件无接口。11.4控制 该软件由程序员所设计的程序控制。概要设计12总体设计12.1需求规定可实现中英文词语的互译与对使用者对于英文单词掌握的熟练程度的检测和评价。12.2运行环境windows98、xp、7、812.3基本设计概念和处理流程学生背单词软件功能模块图如下:写入文件信息查询成绩背诵(英至中)读取文件信息添加单词信
13、息删除单词信息修改单词信息显示单词信息背诵(中至英)12.4功能器求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:show_infor()modify_infor()read_from_file()write_to_file()add_infor()del_infor()从文件中读取单词的信息向文件中写入单词的信息添加单词信息修改单词信息显示单词信息删除单词信息13运行设计13.1运行模块组合1、用鼠标打开该程序,以cmd命令提示符窗口显示菜单;2、用键盘进行功能选择;运行模块都为I/O设备输入。13.2运行控制本软件主要通过键盘输入控制。可根据菜单提示进行功能
14、选择。13.3运行时间该软件占用资源时间较短。14系统数据结构设计14.1逻辑结构设计要点该软件用c语言为基础对各个所需功能进行编译与实现,其各功能之内及之间的逻辑关系均由c程序语言实现。14.2物理结构设计要点该软件主要通过对操作系统已安装的记事本程序的调用来实现对数据的读取和写入,并通过cmd命令提示窗口对菜单和数据进行显示。15系统出错处理设计15.1出错信息信息处理方法含义菜单首行出现报错,无法找到data.txt文件成绩测试出现乱码未测试或data.txt文件内无数据重新测试或更新数据文件data.txt文件不存在或文件名错误创建名为data.txt的文件/改文件名为data.txt
15、15.2系统维护设计应定期更新data.txt文件。详细设计16程序1(标识符)设计说明16.1程序描述该系统是帮助单词背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库,系统可以给出中文,让单词输入其英文意思,也可输出英文让单词输入中文思。并判定词义是否正确。如不正确给出提示并要求用户重新输入。如正确给以鼓励。还应有词语预览功能。 基本功能: 词库的维护 课程预览显示中文用户输入英文的背诵方法显示英文用户输入中文的背诵方法背诵成绩的记录。16.2功能16.3性能该程序对性能要求并不太高。16.4输入项可于菜单下输入功能编号选择软件功能,其后的翻译功能下可输入中文或英文词语。限于
16、软件系统储存文件data.txt内文件输入。16.5输出项 输出由cmd对话框可视输出,限于软件系统储存文件data.txt内文件输出。16.6算法本程序采用c语言编译,源程序如下:#include #include #include #define MAX_CHAR 20 / 最大字符#define MAX_NUM 100 / 单词的最大个数typedef struct word/单词的结构体 char enMAX_CHAR; / 英文形式 char noMAX_CHAR; /中文形式word;word sMAX_NUM; /单词数组int num; /单词个数void read_from_
17、file()/从文件中读取单词的信息 FILE *fp; int i=0; fp=fopen(data.txt,rb); if(!fp) printf(打开文件data.txt失败!n); return ; fread(&num,1,sizeof(num),fp); /先读取单词的个数 for(i=0;inum;i+) fread(&si,1,sizeof(word),fp); /读取每个单词的信息存放到结构体 fclose(fp);/关闭文件void write_to_file()/从文件中读取单词的信息 FILE *fp; int i=0; fp=fopen(data.txt,wb+);
18、if(!fp) printf(打开文件data.txt失败!n); return ; fwrite(&num,1,sizeof(num),fp); /先写入单词的个数 for(i=0;inum;i+)fwrite(&si,1,sizeof(word),fp); /写入每个单词的信息 fclose(fp);/关闭文件void add_infor()/添加单词信息int a,i=num;printf(请输入单词的英文形式:);scanf(%s,si.en);printf(请输入单词的中文形式:);scanf(%s,si.no);num+;printf(您输入的信息为: 英文: %s 中文: %s
19、n Enter 0 继续输入; Enter 1 返回主菜单,si.en,si.no);void del_infor()/删除单词信息int i=0,j=0;char noMAX_CHAR; /中文形式 printf(请输入你要删除的单词中文形式:);scanf(%s,no);for(i=0;inum;i+)/先找到该中文形式对应的序号 if(strcmp(si.no,no)=0)for(j=i;jnum-1;j+) sj=sj+1;num-; /数量减少 1return; printf(没有这个单词!); printf(Enter Enter 1 返回主菜单);void modify_info
20、r()/修改单词信息int i=0;char noMAX_CHAR; /中文形式 printf(请输入你要修改的单词中文形式:);scanf(%s,no);for(i=0;inum;i+)/先找到该中文形式对应的序号 if(strcmp(si.no,no)=0)printf(请输入单词正确的英文形式:);scanf(%s,si.en);printf(请输入此单词正确的的中文形式:);scanf(%s,si.no);return;printf(没有这个单词!);printf(Enter Enter 1 返回主菜单);void show_infor()int i=0; printf(单词: 英文
21、中文 n); for(i=0;inum;i+) printf( %10s%10sn,si.en,si.no);printf(Enter Enter 1 返回主菜单);void search_infor()/查询单词int i=0;char noMAX_CHAR; /中文形式 printf(请输入你要查询的单词中文形式:);scanf(%s,no);for(i=0;inum;i+)/先找到该中文形式对应的序号 if(strcmp(si.no,no)=0) printf(英文形式 中文形式 n); printf(%10s%12sn,si.en,si.no);return;printf(没有这个中文
22、形式!);printf(Enter Enter 1 返回主菜单);void zy_infor()char b120;int z,d=0,c=0;int i; i = rand()%num;printf(【%s】请输入英文单词:,si.no);scanf(%s,b1);for(z=0;strcmp(b1,si.en)!=0;z=z)printf(输入错误!请重新输入:);scanf(%s,b1);c=c+1;printf(n恭喜你,回答正确,加10分!nn);d=d+1;printf(Enter 2 继续输入; Enter 1 返回主菜单,si.en,si.no);void yz_infor()
23、char b120;int z,x=41,d=0,c=0;int i; i = rand()%num;printf(【%s】请输入中文意思:,si.en);scanf(%s,b1);for(z=0;strcmp(b1,si.no)!=0;z=z)printf(输入错误!请重新输入:);scanf(%s,b1);c=c+1;printf(n恭喜你,回答正确,加10分!nn);d=d+1;printf(n Enter 3 继续输入; Enter 1 返回主菜单,si.en,si.no);void chengji_infor()int c,d;printf(n共计输入错误:%d次*每次扣10分*n,
24、c);printf(共计输入正确:%d次*每次加10分*n,d);printf(你的总得分为:%d分nn,10*d-10*c);printf(Enter Enter 1 返回主菜单);void show_main_menu()printf(n);printf( n);printf( n);printf( 背 单 词 系 统 n);printf( n);printf( 作者 : 胡鲲 疏琪堡 强文程 程睿 n);printf( n);printf( n);printf( n);printf( 1、添加单词信息 2、删除单词信息 n);printf( n);printf( 3、修改单词信息 4、显
25、示单词信息 n);printf( n);printf( 5、背诵(中至英) 6、背诵(英至中) n);printf( n);printf( 7、查询成绩 8、退出 n);printf( n);printf( n); /用户界面printf(n);printf( 请选择您需要的操作序号(1-8)按回车确认:);int main() int a,choose=0; num=0;/初始化单词个数为0 read_from_file(); /读取文件 show_main_menu(); scanf(%d,&choose); printf(n); while(choose!=8) switch(choos
26、e) case 1: add_infor();break; case 2: del_infor();break; case 3: modify_infor();break; case 4: show_infor();break; case 5: zy_infor();break; case 6: yz_infor();break; case 7: chengji_infor();break; while (a3) break; write_to_file();/写入文件 printf( *谢谢使用单词背诵系统!再见!* n); getchar(); return 1;16.7接口用图的形式说明
27、本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。16.8存储分配本程序数据基本存储于目录下的data.txt文件内。16.9限制条件本程序需要目录下存在“data.txt”文件测试分析17测试过程、结果及发现17.1测试1测试软件的词库管理功能:输入1,进行添加单词功能,再输入单词的英文和中文意思,保持单词成功,功能有效;输入2,进行删除单词功能,再输人所要删除单词的中文,删除成功,功能有效;输入3,进行修改单词功能,输人所要修改单词的中文意思,再输入该单词正确的英文和中文形式,完成修改单词功能;输入4,
28、进行显示单词功能,即可看见所有保存的单词,功能有效。总的可见,该软件的词库管理功能可用,十分有效。17.2测试2测试软件的单词背诵功能:输入5,进行背诵单词(中至英)功能,然后输入提示中文单词的英文意思,若正确,输入2,继续,输入1,回主菜单,若不正确,重新输入英文单词,但这时发现一旦无法输入正确单词,此功能无法退出,将进入一个死循环,此结果与预想的不同:输入6,进行背诵单词(,英至中)功能,测试出的问题与输入5时一样。综述,该软件的单词背诵功能有缺陷,待改善。17.3测试3测试软件的查询背诵成绩功能:输入7,进行查询成绩功能,随后软件输出背诵过程获得全部成绩,功能有效。18对软件功能的结论1
29、8.1功能118.1.1能力词库管理功能:添加单词,删除单词,修改单词,显示单词。18.1.2限制只能逐一添加,删除,修改单词,不方便。18.2功能218.2.1能力 单词背诵功能:背诵单词(中至英),背诵单词(英至中)。18.2.2限制能提供背诵的单词不全,还需自己添加,不可以联网下载比较全面的单词库。18.3功能318.3.1能力 查询背诵成绩功能。18.3.2限制 只能看最终结果,无法详见具体的得分情况。19分析摘要19.1能力软件基本达到设计要求,软件功能完整,用户界面良好,错误处理正确。19.2缺陷和限制背诵单词环节中,错误时无法退出该功能。并且该软件无法联网操作,无法一套软件提多人
30、使用。19.3建议建议创建一个用户登记功能,可区分不同用户名,以供多人使用;建议创一个联网下载单词库的功能,以方便用户背诵,减少添加单词的工作量。19.4评价 经过软件的测试,系统基本上达到需求定义阶段用户所提出的要求。开发工作合格。20测试资源消耗大约耗时1个多小时。用户手册21用途21.1功能词库管理功能:可添加单词,删除单词,修改单词,显示单词;单词背诵功能:可进行单词背诵(中背英),(英背中);查询背诵成绩功能:可查询背诵过程所获得的成绩。21.2性能21.2.1精度单词的英文形式:XXXXXX,要求是英文字母;单词的中文形式:XXXXXX,要求是中文汉字。21.2.2时间特性响应时间
31、:约0.5s更新处理时间:约1s数据传输、转换时间:约1s计算时间:约0.5s21.2.3灵活性本软件的灵活性一般,当用户没有输入指定的格式时,只会提示“错误”。本软件在没有安装C语言运行环境的情况下无法运行,适应性一般。21.3安全保密本软件没有设置用户登录功能,因此无法为用户进行所背单词的保密功能,安全与保密性一般。22运行环境22.1硬设备列出为运行本软件所要求的硬设备的最小配置,如:a. 处理机的型号、内存容量:CPU英特尔 i3双核,内存容量最小512M;b. 所要求的外存储器、媒体、记录格式、设备的型号和台数、联机脱机:无;c. IO设备(联机脱机?):脱机;d. 数据传输设备和转
32、换设备的型号、台数:无。22.2支持软件说明为运行本软件所需要的支持软件,如:a 操作系统的名称、版本号:windows XP,7,8;b 程序语言的编译汇编系统的名称和版本号:VC;c 数据库管理系统的名称和版本号:VC;d 其他支持软件:无。23使用过程23.1安装与初始化本软件是在VC上运行,只需用户在电脑上安装一个VC软件,后打开VC,再将源程序拷贝进VC即可运行,操作方便,简单。23.2输入23.2.1输入数据的现实背景说明输入数据的现实背景,主要是a. 情况背诵单词出错,成绩查询;b. 情况出现的频度视自己操作情况而定;c. 情况来源一单词库;d. 输入媒体键盘;e. 限制需按指定
33、的步骤及输入才可访问软件;f. 质量管理提示输入不符合要求,要求重新输入;g. 支配输入数据符合要求则进入数据库,不符合则废弃。23.2.2输入格式说明对初始输入数据和参量的格式要求,包括语法规则和有关约定,如:a. 长度一字母类标签长度限制最长为20位;b. 格式基准以左面的边沿为基准;c. 标号无;d. 顺序根据要求提示依次输入;e. 标点只使用下划线;f. 词汇表无;g. 省略和重复无;h. 控制提示“请输入”。23.2.3输入举例为每个完整的输入形式提供样本:23.3输出对每项输出作出说明23.3.1输出数据的现实背景说明输出数据的现实背景,主要是:a 使用背单词的用户;b 使用频度不
34、定期的;c 媒体窗口,可截图,d 质量管理一无;e 支配无效请废弃,重新选择有效数据输出即可。23.3.2输出格式给出对每一类输出信息的解释,主要是:提示用户添加,删除,修改单词是否成功,背诵单词是否正确,是继续输入还是退出。23.3.3输出举例23.4文卷查询无23.5出错处理和恢复出错是,软件会提示你重新输入,或者退出。23.6终端操作当软件是在多终端系统上工作时,应编写本条,以说明终端的配置安排、连接步释、数据和参数输入步骤以及控制规定说明通过终端操作进行查询、检索、修改数据文卷的能力、语言、过程以及辅助性程序等。本软件属于单终端系统,不必考虑本条款。24附录组员分工表分工组员源程序可行性研究报告、软件需求规格说明书概要设计说明书、详细设计说明书测试分析报告、用户手册胡鲲疏琪堡强文程程睿