基于VC--的图片浏览器的设计与实现本科毕业设计.doc
《基于VC--的图片浏览器的设计与实现本科毕业设计.doc》由会员分享,可在线阅读,更多相关《基于VC--的图片浏览器的设计与实现本科毕业设计.doc(42页珍藏版)》请在咨信网上搜索。
基于VC++的图片浏览器的设计与实现 学 号 10031XXX X X大学学士学位论文 基于VC++的图片浏览器的设计与实现 院(系)名 称: 软件学院 专 业 名 称: 软件工程 学 生 姓 名: XXX 指 导 教 师: XX教授 XX大学 2014年 6月 目 录 摘 要 II Abstract III 前 言 1 第一章 绪 论 2 1.1 项目背景和意义 2 1.2 实现目标 2 1.3 设计思想 3 1.4可行性分析 3 1.4.1技术可行分析 3 1.4.2经济可行性分析 4 第二章 需求分析 5 2.1 任务概述 5 2.1.1 目标 5 2.1.2 用户的特点 5 2.1.3 运行环境 5 2.1.4条件与约束 6 2.2 系统整体描述 6 2.3系统功能说明 6 2.3.1用户浏览功能说明 6 2.3.2图片旋转功能说明 8 2.3.3图片特效功能说明 9 2.4性能与安全需求 10 第三章 系统概要设计 11 3.1系统体系结构 11 3.2.1系统功能模块图 12 3.2.2 系统功能模块设计 12 3.2.3 体统模块关系图 13 3.2.4系统模块功能关系表 14 3.3开发环境与运行环境设计 14 3.3.1 开发环境 14 第四章 系统详细设计与实现 16 4.1 浏览功能详细设计 16 4.2 特效详细设计 18 4.3. 3 缩放详细设计 19 4.3. 3 旋转功能详细设计 21 第五章 软件测试与改进思想 23 5.1 软件测试 23 5.1.1测试方法 23 5.2测试用例 23 5.2.1图片浏览测试用例 23 5.2.2缩放及旋转测试用例 25 5.2.3特效测试用例 28 5.3 改进思想 33 结 论 34 参考文献 35 致 谢 36 摘 要 在我们的使用环境中,目前市场上大多是采用ACDSee等的图片浏览器,但是此类的图片的浏览器在图片的格式支持等多方面,有一定的问题。在本文中给大家介绍了多个工能实现的图片浏览器的应用状况和将来的发展的前景。 在此我将介绍一下软件的功能与用途,VC++的图片浏览器是,用MFC框架来实现的,这个程序用图像分析的原理和微软的MFC类库进行开发完成的,他的功能当然主要是满足人们对图片的操作与需求,包括查看、旋转效果、放大变小效果、百叶窗、取反色、灰度图等等的功能和特效。程序的设计就是为了满足人们的不断变化的需求,图片处理技术的进步,也能大大的推动其他相关行业的发展,对我们生活的各个方面都带来了不尽的便利,使我们的生活变得多姿多彩。整个程序在开发构成中运用了C++和其他高级语言共有的,面向对象的开发技术,这样是程序比较容易扩大和维护。 关键词:图片; MFC;浏览器 基于VC++的图片浏览器的设计与实现 Abstract In our environment, currently on the market are mostlyuse ACDSee picture browser, but this kind of picture browser in the photo format support and other aspects, there are some problems. For all application describes multiple industry can realize the photo browser and future development in the future. In this paper, the main function is used, introduces the development of MFC VC++ picture browser and implementation process based on. The software uses the basic principle of image and the MFC class library development and complete, for the realization of the basic image browsing and as the simple changes, including the view, rotate, zoom smaller effect, shutters, to color, grayscale and so on functions and effects, echnology, can greatly promote the development of other related industries. Of all the aspects of our life doudaila. The program is designed to meet the changing needs of people, the picture processing . Use of the whole process of object-oriented development techni quesin the development process, is easy to extend and maintain. Its design, development, implementation provides an intuitive, convenient integrated environment for research and development of graphics software, provides a relatively good platform for the large-scale development of image system in the future. Keywords:Image; MFC; browser 基于VC++的图片浏览器的设计与实现 前 言 人类的发展和科技的发展有着密不可分的关系,图片的发展、处理和使用,在现实的生活中有着无法替代的位置,它的存在给我们的生活带来了非常多的便利,但是如何浏览和对图片进行操作呢,往往需要使用相应的软件来完成,那么最为常见的恐怕就是Matlab。可能大家都知道这一类的软件,有着独特的优点,功能强大且丰富等特点,但是世界上没有完美的东西,他也有着一些不足的地方。以Matlab为例,该软件几乎具备了各种数据的类型,甚至数据模型的分析处理能力等;但是良好的功能和丰富的内容,也是不能够完成所有的用户需求,所以我们就需要一些专门的软件程序去实现。人们日新月异的要求,需要专门的软件来完成对图片的不同的操作和功能的完善。单独的开发图片浏览器的必要性就显得十分明显。那么采用什么样的方式和方法,来开发一个人们能够满足人们不断变化的需求的软件呢?这里我采用C++语言来完成和实现,这始终面向对象设计的高级语言,执行快、高效、能扩展、便于维护等特点是这语言的都点所在。当然一个完整的函数库也能对我带来很大的帮助,MFC的出现是整个实现的过程,变得简化不至于像之前那样的十分的繁琐,他十分充分的利用了面向对象的特点,还有简易的操作、独特的窗口框架和简单的插件拖拽,大大的减少了程序员的工作量,提高了工作效率。 1 第一章 绪 论 第一章 绪 论 1.1 项目背景和意义 随着社会的发展科技的不断的进步,现在的图片处理的技术也已经达到了一个全新的高度,它使信息变得形象、生动、栩栩如生,不再是生硬的文字描述。我们生活的社会不论古代和是现代,图像的使用已经渗透到了,几乎每一个角落如,天文地理、医药化工、医学等等。图片的发展可以说是影响了我们每一个人的点点滴滴,可以随意的记录我们的美好瞬间,使我们的每次回忆的完整片段。还可以对我们的工作变得方便,不需要所有的地方都用枯燥的文字来描述,变得易懂简便,使我们的生活更加的丰富多彩。但是目前我们所使用的图片软件的软件,大都是功能简单,显示效果单一,不能够给我们提供很好的使用快感和多功能高效果的体验。 因此一个好的片浏览软件也成为人们生活中不可少的一部分,一个个美丽丰富的图片都可以通过他呈现在我们的眼前,让我们回忆每一个美好瞬间的同时,也体验了科技的发展所带来的便利,体验到我们软件行业的发展所带来的便利成果。这也是设计这款软件的最终目的。 1.2 实现目标 介于现在市面上所流通使用的图片浏览软件的功能简单,使用不能够满足使用者的要求等问题,设计了这款软件,该软件是一款独立的应用软件,可以运行在Windows系统下用于查看本地文件夹中的图片文件,播放本地文件夹中的图片文件。设计成一款方便用户使用,具有播放图片、变换图片大小、自动旋转图片、取反色图片、灰度图、马赛克效果等功能,以及查看图片的路径,令人舒适,符合用户需要的友好型界面。 我设计了这个课题,那就是我想把我所有的学习的知识,运用到实践中,不要荒废了自己所学习的C++语言和知识。实现这个愿望的关建就是,使用现有的知识,完成一个从没有完成的东西,并且还要使用了自己所学过和没有接触到的知识。 我对我编写的软件有一个终极的目标,就是不但能够浏览图片的不同的格式,如BMP格式、PCX格式、TGA格式、JPEG格式、GIF格式等等,这几种图像格式可以说是囊括了,到多数的图片的格式。还能够实现其他图片浏览软件所不能够完成的功能,例如,把图片的是格式取成反色,还能够灰度的显示图片,在用户使用时还能够实现,锐化、平滑的效果显示等等。这个软件能够完成对图片的载入、显示等等功能,还有就是在显示图片时使用不同的效果查看,如最基本的是图片的大小改变、是图片旋转不同的方向、百叶窗效果、马赛克效果等。 1.3 设计思想 实现软件的开发主要实现以下的几个步骤: 1. 软件的整体的设计与规划。软件的设计的文档的编写如,需求分析、概要设计、详细设计等等。 2. 软件的界面和代码的着手编写。 3. 软件的测试和测试用例的编写,及程序BUG的调试改进等。 在第一部分的设计和规划时候,主要是对软件的信息的采集和程序的实现的日程,及实现的要求做一个大体的规划。 而在第二部分的文档编写部分中,主要是实现对软件的设计的主要功能,及相应的模块、使用的函数、平台等等相关的内容进行规划和设计,一遍顺利的完成软件的设计和实现。 在第三部分的内容中,界面的部分是对整个软件的脸面进行设计,这个部分的内容使用的是MFC的应用程序对软件的界面进行设计和实现的,其中囊括了整个软件所使用的功能按键。在代码的部分是使用了VC++的程序设计思想完成对代码的编写,来完成软件的实现,这个部分包括了软件的设计中使用的函数,设计到了系统消息的响应等等。 在第四部分的内容中,主要是对软件完成后的实现的功能等进行测试,调试软件的存在的BUG等等,这一部分也是软件最后的阶段,也是能够对软件的品质及正常的功能的实现的保证。 1.4可行性分析 1.4.1技术可行分析 本软件主要是使用VC++语言和MFC的类库的内容,来完成对软件的每个功能的实现。本软件采用的框架的优点在于,使用MFC大大的方便了对整个软件的功能的实现,大大的简化了完成软件的工作量。 1.4.2经济可行性分析 本软件的制作完全是由vs2010的平台编写完成的,并且使用没费的FMC的类库对软件进行编写和完成的,所以在开发平台和工具上的成本很小,本软件的管理和维护的工作也是比较的简单,但是本软件的功能强大的功能,如果放大了市场上前景一定很好,所以本软件可以说的投入小,收益高的产品, 35 第二章 需求分析 第二章 需求分析 2.1 任务概述 2.1.1 目标 本软件的主要实现的功能包括:图片的浏览、播放、旋转、缩放、百叶窗播放、马赛克、取反色效果、灰度图效果等功能。来实现现代人对图片的不同需求,体现出软件的可用性强、使用面广、用途多来满足不同人的不同要求,来实现一个操作简单,功能强大的图片浏览器。本设计将要实现的是一个单机图片浏览软件,从其目标功能及特点分析,将本软件功能划分如下: 能够轻松的代开BMP格式、PCX格式、TGA格式、JPEG格式及GIF格式图片等。 在查看一幅图像时,放大1.0-2.0倍之间的任意倍数、缩小0.1-0.9之间的任意倍数;还可以把图片显示在软件中间的位置;并随时的还原成原图片的大小显示。 在对软件进行操作时,选择不同的按钮对图像进行水平和竖直的旋转,还可以在0-360度之间的任意度数旋转,还可以让图片在自动的旋转和随时的停止。 用户对软件进行使用时,Windows自带的绘图工具进行相关的编辑和修改。 该软件还提供了,对图片的上一张图、下一张图、自动播放等功能,就是再点击上一图或下一图时,选择浏览图片的,并且在操作界面的下角会显示图片自动旋转的时间,或是百叶窗播放的时间。 图片的浏览查看时,用户可以自己选择使用查看使用“百叶窗”、“马赛克”等效果。 用户还可以在选择图片的时候,显示图片的路径在操作的界面上。 用户浏览图片是,在软件的标题栏出显示图片的名称及相关的信息,标题栏显示当前打开的图片的文件名。 2.1.2 用户的特点 本软件的设计基于简单、易操作目标,所以使用的用户可以适用于各类人群。 2.1.3 运行环境 (1)硬件平台要求 本软件是一个单机类型的软件,并不涉及网络,所以也不需要对很多的数据的进行读写等交换,所以对环境的要求并不高,所以只要是在Windows的操作系统的硬件上运行,都能够使用本软件。 提示:由于软件涉及到了对图片的特效显示,所以对也包含了大量的数据的运算,所以对CPU的也是有一定的要求的,最好CPU的型号是PIII 800MHz以上。 (2)软件环境要求 软件可以在 Windows 7、WindowsXP等。 2.1.4条件与约束 本软件的目前使用vs2010,使用C++和MFC的类库完成的,在使用技术上由于目前的能力和接触面的限制,有一些功能还没办法实现。还有就是在限定的时间内完成比较完善的功能是可以的,但是在现有的基础上,在添加上一些比较考验技术知识和比较困难的算法来实现的话,时间上比较的劲,目前也还不具备这样的能力。 2.2 系统整体描述 本系统采用VC++完成图片浏览器的设计,整个系统分为用户界面,图片浏览和特效浏览三部分。用户界面主要使用MFC提供图片浏览的用户交互界面;在对图片进行查看时功能有,自动旋转、竖直和水平旋转、自定义倍数放大、自定义倍数缩小、自动百叶窗效果、马赛克、取反色浏览、灰度图等控制;在对软件的模块设计的时候,对不同图形处理方式采用不同的处理方法的。要考虑与各个模块的兼容情况。 2.3系统功能说明 2.3.1用户浏览功能说明 1.需求描述 当用户登陆到操作界面后,首先是选择图片所在的位置然后在添加图片,然后显示图片的内容,可通过软件上的“上一张”和“下一张”图的按键对图片进行控制,进行浏览图片的上一张和下一张图片。 2.用例图 图2.1 用户浏览操作用例图 3.用例文档 (1)用例编号 UC1:用户浏览操作 (2)用例描述 使用的用户浏览图片 (3)参与者 操作用户(首要) (4)前置条件 运行软件 (5)后置条件 选择要浏览的图片 (6)基本路径 用户运行软件 用户打开要浏览的图片 用户点击响应的按键 后台函数响应 显示图片 (7)补充说明 用户在使用软件是要把图片的名字改成如,001、002等,应为系统在获取图片的下一个和上一个图片的路径时是按照自加和自减的方式查找并获取图片的。 2.3.2图片旋转功能说明 1.需求描述 当用户使用软件时,可以对图片进行浏览上一张或是上一张,还可以对图片进行旋转控制来完成,对图片的查看功能。 2.用例图 图2.2 用户旋转操作用例图 3.用例文档 1)用例编号 UC2:用户对图片旋转操作 (2)用例描述 使用的用户浏览图片特效 (3)参与者 操作用户(首要) (4)前置条件 运行软件 (5)后置条件 选择要浏览的图片 (6)基本路径 用户运行软件 用户打开要浏览的图片 用户点击对应的旋转按键响应 后台函数响应 显示图片 2.3.3图片特效功能说明 1.需求描述 在用户使用软件的时候,可对图片进行特效浏览的方式进行查看,包括对图片的百叶窗浏览、马赛克效果、取反色、灰度、锐化、平滑、X错切、Y错切特效等。 2.用例图 图2.3 用户特效用例图 3.用例文档 (1)用例编号 UC3:用户对图片的特效操作 (2)用例描述 使用的用户浏览图片特效 (3)参与者 操作用户(首要) (4)前置条件 运行软件 (5)后置条件 选择要浏览的图片 (6)基本路径 用户运行软件 用户打开要浏览的图片 用户点击特效的按键响应 后台函数响应 显示图片 2.4性能与安全需求 1.响应时间要求 在使用过程中的系统响应时间不得小于0.1秒。 2.数据的转换和传输时间要求 在软件的运行时候,在数据的传输及消息相应的过程中,时间都不得超过0.1秒。 3.运行时间要求 在使用软件的流程中总体的,显示及各个功能实现响应时间不得超0.5秒。 第三章 系统概要设计 第三章 系统概要设计 3.1系统体系结构 在对软件的需求和开发的环境进行了充分的调研后,制定出了对软件的总体设计的总体规划纲要,这个对任何的软件的完成都是必要的,也是对日后的工作的顺利的完成的前提条件和基础。系统的设计包括,各个模块的设计,软件的界面的设计。 整个图片浏览器主要有两部分构成分别是前台控制和后台控制。 前台控制:主要是用户能看见的界面及其功能点,前台控制主要由用户添加图片、播放图片、对图片的浏览方式进行选择和查看,包括其中的按键的使用,包括对特效按键的选择和自定义的选择特定的规格的使用效果。在这个部分的功能的实现主要是依靠MFC提供的插件来完成的,包括界面的设计和实现,每个按键都涉及到相关函数的调用,来顺利的实现功能,在这个部分可以使用不同的选项来完成用户对图片选项浏览模式的要求。 后台控制:在这个部分的功能中是最主要的,在这里涉及到了所有的函数的代码,对整个程序而言,前台的如果是人的外表,那么在这个部分就是人的头脑,所有的功能效果的实现,都是依靠这个部分完成的,这里包括所有的核心的代码和按键的函数的响应,包括对系统的内容的功能的调用等等。 系统的体系框架图: 图3.1 系统体系架构图 3.2系统模块设计 3.2.1系统功能模块图 图3.2 系统功能模块图 3.2.2 系统功能模块设计 整个软件的基本可以划分为以下的几个功能模块,分别是图片浏览模块、旋转模块、特效模块。 这些的功能全部是由MFC设计的界面和按键,来完成在软件界面部分的设计和实现,在MFC的类库中,有较为完善的控件提供选择。在软件的功能的实现模块的代码部分,使用的VC++的代码完成,在完成代码的部分设计到系统的函数和消息的响应。 在浏览模块上,用户可通过上一张、下一张的按键来完成对图片的浏览目的,而在旋转模块内,用户可选择水平旋转来控制正在浏览的图片,图片就会在水平的选装的显示在软件的界面上。还有竖直旋转模块,和自定义的旋转,自定义角度的旋转。在旋转模块中,这里提供了水平旋转、竖直旋转、自己选择角度旋转三种方式来完成对图片的控制。缩放效果,在这个模块里,你可以选择一个倍数来放大或是缩小图片。特效效果显示,在这个模块中,用户可在浏览图片的过程中,选择某个图片来显示马赛克效果显示、百叶窗效果播放、取反色、灰度、锐化、平滑、X轴错切和Y轴错切等。在马赛克里,用户可在选择浏览的图片使用马赛克效果来显示出来。取反色里,在这里,你可以在把图片的颜色显示成相反的颜色来浏览。在灰度这个功能里,会显示出灰色的图片来显示出来等。 3.2.3 体统模块关系图 图3.3 系统模块关系图 3.2.4系统模块功能关系表 表3.1 系统模块功能关系表 序号 模块 功能点 功能点详细内容 1 图片浏览 浏览图片的上一张和下一张 当用户使用软件时,点击软件下一张可以实现图片的下一张浏览,实现图片的浏览播放。 2 旋转模块 控制图片的旋转功能 在这个模块中,用户可使用其中的“旋转”按键,在器右侧可选择旋转的角度。在这个模块中用可选择水平旋转和竖直旋转模块进行操作,可以把图片进行对应的选择显示。 3 缩放模块 实现图片的放大缩小 在这里实现对图片的放大和缩小显示的效果来控制图片,在右边可选择图片的缩放的倍数的选择进行显示。 4 特效模块 实现图片的取反色显示 此功能可实现图片的相反颜色的显示功能。 实现图片的灰度显示 实现图片的灰度颜色的显示。 实现图片的马赛克显示 把图片实现自动的马赛克效果的播放。 实现平滑效果来显示 实现图片的平滑效果的显示。 实现图片的锐化显示 可实现图片的锐化效果显示。 实现图片的自动百叶窗显示 实现图片的自动的百叶窗播放效果显示。 3.3开发环境与运行环境设计 3.3.1 开发环境 1.开发环境操作系统 可在WindowsXP或是更高的版本的系统,也可在Linux的系统等。 2.程序的开发环境 使用VS2010。 3.界面的设计工具 使用MFC的应用程序框架。 4.用户机操作系统和硬件要求 WindowsXP或更高的操作系统,内存至少256M,CUP应为PIII 800MHz以上的型号。 第四章 系统详细设计与实现 第四章 系统详细设计与实现 4.1 浏览功能详细设计 1.功能描述 用户在使用软件时候,需要选择想要浏览的图片,并在软件的操作界面上进行对按键,上一张或是下一张进行操作时,显示出上一张图片或是下一张图片。 2.操作内容 点击“上一张”、“下一张”。 3.输出内容 在用户点击上一张或是下一张按钮时,会显示出上一张图片或是下一张图片来,当时第一张图时就不会在使用“上一张”是用反应,但是最后一张图片是在使用“下一张”按键是,就不会有响应了。 4.算法描述 但用户使用上一张按钮是使用void CExtendedBitmapDlg::OnBnClickedButton1()来获取上一张图片的。下一张按钮时,系统会调用后台的函数void CExtendedBitmapDlg::OnBnClickedNext()来响应,首先是判断是否处于自动百叶窗或是自动旋转的效果中,然后获取当前的图片的位置,根据当前的路径生成,下一张图片的文件的名称或是上一张图的文件名称,在通过显示图片的函数void CExtendedBitmapDlg::OnBrowse()来显示图片。 5.下一张的函数关系图 图4.1 下一张函数关系图 6.上一张的函数关系图 图4.2 上一张函数关系图 7.播放流程图 图4.3 播放流程图 4.2 特效详细设计 1.功能描述 在用户使用软件的时候可以,选择基本的浏览功能以外的特效来浏览图片,这就会使你有一个不一样的体验和感受。操作者可以在使用软件的一下的特效来操作图片,如灰度图、取反色图、马赛克效果图、X轴错切图、Y轴错切图、平滑和锐化图等等。在这部分的选项中,你还可以在图片的特效中选择不同的尺度进行设置和浏览,如在X周轴的错切和Y轴的错切时可以选择,错切时的度数进行错切。在选择使用平滑和锐化等效果时候也是一样的,同样的也可以选择响应的角度进行平滑和锐化的操作等。 2.操作内容 用户可选择点击“灰度”按钮、“取反”按钮、“马赛克”按钮、“X错切”和右边的尺度选项中进行选择,“Y错切”和右边的尺度选择中进行选择,“平滑”按钮和“锐化”按钮,及他们右边的尺度选择中进行选择。 3.输出内容 当用户选择了自己想用使用的浏览效果进行浏览时,可以看到所浏览的图片在软件的界面中,显示出对应的效果来。在点击“灰度”时,图片会以灰色的图片来显示出来,当点击“取反”时,图片会显示出相反颜色的图片来显示在软件的操作界面上。当用户使用了马赛克效果时,用户可以看到图片变得模糊,显示出马赛克的效果来。当用户使用X错切或是Y错切时,用户会显示出对应的X或Y的对应角度的倾斜。当点击平滑和锐化时,界面上回对应的显示出平滑和锐化的效果图。 4. 特效流程图 5. 图4.4 特效流程图 4.3. 3 缩放详细设计 1.功能描述 在用户使用软件的时候可选择对图片的缩放控制,控制图片的放大和缩小控制,当点击放大或是缩小按键的时候,并选择右边响应的倍数选项时候,就会显示出图片在软件响应的倍数的图片来。 2.操作内容 点击“放大”或是“缩小”及选择右边相应的倍数。 3.输出内容 在软件的显示区显示出图片的相应倍数的放大或是缩小的图片来。 4.算法描述 对图片的放大和缩小操作来说,主要是涉及到一下的函数之间的调用关系。 (1) BOOL CImageResizer::ProcessPixels()这个函数的主要作用是对软件上面的对图片放大或缩小倍数的数据进行采集。 (2) BOOL CImageResizer::Enlarge()这函数主要是针对图片的放大操作进行控制的。 (3) BOOL CImageResizer::Shrink()这个函数是实现图片的缩小的操作。 5.放大函数关系图 图4.5 放大函数关系图 6.缩小函数关系图 图4.6 缩小函数关系图 7.缩放流程图 图4.7 缩放流程图 4.3. 3 旋转功能详细设计 1.功能描述 软对图片的旋转功能部分,主要使用于使用者对图片的旋转操作,在这部分的内容中,有自定义角度旋转、水平旋转、竖直旋转和自动旋转组成的。在自定义旋转部分,用户可通过选择“旋转”按键右边的下拉框中的旋转角度来完成操作。 在水平旋转、竖直旋转和自动旋转的部分,用户只需点击按键即可完成。 2.操作内容 点击按键“旋转”及选择右边下拉框中的内容,点击“水平旋转”或“竖直旋转”。 3.输出内容 用户会看到图片会根据所进行的操作进行旋转。 4.算法描述 在这个功能里,使用了CImageFlipper::CImageFlipper()对图片的做水平和竖直的旋转。函数通过界面的判断是水平或是竖直的旋转来完成,消息的传递在通过CImageFlipper::CImageFlipper()对图片做旋转处理的。而在自定义的旋转模块中,通过CImageRotator::ProcessPixels()获取响应的信息,判断按键选项,使用CImageRotator::CImageRotator()对图片进行自定义角度的旋转,在通过CSize CImageRotator::CalcDestSize()对旋转后的图片的大小进行控制,在通过显示函数进行显示。 5.旋转函数关系图 图4.8 旋转函数关系图 6.缩放流程图 图4.9 旋转流程图 第五章 软件测试与改进思想 第五章 软件测试与改进思想 对于一个完整的软件来说,不仅要对软件的整体的设计、代码的编写上进行做的完整,还要对软件的后续工作,做到完善,软件的测试就显得必不可少,这对一个完整的软件来说是必不可少的。 5.1 软件测试 5.1.1测试方法 在这里使用黑盒子和白盒子结合的方法来对软件进行测试,使用黑盒子的测试主要是检查软件的界面使用时,是否会发生错误,包括图片的显示、上一个按钮、下一个按钮、旋转等按钮、百叶窗按钮等等的是实现是否正常。 使用白盒子的测试,主要用于对软件的使用时的内存是否泄漏、释放和各个功能在实现过程中的一些BUG进行测试盒解决。 5.2测试用例 5.2.1图片浏览测试用例 1.测试方案 用户使用软件时,首先要选择图片所在的路径,并选择所要浏览的图片内容,且图片的名字要以如001、002、899等数字,因为软件最多能够浏览1000幅连续的图片,所以采用这种命名方式。 2.测试用例 表5.1 用户浏览测试用例 编号 相关操作 预期结果 实际结果 结果分析 1 点击“浏览”,选择图片名称为001 正常显示001的图片 与预期结果相同 2 点击“下一张” 显示名为002图 与预期结果相同 3 点击“上一张” 显示名为001图 与预期结果相同 4 点击“浏览”,选择图片名称“abc”的图片 显示名称为abc的图片 与预期结果相同 5 点击“下一张” 不显示abc的图片 于预期结果相同 图的名称不符命名规则 6 点击“上一张” 显示名为abc的图 与预期结果相同 图的名称不符命名规则 3.测试效果图 图5.1 测试结果图2 图5.2 测试结果图2 5.2.2缩放及旋转测试用例 1.测试方案 在这里的测试主要涉及到以下的几个按键,如放大、缩小、旋转和自旋,水平旋转和竖直旋转这几个按键。在使用放大和缩小时候,用户可在对应的右边下拉框中旋转对应的倍数进行缩放操作。 2.缩放及旋转测试用例 表5.2缩放及旋转测试用例 编号 相关操作 预期结果 实际结果 结果分析 1 点击“放大”及右边对应的1.5倍数 图片按照对应的倍数进行放大 与预期结果相同 2 点击“缩小”及右边的0.5倍 图片按照对应倍数缩小 与预期结果相同 3 点击“水平旋转” 图片会水平旋转显示 与预期结果相同 4 点击“竖直旋转” 图片会竖直旋转显示 与预期结果相同 5 点击“旋转”并设置右侧度数为30 图片将旋转30 与预期结果相同 6 点击“自旋”按键 图片将会自动的选择 与预期结果相同 3.测试效果图 图5.3 测试放大结果图 图5.4 测试缩小结果图 图5.5 测试水平翻转图 图5.6 测试竖直翻转图 图5.7 测试旋转30结果图 图5.8 测试自旋结果图 5.2.3特效测试用例 1.测试方案 操作和使用软件时,可使用灰度图、马赛克、取反、平滑、锐化、百叶窗、XY错切等功能并观察对应的效果。 2.特效测试用例 表5.3特效测试用例 编号 相关操作 预期结果 实际结果 结果分析 1 点击“灰度图”选项 对应的图片变成灰色图 与预期结果相同 2 点击“马赛克”选项 图片添加上了马赛克效果 与预期结果相同 3 点击“取反”选项 图片会显示相反的颜色显示 与预期结果相同 4 点击“X错切”并对右边,选项错切度数 图片会对应度数错切显示 与预期结果相同 5 点击“Y错切”并对右边,选择错切度数 图片对应的度数错切显示 与预期结果相同 6 点击“平滑”按钮 图片会对应的平滑显示 与预期结果相同 7 点击“锐化”按钮 图片会对应的锐化显示 与预期结果相同 3.测试效果图 图5.9 测试灰度图结果图 图5.10 测试马赛克结果图 图5.11 测试取反色结果图 图5.12 测试X错切200结果图 图5.13 测试Y错切200结果图 图5.14 测试百叶窗结果图 图5.15 测试锐化度5结果图 图5.16 测试锐化度5结果图 5.3 改进思想 目前基本的需求分析的功能多已经能够实现了,并且按照预期的目标生成了一个完整实用的图像浏览软件。 (1)还有一些如扫描的功能还有没实现。 (2)在实现马赛克时的功能没有做的十分的完善。 (3)在百叶窗显示的时候的效果也比较的单一。 (4)在最初的实现是,想要添加一些对图片的修改功能如相框的,但是由于时间有限,没有还得及添加上该功能。 基于VC++的图片浏览器的设计与实现 结 论 VC++的图像浏览器设计与实现是基于VS2010平台,不仅为图像处理人员提供了方便、快捷的图像管理系统,有助于提高处理图像的工作效率,使更多好的图像被雕琢出来。 我们今后还要做的一个重点工作,就是将“VC++的图像浏览器”完善成一个更成熟的通用性图像管理系统,使它可以在网络的环境中与用户更好的完成信息交互。 图片浏览器的完成,不仅促进我对所学知识的巩固,也是我对大学所学习的知识的实践和证实。C++语言的运用,完成了对本软件的计和实现,完成了最基本的按键,功能的实现和响应。完成图片的上一张、下一张、取反色、灰度、旋转、放缩、锐化、平滑等功能的实现。 基于VC++的图片浏览器的设计与实现 参考文献 [1] 郑阿奇,Visual C++ 实用教程(第2版)[M].北京:电子工业出版社,2003:3(2):92-102. [2] David J. Kruglinski,潘爱民,王国印译.Visual C++技术内幕(第四版)[M]. 北京:清华大学出版社.1999:16-25,38. [3] 魏亮,李春葆编著.Visual C++程序设计例学与实践[M].北京:清华大学出版社 .2006:36-31,45. [4] 刘瑞,吴跃进,王宗越.Visual C++项目开发实用案例[M].北京:科学出版社.2006:18-25,34. [5] 孙鑫,余安萍. VC++深入详解[M].北京:电子工业出版社.2006:23-28,40. [6] 李长林.VC++串口通信技术与典型案例[J].北京:清华大学出版社.2006:20-30,34. [7] 陈清华等.Visual C++课程设计案例精选与编程指导[J].东南大学出版社.2004:28-34,37. [8] 严华峰等.VISUAL C++课程设计案例精编(第二版)[M].北京:中国水利水电出版社.2004:34-38,40. [9] 周鸣扬.VISUAL C++界面编程技术[M].北京:北京希望电子.2003:20-32,40. [10] 李现勇.VISUAL C++串口通信技术与工程实践(第二版)[M].北京:人民邮电出版社.2005:49-56,60. [11] 龚建伟.VISUAL C++/Turbo C串口通信编程实践[J].北京:电子工业出版社 .2004:46-50,60. 基于VC++的图片浏览器的设计与实现 致 谢 我的论文设计与实现,终于通过长时间的努力完成了,也是意味着我的大学生涯走到了尽头,在大学里我真的要感谢所有对我的学习和工作有过帮助的和同学们,是你们的关心和帮助是我在大学的生涯不寂寞,也是你们是我的毕业设计顺利的完成。在设计完成的同时也深切的感受到,老师所教会我们的知识的重要性和自身对知识的掌握程度。 非常感谢XX老师在我大学的最后学习阶段——对我的毕业设计给出的指点和教导,回想起在从论文最终定题到,最终的完成的过程中,从文献资料的收集,到文档的编写、修改等工作的完成,都是我的老师和同学对我提供了,很多的帮助,老师的无私奉献和敬业精神令人敬佩,我要对你们表示我最真诚的谢意。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC 图片 浏览器 设计 实现 本科 毕业设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文