大型软件项目实训docWord文档下载推荐.docx
- 文档编号:22549964
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:32
- 大小:381.46KB
大型软件项目实训docWord文档下载推荐.docx
《大型软件项目实训docWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大型软件项目实训docWord文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。
修改某一个已存在的记录内容;
(4)删除功能
删除一个记录;
(5)浏览功能
管理员浏览各个记录信息
(6)授权功能
授权读者访问数据的权限
2.2项目性能需求
2.2.1数据精确度需求
查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。
2.2.2时间特性
一般操作的响应时间应在1-2秒内。
2.2.3适应性
满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。
2.3其他需求
2.3.1运行需求
(1)用户界面
使用GUI的图形用户界面,界面友好。
(2)硬件接口
支持各种x86系列PC机。
(3)软件接口
运行于Windows95/98及更高版本具有WIN32API的操作系统之上。
3.项目概要设计
3.1系统功能结构设计
3.1.1考生录入
考生录入模块调用:
管理员身份检验模块
考生身份检验模块
考生信息输入模块
数据库操作模块
图3-1考生录入
3.1.2修改信息
修改模块调用:
数据库查询模块
管理员身份验证模块
考生信息修改模块
录取考生信息修改模块
专业信息修改模块
图3-2修改信息
3.1.3录取考生
录取模块调用:
录取输入模块
图3-3录取考生
3.1.4统计信息
统计模块调用:
数据统计模块
结果显示模块
图3-4统计信息
3.1.5系统管理
系统管理模块调用:
数据备份模块
数据恢复模块
系统设置模块
更改口令模块
图3-5系统管理
3.2系统整体架构设计
3.2.1总体结构
主模块调用:
考生录入模块
修改模块
录取模块
统计模块
系统管理模块
图3-6总体结构
3.3数据库结构设计
3.3.1考生卷纸经阅卷后得到成绩单
说明:
每个考生有一份成绩单,每个成绩单只能下发给一个考生,因此考生和成绩单是1:
1的关系。
图3-7考生卷纸经阅卷后得到成绩单
3.3.2考生报考专业
图3-8考生报考专业
3.3.3招生管理员根据成绩单将考生信息录取到录取名单中
(1)1个招生管理员可以根据多个成绩单,将每个考生登录到相应的录取名单中
(2)1个考生可以由多个管理员根据成绩单录入
图3-9招生管理员根据成绩单将考生信息录取到录取名单中
3.3.4专业招收学生
图3-10专业招收学生
3.3.5汇总E-R图
图3-11汇总E-R图
3.3.6数据库设计
所生成的表
表3-1考生表
属性名
含义
取值范围
ExamID
考号
“081000000”..“081099999”
StuName
考生姓名
2{字母}24
表3-2考生信息表
ExaSort
报考类别
[定向培养|非定向培养|委托培养|自筹经费]
PolStatus
政治面貌
Source
来源
2{字母}50
Knowledge
学力
ThisYear
是否应届
[是|否]
Speciality
报考专业
[计算机科学与技术|动力理论学|振动控制|实验固力学|计算流体学|数字制造与信息化]
Sex
性别
[男|女]
Age
年龄
0..999
表3-3考生成绩表
SpeResult
专业科目
0..100
BasResult
基础科目
PolResult
政治
LanResult
外语
SpeBasResult
专业基础科目
表3-4专业表
SpeID
专业代码
00000..99999
SpeName
专业名称
表3-5招生管理员表
AdmName
管理员姓名
2{字符}24
Password
密码
6{字符}10
表3-6录取表
MatrApartment
录取单位
RetrObject
复试科目
(外语|政治|基础科目|专业基础科目|专业科目)
RetrResult
复试成绩
表3-7招生表
4.详细设计
4.1模块1描述
4.1.1功能描述
(1)主流程
1)建立与数据库的连接
2)获取系统设置
3)显示对话框(即主界面)
4)等待用户输入:
如为报名:
进入考生录入流程(显示报名对话框)。
如为修改:
进入修改流程(显示修改对话框)。
如为录取:
进入录入录取名单流程(显示录取对话框)。
如为统计:
进入统计流程(显示统计对话框)。
如为系统管理:
进入系统管理流程(进行授权)。
如为退出:
检查所有子窗口,关闭对话框,断开与数据库的连接。
(2)考生录入流程
1)要求考生输入考生信息
2)考生身份检验
3)返回成功或失败信息
4)结束考生录入流程
图4-1考生录入流程
(3)信息修改流程
1)要求选择所要修改的数据库
如为考生信息:
修改考生信息
如为录取信息:
修改录取名单
如为专业信息:
修改专业信息
2)等待用户输入
4)结束修改流程
图4-2信息修改流程
(4)考生录取流程
1)等待用户输入录取考生的考号和成绩
2)返回成功或失败信息
3)结束录取流程
图4-3考生录取流程
(5)统计流程
1)等待用户输入
2)如为开始统计:
读入统计条件
输出统计结果
如为结束统计:
结束统计流程
图4-4统计流程
(6)系统管理
1)身份验证
2)用户操作权限检验
3)根据操作权限级别显示系统管理对话框
4)等待用户选择操作
5)结束系统管理流程
图4-5系统管理
4.1.2性能描述
(1)数据精确度需求
(2)时间特性
(3)适应性
4.1.3算法描述/逻辑流程
部分编码及注释:
publicclassDataBaseOperate{
privateConnectioncon;
//定义连接
publicstaticintlength;
//定义数据条数
//单独的方法创建数据库连接
privatevoidcontect(){
try{
Class.forName("
com.mysql.jdbc.Driver"
);
con=DriverManager.getConnection("
jdbc:
mysql:
//localhost:
3306/student"
"
root"
if(con.isClosed()){
JOptionPane.showMessageDialog(null,"
数据库连接失败!
"
System.exit(-1);
}
}catch(ClassNotFoundExceptione){
JOptionPane.showMessageDialog(null,"
驱动程序未找到!
System.exit(-1);
}catch(SQLExceptione){
数据库查询失败!
}
}
//从数据库中读取记录
publicObject[][]readsql(){
contect();
Object[][]ob=null;
intcount=0;
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("
SELECT*FROMstudentifo"
while(rs.next()){
count++;
length=count;
ob=newObject[count][7];
rs=stmt.executeQuery("
inti=0;
ob[i]=newObject[7];
ob[i][0]=rs.getString("
ExamID"
ob[i][1]=rs.getString("
AdmName"
ob[i][2]=rs.getString("
RetrResult"
ob[i][3]=rs.getString("
RetrObject"
i++;
数据库查询出错!
finally{
try{
con.close();
}catch(SQLExceptionex){
数据库关闭失败!
returnob;
//插入一条记录到数据库
publicvoidwritesql(Stuifostu){
stmt.executeUpdate("
insertintostudentifo(ExamID,AdmName,RetrResult,RetrObject)values('
+stu.getNo()+"
'
'
+stu.getName()+"
+stu.getSex()+"
+stu.getID().getID()+"
+newSimpleDateFormat("
yyyy-MM-dd"
).format(stu.getBirthday())+"
+stu.getSelfintroduce()+"
)"
数据库更新失败!
}finally{
publicvoidupdatesql(Stuifostu){
//System.out.println("
+stu.getNo());
PreparedStatementps=con.prepareStatement("
UPDATEstudentifoSETAdmName=?
RetrResult=?
RetrObject=?
WHEREExamID=?
ps.setString(7,Long.toString(stu.getNo()));
ps.setString(1,stu.getName());
ps.setString(2,stu.getSex());
ps.setString(3,stu.getID().getID());
ps.setString(5,newSimpleDateFormat("
).format(stu.getBirthday()));
ps.setString(6,stu.getSelfintroduce());
ps.executeUpdate();
//System.out.println(stu.getName());
System.out.println(e.getMessage()+"
\n"
+e+"
+e.getErrorCode()+"
publicvoiddeletesql(Stringno){
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
inta=-1;
if(rs.getString("
).equals(no))
{
rs.deleteRow();
}
}catch(Exceptione){
删除数据失败!
System.out.println(e);
//在数据库中搜索相应记录
publicObject[][]searchsql(Stringname){
).indexOf(name)!
=-1){
count++;
Stringtemp=rs.getString("
if(temp.indexOf(name)!
ob[i]=newObject[7];
ob[i][0]=rs.getString("
ob[i][1]=temp;
ob[i][2]=rs.getString("
ob[i][3]=rs.getString("
i++;
//从数据库中找到权限信息进行分配权限
publicbooleanlogin(Stringname,Stringword){
booleanresult=false;
SELECT*FROMpassword"
用户名"
).trim().equals(name))
if(rs.getString("
密码"
).equals(word)){
result=true;
}
连接数据库失败!
returnresult;
4.1.4接口(或关键函数)设计
(1)用户接口
使用基于对话框的GUI,用户通过鼠标的点击和键盘的输入完成操作,编辑框用于用户的输入。
(2)外部接口
主模块:
输入:
操作系统传递至的各种消息以及用户的输入数据
输出:
用户界面显示
上层模块:
无
下层模块:
考生录入模块、修改模块、录取模块、统计模块、系统管理模块
考生录入模块:
考生信息输入
考生信息插入到数据库
主模块
管理员身份检验模块、考生信息输入模块
修改模块:
用户选择
管理员身份检验模块、考生信息修改模块、录取考生信息修改模块、专业信息修改模块
录取模块:
录取考生信息输入
录取考生信息插入到数据库
管理员身份检验模块、录取输入模块
统计模块:
用户选择统计方式
管理员身份检验模块、数据统计模块
系统管理模块:
用户选择管理方式
管理员身份检验模块、数据备份模块、数据恢复模块、系统管理模块、口令更改模块
管理员身份验证模块:
管理员姓名、密码
成功信息或错误信息
主模块、考生录入模块、修改模块、录取模块、统计模块、系统管理模块
考生信息输入模块:
考生信息
考生信息校验模块、数据库操作模块
考生信息检验模块:
考生信息检验模块
数据库操作模块:
数据库操作信息
考生信息输入模块、考生信息修改模块、录取考生信息修改模块、专业信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大型软件 项目 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)