ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:261.66KB ,
资源ID:10327084      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10327084.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(代码比较器设计文档.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

代码比较器设计文档.docx

1、代码比较器设计文档哈尔滨学院软件学院课程设计说明书题目:HSCodeComToolKit 哈软代码比较工具院(系)软件学院专 业软件工程年 级09-3姓 名张鸣雷学 号09033333指导教师王克朝 张晶职 称2011年 8 月20 日摘 要哈软代码比较工具是一款实用的小软件,具有文本比较功能,和文件夹比较的功能,文本比较:比较两个文本文件的内容。如果两个文件完全相同,则打印“The Two Files are identical!”;如果不完全相同,则显示不同处所在的行号及不同点;比较结果显示在屏幕的同时,写入文件。文件夹比较:比较两个文件夹内对应文件的异同。如果对应的两个文件完全相同,则显

2、示任何信息;如果不完全相同,则显示文件名、不同处所在的行号及不同点,比较结果显示在屏幕的同时,写入文件。此文档记录了制作本软件的全过程,包括需求分析,概要设计,详细设计,和源代码。开发此软件,为本人增加了经验,得到了锻炼。为大家提供了一款很不错的软件,但还有一些功能不够完善,希望大家多提一些建议,一起将此软进一步完善。关键字:文档,源代码,分析,算法摘 要Take toHa soft code comparison tool is a small utility software, with text comparison functions, and folder comparison fu

3、nction, text comparison: a comparison of two the contents of a text file. If the two files are identical, then print The Two Files are identical!; if not identical, displays a different place in the line number and different points; compare the results displayed on the screen at the same time, write

4、 to the file. Folder comparison : a comparison of two folders corresponding document similarities and differences. If the two files are identical, showing any information; if not identical, show the file name, line number and different in different places, compare the results displayed on the screen

5、 at the same time, write to the file. This document records the production of the whole process of the software, including needs analysis, outline design, detailed design, and source code. Development of this software, for I have increased experience, get exercise. We provide a very good software, b

6、ut there are some function is not perfect, I hope everyone advice, this soft to further improve.Keywords: documentation, source code, analysis, algorithm前言随着通信和计算机技术的快速发展,以及经济全球化的推动,互联万表现出了极大的使用方便性和信息传递的快捷性,使得人们对信息网络的依赖程度越来越大,人们在传递信息的同时,又有大量的信息相同,但名称不同,浪费空间,和时间。所以有很多人想知道文件是否相同,以及文件夹的比较是否相同,为此学校组织编写了

7、这款小软件,即小又实用,此软件开发完成,但还有一些未知的功能需要完善,为此编写此文档,方便用户使用,在开发人员的开发,对软件进行好的管理,与应用。第一章 需求分析1.1 引言1.1.1编写目的对于HSCodeComToolKit 哈软代码比较工具而言,其作用是实现文本文件的比较,随着互联网的发展,越来越多的文本文件在网络中传播,有些文件文件名不同,内容却是相同的,有时自己建立的文件也可能是内容相同,名不同,为了找出这些内容相同的文件,将重复的删除,以节省空间,开发这款代码比较器,比较文本文件是否相同以及文件夹中的内容是否相同。此规格说明书在详细的调查了客户现有的应用模块和基本的操作流程后进行编

8、写,对HSCodeComToolKit 哈软代码比较工具以及其功能进行了详细的规划、设计,明确了软件开发中应具有的功能、性能使得系统的开发人员和维护人员能够详细清楚的了解软件是如何开发和进行维护的,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本规格说明书的预期读者包括客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员等。1.1.2项目背景软件产品名称: 哈软代码比较工具。代码:HSCodeComToolKit表1任务提出者 王克朝 张晶项目负责人张鸣雷1.2 项目概述1.2.1待开发软件的一般描述(1)项目目标、文本比较:比较两个文本文件的内容。如果两个文件完全

9、相同,则打印“The Two Files are identical!”;如果不完全相同,则显示不同处所在的行号及不同点;比较结果显示在屏幕的同时,写入文件。、文件夹:比较两个文件夹内对应文件的异同。如果对应的两个文件完全相同,则显示任何信息;如果不完全相同,则显示文件名、不同处所在的行号及不同点,比较结果显示在屏幕的同时,写入文件(2)应交付成果在项目开发完成后,交付内容有编译后的代码比较器,应用程序,开发文档,设计说明书(3)项目开发环境操作系统为Windows2003以上均可,使用集成开发工具vc6.0 (4)项目验收方式与依据项目验收分为内部验收和外部验收两种方式。在项目开发完成后,首

10、先进行内部验收,有测试人员根据用户需求和项目目标进行验收,项目在通过内部验收后,交给客户进行验收,验收的主要依据为需求规格说明书1.2.2待开发软件的主要功能层次方块图图1流程图图2图51.2.3 用户特征需要比较文本文件异同或文件夹异同的人1.2.4运行环境硬件环境486或更高档PC台式机,笔记本电脑;运行时占用内存:1MB;安装所需硬盘:5MB;软件环境可选软件平台:中文Windows95Windows95、Windows NT 4.0或更高版本;Windowsxp及更高版本1.3 功能需求1.3.1功能划分(1)文本文件比较(2)文件夹比较1.3.2 功能描述(1)、文本比较:比较两个文

11、本文件的内容。如果两个文件完全相同,则打印“The Two Files are identical!”;如果不完全相同,则显示不同处所在的行号及不同点;比较结果显示在屏幕的同时,写入文件。(2)、文件夹比较:比较两个文件夹内对应文件的异同。如果对应的两个文件完全相同,则显示任何信息;如果不完全相同,则显示文件名、不同处所在的行号及不同点,比较结果显示在屏幕的同时,写入文件。1.4 外部接口和需求用户界面采用dos界面驱动方式,对用户友好。1. 查询要求:查询界面一目了然2. 信息列表:分类明确,字体清晰好认,能快速的看到重要信息3. 操作要求:能够响应用户命令请求输入输出格式输入:根据提示输入

12、,输入准确,主界面输入1或2或3选择比较还是退出,输入文件路径必须带扩展名,文件夹不需要扩展名。输出:清晰输出比较结果1.5 软件属性需求正确性: 高可靠性:高效率:高 易使性:要求具有较强的容错处理能力,以保证软件的可适用性,在用户误操作的情况下系统应给出相应的提示信息,高数用户如何进行恢复操作,避免无法挽回的损失可维护性:为了保证系统的可维护性,要求具有详细的系统设计文档资料,提供全部的系统源程序,并尽量采用面向对象的程序设计方法,以提高系统的可靠性。同时要求系统的功能在一定程度上可扩展,以满足业务变动的需求可移植性:本系统开发完成后,要能运行于任何由windows2000/nt /98级

13、以上版本操作系统所构成的计算机单机环境下运行第二章 开发工具介绍及数据库设计2.1 系统开发工具介绍Dev-C+是一个Windows下的C和C+程序的集成开发环境。它使用MingW32/GCC编译器,遵循C/C+标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能够适合初学者与编程高手的不同需求,是学习C或C+的首选开发工具!多国语言版中包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大利语等二十多个国家和地区语言提供选择。第三章 概要设计3.1 引言3.1.1

14、 编写目的在系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述 本阶段已在系统的需求分析的基础上,对哈软代码比较工具系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程

15、中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。3.2 任务概述3.2.1目标项目目标应当符合SMART原则,项目要完成的工作用清晰的语言描述出来,校友录系统项目目标如下:(1)、文本比较:比较两个文本文件的内容。如果两个文件完全相同,则打印“The Two Files are identical!”;如果不完全相同,则显示不同处所在的行号及不同点;比较结果显示在屏幕的同时,写入文件。(2)、文件夹比较:比较两个文件夹内对应文件的异同。如果对应的两个文件完全相同,则显示任何信息;如果不完全相同,则显示文件名、不同处所在的行号及不同点,比较结果显示在屏幕的同时,写入文件。3.2

16、.2运行环境 客户端:操作系统:Microsoft Windows 98 简体中文版 或 以上3.2.3需求概述代码比较器主要实现文本文件的比较,与文件夹的比较3.3 总体设计3.3.1基本设计概念和处理流程图63.4 运行设计运行模块组合哈软代码比较工具 -1.文本文件比较-输入文件1的路径 -输入文件2的路径 -输入比较结果存放的路径 -2.文件夹比较 -输入文件夹1的路径 -输入文件夹2的路径 -输入比较结果文件存放的路径 -3.退出第四章 详细设计4.1 引言4.1.1编写目的该详细设计说明书的目的在于根据哈软代码比较工具需求说明与概要设计说明提出该系统的详细设计,即系统的详细架构,主

17、要包括程序系统的结构以及各层次中每个程序的设计考虑。预期读者为指导老师。4.2 软件结构4.2.1需求概述 1文本文件比较2. 文件夹比较4.2.2软件结构图74.3 程序设计说明4.3.1输入项表2名称标识类型和格式有效范围输入方式输入媒体选择操作项IcInt1-3手动输入键盘文件1的路径File1Char *手动输入键盘文件2的路径File2Char *手动输入键盘文本比较结果的路径File3Char *手动输入键盘文件夹1的路径Wfile1Char *手动输入键盘文件夹2的路径Wfile2Char *手动输入键盘文件夹比较结果的路径Wfile3Char *手动输入键盘4.3.2输出项 比

18、较结果输出4.3.3算法 (1).文本文件比较算法分别读取文本1,文本2和比较结果写入的文本的路径,以只读的方式打开问文本1和文本2,以只写的方式打开写入比较结果文本,如果文件打开失败,输出提示,返回,打开成功则同时从文件1与文件2中读取字符,并设置行标记i,如果读取字符为换行,i+,如果读取字符为EOF则比较结束,读取来的字符进行比较是否相同,如果不相同,输出文件1文件2此行的内容,如果一个文件到达行尾另一个没有到达则,到达的停止读入,未到达的读到行尾,如果一个到达文件尾另一个未到达,则未到达的继续读取,如果相同,输出相同,同时写入文件,如果不同,相识不同的行号,和此行内容,并写入比较结果文

19、本。 (2).文件夹比较算法 分别读取文件夹1,文件夹2和文件夹比较结果写入文本的路径,调用system命令dir,将文件夹1和文件夹2中的内容写入到file1和file2中,再将file1,file2的前五行去掉,然后写入到wfile1和wfile2,从wfile1和wfile2中分别读取时间,大小或,文件名存到不同的数组中,从wfile1中读取一条记录,与wfile2中的所有记录比较,如果类型相同,文件名相同,并且不是文件夹类型,调用文本比较函数1比较是否相同,将结果存入以此文件名.txt的文件中,在屏幕上显示是否相同,是文件夹时不调用文本比较函数输出两个文件夹都有,如果在文件夹2中找不到

20、,则输出时间,大小,文件名,和只有文件夹1有,wfile1中的内容比较结束后,用同样的方法比较wfile2,找出只有wfile2有的。将比较结果显示到屏幕,并写入到比较结果文本,删除file1file2,wfile1,wfile2。4.3.4程序逻辑图84.3.4注释设计在每一个模块首部的注释,注释本模各变量的功能,范围,缺省条件等所加的注释 必要地方对各变量的功能,范围,缺省条件等所加的注释 对使用的逻辑所加的注释等4.3.6测试要点对每一个模块进行单独测试,测试时间与空间性,不超过要求,进行模块组合测试,相互之间调用顺畅,速度快,出现错误给出提示信息第五章 系统测试运行5.1 确认软件的质

21、量其一方面是确认软件做了所期望的事情,另一方面是确认软件以正确的方式来做了这个事件软件测试是提供信息,比如提供给开发人员或项目经理的反馈信息,为风险评估所准备的信息,软件测试不仅是测试软件产品本身,而且还包括软件开发的过程,如果过一个软件产品开发完成之后发现了很多问题,则说明此软件开发过程很有可能是有缺陷的,软件的目的是保证整个软件开发过程的高质量。5.2 测试方案 对程序中出现的每一种可能进行测试5.3 测试内容(1).文本文件测试建立不同的文本文件进行测试,文件内容相同的,不同的,一个比另一个多的,无内容的(2).文件夹测试,建立不同的文件夹进行比较图9图10图11总 结此文档对哈软代码比

22、较工具的设计过程进行了详细的说明,通过需求分析明确了需求,明确了该做什么,对此软件的层次进行了划分,对流程进行了划分,明确了功能,接口,和性能的要求。对开发工具进行了介绍,通过概要设计对程序进一步划分,对各个模块进行了划分,跟细致的分工。通过详细设计,对此软件的功能细分,各个模块细分,优化,做了程序流程图,为编码做好工作。最后对此软件进行了全面的测试。参考文献1参考Merge、WinMergePortable212、Linux下Diff的实现等2Linux环境编程3Linux编程技术详解4C语言程序设计5XX知道6学生大本营7附 录源代码#include#define N 32/字符串拼接ch

23、ar * strcat1 ( char * dst, const char * src ) char * cp = dst; while( *cp ) cp+; /* find end of dst */ while( *cp+ = *src+ ) ; /* Copy src to end of dst */ return( dst ); /* return dst */字符串比较int strcmp(const char *str1,const char * str2) while(*str1 = *str2) & *str1 != 0) str1 +; str2 +; if(*str1 =

24、 0) & (*str2 = 0) return 1; else return -1;/求字符串长度int mystrlen(const char * str) if(str = NULL) | (*str = 0) return 0; else return mystrlen(str + 1) + 1; / /文本比较int compareFile_F(const char * filename1,const char * filename2,const char * filename3) char s1BUFSIZ;/文件1的一行缓冲 char s2BUFSIZ;/文件2的一行缓冲 FIL

25、E *file1,/ *file2,/ *file3;/ char ch1,/ ch2;/ int line = 1,/ i = 0,/ j = 0,/ h = 1, t = 1,/标记是否判断完成 f = 1;/标记是否相同 file1 = fopen(filename1,r); file2 = fopen(filename2,r); file3 = fopen(filename3,w); if(!file1 | !file2 | !file3) return; ch1 = fgetc(file1); ch2 = fgetc(file2); while(t) if(ch1 = EOF & c

26、h2 = EOF)/如果两个文件同时到达文件尾,将设置t = 0 停止循环,关闭文件 t = 0; fclose(file1); fclose(file2); fclose(file3); else if(ch1 = EOF & ch2 != EOF)/如果文件1到达文件尾,文件2没有到达文件尾,关闭文件1继续读取文件2 t = 0; f = 0; fclose(file1); fprintf(file3,第%d行后不同n,line); fputs(文件1比文件2少:n,file3); while(ch2 != EOF) fputc(ch2,file3); ch2 = fgetc(file2)

27、; fclose(file2); fclose(file3); else if(ch1 != EOF & ch2 = EOF)/如果文件1没有到达文件尾,文件2到达文件尾,关闭文件2,继续读取文件1 t = 0; f = 0; fclose(file2); fprintf(file3,第%d行后不同n,line); fputs(文件1比文件2多:n,file3); while(ch1 != EOF) fputc(ch1,file3); ch1 = fgetc(file1); fclose(file1); fclose(file3); else/文件1文件2都没有到达文件尾,判断ch1与ch2是

28、否到达行尾 if(ch1 = n & ch2 = n)/如果文件1此行结束并且文件2 此行也同时结束,比较缓冲中的内容,如果不相同,设置f = 0,输出文件1和文件2此行内容 s1j = ch1; s2j = ch2; j +; s1j = 0; s2j = 0; i = 0; if(h = 0) i = 0; fprintf(file3,第%d行不同n,line); fputs(文件1:n,file3); while(s1i != 0) fputc(s1i,file3); i +; i = 0; fputs(文件2:n,file3); while(s2i != 0) fputc(s2i,file3); i +; ch1 = fgetc(file1); ch2 = fgetc(file2); line +; j = 0; h = 1; else if(ch1 != n & ch2 = n)/如果文件1此行未结束并且文件2此行结束,设置f = 0,继续读取文件1 s1j = ch1; s2j = ch2; j +; s2j = 0; f = 0; i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1