软件工程课程设计报告
软件工程课程设计实验报告

重庆邮电大学软件工程课程设计实验报告——网上选课系统姓名:雷雷学号:08500329专业:计算机科学与技术班级:0410801指导老师:邹洋教室:S331-A时间:2011-5-30~2011-6-3一、实验题目:网上选课系统主要功能描述:系统首先维护校内所有课程的信息;课程分为研究生、本科生;也可以分为必修、选修、辅修。
用户以学号和密码登陆,系统显示用户以选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。
用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。
最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。
二、实验目的软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。
通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。
三、实验要求1.一人一组。
2.熟悉Rose开发环境。
3.掌握UML的基本模型元素(如角色、用例、类等)。
4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。
5.进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图,建立完整的系统数据库的逻辑模型。
软件工程课程设计毕业报告

软件工程课程设计停车场管理系统停车场管理系统一、前言二、项目开发前的准备工作1.1 课程设计的目的1.2 课程设计的背景和意义1.2.1 课程设计的背景1.2.2 课程设计的意义1.3 课程设计环境 4三、需求分析四、系统总体设计 (5)1、设计思路 (5)2、系统总体框架图 (6)3、系统流程图 (7)五、详细设计 (9)1、车辆停车函数及流程图 (9)2、车辆离开函数及流程图 (10)3、列表显示车场信息函数及流程图 (11)4、列表显示便道信息 (11)5列表显示菜单函数及流程图 (12)六、代码开发七、软件测试八、总结 (17)参考文献 (17)一、引言随着现代化信息技术的发展,人民生活水平快速提高,汽车的数量也飞速增长,于此同时,停车问题越来越受人们的关注,为了使停车场有效管理,停车场管理的信息化成为必然。
我们可以利用所学的知识,编写一个停车场管理系统,以提高管理的效率,提升停车场的竞争力。
本次课程设计,我运用C语言编写停车场管理系统,主要实现汽车停车,离开,收费,停车信息查询,显示等功能,主要实现方式是用栈和队列。
下面对栈和队列进行一下简单介绍。
栈(stack)是一种仅允许在一端进行插入和删除运算的线性表。
栈中允许插入和删除的那一端,称为栈顶(top)。
栈顶的第一个元素称为栈顶元素。
栈中不可以插入和删除的那一端称为栈底。
在一个栈中插入元素,即把新元素放到当前栈顶元素的上面,使其称为新的栈顶元素,即进栈(push)。
从一个栈中删除一个元素,即把栈顶元素删除掉,使其下面的元素成为新的栈顶元素,称为出栈(pop)。
栈遵循后进先出的原则,即后进栈的元素必先出栈。
其中顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的元素。
在C语言中,可以用一维数组描述顺序栈中数据元素的存储区域,并预设一个数组的最大空间。
栈底设置在0下标端,栈顶随着插入和删除元素而变化,可以用一个整形变量top来指示栈顶的位置。
软件工程课程设计报告.doc

软件工程课程设计报告.doc一、课程目标知识目标:1. 让学生掌握软件工程的基本概念、原理和方法,理解软件生命周期各阶段的目标和任务。
2. 使学生了解软件需求分析、设计、编码、测试和维护等环节的相关知识。
3. 帮助学生掌握软件项目管理的方法和技巧,了解软件质量保证与评价标准。
技能目标:1. 培养学生运用软件工程方法进行问题分析、设计和实现的能力。
2. 提高学生团队协作和沟通能力,能够撰写规范的技术文档。
3. 培养学生运用软件工具进行项目管理和开发的能力。
情感态度价值观目标:1. 培养学生严谨、认真、负责的工作态度,养成良好的编程习惯。
2. 激发学生对软件工程的兴趣,鼓励学生积极参与课堂讨论和实践操作。
3. 培养学生的创新意识和解决问题的能力,使其具备持续学习和适应发展的素质。
课程性质:本课程为专业必修课,旨在让学生全面了解软件工程的理论体系,培养实际软件开发能力。
学生特点:学生已具备一定的编程基础,具有较强的逻辑思维能力,但缺乏实际项目经验。
教学要求:结合学生特点,注重理论与实践相结合,强调动手能力和团队协作能力的培养。
通过本课程的学习,使学生能够独立完成中小型软件项目的开发。
二、教学内容1. 软件工程基本概念:软件、软件工程、软件生命周期、软件过程模型等。
2. 需求分析:需求获取、需求分析、需求规格说明书编写。
3. 软件设计:总体设计、详细设计、设计模式、UML建模。
4. 编码与实现:编程规范、编码技巧、版本控制、调试方法。
5. 软件测试:测试基础、测试策略、测试级别、自动化测试。
6. 软件维护:维护类型、维护策略、软件演化。
7. 软件项目管理:项目管理概念、进度控制、风险管理、团队协作。
8. 软件质量保证:质量标准、质量保证方法、评审与审计。
9. 实践环节:以小组为单位,完成一个中小型软件项目的开发。
教学大纲安排:第1周:软件工程基本概念第2周:需求分析第3周:软件设计第4周:编码与实现第5周:软件测试第6周:软件维护第7周:软件项目管理第8周:软件质量保证第9-16周:实践环节教学内容关联教材章节:第1章:软件工程概述第2章:需求分析第3章:软件设计第4章:编码与实现第5章:软件测试第6章:软件维护与演化第7章:软件项目管理第8章:软件质量保证与评价实践环节:结合全书内容,进行实际项目操作。
软件工程课程设计报告

软件工程课程设计报告一、项目背景。
随着信息技术的不断发展,软件工程作为一门重要的学科,对于培养学生的实际动手能力和团队协作能力具有重要意义。
本次软件工程课程设计的项目背景是基于一家虚拟公司的需求,通过团队合作完成一个实际的软件项目,从而提高学生的实际动手能力和团队协作能力。
二、项目目标。
本次课程设计的项目目标是设计并开发一款虚拟公司的管理系统,包括人事管理、财务管理、项目管理等模块,以满足公司日常运营的需求。
通过这个项目,学生将学习到软件工程的相关知识和技能,包括需求分析、系统设计、编码实现、测试调试等方面的内容。
三、项目内容。
1. 需求分析。
在项目开始阶段,团队成员将对虚拟公司的需求进行分析,包括人事管理、财务管理、项目管理等方面的需求,明确系统的功能和性能需求,为后续的系统设计和开发奠定基础。
2. 系统设计。
在需求分析的基础上,团队将进行系统设计,包括数据库设计、系统架构设计、模块设计等内容,确保系统的稳定性和可扩展性。
3. 编码实现。
根据系统设计的结果,团队将进行编码实现,采用合适的编程语言和开发工具,保证代码的质量和可维护性。
4. 测试调试。
在编码实现完成后,团队将进行系统测试和调试,包括单元测试、集成测试、系统测试等内容,确保系统的功能完备和稳定可靠。
四、项目成果。
最终,团队将完成一款虚拟公司管理系统的设计和开发,并提交相应的文档和报告。
项目成果将得到老师和同学的评审,以及虚拟公司的模拟运营,从而检验项目的实际效果和学生的实际能力。
五、总结。
通过本次软件工程课程设计,学生将学习到软件工程的相关知识和技能,包括需求分析、系统设计、编码实现、测试调试等方面的内容。
同时,学生将提高实际动手能力和团队协作能力,为将来的工作和学习打下坚实的基础。
六、致谢。
在此,特别感谢老师和同学们的支持和帮助,也感谢虚拟公司的配合和支持,使得本次软件工程课程设计能够顺利进行。
软件工程课程设计报告书

软件工程课程设计报告书1. 引言本报告书是针对软件工程课程设计的项目开发过程中所进行的详细记录和总结。
软件工程课程设计是为了培养学生实际运用软件工程知识和方法进行软件开发的能力,通过实际动手的项目开发过程,使学生加深对软件工程原理和方法的理解和掌握。
本次课程设计的项目选题为xxxx。
2. 项目需求分析2.1 用户需求对于本项目的用户来说,他们希望能够通过这个软件解决某个问题,提供某种服务或者实现某个功能。
2.2 功能需求在进行需求分析的过程中,我们展开了和用户的多次交流,收集到了用户的需求,并对这些需求进行了整理和归纳。
根据这些需求,我们将系统的功能需求进一步细化。
•功能1:xxxxxx•功能2:xxxxxx•…2.3 非功能需求除了功能需求外,系统还存在着一些非功能需求,这些需求对于系统的性能、可用性、安全性等方面有要求。
在需求分析的过程中,我们对这些非功能需求进行了分类和描述。
•性能需求:xxxxxx•可用性需求:xxxxxx•安全性需求:xxxxxx•…3. 系统设计3.1 架构设计在系统设计阶段,我们根据需求分析的结果,进行系统的架构设计。
我们选择了某某架构作为本系统的基本架构,并对各个模块的功能和交互进行了详细的说明。
3.2 数据库设计在系统设计中,我们还进行了数据库的设计。
通过对系统的数据进行建模,设计出符合系统需求的数据库表结构,并定义了各个表之间的关系。
3.3 界面设计在系统设计中,我们还进行了界面的设计。
通过分析用户的操作方式和操作习惯,我们设计了简洁、直观并且易于使用的界面。
4. 开发过程4.1 开发环境在开发过程中,我们使用了xxxxxx作为开发环境,并列出了所需的开发工具和技术栈。
4.2 开发计划在开发过程中,我们根据项目的需求和资源的限制,制定了详细的开发计划。
我们将项目分解为多个子任务,并为每个子任务设定了起止时间和负责人。
4.3 功能实现在开发过程中,我们通过迭代、增量的方式逐步实现系统的各个功能。
软件课程设计实验报告(3篇)

软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。
是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。
【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。
二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。
详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。
三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。
软件工程课程设计报告

软件工程课程设计报告引言软件工程是一门涵盖软件开发、维护和管理等方面的学科。
在软件工程课程中,学生将学习使用现代软件工程方法和工具进行软件开发和项目管理。
本报告旨在介绍我在软件工程课程设计中所进行的项目,并总结我在这个过程中所获得的经验和教训。
项目背景项目需求分析在软件工程课程设计中,我选择了一个基于Web的在线商城项目作为我的项目。
该项目的主要目标是创建一个全功能的电子商务网站,用户可以注册、登录、浏览商品、下订单等。
网站管理员可以管理商品、订单和用户信息。
通过实现这个项目,我希望能够提升我的Web开发和项目管理技能。
项目范围和目标该项目的范围涵盖了用户注册、登录、浏览商品、下订单、查看订单信息、管理商品和用户等功能。
项目的目标是创建一个用户友好、功能完善、安全可靠的电子商务网站。
系统设计技术选择在系统设计过程中,我选择了以下技术:1.前端开发:HTML、CSS、JavaScript、Vue.js2.后端开发:Node.js、Express.js3.数据库:MongoDB系统架构整个系统采用了经典的三层架构,包括表现层、业务逻辑层和数据访问层。
前端页面使用HTML、CSS和JavaScript编写,并利用Vue.js框架进行组件化开发。
后端使用Node.js和Express.js开发RESTful API,处理业务逻辑并与数据库交互。
数据库采用MongoDB存储用户、商品和订单等信息。
数据库设计包括了用户、商品和订单等数据模型的定义。
用户数据模型包括用户ID、用户名、密码等字段。
商品数据模型包括商品ID、名称、价格、库存等字段。
订单数据模型包括订单ID、用户ID、商品ID、数量、总价等字段。
通过定义这些数据模型,我能够更好地组织和管理系统的数据。
系统实现前端实现在前端实现过程中,我首先使用HTML和CSS构建了页面的基本结构和样式。
然后,我使用JavaScript和Vue.js框架实现了页面的交互功能。
软件工程课程设计报告

软件工程课程设计报告软件工程课程设计报告1、项目概述本项目是一个软件工程课程的设计项目。
通过设计和开发一个软件系统,来实践软件工程的相关知识和方法。
本项目旨在提高学生的实践能力和团队合作能力,培养学生的软件开发和管理能力。
2、项目背景随着信息技术的发展,软件系统在各个领域中得到广泛应用。
软件开发的需求量不断增加,对软件工程人才的需求也日益增长。
因此,学习和掌握软件工程的知识和方法成为了现代学生必备的能力之一。
3、项目目标本项目的目标是通过设计和开发一个软件系统,来实践和应用软件工程的相关知识和方法。
具体目标包括:- 学习和掌握软件工程的基本理论和方法;- 通过实践项目,提高学生的软件开发和管理能力;- 培养学生的团队合作能力和沟通能力;- 在项目中培养学生的创新思维和问题解决能力。
4、项目计划本项目的计划包括以下几个阶段:- 需求分析阶段:通过与用户和相关利益方沟通,收集和分析项目的需求;- 设计阶段:根据需求分析结果,进行系统设计和架构设计;- 编码阶段:根据设计文档,进行系统编码和单元测试;- 测试阶段:进行系统测试和集成测试,包括功能测试和性能测试;- 部署阶段:将系统部署到实际环境中,并进行用户培训和验收测试;- 维护阶段:对系统进行维护和支持,解决用户的问题和bug。
5、项目团队本项目的团队由多名学生组成,每名学生负责不同的角色和任务。
其中包括项目经理、需求分析师、设计师、开发工程师、测试工程师和运维工程师等。
6、项目成果本项目的最终成果是一个完整的软件系统,包括用户界面、功能模块和数据库等。
项目成果将根据用户需求和项目计划来确定和评估。
7、项目总结通过本项目的设计和开发,学生将能够实践和应用软件工程的相关知识和方法,提高其软件开发和管理能力。
同时,通过团队合作和沟通,学生的团队合作能力和沟通能力也将得到提高。
这对于学生的综合素质和就业能力都有着重要的意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
滨江学院软件工程课程设计报告( 2011 -- 2012 年度第一学期)课程名称:软件工程课程设计题目:个人电子相册的设计与实现院系:计算机科学与技术系班级:软件工程(3)班学号:************名:***指导教师:***设计周数:两周日期:2012 年4月4日摘要:本系统实现网络相册的的基本功能,包括用户创建影集,修改影集名称,用户的注册和登录,用户图片的上传,数据库图片的播放;管理员管理图片和用户。
系统利用.Net平台技术进行开发,实现相册的的动态管理,使得对信息的管理更加及时、高效,提高了效率。
同时还对系统的开发原理、功能特点和设计方案进行了介绍。
一、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。
二、设计正文1.概述1.1课题题目:个人电子相册的设计与实现1.2系统的主要目标:研究Flash、Flex、Silverlight等富客户端(Rich Client)编程技术,了解B/S编程技术发展的未来趋势,掌握一种开发平台,编写出具有更高交互性和网络体验的Web应用程序。
1.3 系统的开发环境及运行环境:操作系统: Windows 7 旗舰版建模工具: Rational Rose 2003数据库系统:Access 2007开发工具: Visual Studio 2010Web服务器:IIS+ 2.0平台2.1 可行性分析2.1.1 系统总体目标电子相册是互联网络的产物,现在电子相册系统已经层出不穷,而本系统是一个区别于现在国内外已经开发出来的电子相册网站系统,它是一个单用户空间而非网站,主要是一个为用户提供的个人相片展示、存放的个人相册空间。
这个电子相册的定位是一群朋友共享照片、交流讨论的开放式的个人空间。
本系统可以供自己展示、存放照片,可以让拥有正确口令的浏览者浏览该用户的照片以及发表留言,同时拥有正确口令的浏览者也享有用户所有的权利(上传、删除相片等),它在某种程度上是开放式的、自由式的。
因此这是一个相对来说安全、私密、开放的和朋友分享、交流的私人电子相册空间。
2.1.2 技术可行性分析这个电子相册是一种基于B/S架构的管理系统,它采用目前最有发展前景的c#语言编写,用到了当今先进的技术如Html,CSS+DIV,JavaScript ,Mysql等关键技术来实现该系统。
开发本系统的Visual Studio 2010编程软件、是可以直接在网络上免费下来得来的,其中的Wamp集成环境在Windows平台下集成了Apache、MySQL、PHP服务,无需再另外下载PHP环境和MySQL数据库。
这些应用软件是现在常用的网页开发工具,都能够很方便的掌握,并且也学了有关网页开发的课程,实现该电子相册空间的技术能够比较好的实现,所以对于本系统在技术上是可以达到的。
2.2 需求分析2.2.1 总体需求该设计系统要具有实用性,功能完善,界面良好。
设计该系统的流程如图3所示。
流程设计:程序设计:图2.1 程序设计流程图2.2.2 功能需求本系统应该具有登录验证、修改密码、创建相册、浏览相片、上传相片、删除相册或相片、等功能,详见图4。
图2.2 电子相册系统功能结构图3.系统总体设计3.1 设计问题域子系统相册系统是实现用户上传照片、用户交流图片以的一个平台,整个电子相册系统有前台和后台两部分,共分为4个模块:用户上传,管理模块,注册登录模块和阅览模块,分别用于完成各自的功能。
(1)各模块功能表2-1 学生选课系统功能模块表3.2 设计数据管理子系统(1)数据库表表3-2 数据库表(3)数据库表结构①相册tb_type的详细数据字段:②相片tb_photo的详细数据字段:表3-4 Teacher教师用户表③用户表 admin的详细数据字段:3.3 设计人机交互子系统(1)用户分类本系统的用户可分为三类:②管理员用户;②普通用户;(2)用户描述①管理员用户的描述:管理员用户在整个选课系统中起到管理和维护的作用,对普通的信息进行管理和维护。
②普通用户的描述:普通用户负责试用系统的各项4.1用户注册流程图4.2用户上传图片流程图4.3用户创建相册流程图图4-1 系统用户登录流程图图4-3 用户创建相册流程图4.系统实现本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。
5.1 主要是与数据库连接,提供数据库操作功能,代码如下:public static OleDbConnection createNewCon()//创建并打开一个链接{string conStr = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="+ System.AppDomain.CurrentDomain.BaseDirectory + @"\App_Data\photo.mdb";OleDbConnection con = new OleDbConnection(conStr);con.Open();return con;}}5.2所有系统角色用户的基类,完成用户登录验证功能,代码如下:private void LoginCheck(){string UserID = txtuser.Text.Trim().ToString();string pwd = txtpassword.Text.Trim().ToString();OleDbConnection con = Db.createNewCon();//con.Open();string Sql ="Select user,pwd from admin where user='" + UserID + "'and pwd='" + pwd + "'";OleDbCommand cmd = new OleDbCommand(Sql.ToString(), con);//开a始º?验¨¦证¡èOleDbDataReader read = cmd.ExecuteReader();if (read.Read()){Response.Redirect("Index.aspx");}else{Response.Write("<script>alert('帐¨º号?或¨°密¨¹码?错䨪误¨®!')</script>"); }con.Close();}//登录protected void btnOK_Click(object sender, EventArgs e){LoginCheck();}protected void btnSi_Click(object sender, EventArgs e){Response.Redirect("resign.aspx");}5.3 系统注册页面,代码及运行效果如下:private void Add(){string UserID = txtuser.Text.Trim().ToString();string pwd = txtpassword.Text.Trim().ToString();OleDbConnection con = Db.createNewCon();string Sql = "insert into admin([user],[pwd])"+"values(@user,@pwd)";OleDbCommand cmd = new OleDbCommand(Sql.ToString(),con);cmd.Parameters.AddWithValue("@user", UserID);cmd.Parameters.AddWithValue("@pwd", pwd);int redult = cmd.ExecuteNonQuery();if (redult > 0)Response.Redirect("Login.aspx");}protected void btnqd_Click(object sender, EventArgs e){Add();}}5.4 上传读取图片信息代码如下:public int add(string typename) {OleDbConnection con = Db.createNewCon();string sql = "insert into tb_type(typeName)"+"values(@typeName)";OleDbCommand cmd = new OleDbCommand(sql);cmd.Connection = con;cmd.Parameters.AddWithValue("@typeName", typename);int count = cmd.ExecuteNonQuery();return count;}//新?增?图ª?片?public int addpic(string Title, int type, string imgPath, string Content, string Creater, string creatTime){OleDbConnection con = Db.createNewCon();string sql = "insert into tb_photo(Title,type,imgPath,Content,Creater,creatTime)" + "values(@Title,@type,@imgPath,@Content,@Creater,@creatTime)";OleDbCommand cmd = new OleDbCommand(sql);cmd.Connection = con;cmd.Parameters.AddWithValue("@Title", Title);cmd.Parameters.AddWithValue("@type", type);cmd.Parameters.AddWithValue("@imgPath", imgPath);cmd.Parameters.AddWithValue("@Content", Content);cmd.Parameters.AddWithValue("@Creater", Creater);cmd.Parameters.AddWithValue("@creatTime", creatTime);int count = cmd.ExecuteNonQuery();return count;}//读¨¢取¨?图ª?片?信?息¡épublic DataSet getAllPic() {OleDbConnection con = Db.createNewCon();OleDbDataAdapter dad = new OleDbDataAdapter();dad.SelectCommand = new OleDbCommand("select * from [tb_photo] order by [id] DESC", con);DataSet ds = new DataSet();dad.Fill(ds, "tb_photo");con.Close();return ds;}public DataSet getAllPicToN(){OleDbConnection con = Db.createNewCon();OleDbDataAdapter dad = new OleDbDataAdapter();dad.SelectCommand = new OleDbCommand("select top 10 * from [tb_photo] order by [id] DESC", con);DataSet ds = new DataSet();dad.Fill(ds, "tb_photo");con.Close();return ds;}public DataSet getAllPicType(){OleDbConnection con = Db.createNewCon();OleDbDataAdapter dad = new OleDbDataAdapter();dad.SelectCommand = new OleDbCommand("select * from [tb_type] order by [id] asc", con);DataSet ds = new DataSet();dad.Fill(ds, "tb_type");con.Close();return ds;}public DataSet getAllPicTypeById(int id){OleDbConnection con = Db.createNewCon();OleDbCommand cmd = new OleDbCommand("select * from [tb_type] where id=@id order by [id] asc", con); cmd.Parameters.AddWithValue("@id",id);OleDbDataAdapter dad = new OleDbDataAdapter(cmd);DataSet ds = new DataSet();dad.Fill(ds, "tb_type");con.Close();return ds;}public DataSet getAllPicTypeByType(int typeId){OleDbConnection con = Db.createNewCon();OleDbCommand cmd = new OleDbCommand("select * from [tb_photo] where type=@typeId order by [id] asc", con);cmd.Parameters.AddWithValue("@typeId", typeId);OleDbDataAdapter dad = new OleDbDataAdapter(cmd);DataSet ds = new DataSet();dad.Fill(ds, "tb_photo");con.Close();return ds;}public int GetMaxId() {OleDbConnection con = Db.createNewCon();OleDbCommand cmd = new OleDbCommand("select max(Id) from [tb_photo]", con);int count = (int)cmd.ExecuteScalar();con.Close();return count;}public int GetMinId(){OleDbConnection con = Db.createNewCon();OleDbCommand cmd = new OleDbCommand("select min(Id) from [tb_photo]", con);int count = (int)cmd.ExecuteScalar();con.Close();return count;}public DataSet getAllPicById(int id){OleDbConnection con = Db.createNewCon();OleDbCommand cmd = new OleDbCommand("select * from [tb_photo] where id=@id order by [id] asc", con);cmd.Parameters.AddWithValue("@id", id);OleDbDataAdapter dad = new OleDbDataAdapter(cmd);DataSet ds = new DataSet();dad.Fill(ds, "tb_photo");con.Close();return ds;}public int getAllPicCount() {OleDbConnection con = Db.createNewCon();OleDbCommand cmd = new OleDbCommand();cmd.Connection =con;mandText ="select count(*) from tb_photo";int count =(int)cmd.ExecuteScalar();return count;}}5.5用户创建相册界面代码及运行效果如下:protected void Page_Load(object sender, EventArgs e){if(!Page.IsPostBack){DataTable dt = new photo().getAllPicType().Tables[0];this.GridView1.DataSource = dt;this.GridView1.DataBind();}}protected void btnadd_Click(object sender, EventArgs e){string typename = this.TextBox1.Text.ToString();int count = new photo().add(typename);if (count > 0){Page.RegisterStartupScript(null, "<script>alert('添¬¨ª加¨®成¨¦功|!');</script>");}else {Page.RegisterStartupScript(null, "<script>alert('添¬¨ª加¨®失º¡ì败㨹!');</script>"); }}protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){e.Row.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor,this.style.backgroundColo r='red'");e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor =currentcolor");}}5.6用户图片代码及运行效果如下:public void databinds() {DataTable dt = new photo().getAllPicType().Tables[0];this.dropdownlists.DataSource =dt;this.dropdownlists.DataTextField = "typeName";this.dropdownlists.DataValueField = "id";this.dropdownlists.DataBind();}protected void btnadd_Click(object sender, EventArgs e){// string id = new Random().Next(1, 1000).ToString();//将?附?件t传ä?送¨ª到Ì?服¤t务?器¡Â上¦?string path = FileUpload1.PostedFile.FileName.ToString(); //获?取¨?上¦?传ä?图ª?片?路¡¤径?string ext = path.Substring(stIndexOf(".") + 1); //获?取¨?图ª?片?扩¤?展1名?if (ext.ToLower() == "jpg" || ext.ToLower() == "bmp" || ext.ToLower() == "gif" || ext.ToLower() == "png" || ext.ToLower() == "tif" || ext.ToLower() == "jpeg"){string phototitle = this.txttitle.Text.ToString();string photocontent = this.txtcontent.Text.ToString();string wPath = "../upload/" + path;string sPath = Server.MapPath("../upload/"+ path); //设¦¨¨置?图ª?片?保À¡ê存ä?到Ì?服¤t 务?器¡Â上¦?路¡¤径?string suoPath = Server.MapPath("../suo/") + path;// path = "..\\Photo\\" + PhotoID + "." + ext; //保À¡ê存ä?到Ì?数ºy据Y库a中D路¡¤径?FileUpload1.PostedFile.SaveAs(sPath); //保À¡ê存ä?到Ì?服¤t务?器¡Âstring urlPath = wPath;string photoUser = "admin";string time = DateTime.Now.ToString();int type = Convert.ToInt32(this.dropdownlists.SelectedValue.ToString());int count = new photo().addpic(phototitle, type, path, photocontent, photoUser, time);if (count > 0){PictureSlightly.MakeImage(sPath, suoPath, 100, 100, "hw");this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, "<script>alert('添¬¨ª加¨®成¨¦功|!');</script>");}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, "<script>alert('添¬¨ª加¨®失º¡ì败㨹!');</script>");}}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, "<script>alert('只?能¨¹上¦?传ä?图ª?片?!');</script>");}}}5.7用户查看代码及运行效果如下:protected void ImageButton1_Click(object sender, ImageClickEventArgs e){id = Request.QueryString["id"];if (id != null){int newId = int.Parse(id) - 1;if (newId >= new photo().GetMinId()){this.Repeater1.DataSource = new photo().getAllPicById(newId).Tables[0];this.Repeater1.DataBind();Response.Redirect("show.aspx?id=" + newId);}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, "<script>alert('再¨´无T数ºy据Y可¨¦查¨¦!');</script>");return;}}}//下?一°?张?图ª?片?5.系统测试在系统测试中,我们首先对各个子模块进行单元测试,即把每一个模块作为一个单独的实体来测试,保证每个模块作为一个单元能正确运行。