资源描述
《软件工程》课程作业
《社团在线报名系统》
组 长: XXX(201211671123)
小组成员: XXX(201211671128)
XXX(201211671130)
专 业: 信息管理与信息系统
班 级:
指导教师:
年 月 日
目录
1. 课程作业概述(完成人:XXX) 1
1.1课程设计目的 1
1.2课程设计的任务 1
1.3课程设计采取的基本原理和主要技术方法 1
1.4开发阶段任务及角色分工 1
2.可行性研究(完成人:XXX) 2
2.1编写的目的 2
2.1.1目的 2
2.1.2预期读者 2
2.2问题定义 2
2.2.1开展该工程的原因 2
2.2.2该工程的基本目标 2
2.2.3经济目标 2
2.3可行性研究的方法及评价度 3
2.3.1可行性研究所采用的方法 3
2.3.2评价尺度 3
2.4工作产品 3
2.4.1设计目标 3
2.4.2设计及约束条件 3
2.4.3产品工作原理 3
2.4.4产品系统流程图 4
2.4.5数据流图 5
2.4.6数据字典 5
2.4.7产品功能 6
2.4.8技术方面可行性 6
2.5可选方案 6
2.6投资及收益分析 6
2.6.1市场分析 7
2.6.2投资估计 7
2.7社会因素方面的可行性 7
2.7.1技术 7
2.7.2使用方面的可行性 7
2.8产品可检测性 7
2.8.1检测标准 8
2.8.2检测方法 8
2.9产品的可生产性 8
2.10可行性综合分析 8
3.需求分析(完成人:XXX) 8
3.1任务概述 8
3.1.1目标 9
3.1.2运行环境 9
3.1.3条件和限制 9
3.1.4数据库描述 9
3.2社团管理数据流图 10
3.2部分数据字典的内容 11
3.3功能需求 11
3.3.1系统功能设计 12
3.3.2社团信息管理功能 12
3.3.3社团账号管理: 12
3.3.4用户账号管理: 12
3.3.5社团信息展示功能 12
3.3.6学生报名功能 12
3.3.7学生报名信息管理功能 12
3.4性能需求 12
3.5数据描述 13
3.5.1E-R图 13
3.5.2静态数据描述 14
3.5.3动态数据 15
3.6小结 16
4.概要设计(完成人:XXX) 16
4.1系统结构 16
4.1.1社团账号管理模块: 18
4.1.2社团信息管理模块: 18
4.1.3学生报名信息管理模块: 18
4.1.4用户账号管理模块: 18
4.1.5社团信息展示模块: 19
4.2数据库表 19
4.2.1数据库表说明 20
4.3个人总结 20
5.详细设计及实现(完成人:XXX) 20
5.1各个JavaBean类UML类图 (属性) 20
5.2各JavaBean关联结果 21
5.3公用分页JavaBean:pageBean 22
5.4各个类属性和方法的详细描述 22
5.4.1公有的Dao类 DaoSupport 22
5.4.2公有Action BaseAction 23
5.5 Service类 24
5.5.1用户Service 24
5.5.2社团Service 25
5.5.3社团相片Service 25
5.6 Action类 26
5.6.1首页Action 26
5.6.2社团Action 27
5.6.3 学生Aciton 30
5.7整个系统类调用流程 30
5.8系统的关键问题 31
5.8.1如何使用富文本编辑器(kindeditor)保存社团的相片? 31
5.9部分关键伪代码如下: 33
6系统测试(完成人:XXX) 34
6.1测试的目的与目标 34
6.2测试方法 34
6.3测试项目 35
6.3.1学生注册测试 35
6.4测试小结 36
7使用说明(完成人:XXX) 37
7.1使用说明 37
7.2可能遇到的问题 37
8小组总结(完成人:XXX) 37
39
1. 课程作业概述(完成人:XXX)
1.1课程设计目的
把软件工程中规范化的软件开发方法应用到本次社团在线报名系统的开发过程中,以经济地开发出高质量的软件并有效地维护。
1.2课程设计的任务
根据软件工程开发工程的过程,分析设计一个社团在线报名系统
1.3课程设计采取的基本原理和主要技术方法
本系统专门针对学校的社团报名和管理而开发的一个功能齐全、操作简单的社团在线报名系统。适合学校的学生及社团管理人员使用。本系统实现以下基本功能:学生可以在线查看各社团详细介绍,对开放报名的社团可以在线提交学生信息进行报名。社团管理人员可以实时根据邮箱提醒查看报名表,进入系统查看报名表,并下载,还可以对报名信息进行统计。
本系统是采用MyEclipse10.0来开发的,采用MySQL5.1 的数据库管理系统,采用面向对象的设计方法。
1.4开发阶段任务及角色分工
组长:XXX(学号:201211671123)
主要任务:分析系统的可行性并确定设计的主要目标,总结各组员收集的信息,为个组员分配任务,协调组员之间的关系。完成详细设计及实现还有管理和整理文档工作并做总结。
辅助程序员:XXX(学号:201211671130)
主要任务:主要辅助系统的可行性研究、需求分析。
辅助程序员:XXX(学号:201211671128)
主要任务:主要负责系统的概要分析、系统测试。
2.可行性研究(完成人:XXX)
2.1编写的目的
2.1.1目的
这份可行性研究报告是对社团在线报名系统做的可行性研究分析及指出存在的必要性。
2.1.2预期读者
软件管理人员,开发人员,维护人员。
2.2问题定义
2.2.1开展该工程的原因
由于现今大学校园学生社团数量大,学生多,社团宣传,手工报名操作,需要付出大量的人力、物力,效率低,因此为了方便社团推广,调高工作效率,减轻工作人员负担,君顶开发社团在线报名系统。
2.2.2该工程的基本目标
开发次社团在线报名系统,以提供方便社团方便推广,管理报名信息,学生方便了解社团,报名社团。同时提高我们的软件开发能力,提高工作涉及思想,想通过本次的工程开发及与老师的交流,使小组成员从中学习知识吸取经验,为今后高层次的软甲开发准备知识。
2.2.3经济目标
由于本社团在线报名系统开发的主要背景(为课程设计)在经济上不注重直接的经济收益,而是注重小组成员整体水平的提高。
2.3可行性研究的方法及评价度
2.3.1可行性研究所采用的方法
本小组成员都拥有MyEclipse编程经验,也具有mysql是使用经验,因而开发此次社团在线报名系统采用MyEclipse结合MySQL的数据库系统开发。
2.3.2评价尺度
本软件暂时知识一个初级产品,实现的功能也只能完成初步的工作。
2.4工作产品
2.4.1设计目标
本工程的设计目标就是为社团管理,及学生报名提供便捷,省去大量诸如手工登记的操作,提高工作效率,推动社团报名管理无纸化。
2.4.2设计及约束条件
a. 软件系统的界面要美观,布局要合理,窗口的内容尽量简明和提供信息,语言要通俗易懂,有层次感,清晰易懂。
b. 系统功能要尽量符合一般社团要求,操作符合正常人思维
2.4.3产品工作原理
a. 先建立数据库和加载数据库驱动
b. 使用前,社团管理人员先注册登录后台管理系统
c. 登录后,社团可以对本社团信息进行编辑修改,可以修改招新信息
d. 发布信息后,前台页面显示社团发布的信息,学生可以进行查看
e. 学生报名社团,需先注册登录后方可进入报名界面填写报名表信息并报名
f. 报名成功后,系统会根据社团注册所留下的邮箱向该社团邮箱发送一份表示有新报名表的邮件
g. 社团可以登录并查看报名表,并可以下载成word格式
2.4.4产品系统流程图
图2.1 系统流程图
2.4.5数据流图
2.4.6数据字典
数据字典是关于数据的信息的集合,也就是对数据总包含的所有元素的定义的集合,它为软件开发人员提供数据库设计的参考,并为用户了解系统是作为一个必要的工具。
本数据字典主要定义数据字典3个主要字段内容,具体说明如下:
1、 名字:数据元素的名字,作为在数据流图中的标示符,显示数据流的内容。
2、 描述:是对这个名字代表的数据流进行简单的描述,以加深理解:
3、 位置:表示这个数据流的来源
以下是图2.2的数据流图中部分的数据信息的数据字典
名字:社团信息
描述:记录社团详细信息
位置:社团表
名称:学生信息
描述:记录学生详细信息
位置:学生表
2.4.7产品功能
a、 社团可以通过该平台进行社团推广
b、 社团可以通过该平台发布招新信息,并处理招新信息
c、 用户可以通过该平台了解社团
d、 用户可以通过该平台在线报名社团
2.4.8技术方面可行性
本小组成员拥有想好的java web开发能力,级MySQL使用经验,在根据上述分析情况,利用现有人力和物理是具备开发此系统能力的。加之学校老师指导,社团在线报名系统在技术上是完全可行的
2.5可选方案
为了在数据库上能有完善的管理功能切日后数据库升级方便,因而本次主要根据数据库的易用性及易升级行提供两种方法:
a、 采用Oracle数据库设计,这一数据库现在已成为主流的数据库管理系统,切易操作,易升级,因此提供这一方案。
b、 采用MySQL的数据库管理系统实现
根据小组成员的技术,目前尚只具备使用MySQL数据库开发环境的能力,且当前大多数中企业经常使用MySQL,因而本次开发采用MySQL
为了方便处理业务流程,因而本次主要的编程框架有两种选择:
a、 采用Spring+SpringMvc+mybatis开发,当前SSM框架已经越来越流行,mybatis相对于hibernate在处理复杂数据时性能更高。SpringMvc这种基于方法开发的方式相对于Struts2这种基于类开发的方式在某些条件下性能更优,因此提供这一方案。
b、 采用Struts2+Spring+Hibernate开发,作为传统的开发框架SSH依然是当下最为流行的框架,依旧是企业采用的热门,Struts2拥有强大的表达式和内置标签库,hibernate有用强大的ORM能力,封装了sql语句,操作简单。
由于本系统对象关系并不复杂,且团队成员更加数据SSH框架,所以采用SSH框架进行开发。
综上所述,本系统采用SSH+MySQL进行开发。
2.6投资及收益分析
2.6.1市场分析
社团在线报名系统主要是为了解决社团推广与报名的问题,并且减少工作人员的工作负担,特别是对于像广东海洋大学这样面积辽阔,学生数量较多的学校。
本系统是针对广大学校社团面临的问题而开发的,适合广大学校的需求,他追求的是简单,易学,易懂,易升级,方便,能够更有利地减轻工作人员的工作负担,因为市场是光明的。
2.6.2投资估计
按本软件开发方案,对于本系统软件投资方向,体现于软件开发、软件生产、及软件测试。
本系统完全按开发计划进行估算,估计服务器,上网,打印需要一些费用。
本系统大约总体耗费主要为时间,精力。
本系统本非收益性质开发,重要是为解决学校社团现在面临的问题的需要。
2.7社会因素方面的可行性
2.7.1技术
本系统与学校社团精密结合
2.7.2使用方面的可行性
学校社团和学生对该产品的应用是可行的
2.8产品可检测性
2.8.1检测标准
软件标准:软件规模、复杂程度、安全性、可操作性、可观察性、课控制性、冗余的大小
2.8.2检测方法
通过软件测试;
黑盒测试:主要在软件界面上进行的测试。
白盒测试:在重要逻辑路径进行测试,检测重要数据结构的有效性。
2.9产品的可生产性
正确性:程序是否按程序流程图及数据字典完成程度。
可靠性:安全运行时间越长越好。
可用性:是否能够解决实际的存在问题。
完整性:对未授权的人员访问此软件可控性强;
灵活性:修改一个程序的工作量;
2.10可行性综合分析
本工程产品开发周期为2周。要求所有数据信息的存储都由数据库和文件流来完成。时间虽然紧,但由于老师的大力支持,对我们工程的进程非常有利。
3.需求分析(完成人:XXX)
目前,我们学校的社团推广和报名采用的还是人工来进行,面对目前学校发展的实际状况,我们通过实地调研之后,对社团在线报名系统开发做了一个详细的概述。
3.1任务概述
3.1.1目标
本设计要实现的是社团在线报名系统,在设计系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能:
1、 社团应该输入正确的账号和密码才能进入系统。
2、 系统可以对社团信息,招新信息进行编辑修改。
3、 社团可以查看、下载、统计报名学生的信息
4、 学生可以查看所有社团信息
5、 学生要报名社团必须先注册登录系统
6、 学生报名成功发可以向已经激活邮箱的社团发送邮箱提示
3.1.2运行环境
Cpu:奔腾系列以上
内存:512MB以上
硬盘空间:100M以上硬盘剩余空间
输入设备:键盘/鼠标
操作系统:Windows 2000 Server
数据库:MySQL5.1
开发环境:MyEclipse10.0
3.1.3条件和限制
一个更为完善的社团在线报名系统应该提供更为便携的操作,如APP手机客户端,由于开发时间有限,该系统暂未提供这一功能。对信息的保护手段及文件的备份还比较简单,不能防止恶意的破坏,安全性能还有待进一步完善。
3.1.4数据库描述
数据库是数据管理的最新技术,是计算机科学的重要分支。多以来,数据库管理系统已从专用的应用程序发扎成为通用系统软件。由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性、易于扩充、易于缩制应用程序等优点,较大的信息系统都是建立在数据库设置之上的。
选用MySQL数据库开发,MySQL是一种常用的关系数据库,对于本系统而言,满足存放和读取数据的能力,故选用MySQL数据库。
3.2社团管理数据流图
图3.1社团管理数据流图
数据字典是关于数据的信息的集合,也就是对数据总包含的所有元素的定义的集合,它为软件开发人员提供数据库设计的参考,并为用户了解系统是作为一个必要的工具。以下是图3.1部分数据字典的内容
名字:社团信息
描述:记录社团的详细信息
定义:社团信息=社团ID+登录名+密码+社团名+简介+邮箱+邮箱激活码+邮箱激活状态+招新
信息+截止时间+发布时间
位置:社团表
用户使用数据流图
图3.2用户使用数据流图
3.2部分数据字典的内容
名称:用户信息
描述:记录用户详细信息
定义:用户信息=用户ID+登录名+密码
位置:用户表
名称:学生信息
描述:记录报名的学生详细信息
定义:学生信息=学生ID+学号+姓名+性别+手机+学院+专业+家乡+兴趣+照片路径+申请原+对应社团ID+对应用户ID
位置:学生表
3.3功能需求
3.3.1系统功能设计
在整体设计中,我们将报名系统分为5个功能:社团账号管理、社团信息管理功能、学生报名信息管理功能、社团信息展示功能、用户账号管理。
3.3.2社团信息管理功能
包括社团信息,招新信息的编辑修改
3.3.3社团账号管理:
包括账号密码的管理
3.3.4用户账号管理:
包括账号密码的管理
3.3.5社团信息展示功能
包括社团信息的展示
3.3.6学生报名功能
包括学生报名功能
3.3.7学生报名信息管理功能
包括对报名信息进行查看,统计,下载
3.4性能需求
社团在线报名系统管理权限上应当进行严格控制,具体思想如下:
某些需要登陆的对没有登陆的社团或用户的进行拦截,以确保系统的严密性和安全性
3.5数据描述
3.5.1E-R图
图3.3 系统E-R图
用户名ID
密码ID
用户
用户ID
图3.4用户属性
社团名
密码ID
社团简介
登陆名ID
社团
社团邮箱
发布时间
邮箱激活码
招新截止
招新信息
邮箱状态
图3.5社团属性
相片路径ID
对应社团ID
社团相片
相片ID
图3.6 社团相片属性
头像
姓名
学号
申请社团ID
报名学生
学生ID
申请理由
性别
对应用户ID
手机
兴趣
家乡
专业
学院
图3.7 报名学生属性
3.5.2静态数据描述
社团在线报名系统包括:
用户(User)
社团(society)
社团相片(societyPhoto)
学生(student)
3.5.3动态数据
输入数据:鼠标对按钮的点击
用户信息的录入
学生信息的录入
社团信息的录入
输出数据:统计结果及其格式化文件
信息修改结果
查询关键字确定的数据库记录的子集
内部数据:查询操作建立的索引
3.6小结
通过这次课程设计,我拓宽了知识面,锻炼了能力,对软件工程的重要性有了更深的体会,在这次课程设计当中我负责的需求分析这一部分,在开始阶段遇到了一些困难,比如对目标系统的需求定义不够完善,清晰,给后续工作地阿里啊相当的困难,后来经过小组成员的沟通协作,才得以完成。
4.概要设计(完成人:XXX)
4.1系统结构
系统的大致结构如下:在B/S结构下的社团在先报名系统大致可以划分为以下模块:
在整体设计中我们将报名系统分为5个模块:社团账号管理模块、社团信息管理模块、学生报名信息管理模块、社团信息展示模块、用户账号管理模块。
4.1.1社团账号管理模块:
社团账号管理模块包括:社团登陆,注销,修改密码三个部分
登陆:实现社团登陆进入系统
注销:实现正常的退出系统
修改密码:可以修改原有密码
4.1.2社团信息管理模块:
社团信息管理模块包括:修改社团信息、发布招新信息、查看发布信息、修改发布信息、删除发布信息。
修改社团信息:实现对社团信息编辑修改
发布招新信息:可以发布招新信息到系统平台上
查看发布信息:可以查看本社团的发布信息
修改发布信息:可以对已发布的信息进行编辑修改
删除发布信息:可以删除已经发布的信息
4.1.3学生报名信息管理模块:
学生报名信息管理模块包括:查看报名表、报名信息统计、导出报名表到word
查看报名表:可以查看已经报名本社团的所有学生信息
报名信息统计:可以对已经报名的学生进行性别统计
导出报名表到word:可以对报名的学生表进行下载
4.1.4用户账号管理模块:
用户账号管理模块包括:登陆、注册、注销。
注册:可以注册本系统账号,然后才可以登陆
登陆:登陆后方可报名社团
注销:可以正常退出本系统
4.1.5社团信息展示模块:
社团信息展示模块包括:浏览社团信息、报名参加社团
浏览社团信息:可以浏览所有已经在本平台注册的社团信息
报名参加社团:可以向社团投报名表
4.2数据库表
表4.1 用户(User)
表4.2 社团(society)
表4.3 社团相片(societyPhoto)
表4.4 学生(student)
4.2.1数据库表说明
本系统共用到4个表:用户表(user),社团表(society),社团相片表(societyPhoto),学生表(student),各表之间具有一定的联系,可以进行关联。
学生表中的uesrId跟用户表的userId关联,社团相片表中的societyID跟社团表的societyId关联,学生表中的societyId跟社团表的societyId关联,userId跟用户表的userId关联。当某个表发生插入、修改、删除等操作时其关联表会随着进行改动。
4.3个人总结
概要设计阶段的主要任务是软件总体结构的设计,通过对需求分析阶段数据路途和E-R图的进一步分解,划分出五个模块进行细化。其中遇到的问题主要是对软件总结结果的进一步划分有许多不足的地方。
5.详细设计及实现(完成人:XXX)
5.1各个JavaBean类UML类图 (属性)
图5.1User(用户) 图5.2社团(society) 图5.3 societyPhoto(社团相片)
图5.3 student(学生)
5.2各JavaBean关联结果
5.3公用分页JavaBean:pageBean
5.4各个类属性和方法的详细描述
5.4.1公有的Dao类 DaoSupport
5.4.2公有Action BaseAction
5.5 Service类
5.5.1用户Service
5.5.2社团Service
5.5.3社团相片Service
5.5.4学生Service
5.6 Action类
5.6.1首页Action
5.6.2社团Action
5.6.3 学生Aciton
5.7整个系统类调用流程
整个系统类调用流程大概如下:
5.8系统的关键问题
5.8.1如何使用富文本编辑器(kindeditor)保存社团的相片?
大致流程图如下:
业务流程如下:
如果上传图片
1) 如果数据库不存在的那么存进数据库,如果已存在不再重复存,如何存放?
(1) 从uploadimage文件找到目标图片并复制到image文件夹里
(2) 修改页面传过来的<img>标签的路径内容,把里面uploadimage替换成image
(3) 把image的路径放到societyPhoto类里,并存放进数据库
2) 删除之前已经存放在数据库里的路径但现在不在页面传过来的图片路径,表示用户已经删除了该图片
3) 最后删除之前存放在uploadimage 文件夹里的所有图片,因为上传的图片已经复制得到image文件夹里
5.9部分关键伪代码如下:
1、 登陆
Function login
输入用户名与密码
If(用户名与密码与数据库匹配)then
进入系统
Else
显示错误提示,并重新进入登陆界面
End Function login
2、 修改密码
Function alterpassword
输入原密码与新密码、确认密码
If(确认密码与新密码一致)then
If(原密码与数据库一致)then
修改成功
Else 显示原密码错误,并重新进入修改密码界面
Else 显示两次密码不一致错误提示
End Function alterpassword
3、 修改社团信息
Function edit
输入新的社团信息
If(邮箱跟数据库的不一致) then
更新数据库邮箱,激活码,并把激活状态置为0,发送验证邮箱邮件
If(点击邮件激活)
If(激活码跟数据库一致) then
邮箱激活状态置为1
Else 显示激活码错误提示
Else 直接更新数据库数据
End Function edit
4、 学生报名社团
Function addStudent
输入学生信息
If(学生上传了图片)then
保存图片到student_images文件夹,并设置设置图片路径
保存数据到数据库
If(学生报名社团的社团邮箱是激活的) then
发送邮箱通知该社团有新报名表
End Function addStudent
6系统测试(完成人:XXX)
6.1测试的目的与目标
在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。
测试后的软件各模块基本功能可以顺利进行,尽可能的提高软件的健壮性。
6.2测试方法
l 从是否关心软件内部结构和具体实现的角度划分:黑盒测试和白盒测试;
l 从是否执行程序的角度:静态测试和动态测试;
l 从软件开发的过程按阶段划分有:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试;
单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块(这里所说的程序模块在Java中一个模块就是一个方法),进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
集成测试 (组装测试、联合测试),通常在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:
l 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
l 一个模块的功能是否会对另一个模块的功能产生不利的影响;
l 各个子功能组合起来,能否达到预期要求的父功能;
l 全局数据结构是否有问题;
l 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
确认测试(Validation Testing),确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。
系统测试(System Testing),是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。
验收测试(Acceptance Testing),在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。验收测试是以用户为主的测试。软件开发人员和QA(质量保证)人员也应参加。由用户参加设计测试用例,使用生产中的实际数据进行测试。在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。
6.3测试项目
由于测试内容篇幅较长,所以在本论文中只介绍部分代表性的测试用例。
6.3.1学生注册测试
a) 划分等价类:
输入条件
合理等价类
不合理等价类
用户名长度
1、3-20位之间任意字符
2、小于3位字符
3、大于20位字符
4、空
密码长度
5、3-20位之间任意字符
6、小于3位字符
7、大于20位字符
8、空
确认密码
9、跟密码一致
10、跟密码不一致
11、空
b) 设计合理等价类测试用例
1、3-20位之间任意字符
5、3-20位之间任意字符
9、跟密码一致
测试用例
期望结果
实际结果
覆盖范围
用户名:123
密码:123
确认密码:123
输入有效
与期望结果相符
1、5、9
c) 为每个不合理等价类设计测试用例
2、用户名小于3位字符
3、用户名大于20位字符
4、空
6、密码长度小于3位字符
7、密码长度大于20位字符
8、空
10、确认密码跟密码不一致
11、空
测试用例
期望结果
实际结果
覆盖范围
用户名:空
密码:空
确认密码:空
输入无效
与期望结果相符
4、8、11
用户名:1
密码:1
确认密码:1
输入无效
与期望结果相符
2、6
用户名:1-21(21位)
密码:1-21(21位)
确认密码:1-21(21位)
输入无效
与期望结果相符
3、7
用户名:123
密码:123
确认密码:1234
输入无效
与期望结果相符
10
6.4测试小结
把开始的代码写得越好,它出现的错误也就越少,你也就越能相信所做过的测试是彻底的。系统化测试以一种有序方式设法探测潜在的麻烦位置。同样,毛病最可能出现在边界,这可以通过手工的或者程序的方式检查。自动进行测试是最理想的,用得越多越好,因为机器不会犯错误、不会疲劳、不会用臆想某此实际无法工作的东西能行来欺骗自己。回归测试检查一个程序是否能产生与它们过去相同的输出。在做了小改变之后就测试是一种好技术, 能帮助我们将出现问题的范围局部化,因为新问题一般就出现在新代码里面。
测试和排错常常被说成是一个阶段,实际上它们根本不是同一件事。简单地说,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,为设法打败它而进行的一整套确定的系统化的试验。
Edsger Dijkstra有一个非常有名的说法:测试能够说明程序中有错误,但却不能说明其中没有错误。他的希望是,程序可以通过某种构造过程正确地做出来,这样就不再会有错误了,因此测试也就不必要了。这确实是个美好生活的目标,但是,对今天的实际程序而言,这仍然还只是一个理想。所以应该集中精力讨论如何测试,如何才能够更快地发现程序错误,如何才可以使得工作更有成效、效率更高。
7使用说明(完成人:XXX)
7.1使用说明
本软件采用jdk1.6版本进行开发,需要支持jdk1.6及以上。本软件应该打包成war包,然后发布到tomcat或者weblogic之类的服务器,加入运行在tomcat上,则应该吧war包放到webapps目录下,启动tomcat后则自动发布到tomcat服务器上。数据库文件则需要导入懂啊MySQL数据库,本系统使用MySQL5.1以上版本。数据库配置文件(数据名,用户名,密码等)在db.properties配置文件中可以修改。默认采用数据库名:kxj,账号:root,密码:123456.发邮箱配置文件和邮箱验证配置文件分别为email_template.properties和validateEmail_template.properties,其中from字段为发邮箱的源地址,host为采用的邮箱主机,username为邮箱用户名,例如XXX@,则username为XXX,password为邮箱密码。
7.2可能遇到的问题
1、 假如打开首页出现异常则可能是数据库配置或者加载出现问题,此时需要重新检查下配置文件,数据库导入有没问题
2、 假如社团已激活邮箱无法收到邮件,则可能是因为邮箱配置文件出问题或者可能使用QQ邮箱,因为QQ邮箱可能拦截陌生人邮件,需在好友里面添加本系统默认使用邮箱,建议使用163邮箱则无此问题。还有要发送邮件的邮箱应该开启SMTP或者POP3之类的邮件传输协议,否则无法发送邮件。
8小组总结(完成人:XXX)
通过此次课程设计设计的社团在线报名系统,我们收获颇丰,在本次的设计中,我们既锻炼了编程能力,又锻炼了逻辑思维能力,同时还提高了自学能力。在本次开发中,我们总体上使用SSH(Struts+Spring+Hibernate)框架技术,结合JavaMail,JFreeChart,FreeMarker等技术。采用MVC设计模式。既巩固已学知识,又进一步学习了新知识。在开发过程中我们遇到很多问题,例如:在考虑如何保存数据到word文件时,我们通过在网上的大量查找资料,对比各技术的优缺点,最终决定使用FreeMarker技术来保存数据到Word文档;在考虑 如何更好的展示社团图片时,我们通过网上查找资料,并最终采用了一个图片切换插件,实现图片的可交互操作且可以自动切换。在本次开发中,我们使用SVN版本控制工具协作开发,锻炼了组员的共同协作开发能力。
当然在开发过程中遇到的问题还很多,例如对于文档的编写,各种说明图的制作基础还不扎实,需要不断的查询课本,网上资料慢慢学习完成,虽然平时上软件工程听是懂,或者上实验课做实验大部分都明白,但真正自己独立开发,编写文档时发现很多其实并不明白,这点需要以后的日子里进一步学习,因为这对于以后工作的规范化开发是很重要的。
最后,要感谢小组成员的共同努力,我们最终完成了预期所想完成的系统和编写了本系统说明书,还要感谢本课程老师对我们的帮助和培养。
系统不免有错误和待改进之处,真诚欢迎各位师长提出宝贵意见。
展开阅读全文