学生选课系统《软件工程》课程设计很详细的Word文档格式.docx
《学生选课系统《软件工程》课程设计很详细的Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生选课系统《软件工程》课程设计很详细的Word文档格式.docx(60页珍藏版)》请在冰豆网上搜索。
查找忘记的密码;
查看自己选课的一些相关信息。
B、性能:
查询效率尽可能做到精准,信息维护做到简单易用,不需要对用户进行培训;
C、完成期限:
到本学期的第21周。
2.2.2目标
系统应该尽量做到以下的目标:
A、人力与设备费用的减少;
B、采用现代程序设计技术;
C、数据的处理速度提高;
D、管理信息服务的改进;
E、人员利用率尽可能提高;
F、结果应能清除地审查。
2.2.3条件、假定和限制
本系统的条件、假定和所受到的限制有以下几方面:
A、所开发系统的运行寿命的最小值为3年;
B、硬件、软件、运行环境和开发环境方面的条件和限制:
由于是个人电脑,
所以硬件设施可能在性能上比较差;
软件全部是免费的,功能可能会受到相应的
限制;
对windowsxp比较熟悉,所以开发主要是在这个平台上进行的;
C、可利用的信息和资源:
没有相应的软件项目开发的经验,所以能力还是
有限,收集的资料来源有限,故对信息的了解不够全面;
D、系统投入使用的最晚时间:
本学期第22周。
2.2.4进行可行性研究的方法
根据课本里面的相关知识、图书馆所借的书以及平时所积累的一些经验,综
合本系统所要达到的目标进行分析而得到。
2.3所建议的系统
2.3.1对所建议系统的说明
本系统是运用Java制作的一个小型学生选课系统系统,包括用户注册,选课查询。
实现这个系统将用到以下几种技术:
1)Java主要是用来处理各种业务;
2)数据库系统技术。
2.3.2处理流程和数据流程
系统的处理流程图见下图所示:
学生登录及选课情况:
教师登录及查看信息:
管理员登录及管理信息:
2.3.3工作负荷
现有系统所承担的工作及工作量:
1)系统功能:
(1)登录、注册,修改密码等功能.
(2)选课功能
(3)查询功能
2)由于现有开发的系统比较小,只涉及小量的数据,所以工作量小。
2.3.4技术条件方面的可行性
A、在当前的限制条件下,该系统的功能目标是能够达到预期的效果的;
B、开发人员的数量:
2人;
均接受过相关知识的培训,以前也做过一定规模
的系统,具有一定经验;
C、在规定的期限内,本系统的开发可以实现。
2.4社会因素方面的可行性
2.4.1法律方面的可行性
本系统纯属于团队的开发所成,不会因为版权的问题造成纠纷。
不作为商业
用途,只应用于学习交流。
2.4.2使用方面的可行性
本系统一经制作完成,可以在windows系统中运行,加之本系统操作上面不存在技术性,所以可以达到易操作性。
2.5经济可行性
本系统纯粹作为技术开发交流,所有程序及文档均为免费。
并不作为商业用途。
2.6结论
本系统可以立即开始进行实施;
并尽可能做到提前完成;
从人力资源上
面来看,可以充分利用各人的擅长来开发本系统;
从开发成本上面来看,将
支出成本降到最低;
所以推荐此方案最佳。
三、项目开发计划
3.1引言
3.1.1编写目的
项目开发计划为项目负责人提供一个框架,使之能合理地估算项目开发所需
的资源、经费和开发进度,并控制软件开发过程按此计划进行。
它为项目的启动、
实施以及结束提供了基础。
它指定了关于具体项目目标、项目结构、任务、里程
碑、人员、成本、设备、性能以及问题的解决方案等方面的指导原则。
该文档明确开发时间、规范开发过程,保证项目质量,统一小组成员对项目
的理解,并对其开发工作提供指导;
3.1.2背景
说明:
1、待开发的软件系统的名称:
学生选课系统;
2、该系统将以前做的个人博客进一步扩大和完善。
3.1.3参考资料
[1]张海藩.软件工程导论——第5版[M].清华大学出版社,2008年2月.
[2]窦万峰.软件工程方法与实践.机械工业出版社,2009年5月.
[3]窦万峰.软件工程实验教程.机械工业出版社,2009年5月.
[4]陈勇孝.java程序设计实用教程,2008年6月.
[5]王珊,萨师煊.数据库系统概论,高等教育出版社,2006年5月.
3.2项目概述
3.2.1工作内容
本项目的内容包括技术和非技术两大部分:
技术上需要进行数据库开发和java技术的基本使用。
非技术部分包括:
人力资源的充分利用。
3.2.2产品
•3.2.2.1程序
移交给最终用户的内容包括完整的数据库系统,用户手册及相关的代码、文档、说明及范例。
•3.2.2.2文件
移交用户的每种文件的名称及内容要点:
A、定义:
明确要解决的问题是:
可以实现用户(学号,姓名,年龄,性别,系别,班级,出生年月)可以注册成为会员,注册的用户可以选择要选修的课程,也可以查询已选修的课程(包含课程名、任课教师和上课时间)等,老师(姓名,职位,所教课程)可以查看该门课程的选课人数及上课时间,管理员可以查看所有学生的选课情况,查看各门课程的任课老师的信息,查看各门课程选课人数,查看注册用户信息。
B、可行性研究报告:
要解决的关键问题是“对于上一个阶段所确定的问题有行得通的解决办法”;
C、需求分析报告:
准确地确定“为了解决这个问题,目标系统应该做什么?
”,主要是确定目标系统必须具备哪些功能;
D、概要设计报告:
概括的说就是“应该怎么实现目标系统”,主要任务是设计程序的体系结构;
E、详细设计报告:
设计出程序的详细规格说明;
F、编码及单元测试文档:
写出正确的容易理解、容易维护的程序模块;
G、综合测试文档:
利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
执行测试用例后,需要跟踪故障,以确保开发的产品适合需求;
H、软件维护文档:
通过各种必要的维护活动使系统持久地满足用户的需要。
•3.2.2.3服务
A、用户方面:
可以登录、注册、查询等;
B、系统方面:
查看注册用户信息、管理系统的各种信息、查看系统的信息。
C、老师方面:
查看学生选课情况、
•3.2.3验收标准
用户可对照需求分析中的“需求规定”一栏对系统进行详细的评定、验收(详
见《学生选课需求分析》)或参考项目提供的其他功能/性能指标。
3.2.4完成项目的最迟期限
按计划,本项目将于本学期第22周完成。
在此前提下,开发人员保留对开发时间进度进行局部调整的权利。
3.2.5关键问题及支持的系统条件
本项目用到了Java程序设计和数据库系统技术应用等开源的框架,所以对学生选课系统的功能的实现可能欠缺。
3.3支持条件
A、运行该软件系统所需要的硬设备包括服务器和客户机,要求满足(最低
配置):
1)1GHz以上处理器,内存不少于256M。
2)3G以上空余硬盘空间。
3)客户机为普通电脑。
B、本系统是运用Java制作的一个小型学生选课系统系统,包括用户注册,选课查询。
2)数据库系统技术(采用mysql数据库实现该系统)。
四、需求分析
4.1系统需求
用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。
4.2.功能需求
通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:
(1)学生的需求:
网上选课、选课情况查询包括该门课程的老师信息,上课时间以及该门课程的学分,修改密码等;
(2)本系统主要实现学生信息管理和选课查询。
学生信息包括学号,姓名,年龄,性别,系别,班级,出生年月;
课程信息包括课程名,上课时间,成绩,学分,学时数;
老师信息包括姓名,职位,所教课程;
管理员信息包括用户名和密码,能够查询所有学生的选课情况及信息;
4.3业务流程图
五、概要设计
5.1基本设计概念和处理流程
互联网技术的飞速发展,Java等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。
系统基本的流程是:
用户登录->
主界面->
选择各项子系统(选课)
老师登录->
选择各项子系统(查看学生选课情况)
管理员登录->
选择各项子系统(管理学生选课)
5.2.系统层次模块图
5.3.系统层次模块图
5.4.模块设计
(1)用户注册模块:
填写用户名、密码、确认密码
(2)用户登录模块:
填写已注册的用户名称,填写正确的密码,进入主控制页面。
(3)用户选课模块:
从所有课程中选择自己要选修的课程。
(4)用户查询模块:
可以进行查看所选课程的操作。
六、数据库设计
6.1引言
6.1.1编写目的
通过对学生选课系统的研究,根据可行性分析的方案和项目成员的讨论,以及需求说明书,编制数据库设计说明书。
本报告通过对学生选课系统的需求分析,明确了系统中功能需求,业务流程和性能要求以及与有关系统的接口关系,从而确定了数据库的设计方向和基本信息的构建,数据库系统设计是软件系统设计中最重要的一部分之一,数据库系统主要是对学生选课系统中所涉及到的数据进行管理和操作。
它是对系统的实现和审评的根据之一。
这份数据库说明书是为了说明本小组项目的数据库的相关信息,以
供本小组其他成员在使用到数据库时更顺利,以及为了更好的进行数据库设计。
本报告的阅读范围:
项目组的项目管理、软件开发和系统测试人员、指导老师等。
6.1.2背景
A、待开发的数据库主要是为学生选课系统来服务的。
故该数据库名为selectcourse,软件系统名字为学生选课系统;
B、本项目的任务开发者何南平,徐小聪。
6.1.3定义
文件中用到的专门术语的定义和外文的首字母组词的原词组如下:
A、B/S:
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
相对于C/S结构属于“胖”客户端,需要在使用者电脑上安装相应的操作软件来说,B/S结构是属于一种“瘦”客户端,大多数或主要的业务逻辑都存在在服务器端,因此,B/S结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
B/S结构系统的产生为系统面对无限未知用户提供了可能。
当然,与C/S结构相比,B/S结构也存在着系统运行速度较慢,访问系统的用户不可控的弱点;
B、DBMS:
英文全程:
DataBaseManagementSystem,翻译为中文就是“数据库管理系统”,是位于用户和操作系统之间的一层数据库管理软件。
数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
它的主要功能包括一下几个方面:
1.数据定义功能。
2.数据组织,存储和管理;
3.数据操作功能。
4.数据库的事物管理和运行管理。
5.数据库的建立和维护功能。
6.其他功能;
C、SQL语言:
SQL(StructuredQueryLanguage)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
同时也是数据库脚本文件的扩展名。
SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。
它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的SQL接口。
它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句;
D、SQL注入:
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击;
注入大致方法
1)先猜表名
And(Selectcount(*)from表名)<
>
2)猜列名
And(Selectcount(列名)from表名)<
3)或者也可以这样
andexists(select*from表名)
andexists(select列名from表名)
返回正确的,那么写的表名或列名就是正确。
6.1.4参考资料
[4]王珊萨师煊.数据库系统概论(第四版).高等教育出版,2008年06月.
[5]邓子云.JSP网络编程从基础到实践.电子工业出版社,2005年09月.
6.2外部设计
6.2.1标识符和状态
数据库软件:
Mysql
系统要求建立的数据库名称:
sc
6.2.2使用它的程序
可能使用的该系统的应用程序包括:
A、网上学生选课;
B、网上测试软件系统。
6.2.3约定
陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、、记录、数据项的命名约定等。
6.2.4专门指导
系统使用Hibernate实现与数据库的接口,该接口基于Hibernate方法生成
的CLASS文件对数据库的建立和控制,是应用程序与数据库的桥梁。
最终是对
class文件操作来实现对数据库的管理(一般是一个数据表对应一个CLASS文
件)。
6.2.5支持软件
Mysql提供了核心的引擎,为支持本系统的数据库BBS需要使用到Mysql
的几个组件,包括:
A、图形管理工具MySQLAdministrator和MySQLQueryBrowser;
B、MySQL-front。
提供了解决MySQL中插入中文乱码的问题;
C、NavicatLiteforMySQL。
可以用来快速建立数据库,可拖拉式的MySQL插件。
6.3结构设计
6.4运用设计
6.4.1数据字典设计
数据项名:
username
用户登入名
别名:
无
数据类型:
varchar
长度:
3-10
位置:
用户信息表
password
用户登入密码
name
dept
用户所在学院
banji
用户所在班级
lessons
用户所选课程
6.4.2安全保密设计
一个系统,它的安全性是很重要的,尤其是数据库的安全性能,每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。
为了让某些合法的用户得到一定的权限,数据库管理员可以授权给让他们。
在一些敏感的数据上面采用了MD5算法进行加密,比如用户的登入密码,就算是数据泄漏,用户也不知道怎么登录系统。
七、详细设计
7.1引言
7.1.1编写目的
学生选课系统系统详细设计是设计的重要阶段,这个阶段的主要任务是在BBS系统
概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块
的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、
模块划分、模块功能和模块间的联系等。
详细设计则要解决如何实现各个模块的
内部功能,即模块设计。
具体的说,模块设计就是要为已经产生的图书管理各子
系统设计详细的算法。
但这并不等同于系统实现阶段用具体的语言编码,它只是
对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描
述,直接翻译、转化为用某种程序设计语言书写的程序。
7.1.2背景
故该数据库名为selectcourse,
软件系统名字是学生选课系统;
B、本项目的任务提出者:
何南平,徐小聪。
7.1.3定义
JVM:
JavaVirtualMachine(Java虚拟机),它是一个虚构出来的计算
机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java虚拟
机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系
统。
7.1.4参考资料
八、测试报告
8.1引言
8.1.1编写目的
本册试报告为学生选课查询系统项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求。
本规范规定一组软件测试文件。
测试是软件生存周期中一个独立的、关键的阶段,也是保证软件质量的重要手段。
为了提高检测出错误的几率,使测试能有计划地、有条不紊地进行地进行,就必须要编制测试文件。
而标准化的测试文件就如同一种通用的参照体系,可达到便于交流的目的。
文件中所规定的内容可以作为对测试过程完备性的对照检查表,故采用这些文件将会提高测试过程的每个阶段的能见度,极大地提高测试工作的可管理性。
8.1.2定义
A、白盒测试:
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
B、黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
8.1.3参考资料
[1]张海藩.软件工程导论(第5版)[M].清华大学出版社,2008年2月.
8.2测试概要
下表是测试本系统的模块计划,见表8-1所示:
测试人员测试时间测试模块
徐小聪、何南平
2011/07/03——2011/7/11
学生登录模块
2011/07/03——2011/7/11
老师登录模块
管理员登录模块
学生选课模块
学生查询模块
学生修改密码模块
教师查