项目管理学籍管理系统设计项目.docx
- 文档编号:29742905
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:21
- 大小:197.46KB
项目管理学籍管理系统设计项目.docx
《项目管理学籍管理系统设计项目.docx》由会员分享,可在线阅读,更多相关《项目管理学籍管理系统设计项目.docx(21页珍藏版)》请在冰豆网上搜索。
项目管理学籍管理系统设计项目
学籍管理系统设计
一、项目概述
1、项目名称:
简单学籍管理系统
2、项目目的:
学生学籍信息管理是学校管理的一项重要任务,信息管理经由最初的传统管理时期过渡到信息技术管理时期,再到现在的信息资料管理时期,管理信息系统以计算机技术为核心,大大提高了工作效率,节省了劳动力。
因此,编写本学籍管理系统就是本着方便学校管理,方便学生与学校、教师交互等目的而开发的。
本系统根据学校的实际情况设计了这一套简单学籍管理系统。
3、开发设计思想:
介于本系统的以上目的,我们的设计思想有以下几条(由于受专业技术的限制,我们所建立系统并不复杂,但能满足简单要求):
系统应符合学生学籍管理系统的规定,即满足学校对学生日常管理的需要,并达到操作过程中的直观,方便等要求。
所开发的系统应该满足模块化程序设计方案,这样即便于系统功能的各种组合和修改,有便于未参与开发的技术维护人员的补充,维护。
所开发的系统应具备数据库维护功能,能够及时根据用户需求进行数据的添加,删除,修改和备分等操作。
4、开发运行环境:
开发工具:
powebuilder8.0
运行环境:
windowvista
5、系统功能:
(1)信息的增加
(2)信息查询(3)信息的删除(4)信息的保存
二、项目工作计划
以下为根据参阅相关书籍和资料,整理得出的各环节的内容.
具体分工情况如下表:
编号
开发项目
负责人
协作者
1
问题/项目概述
彭霜
唐亚丽
2
项目工作计划
杨柳
刘红梅
3
管理业务流程分析
杨柳
刘红梅
4
数据流程图
唐亚丽
彭霜
5
数据字典
刘红梅
杨柳
6
E-R图
梁雨婷
梁雨婷
7
功能模块图
梁雨婷
彭霜
8
代码设计
彭霜
9
数据库(表)设计
唐亚丽
唐亚丽
10
IPO设计(输入、处理、输出)
杨柳
杨柳
11
源程序清单
刘红梅
12
总结体会
彭霜
梁雨婷
Gantt图
进度日历
工作阶段
1
2
3
4
5
6
7
分析
测试计划
概要设计
详细设计
编码
测试方案设计
产品测试
文档整理
三、管理业务流程分析
在本系统中,学生,系统用户,老师都可以登录到对应的主界面,进行相应的操作。
在学期初,由学院负责人员录入学生和教师信息,包括个人的学号、姓名、性别、年级、班级、年级、班级、系别、专业、户口所在地、家庭住址、联系电话、出生日期、民族、政治面貌、身份证号、填卡日期及备注。
如此形成系统的学籍数据库。
相关权限是:
学生可以由学号查询对应专业、电话等,老师同样可以查询学生各项信息等,系统用户则可以查询和修改各项学院、学生信息。
四、数据流程图
RootProcessGraph
SubprocessGraphof学籍管理系统
本学籍系统的详细工作流程如下:
1.根据学生处出示的新生名单,建立档案,将档案登记为档案文件。
并对应新生名单建立个人的学习文档。
2.根据档案文件登记学籍表。
3.若学生遇到退学、留级、惩罚的事件,教务处将分别进行退学处理、留级处理、奖惩处理。
4.若学生受到留级处理、奖惩处理,分别建立留级名单、奖惩名单,并修改对应档案文件。
5.若学生受到退学处理,删除对应学生的档案文件。
6.学生毕业时,教务处根据档案文件填制其毕业登记表,并最后将毕业生登记表交给用人单位。
五、数据字典
(1)数据项
Name
Code
Type
专业
MAJOR
A10
专业代码
MNO
A10
年级
GRADE
A10
民族
NATIONALITY
A10
联系电话
PHONE
A10
联系电话
PHONE
A10
联系电话
PHONE
A10
姓名
SNAME
A10
性别
SEX
A10
性别
TSEX
A10
身份证号
ID
LA20
所在学院
COLLEGE
A10
所在院系编号
CNO
A10
填卡日期
TIANKADATE
D
学号
SNO
A10
学院
DEPTH
A10
学院名
CNAME
A10
学院号
CNO
A10
政治面貌
MIANMAO
A10
院负责人
FUZEREN
A10
职务
JOB
A10
备注
OTH
A20
教师名
TNAME
A10
教师号
TNO
A10
家庭住址
ADDRESS
A10
家庭住址
ADDRESS
LA20
开课学期
TERM
A10
电子邮件
A10
出生日期
BIRTH
D
出生日期
BIRTH
D
课程类型编号
LXBH
A10
课程名称
CNAME
A10
课程学分
CREDIT
A10
课程编号
CNO
A10
班级
CLASS
A10
班级名
CNAME
A10
班级号
CNO
A10
班级负责人
FUZEREN
A10
(2)数据流
Name
Code
Reference
毕业生登记表
FLOW_6
DataFlow
学生注册
FLOW_10
DataFlow
档案
FLOW_19
DataFlow
修改信息
FLOW_20
DataFlow
删除信息
FLOW_21
DataFlow
退学名单
FLOW_188
DataFlow
留级名单
FLOW_187
DataFlow
奖惩名单
FLOW_192
DataFlow
新生名单
FLOW_5
DataFlow
档案信息
FLOW_23
DataFlow
登记
FLOW_25
DataFlow
(3)实体
Name
Code
学生
STU
学院
COLLEGE
教师
TEACHER
课程
COURSE
班级
CLASS
六、E-R图
简单学籍管理的E-R如下:
E-R图简单描述:
1.本E-R图的实体有学生、学院、教师、班级、课程。
2.一个学生只在一个学院和一个班级中,一个学院或一个班级有很多学生。
3.一个学院有很多教师,一个教师只对应一个学院。
4.一个学生要修多门课程。
七、功能模块图
八、代码设计
代码指明了事物的名称、属性、状态。
科学的代码设计能使计算机进行数据处理时,能节省存储空间,提高处理速度、效率和精度。
进行代码设计的过程中,我们应该尽量遵循以下基本原则:
1、要适合计算机处理;2、要便于使用;3、要具有系统性、通用性和可扩展性;4、选择最小代码;5、代码标准化。
本学籍管理系统中的数据库代码用部分代码设计范例如下:
(1)部门代码
部门代码采取数字和字符混合编码的形式,具体如下:
①学生处 XSC * * *
②教务处 JWC * * *
③系 X X * *
2、人员代码
人员代码采取纯数字编码形式,具体如下:
①教师 * * * *
②学生 ** ** ** ***
(2)表单代码
表单代码仍采取数字和字符混合编码的形式,具体如下:
表单类别别简称代码
(字符)
年级代码
(数字)
系别代码
(数字)
专业代码
(数字)
序列号代码
(数字)
①档案文件X X***********
②学籍表XJB***********
九、数据表设计
学生表
Name
Code
Type
I
M
学号
SNO
A10
Yes
Yes
姓名
SNAME
A10
No
No
性别
SEX
A10
No
No
年级
GRADE
A10
No
No
学院
DEPTH
A10
No
No
专业
MAJOR
A10
No
No
家庭住址
ADDRESS
A10
No
No
联系电话
PHONE
A10
No
No
出生日期
BIRTH
D
No
No
民族
NATIONALITY
A10
No
No
政治面貌
MIANMAO
A10
No
No
身份证号
ID
LA20
No
No
填卡日期
TIANKADATE
D
No
No
班级
CLASS
A10
No
No
备注
OTH
A20
No
No
密码
PASSWORD
A10
No
No
学院表
Name
Code
Type
I
M
学院号
CNO
A10
Yes
Yes
学院名
CNAME
A10
No
No
院负责人
FUZEREN
A10
No
No
联系电话
PHONE
A10
No
No
教师表
Name
Code
Type
I
M
教师号
TNO
A10
Yes
Yes
教师名
TNAME
A10
No
No
性别
TSEX
A10
No
No
出生日期
BIRTH
D
No
No
所在院系编号
CNO
A10
No
No
职务
JOB
A10
No
No
家庭住址
ADDRESS
LA20
No
No
联系电话
PHONE
A10
No
No
电子邮件
A10
No
No
课程表
Name
Code
Type
I
M
课程编号
CNO
A10
Yes
Yes
专业代码
MNO
A10
No
No
课程名称
CNAME
A10
No
No
课程类型编号
LXBH
A10
No
No
课程学分
CREDIT
A10
No
No
开课学期
TERM
A10
No
No
班级表
Name
Code
Type
I
M
班级号
CNO
A10
Yes
Yes
班级名
CNAME
A10
No
No
所在学院
COLLEGE
A10
No
No
班级负责人
FUZEREN
A10
No
No
十、IPO设计
进入本系统的人都要进行身份认证,认证的方式是验证登录用户账号及其密码,选择登录类型(学生,教师,系统用户)。
登陆名为学号,教师号,系统用户号,所有用户的密码预设为888888。
登陆界面如下:
十一、源程序清单
连接数据库的源程序:
//ProfileOurs
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=ours;UID=dba;PWD=sql'"
connectusingsqlca;
open(w_main)
登录源程序:
stringls_pass,ls_passdata,l1,l3,l5,ls_user,usertype
integerl0,l2,l4
ls_user=string(sle_user.text)
ls_pass=string(sle_pass.text)
l1=string(ddlb_1.text)
ifddlb_1.text=''then
messagebox("提示信息","请选择用户登陆类型!
")
ddlb_1.setfocus()
return
endif
choosecaseddlb_1.text
case"系统用户"
ifls_user=""then
messagebox("提示信息","请输入用户登陆名!
")
return
endif
ifls_pass=""then
messagebox("提示信息","请输入密码!
")
return
endif
ifisnull(ls_pass)thenls_pass=""
selectcount(*)into:
l0fromxitongwherexno=:
ls_user;
ifl0<1then
messagebox("提示信息","请输入正确的用户登陆名!
")
sle_user.setfocus()
return
endif
selectpasswordinto:
ls_passdatafromxitongwherexno=:
ls_user;
ifisnull(ls_passdata)thenls_passdata=""
ifls_pass<>trim(ls_passdata)then
messagebox("提示信息","请输入正确的密码!
")
sle_pass.setfocus()
return
endif
open(w_1)
close(w_main)
case"学生"
ifls_user=""then
messagebox("提示信息","请输入用户登陆名!
")
return
endif
ifls_pass=""then
messagebox("提示信息","请输入密码!
")
return
endif
ifisnull(ls_pass)thenls_pass=""
selectcount(*)into:
l2fromstuwheresno=:
ls_user;
ifl2<1then
messagebox("提示信息","请输入正确的用户登陆名!
")
sle_user.setfocus()
return
endif
selectpasswordinto:
l3fromstuwheresno=:
ls_user;
ifisnull(l3)thenl3=""
ifls_pass<>trim(l3)then
messagebox("提示信息","请输入正确的密码!
")
sle_pass.setfocus()
return
endif
open(w_12)
close(w_main)
case"教师"
ifls_user=""then
messagebox("提示信息","请输入用户登陆名!
")
return
endif
ifls_pass=""then
messagebox("提示信息","请输入密码!
")
return
endif
ifisnull(ls_pass)thenls_pass=""
selectcount(*)into:
l4fromteacherwheretno=:
ls_user;
ifl4<1then
messagebox("提示信息","请输入正确的用户登陆名!
")
sle_user.setfocus()
return
endif
selectpasswordinto:
l5fromteacherwheretno=:
ls_user;
ifisnull(l5)thenl5=""
ifls_pass<>trim(l5)then
messagebox("提示信息","请输入正确的密码!
")
sle_pass.setfocus()
return
endif
open(w_12)
close(w_main)
endchoose
按学号查询信息的源程序:
stringls_old_sql,ls_new_sql
stringls_sno
ls_sno=sle_1.text
ls_sno="'%"+trim(upper(ls_sno))+"%'"
ls_old_sql=dw_1.getsqlselect()
ls_new_sql=ls_old_sql+"wheresnolike"+ls_sno
dw_1.setsqlselect(ls_new_sql)
dw_1.retrieve()
dw_1.setsqlselect(ls_old_sql)
dw_1.object.datawindow.readonly=true
增加信息的源程序:
longll_row
ll_row=dw_1.insertrow(0)
dw_1.setfocus()
dw_1.scrolltorow(ll_row)
dw_1.setcolumn
(1)
删除信息的源程序:
ints
s=dw_1.getrow()//得到当前行号
dw_1.deleterow(s)//从DataWindow控件中删除当前行。
dw_1.update()//将DataWindow中所做的改变保存到数据库中。
dw_1.retrieve()//重新检索数据到数据窗口
dw_1.setfocus()//设置光标焦点
保存信息的源程序:
dw_1.update()
十二、总结与体会
通过这次的系统设计,我收获了很多。
不仅提高了我的理论知识水平,也锻炼了我们的团队合作能力和协调能力。
在本次设计的全过程中,我对本学期所学的知识有了一个比较系统的认识和理解。
我由此对《计算机信息管理基础》这门课程有了更深刻的认识,了解到它不仅仅是关于计算机系统的一门技术,其中的管理信息系统更是一门囊括了经济管理理论、计算机科学、现代通信技术、运筹学、统计学、系统工程学等学科的系统方法论的边缘科学。
而其中的奥妙是可以不断学习而领会到的。
我们在设计的过程中遇到了各种问题,例如最初我们必须把学生选课系统进行抽象,找到它的实体和关系,从而建立E-R图和数据流程图。
由于我们在建立E-R图的时候没考虑到登陆时需要密码,最后只有在数据库中通过SQL语言(altertablestuaddpasswordchar(10))增加密码这一属性,并(updatestusetpassword='888888';)设定密码都为888888。
从中也发现,光是掌握一些理论知识是远远不够的。
要懂得怎样把理论应用到实践中去,才能完成具体的工作。
而学会应用的过程是能够并且只能通过不断练习而达到的。
计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。
通过这次设计,我们学到了许多书本上学不到的知识,增强了自己的动手能力。
我们按部就班的完成了自己的设计任务,由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教!
总而言之,我们从参与本次项目中体会颇多。
除开以上已经提到的,它还教会了我们不少做人的道理。
首先,它使我们深切体会到了团队的重要性,特别是其中遇到的很多困难,需要同学们共同努力共同探讨,以实现思想的交流与碰撞,这对工作的完成也是非常有利的。
同时,很重要的一点,是教会我们做什么都要有计划性,尤其是完成一些大型工作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 管理 学籍 系统 设计