南通大学毕业设计
ISNULL ((SELECT SUM(Sscore) AS Expr1 FROM dbo.StrudentExtra AS se
WHERE (st.studentno = studentno) AND (Tflag = 1) AND (Type = 1)), 0) AS 智育加分, ISNULL
((SELECT SUM(sc.score * c.studynum) / SUM(c.studynum) AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
WHERE (st.studentno = sc.studentno) AND (c.coursename = '德育学习')), 0) AS 德育成绩, ISNULL
((SELECT SUM(Sscore) AS Expr1 FROM dbo.StrudentExtra AS se
WHERE (st.studentno = studentno) AND (Tflag = 1) AND (Type = 2)), 0) AS 德育加分, ISNULL
((SELECT SUM(sc.score) / 2 AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
WHERE (st.studentno = sc.studentno) AND (c.coursename = '体能测试')), 0) + ISNULL ((SELECT SUM(sc.score) / 2 AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
WHERE (st.studentno = sc.studentno) AND (c.coursename = '体育')), 0) AS 体育成绩, ISNULL
((SELECT SUM(Sscore) AS Expr1 FROM dbo.StrudentExtra AS se
WHERE (st.studentno = studentno) AND (Tflag = 1) AND (Type = 3)), 0) AS 体育加分, (((((ISNULL
((SELECT SUM(sc.score * c.studynum) / SUM(c.studynum) AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
WHERE (st.studentno = sc.studentno) AND (c.coursename <> '体能测试') AND (c.coursename <> '体育') AND (c.coursename <> '德育学习')), 0) * 0.75 + ISNULL
((SELECT SUM(Sscore) AS Expr1 FROM dbo.StrudentExtra AS se
WHERE (st.studentno = studentno) AND (Tflag = 1) AND (Type = 1)), 0) * 0.75) + ISNULL ((SELECT SUM(sc.score * c.studynum) / SUM(c.studynum) AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
41
南通大学毕业设计
WHERE (st.studentno = sc.studentno) AND (c.coursename = '德育学习')), 0) * 0.15) + ISNULL
((SELECT SUM(Sscore) AS Expr1 FROM dbo.StrudentExtra AS se
WHERE (st.studentno = studentno) AND (Tflag = 1) AND (Type = 2)), 0) * 0.15) + ISNULL ((SELECT SUM(sc.score) / 2 AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
WHERE (st.studentno = sc.studentno) AND (c.coursename = '体能测试')), 0) * 0.1) + ISNULL
((SELECT SUM(sc.score) / 2 AS Expr1 FROM dbo.Score AS sc INNER JOIN
dbo.Course AS c ON sc.courseno = c.courseno
WHERE (st.studentno = sc.studentno) AND (c.coursename = '体育')), 0) * 0.1) + ISNULL ((SELECT SUM(Sscore) AS Expr1 FROM dbo.StrudentExtra AS se
WHERE (st.studentno = studentno) AND (Tflag = 1) AND (Type = 3)), 0) * 0.1 AS 综合测评成绩
FROM dbo.Student AS st
6.5学生功能模块的设计与实现 1.学生登陆界面的设计与实现
进入学生登录窗口后,输入验证信息,若验证成功后即可进入学生信息查询系统;若验证不成功,则显示登录失败。具体界面效果见图6.20。 2.学生操作界面的设计与实现
学生登陆成功后,便进学生操作界面,其可以进行如下操作:⑴修改个人密码,⑵查询个人信息,⑶查询各科成绩,⑷综合测评查询,⑸加分申请。具体界面效果见图6.21。
3.查询个人信息功能的设计与实现
在学生操作界面点击“查询个人基本信息”按钮即可查看个人信息,具体查询信息见图6.22。
4.查询各科成绩功能的设计与实现
学生如果需要查询自己某科的成绩,只需选择所需查找的课程名称即可查
42
南通大学毕业设计
询到该科目的成绩。具体查询结果见图6.23。
图6.20学生登陆界面图 图6.21学生操作界面图
图6.22学生查询个人信息功能界面图
5.加分申请功能的设计与实现
学生登陆到操作界面后,点击操作界面上的“加分申请”按钮即可进入加分申请操作界面,进入此界面后学生只需填写自己申请的加分项目、加分分值 并且选择相应的加分类别后提交申请即可。具体界面效果见图6.24。 6.6信息反馈界面的设计与实现
用户进入信息反馈界面后可以进行信息反馈,反馈内容由管理员进行管理。具体界面效果见图6.25。
图6.23学生查询各科成绩功能界面图
43
南通大学毕业设计
图6.24学生加分申请界面图
图6.25信息反馈界面图
6.7本章小结
本章主要是对系统的详细设计与实现,详细设计与实现包括首页面的设计与实现、管理员功能模块的设计与实现、普通教师功能模块的设计与实现、班主任、辅导员登录功能模块的设计与实现、学生功能模块的设计与实现、信息反馈界面的设计与实现,详细设计结束后,系统开发工作也就完成了,但是这并不意味着本次项目开发就到此结束,接下来还必须对本系统进行大量的测试。
44
南通大学毕业设计
第 7章 软件测试
系统测试的工作主要是软件测试的工作,就是利用测试工具按照测试万案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 7.1概述
对于软件而言,如果要查找出所有的错误,所作的测试应尽可能全面:一方面通过测试来检查软件每个功能的执行情况;另一方面,详细测试软件执行的内部过程是否完全按照规格说明书上的规定正常运行。两方面的测试分别称为黑盒测试和白盒测试。白盒测试法是通过分析程序内部的逻辑与执行路径来设计测试用例,并对用例进行测试的方法因此也称作结构测试或逻辑驱动方法。黑盒测试法是根据输入/输出数据条件来设计测试用例,查看程序的功能是否正确或满足要求,不需要考虑程序的内部结构与执行路径如何,因此也称作功能驱动或数据驱动测试方法。
软件测试一般分为五步:单元测试、集成测试、确认测试、系统测试和用户验收测试。
1.单元测试:单元测试也称模块测试,是针对软件设计的最小单元程序模块进行测试的工作。其目的是发现模块内部的错误,修改这些错误使其代码能够正确运行。其中,多个功能独立的程序模块可并行进行测试。
2.集成测试:集成测试也称组装测试,它的任务是按照一定的策略对单元测试的模块进行组装,并在组装过程中进行模块接口与系统功能测试。
3.确认测试:确认测试也称有效性测试,目的是验证软件的有效性,即验证软件的功能和性能及其他特性是否符合用户要求。软件的功能和要求可参照软件需求说明书。
4.系统测试:经过了前面一系列测试过程,软件的功能已基本符合要求,
45