急求pb考勤管理系统(pb+access)论文
文字自己想办法
一:变量说明
1:application :
test
2:窗体
login:登陆窗口
w_main:考勤管理系统的主界面,选择操作
w_chuli:个人考勤记录处理
w_shengding:缺勤类型设定
w_tongji:员工考勤统计
w_yuangong:员工基本信息
3:数据窗口
dw_chuli1:个人考勤记录处理
dw_shengding:缺勤类型设定
dw_chuli:员工考勤统计
w_yuangong:员工基本信息
二:函数说明
一:application test中的考勤函数
1. 函数名:test::open( )
作用:将test这个数据库注册为当前机器的用户的数据源
代码:
String ls_odbc //数据库名
String currdir = Space(), key//数据库“test”的完整路径
Environment env
string gs_currdir = GetCurrentDirectory()//得到运行程序的当前路径
GetEnvironment(env)
ls_odbc = "test"//数据库名为“test”
currdir=GetCurrentDirectory() + "\" + ls_odbc + ".mdb"//当前运行程序路径加上数据库名就是数据库“test”的完整路径
RegistryGet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources", ls_odbc, RegString!, key)
if key="" then
CHOOSE CASE env.OSType//判断操作系统的类型,注册响应的学生系统数据源的驱动
CASE Windows!//为Windows
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources", ls_odbc, RegString!, "Microsoft Access Driver (*.mdb)")
CASE WindowsNT!//为WindowsNT
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources", ls_odbc, RegString!, "Driver do Microsoft Access (*.mdb)")
CASE ELSE
END CHOOSE
// 将数据库test注册为用户的数据源
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "", RegString!, "")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "DBQ", RegString!, "" + currdir )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "Driver", RegString!, "odbcjt.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "DriverId" , ReguLong!, )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "FIL" , RegString!, "MS Access;" )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "SafeTransactions", RegString!, "0" )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "UID" , RegString!, "" )
end if
open(login)// 打开登陆窗口
二:登陆窗口中的函数
1:函数名:login.open()
作用:连接到本机器数据源为test的数据库
代码:
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=test;UID=;PWD='"
connect;
if sqlca.sqlcode<>0 then
Messagebox("错误!,无法连接数据库:",sqlca.sqlerrtext)
halt close
end if
2:函数名:cb1。Clicked() 即点击登陆按钮的考勤open源码简单讲解事件
作用:当用户输入帐号和密码后,判断是学生系统否在“操作员表”中 ,存在就打开考勤管理系统主界面
代码:
//定义两个变量
string password,考勤usename
// 数据库连接参数
//检索用户名和密码记录
SELECT 操作员表.用户名,
操作员表.密码
INTO :usename,
:password
FROM 操作员表
WHERE 操作员表.用户名 = :sle_1.text ;
//判断用户输入的用户名是否正确
if sle_1.text="" or sle_2.text="" then
messagebox("错误!",学生系统"用户名或密码不能为空!",考勤exclamation!,ok!,2)
else
if usename=sle_1.text and password=sle_2.text then
messagebox("通过验证!",学生系统"用户名和密码正确,欢迎您使用本系统!考勤",学生系统Information!,ok!,2)
open(w_main)// 打开考勤管理系统主界面
close(parent)
else
messagebox("错误!",考勤"用户名或密码错误,请重新输入!学生系统",exclamation!,ok!,2)
end if
end if
3:函数名:cb2。Clicked() 即点击取消按钮的事件
作用:关闭窗口
代码:
close(parent)
二:主窗口中的函数
1:函数名:rb_1。Clicked()
作用:关闭当前窗口,打开员工基本信息窗口
代码:open(w_yuangong)
close(parent)
2:函数名:rb_2。Clicked()
作用:关闭当前窗口,打开考勤信息处理窗口
代码:open(w_chuli)
close(parent)
3:函数名:rb_3。Clicked()
作用:关闭当前窗口,打开缺勤类型设定窗口
代码:open(w_shengding)
close(parent)
4:函数名:rb_4。Clicked()
作用:关闭当前窗口,打开员工考勤统计窗口
代码:open(w_tongji)
close(parent)
5:函数名:pb_1。Clicked()
作用:关闭当前窗口
代码:close(parent)
三:考勤信息处理窗口中的linux源码免费获得函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:pb_1。Clicked()
作用:插入一条新记录
代码:dw_1.insertrow(0)
3:函数名:pb_2。Clicked()
作用:删除一条当前记录
代码:dw_1.deleterow(0)
4:函数名:pb_3。Clicked()
作用:向数据库提交插入,删除和修改的操作,如果成功就发到数据库
代码:
integer returncode
returncode=dw_1.update()
if returncode>0 then
commit using sqlca;
else
rollback using sqlca;
end if
4:函数名:pb_4。Clicked()
作用:关闭当前窗口,回到主界面
代码:
open(w_main)
close(parent)
四:缺勤类型设定窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:pb_1。Clicked()
作用:插入一条新记录
代码:dw_1.insertrow(0)
3:函数名:pb_2。Clicked()
作用:删除一条当前记录
代码:dw_1.deleterow(0)
4:函数名:pb_3。Clicked()
作用:向数据库提交插入,删除和修改的操作,如果成功就发到数据库
代码:
integer returncode
returncode=dw_1.update()
if returncode>0 then
commit using sqlca;
else
rollback using sqlca;
end if
4:函数名:pb_4。Clicked()
作用:关闭当前窗口,回到主界面
代码:
open(w_main)
close(parent)
五:员工基本信息窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:pb_1。Clicked()
作用:插入一条新记录
代码:dw_1.insertrow(0)
3:函数名:pb_2。Clicked()
作用:删除一条当前记录
代码:dw_1.deleterow(0)
4:函数名:pb_3。Clicked()
作用:向数据库提交插入,删除和修改的操作,如果成功就发到数据库
代码:
integer returncode
returncode=dw_1.update()
if returncode>0 then
commit using sqlca;
else
rollback using sqlca;
end if
4:函数名:pb_4。Clicked()
作用:关闭当前窗口,回到主界面
代码:
open(w_main)
close(parent)
六:员工考勤统计窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的快慢趋势指标源码数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:ddlb_1。Selectchange()
作用: 改变数据窗口中数据的大小
代码:dw_1.modify('DataWindow.Zoom = '+ trim(ddlb_1.text))
3:函数名:cb1。Clicked()
作用: 回到数据窗口中上一页
代码:dw_1.scrollpriorpage()
4:函数名:cb2。Clicked()
作用: 回到数据窗口中下一页
代码:dw_1.scrollnextpage()
5:函数名:cb3。Clicked()
作用: 打印数据窗口
代码:dw_1.print()
6:函数名:cb4。Clicked()
作用: 打印设置
代码:printsetup()
7:函数名:cb5。Clicked()
作用: 打印预览
代码:
dw_1.Modify("DataWindow.Print.Orientation = '1'") //横向
dw_1.Modify("DataWindow.Print.Orientation = '2'") //纵向
dw_1.Modify("DataWindow.Print.Preview = yes")
dw_1.Modify("DataWindow.Print.Preview.Rulers = yes")
dw_1.modify('DataWindow.Print.Preview.Zoom = '+ trim(ddlb_1.text))
8:函数名:cb5。Clicked()
作用: 打印预览
9:函数名:ddlb_2。Selectchange()
作用: 改变打印预览窗口的大小
代码:
dw_1.modify('DataWindow.Print.Preview.Zoom = '+ trim(ddlb_2.text))
:函数名:cb6。Clicked()
作用: 将数据窗口中的数据保存为表格形式的文件
代码:string ls_path, ls_file
int li_rc
ls_path = sle_1.Text
li_rc = GetFileSaveName ( "Select File", ls_path, ls_file, "xls", "*.xls,*.xls" )
//得到路径名
IF li_rc = 1 Then
OLEObject ole_object , ole_workbooks
ole_object = CREATE OLEObject
//创建Excel对象
IF ole_object.ConnectToNewObject("Excel.Application") <> 0 THEN
MessageBox('OLE错误','OLE无法连接!')
return
END IF
ole_object.workbooks.add
ole_object.Visible = True
ole_workbooks = ole_object.Worksheets(1)
ole_workbooks.cells(1,1).value="员工号"
ole_workbooks.cells(1,2).value="时间"
ole_workbooks.cells(1,3).value="天数"
ole_workbooks.cells(1,4).value="类型"
ole_workbooks.cells(1,5).value="原因"
long l_row
for l_row = 2 to dw_1.rowcount()+1
ole_workbooks.cells(l_row,1).value=dw_1.getitemstring(l_row - 1,1)
ole_workbooks.cells(l_row,2).value=dw_1.getitemstring(l_row - 1,2)
ole_workbooks.cells(l_row,3).value=dw_1.getitemstring(l_row - 1,3)
ole_workbooks.cells(l_row,4).value=dw_1.getitemstring(l_row - 1,4)
ole_workbooks.cells(l_row,5).value=dw_1.getitemstring(l_row - 1,5)
next
ole_workbooks.SaveAs ( ls_path)
ole_object.quit()
Ole_Object.DisConnectObject()
Destroy Ole_Object
destroy ole_workbooks
messagebox("!","文件保存到"+ ls_path)
End If
:函数名:sel。modify()
作用: 将数据窗口中的数据按输入的员工号显示
代码:
string emp_no
string condition
if sle_1.text <> "" then
emp_no=trim(sle_1.text)
condition="emp_no="+"'"+ emp_no+"'"
dw_1.setfilter( condition)
filter(dw_1)
dw_1.retrieve()
end if
考勤作弊APP创始人二审改判四年,法院为何会改判?
我认为法院之所以在二审判决中改判原因是一审法院是根据该名男子破坏计算机信息系统罪进行量刑,而二审法院则认为,这款软件不属于刑法中的破坏性程序,所以该名男子虽然依然是涉嫌这项罪名,但是罪行减轻了,随之在二审判决中就判处有期徒刑4年决定。我认为法院在这次量刑中改判的十分合理,毕竟这款软件并没有在网络上造成恶性传播,也没有攻击网络程序,没有造成人员信息丢失,泄露甚至重大互联网恶性事件出现,只是让用户个人使用时会通过修改定位功能来满足个人目的,这种目的满足对社会并没有危害性,也没有给社会带来隐患以及损失,所以根据这种情况,阅读源码及经验二审法院所判的4年有期徒刑属于减刑判决,认为软件不属于破坏性程序,所以改判。
一、案件始末是什么?
在这起案件中,该男子通过购买其他公司软件源代码,并且修改数据后制作成了一款名叫大牛助手的APP,并在网络上售卖传播,软件的主要盈利方式是通过用户下载后包月或者包年会员方式来进行收费,软件其实并没有什么问题,只不过用户在下载软件后可以隐藏个人定位,并且可以自行修改个人位置,在法律上认为该名男子软件属于破坏计算机信息系统罪,所以一审判决该名男子判处有期徒刑5年6个月,男子表示不服进行二次申诉,二次法院认为该名男子软件不属于法律中的破坏性程序,于是将判决减轻到有期徒刑4年。
二、希望该名男子汲取教训。
我认为该名男子的行为已经涉嫌法律,在软件制作过程中,自己已经可以预见性的知道后果,自己在购买软件源代码后再对源代码进行修改,开发的过程中指定了软件可以遮挡个人定位以及修改个人定位,软件主要功能也是辅助之神的源码这样,男子内心明白用户会使用软件修改个人定位前提下,依然开了会员并以此谋利,所以这种方式属于违法犯罪。
三、法院判决非常公道。
我认为这次法院判决非常公平公正,虽然律师认为该男子可以做无罪辩解,但是我认为该男子在开发软件时,就是利用软件可以修改定位的这一特性来进行牟利,其开会员以及包年包月的付费方式,就决定了它是以这种软件特性来进行谋利,他自己内心清楚用户会使用这款软件做什么,但他没有下架软件,也没有进行阻拦,也没有提示,所以该男子的行为属于破坏网络信息系统罪,法院判决也十分公平,考虑到软件不属于破坏性程序,已经进行减刑。
对生物识别考勤机的一次简单渗透
在一次常规的红队行动中,我获得了客户授权,对一个基于生物信息的考勤设备进行渗透。设备用于日常考勤与特殊房间人员控制。尽管此前未接触该品牌机器,但通过初步检测,我成功掌握了其控制权。
设备运行于同一网络,已知其IP地址。使用nmap扫描后发现,设备开放了telnet和web服务。攻击策略主要围绕这两点展开,但telnet服务未暴露详细信息。转而关注Web服务,发现其为ZK Web Server 3.0。
深入了解后,发现Web服务存在大量漏洞,如访问控制缺失、会话固定与易受暴力破解。关键漏洞在于默认凭证(administrator:),借此我以管理员身份登录设备。
进入备份设备数据页面,发现数据可直接访问,无需身份验证。通过下载.dat文件,获取包含敏感信息的ZKConfig.cfg文件。以root身份登录telnet服务,检索系统文件,发现固件已被解压。
将文件系统挂载至本地机器,分析所有文件,发现webserver源代码,可用于深入研究。敏感数据包括所有用户照片与SQLite数据库记录的身份凭证、指纹等生物信息。利用这些信息,我可以修改数据库,赋予任意用户特殊房间访问权限。
进一步使用Firmwalker提取固件中敏感信息,了解设备数据备份至云服务器的机制。尽管未深入云主机渗透测试,但设备安全问题明显,配置缺陷使任何人都能通过简单漏洞获取敏感数据并完全控制。
结论是,物联网设备如考勤机常存在配置问题,易被利用。安全防护任重道远。本文由白帽汇整理翻译,不代表白帽汇立场。
在线求高手给个学生考勤管理系统的简单点的C语言源代码!
这个是我很早以前写的还找到了,给你算了,很简单的一个东西
#include "stdio.h"
#include "string.h"
int main()
{
char name[][8];
int grade[][4];
int zm=0;
int ze=0;
int zc=0;
int zz=0;
int n;
int i;
printf("Please input the nummber of students:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Please input the %dth student's name:",i+1);
scanf("%s",&name[i]);
printf("Please input the %dth student's Math score:");
scanf("%d",&grade[i][0]);
printf("Please input the %dth student's English score:");
scanf("%d",&grade[i][1]);
printf("Please input the %dth student's Computer score:");
scanf("%d",&grade[i][2]);
grade[i][3]=grade[i][0]+grade[i][1]+grade[i][2];
}
printf("Name Math Enlish Computer total\n");
for(i=0;i<n;i++)
printf("%s\t%d\t%d\t%d\t %d\t\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3]);
return 0;
}
å¦ç±ç管çç³»ç»
å¦ç±ä¿¡æ¯ç®¡çç³»ç»æè¦ï¼éçç½ç»ææ¯ä¸è®¡ç®æºç广æ³æ®åï¼ç»å¤§é¨åçæºæé½å¯¹è®¡ç®æºç®¡çç³»ç»è¿è¡äºåççè¿ç¨ï¼æ¬è®¾è®¡éè¿Javaé¢å对象è¯è¨å®æ对å¦çä¿¡æ¯ç®¡çç³»ç»è¿è¡ç¼åï¼åºäºB/S模å¼ï¼æç¨å¼åå·¥å ·ä¸ºEclipse以åAndroidStudioï¼ç¶ååºäºMysqlçæ°æ®åºåºç¡ä¸ï¼éè¿Adobe Photoshop CS6çå¾åå¤ç软件ç¾åçé¢ï¼å¨ç³»ç»å¼åè¿ç¨ä¸ç¨å°äºPostmanæµè¯å·¥å ·ï¼å¨ç³»ç»å¼åå®æåè¿è¡äºç¸å ³æ¨¡åçç¨ä¾æµè¯ï¼æå¾ç³»ç»æç¾è§ãå好ççé¢ï¼å¹¶ä¸äººæºä¿¡æ¯æ¯è¾å®å ¨å¯é ãçµæ´»ä¸æ¹ä¾¿çï¼è¿ç§ç³»ç»å¯æ©å±æ§æ¯è¾å¼ºãæ¬æ以å¦çä¿¡æ¯ç®¡çç³»ç»ä¸ºä¾è¯´æJavaWebå¨ä¿¡æ¯ç®¡çä¸çåºç¨ï¼ä¸»è¦å®ç°äºç®¡çå模åï¼èå¸æ¨¡å以åå¦ç模åï¼ä¸»è¦å®ç°äºç®¡çå对äºç³»ç»ä¸æå¸ï¼å¦ç以å课ç¨æ°æ®çå¢å æ¹æ¥æä½ï¼ä»¥åæå¸å¯¹äºå¦çç¸å ³ä¿¡æ¯ç管çï¼ä¾å¦å¦ççæ绩åèå¤ä¿¡æ¯çï¼ä»¥åå¦ç对äºä¸ªäººä¿¡æ¯çä¿®æ¹ä»¥åé课信æ¯å课ç¨æ绩çæ¥ççåè½ãæ¬ç³»ç»åè½å®åï¼å¯¹å¼å管çä¿¡æ¯ç³»ç»æä¾äºè¾é«çç论æ导åå®é æä¹ãå ³é®è¯ï¼å¦çä¿¡æ¯ç®¡çç³»ç»ï¼Java Webï¼B/S模å¼ï¼Mysq
æ¯ä¸è®¾è®¡(论æ)å¤ææè¦Title : Student information ManagerAbstract:With the wide spread of network technology and computer, the vast majority of institutions have made reasonable use of the computer management system. Based on B / S mode, the development tools used are eclipse and Android studio. Then based on MySQL database, the interface is beautified by Adobe Photoshop CS6 image processing software. In the process of system development, postman test tool is used, After the completion of the system development, the use case test of related modules is carried out. The system has beautiful and friendly interface, and the man-machine information is safe, reliable, flexible and convenient. This system has strong scalability.This paper takes the student information management system as an example to illustrate the application of Java Web in information management, which provides higher theoretical guidance and practical significance for the development of management information system.keywords:Student information management system; Java Web; B/Sï¼Mysql
ç®å½
1 绪论â¦â¦â¦â¦â¦â¦â¦â¦â¦1
1.1 ç 究èæ¯åç 究æä¹â¦â¦â¦â¦â¦â¦â¦â¦â¦1
1.2 ç 究ç¶åµâ¦â¦â¦â¦â¦â¦â¦â¦â¦1
2 ç³»ç»ç¸å ³ææ¯åæâ¦â¦â¦â¦â¦â¦â¦â¦â¦2
2.1 javaâ¦â¦â¦â¦â¦â¦â¦â¦â¦2
2.2 javawebâ¦â¦â¦â¦â¦â¦â¦â¦â¦3
2.3 æ°æ®åºâ¦â¦â¦â¦â¦â¦â¦â¦â¦4
3 å¯è¡æ§åéæ±æ§åæâ¦â¦â¦â¦â¦â¦â¦â¦â¦4
3.1 å¯è¡æ§åæâ¦â¦â¦â¦â¦â¦â¦â¦â¦4
3.2 æ»ä½éæ±åæâ¦â¦â¦â¦â¦â¦â¦â¦â¦5
4 ç³»ç»ç设计â¦â¦â¦â¦â¦â¦â¦â¦â¦7
4.1 ç³»ç»æ¶æ设计â¦â¦â¦â¦â¦â¦â¦â¦â¦7
4.2 ç³»ç»åè½æ¨¡å设计â¦â¦â¦â¦â¦â¦â¦â¦â¦8
4.3 ç³»ç»æ°æ®åºè®¾è®¡â¦â¦â¦â¦â¦â¦â¦â¦â¦8
5 ç³»ç»å¼åä¸å®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
5.1 ç»å½çé¢çå®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
5.2 æå¸ç®¡ççå®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
5.3 å¦ç管ççå®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
5.4 课ç¨ç®¡ççå®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
5.5 èå¸æ¨¡åçå®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
5.6 å¦ç模åçå®ç°â¦â¦â¦â¦â¦â¦â¦â¦â¦
6 ç³»ç»æµè¯â¦â¦â¦â¦â¦â¦â¦â¦â¦
6.1 ç¨æ·ç»å ¥åè½æµè¯â¦â¦â¦â¦â¦â¦â¦â¦â¦
6.2 å项信æ¯ç®¡çåè½æµè¯â¦â¦â¦â¦â¦â¦â¦â¦â¦
6.3 Excel导åºå¦çæ绩表åè½æµè¯â¦â¦â¦â¦â¦â¦â¦â¦â¦
æ»ç»â¦â¦â¦â¦â¦â¦â¦â¦â¦
è´è°¢â¦â¦â¦â¦â¦â¦â¦â¦â¦
åèæç®â¦â¦â¦â¦â¦â¦â¦â¦â¦
1 绪论1.1 ç 究èæ¯åç 究æä¹
å¦ççä¿¡æ¯ï¼å¿ é¡»è¦å®ç°å®å ¨ï¼é«æç管çï¼å æ¤ï¼å¦çä¿¡æ¯ç®¡çç³»ç»å¯¹äºä¸ä¸ªå¦æ ¡æ¥è¯´æ¯å¿ ä¸å¯å°çç»æé¨åãç±äºå¦çä¿¡æ¯éæ¯è¾åºå¤§ï¼å¯¹äºé£äºéè¦è®°å½åæ¡£çæ°æ®æ¯è¾å¤çé«æ ¡æ¥è¯´ï¼ç³»ç»åç管çç»è®¡æ´å æ¹ä¾¿ãèä¸å½æ¥æ¾ææ¡è®°å½æ¶åªéè¦è¾å ¥è¯¥å¦ççæå ³ä¿¡æ¯ä¾¿å¯ä»¥æ¥è¯¢å°å ä¹ææä¿¡æ¯ã
åºäºä¿¡æ¯çå¦çä¿¡æ¯ç®¡çç³»ç»å¯ä»¥ææ解å³ä¼ ç»çæå¨æ件管çç缺ç¹ï¼å åå©ç¨ä¿¡æ¯ç®¡ççä¼ç¹ï¼æé«å¦çç¶æ管ççæçãå¦çä¿¡æ¯ç®¡çç³»ç»å¯¹å¦çä¿¡æ¯ç管çæ´ææä¸æ¹ä¾¿ãææçä¿¡æ¯ç®¡çå¦ççç¶æï¼ä¸ä» ä¿è¯å¦ççç¶æææçãæ秩åºç管çï¼èä¸ä½¿å¤§å¦è½å¤è¾¾å°ä¸å®ç¨åº¦çå¿«éåå±ã
为äºæé«å¦ç个人信æ¯ç管çæçï¼æ¤è®¾è®¡ä¸æ¬¾å¦çä¿¡æ¯ç®¡çç³»ç»å°å¨å¾å¤§ç¨åº¦ä¸æåé«æ ¡å¦çä¿¡æ¯ç管çæçãå¼åä¸ä¸ªåè½å®åçå¦çä¿¡æ¯ç®¡çç³»ç»å¯ä»¥ä½¿å¾é«æ ¡å¦ççä¿¡æ¯æ¡£æ¡ç®¡çæçã
1.2 ç 究ç°ç¶
æå½é«æ ¡ä¸çä¿¡æ¯ç®¡çåä¸è¬ä¸ºå¹´é¾æ¯è¾å¤§ä¸ç¹çé¿å§¨ï¼ååï¼ä»ä»¬ä¹ä¸ï¼ä¸ä¹æä¸äºäººçæåç¨åº¦è¾ä½ï¼å æ¤ï¼åå¨ä½¿ç¨å¦çä¿¡æ¯ç®¡çç³»ç»çè宿管对计ç®æºç³»ç»çæä½å¹¶ä¸çæï¼éè¦ä»äººæ导ï¼çè³å¯¹è¯¥ç³»ç»çæ¥åç¨åº¦è¾ä½ï¼ä»ä¼éæ©ä½¿ç¨çº¸è´¨çæ¹å¼è¿è¡ä¿¡æ¯çè®°å½ï¼å¦æå¦ççæ¥ä¿®ä¿¡æ¯é大ï¼å°±ä¼åå¨é®é¢è§£å³ä¸åæ¶çé®é¢ã
å æ¤ï¼æå½é«æ ¡çä¿¡æ¯ç®¡çç³»ç»æªæ¥çåå±è·¯çº¿éè¦è¿ä¸æ¥çç®åä¿¡æ¯ç®¡çç³»ç»ç使ç¨ï¼ä½¿å¾ç³»ç»çåä¼åå¾æ´å¤§ï¼ä½¿å¾å¯ä»¥æ´å¤ç人å¯ä»¥ä½¿ç¨ï¼ä»èæ´å¥½çæé«å¦çä¿¡æ¯ç®¡çç³»ç»çæçå便æ·æ§ï¼ä»¥åæä¾æ´å ç³»ç»çæå¡.
1.3 å¦çä¿¡æ¯ç®¡çç³»ç»çå¿ è¦
ç®åï¼äººå£æ°éå¨ä¸æé£åï¼å¦çæ°éæ´æ¯æ¥å§å¢å ï¼è¿å°±ç»å大é«æ ¡æä¾äºå¤§éå¦çä¿¡æ¯ç»è®¡çè°å·¨çææãå¦çä¿¡æ¯ç®¡çç³»ç»å¯ä»¥åè½»å¦çä¿¡æ¯ç»è®¡çè´æ ï¼ä½¿å¾å¦ççä¿¡æ¯ç»è®¡åæ¥è¯¢æ´å çæ¹ä¾¿åå¿«æ·ãæ¬æç 究çéç¹æ¯WEBæ¡æ¶å¨å¦çä¿¡æ¯ç®¡çç³»ç»ä¸çåºç¨ï¼å¯¹å¦æ ¡é¿æçå¦çä¿¡æ¯å建设ï¼å®ç°å¦çä¿¡æ¯æ°æ®åæé常éè¦çæä¹ã
2 ç³»ç»ç¸å ³ææ¯åæ
æ¬ç³»ç»éç¨ç°é¶æ®µè¾ä¸ºæççJavaç¼ç¨è¯è¨ï¼è¿ç¨äºé¢å对象çææ³ãå¼åè¿ç¨ä¸ä½¿ç¨äºJava1.8ãEclipseéæå¼åç¯å¢ãTomcat7.0以åMysqlæ°æ®åºã
2.1 Java
Javaæ¯ä¸ç§ç±Sunå ¬å¸æ¨åºçé¢å对象ç¼ç¨è¯è¨ï¼å¹¿åå ¨çå¼å人åç欢è¿ï¼å æ®ç软件å¼åé¢åç主è¦å°ä½ãJavaè¯è¨å ·æåè½å¼ºå¤§ãåæç®åãå¼åæçé«ãè¿è¡ç¨³å®ãå¯ä»¥ç¬ç«è¿ä½çä¼å¿ãç±äºJavaè¯è¨è½å¤ç¬ç«æ建ç¨åºè¿è¡ç¯å¢ï¼å æ¤ä¸éè¦å¤å¼ºå¤§çå¹³å°å³å¯ä½¿ç¨ãä¸æ¤åæ¶ï¼Javaè¯è¨è¿æ¯æå¤çº¿ç¨å¼åï¼å¯ä»¥åäºèç½ç»åè¿ç¨ã
Javaè¯è¨ç设计éä¸äºå¯¹è±¡åå ¶æ¥å£ï¼å®æä¾äºç®åçç±»æºå¶ä»¥åå¨æçæ¥å£æ¨¡åã对象ä¸å°è£ äºå®çç¶æåé以åç¸åºçæ¹æ³ï¼å®ç°äºæ¨¡åååä¿¡æ¯éè;èç±»åæä¾äºä¸ç±»å¯¹è±¡çååï¼å¹¶ä¸éè¿ç»§æ¿æºå¶ï¼åç±»å¯ä»¥ä½¿ç¨ç¶ç±»ææä¾çæ¹æ³ï¼å®ç°äºä»£ç çå¤ç¨ã
Javaä¸åäºä¸è¬çç¼è¯æ§è¡è®¡ç®æºè¯è¨å解éæ§è¡è®¡ç®æºè¯è¨ãå®é¦å å°æºä»£ç ç¼è¯æäºè¿å¶åèç ï¼bytecodeï¼ï¼ç¶åä¾èµåç§ä¸åå¹³å°ä¸çèææºæ¥è§£éæ§è¡åèç ãä»èå®ç°äºâä¸æ¬¡ç¼è¯ãå°å¤æ§è¡âç跨平å°ç¹æ§ãä¸è¿ï¼æ¯æ¬¡çæ§è¡ç¼è¯åçåèç éè¦æ¶èä¸å®çæ¶é´ï¼è¿åæ¶ä¹å¨ä¸å®ç¨åº¦ä¸éä½äº Java ç¨åºçæ§è½ã
2.2 JavaWeb
2.2.1 HTML
HTML5æ¯ç¨äºå代年æå¶å®ç HTML 4. å XHTML 1.0 æ åç HTML æ åçæ¬ï¼ç°å¨ä»å¤äºåå±é¶æ®µï¼ä½å¤§é¨åæµè§å¨å·²ç»æ¯ææäº HTML5 ææ¯ãHTML 5æ两大ç¹ç¹ï¼é¦å ï¼å¼ºåäº Web ç½é¡µç表ç°æ§è½ãå ¶æ¬¡ï¼è¿½å äºæ¬å°æ°æ®åºç Web åºç¨çåè½ã广ä¹è®ºåHTML5æ¶ï¼å®é æçæ¯å æ¬HTMLãCSSåJavaScriptå¨å çä¸å¥ææ¯ç»åãå®å¸æè½å¤åå°æµè§å¨å¯¹äºéè¦æ件ç丰å¯æ§ç½ç»åºç¨æå¡ï¼plug-in-based rich internet applicationï¼RIA)ï¼å¦Adobe FlashãMicrosoft Silverlightï¼ä¸Oracle JavaFXçéæ±ï¼å¹¶ä¸æä¾æ´å¤è½ææå¢å¼ºç½ç»åºç¨çæ åéã
HTMLå°±æ¯æè°çè¶ ææ¬æ è®°è¯è¨ï¼è¿ç§è¯è¨æ®éåå¨ä¸ç½ç»ä¹ä¸çå个ç½é¡µå ï¼æ¯å¼åç½é¡µçåºç¡å·¥å ·ä¹ä¸ãHTML主è¦æ¯åå©æ ç¾æ¥æ§å¶ç½é¡µä¸çå¾åãè§é¢ãææ¬çåç§ä¿¡æ¯ï¼ä»èå®ç°é¢æçæ¾ç¤ºææãHTMLè¯è¨äº§ççäºèç½æä½ä¼åå°httpåè®®çå¶çº¦ï¼å¹¶ä¸æµè§å¨å¨è¿è¡HTMLè¯è¨çæ¶ååæ ·ä¼åå°çº¦æãHTMLä¹æ以å¯ä»¥å¾å¿«å¾å°å¤§è§æ¨¡åºç¨ï¼ä¸»è¦æ¯å 为éç¨äºè¶ ææ¬ææ¯ï¼è¿æ ·å°±è½å¤åä»»ä½è¿æ¥å°ç½ç»ä¸ç计ç®æºäºç¸ä¼ è¾æ°æ®ãæè°çâè¶ ææ¬âå®è´¨ä¸æçæ¯ä¸å å«ææ¬çå ¶ä»å 容ï¼ä¾å¦è§é¢ãé³é¢ççã
2.2.2 Servlet
Servletæ¯å¨JSPææ¯åºç¡ä¸åå±åºçå ¨æ°ææ¯ï¼ä¸»è¦åºç¨äºæå¡å¨ä¸ï¼å ·ææ¥æ¶æ°æ®è¯·æ±ã转åæ°æ®è¯·æ±çåè½ãæ¬è´¨ä¸æ¥è¯´ï¼Servletå±äºJavaç¨åºçä¸ä¸ªç±»åãServlet主è¦éµå¾ªå¦ä¸æµç¨è¿è¡è¿ä½ï¼æå¡å¨å¨æ¥æ¶å°Http请æ±ä¹åï¼ä¼ç«å³åææ¥åçè¿äºè¯·æ±ï¼å¹¶ä»¥æ¤ä¸ºåºç¡å建Servletï¼ç´§æ¥çåå©è°ç¨çåç§æ段å客æ·ç«¯åé¦è¯·æ±ä¿¡æ¯ï¼æåæå¡å¨éå¯å¹¶è°ç¨destroyã
æµè§å¨æ交ç请æ±æ¯æ»¡è¶³Httpåè®®çææ¬ï¼è¯¥ææ¬æ¯ç±æå¡å¨å®¹å¨ï¼ä¾å¦Tomcatæ¥å并解æå°è£ æäºHttpServletRequestç±»åçrequestï¼ææçHTTP头æ°æ®é½æ¯å¯ä»¥éè¿requestç对åºæ¹æ³æ¥è¯¢å°ï¼getï¼ï¼å½éè¦è¾åºç»å®¢æ·ç«¯æµè§å¨æ¶ï¼Tomcatå°è¾åºæµææ¬å°è£ æHttpServletResponseçresponse对象ï¼éè¿è®¾ç½®responseçå±æ§ï¼æ¥æ§å¶è¾åºçå 容ãå ¶ä¸ï¼Tomcatå©ç¨requeståresponseå为åæ°ï¼è°ç¨Servletä¸çæ¹æ³ï¼ä¾å¦doget(request,response);
2.2.3 JSP
JSPå®é ä¸å±äºJava Servletçåæ¯ææ¯ä¹ä¸ï¼æ¯åºäºB/Sç»æç ååºçç½é¡µå¼åææ¯ï¼å 许ç¨æ·åç½é¡µè¿è¡äº¤äºï¼æ大å¢å¼ºäºç½é¡µçæ©å±æ§ãJSP主è¦éµå¾ªå¦ä¸æµç¨è¿è¡è¿ä½ï¼å©ç¨JSPæ ç¾æJavaè¯è¨ç¼åç代ç æå ¥å°è¶ ææ¬æ è®°è¯è¨å¼åçç½é¡µä¸ãæ åçJSPæ ç¾æ ¼å¼æ¯ï¼â<%å 容%>âã
JSPææ¯ä¸»è¦èµ·å°äºå®ç°Java webç¨æ·çé¢çä½ç¨ãå¨è¿è¡JSPç¼ç¨ä¹åï¼åºå½æHTMLãXHTMLãXMLä¸è ææç»åè¿ç¨ãJSPææ¯é常æ¯å©ç¨è¡¨åæ¥å®ç°å项éæ±çï¼æ¯æ¹è¯´æ°æ®è¾å ¥ãæ°æ®åºè®¿é®ççéæ±ãå¨å¾å°å ¨é¨ä¿¡æ¯åï¼ä¾¿å¯ä»¥å¼å§è®¾è®¡ç½é¡µã
JSPæ ç¾è½å¤å®ç°æ°æ®åºè®¿é®çä¼å¤åè½ä¸è¯·æ±ï¼æ¤å¤ï¼è¿è½å¤è½¬åãä¼ è¾ãå ±äº«å个ç½é¡µåéçä¿¡æ¯ï¼ä¸»è¦æ请æ±ã转æ¢ãç¼è¯ãæ§è¡ä»¥åååºäºä¸ªæ¥éª¤ã
第ä¸æ¥ï¼å®¢æ·ç«¯å°ä¼åéåºç½é¡µè¯·æ±ï¼ç¬¬äºæ¥ï¼JSP Containerå°ä¼å¯¹ç½é¡µè¯·æ±è¿è¡è½¬æ¢ï¼å°å ¶è½¬æ¢æServletæ件ï¼ç¬¬ä¸æ¥ï¼è¿ä¸æ¥å¯¹Servletæ件è¿è¡ç¼è¯ï¼å°å ¶ç¼è¯æ.classæ件ï¼ç¬¬åæ¥ï¼æ§è¡ç½é¡µè¯·æ±å¹¶äº§çServletå®ä¾ï¼ç¬¬äºæ¥ï¼å°ç½é¡µè¯·æ±çServletå®ä¾è¿åè³å®¢æ·ç«¯è¿è¡ååºã
ä»æ´ä½è§åº¦æ¥çï¼JSPæ§è¡è¿ç¨éé¢ææ ¸å¿ç两个é¶æ®µåºå½æ¯è¯·æ±æå转è¯æã顾åæä¹ï¼æè°ç请æ±ææçæ¯æ.classæ件è¿åç»å®¢æ·ç«¯çè¿ç¨ï¼èæè°ç转è¯æå°±æ¯ä¸æ¥æ¥æç½é¡µè¯·æ±è½¬æ¢æ.classæ件çè¿ç¨ã
JSPæ¥æä¼å¤æ§è½æ¹é¢çä¼å¿ãå¨åºç¨JSPææ¯ä¹åï¼ç¨åºå¼åè å¨ç¨åºè®¾è®¡æ¶åé¢ä¸´çç¼ç¨å·¥ä½å¤æç¨åº¦ä¼æ¾èåå°ï¼å¹¶ä¸è½å¤ä¸å¯è§åå·¥å ·ä¸åè¿ç¨ï¼è¿ä¸æ¥éä½ç¨åºå¼åè çå¼åååãé¤æ¤ä¹å¤ï¼ç±äºJSPæ¬èº«å å«å 置对象çç¹ç¹ï¼å¯ä»¥å¨å¾å¤§ç¨åº¦ä¸ç»servletç¼ç¨æä¾å©åï¼æææé«äºç¼ç¨é度ï¼éä½äºç¼ç¨é¾åº¦ï¼ç¨åºå¼åè æ é¡»å人工翻è¯ç½é¡µè¯·æ±åå¤é¨ä¿¡æ¯ã并ä¸JSPåæ¬äºJavaçå ¨é¨ææ¯å 容ï¼æ以åªè¦æ¯Javaæ¯æçæ件å ãå·¥å ·å ççé½å¯ä»¥è¢«JSPè°ç¨ï¼ä¹ä¸éè¦æ§è½å¤å¼ºçè¿ä½å¹³å°ã
2.2.4 B/Sç»æ
B/Sï¼Brower/Serverï¼ä½ç³»ç»æçä¼å¿ï¼
ï¼1ï¼ç¨åºåºæ¬å»ºç«å¨æå¡å¨ä¸ï¼ä¾¿äºç»´æ¤æ´æ°ï¼
ï¼2ï¼è½å¤ä¸å®¢æ·ç«¯ææåºåè¿è¡é»è¾å¤çãæ°æ®å¤ççæä½ï¼è¿æ ·çè¯ï¼å¨ç»´æ¤å®¢æ·ç«¯ä¹æ¶ï¼å°±æ é¡»æ´æ¹å ¶ä»å 容ã
B/Sä½ç³»ç»æç交äºæ¨¡å¼ï¼
B/Sç»æå¯ä»¥æç½é¡µè¯·æ±åè¿åååºè¿æ¥èµ·æ¥ï¼è¿èå®ç°ä¸¤è é´çå®æ¶äº¤äºï¼å¹¶ä¸å 许æµè§å¨ç´æ¥åérequest请æ±ï¼ä¾é æå¡å¨æ¥è®¿é®ç³»ç»æå¡å¨åæ°æ®åºæå¡å¨ãä»åºç¨æå¡å¨è§åº¦æ¥è¯´ï¼åºç¨æå¡å¨å¯ä»¥ä»æ°æ®åºä¸è·å¾æéæ°æ®ï¼éåååæµè§å¨åé请æ±ï¼æåï¼ç±æµè§å¨å¯¹HTMLæ件è¿è¡å¤çã
2.3 Mysqlæ°æ®åº
æ°æ®åºï¼ç®èè¨ä¹å¯è§ä¸ºçµååçæ件æââåå¨çµåæ件çå¤æï¼ç¨æ·å¯ä»¥å¯¹æ件ä¸çæ°æ®è¿è¡æ°å¢ãæªåãæ´æ°ãå é¤çæä½ãæè°âæ°æ®åºâ系以ä¸å®æ¹å¼å¨åå¨ä¸èµ·ãè½äºå¤ä¸ªç¨æ·å ±äº«ãå ·æå°½å¯è½å°çåä½åº¦ãä¸åºç¨ç¨åºå½¼æ¤ç¬ç«çæ°æ®éåæ°æ®åºç®¡çç³»ç»ï¼Database Management Systemï¼ç®ç§°DBMSï¼æ¯ä¸ºç®¡çæ°æ®åºè设计ççµè软件系ç»ï¼ä¸è¬å ·æåå¨ãæªåãå®å ¨ä¿éãå¤ä»½çåºç¡åè½
æ°æ®åºç®¡çç³»ç»ä¸»è¦å为以ä¸ä¸¤ç±»ï¼å ³ç³»æ°æ®åºï¼å ³ç³»æ°æ®åºæ¯å建å¨å ³ç³»æ¨¡ååºç¡ä¸çæ°æ®åºï¼åå©äºéå代æ°çæ°å¦æ¦å¿µåæ¹æ³æ¥å¤çæ°æ®åºä¸çæ°æ®ãç°å®ä¸çä¸çåç§å®ä½ä»¥åå®ä½ä¹é´çåç§èç³»åç¨å ³ç³»æ¨¡åæ¥è¡¨ç¤ºãï¼éå ³ç³»åæ°æ®åº NoSQLï¼ éå ³ç³»åæ°æ®åºæ¯å¯¹ä¸åäºä¼ ç»çå ³ç³»æ°æ®åºçæ°æ®åºç®¡çç³»ç»çç»ç§°ãä¸å ³ç³»æ°æ®åºæ大çä¸åç¹æ¯ä¸ä½¿ç¨SQLä½ä¸ºæ¥è¯¢è¯è¨ãï¼ãå ä¹ææçæ°æ®åºç®¡çç³»ç»é½é å¤äºä¸ä¸ªå¼æ¾å¼æ°æ®åºè¿æ¥ï¼ODBCï¼é©±å¨ç¨åºï¼ä»¤å个æ°æ®åºä¹é´å¾ä»¥äºç¸éæã
Mysql æ¯ä¸ç§å¹¿æ³ä½¿ç¨ä¸æµè¡çæ°æ®åºæå¡å¨ï¼é¿æ¶é´åå¨å¨è®¡ç®æºè®¾å¤ä¸çæ°æ®éåï¼ç±åç§ç¨æ·ååºç¨ç¨åºæ ¹æ®æäºè§åè¿è¡ç»ç»åéä¿¡ï¼ç®åå°è¯´å°±æ¯æ°æ®æ件åå¨ç大åä»åºãå®åè½å¼ºå¤§,æäºä½¿ç¨å管çï¼å®å ¨é è°±ï¼è·¨å¹³å°çé¢ï¼å®å ¨ç¨³å®çç½ç»ï¼éå大å¤æ°è½¯ä»¶ååºç¨ç¨åºè½¯ä»¶æ°æ®åºçå端å¼åãå¦å¤ï¼Mysql æ°æ®åºå 许ç¨æ·ä»¥å¤ç§è¯è¨ç¼åç¨åºè¿è¡è®¿é®ï¼åæ¶ï¼å¼å ä¹æ¯è¯¥æ°æ®è·¯æ大çç¹ç¹ï¼å¯ä»¥å¨ä¸åå¹³å°ä¸å·¥ä½ï¼è¿å¯ä»¥åºç¨äº Web çå¼åç«ç¹ä»¥åå ¶ä»ç¨åºçæ°æ®å端ã
3 å¯è¡æ§åéæ±æ§åæ
3.1 å¯è¡æ§åæ
3.1.1 ææ¯å¯è¡æ§åæ
åºäºJavaæ¶éåçæ§ç³»ç»è®¾è®¡ççµè产åä»·æ ¼æ²¡æä¸¥æ ¼è¦æ±ãåªéçç»ä½¿ç¨javaåæ°æ®åºå³å¯ï¼ä¸éè¦å¤ªå¤å¤æçä¸åç±»åçè¯ä¸ï¼åè½»äºè®¾è®¡å®ç°çå¤æ度ãé«ææ¬æ§è½ï¼é«å®å ¨æ§ã
3.1.2 æä½æ¡ä»¶å¯è¡æ§åæ
æä½æ§ä¸»è¦æ¯å®æäºç¨äºæ¶éååä»·æ ¼ççè§ç®¡çç³»ç»ç设计ï¼å®æäºç¨æ·Experienceç使ç¨ç®¡çè æ»æ¯éè¿ç³»ç»æ¹ä¾¿ç®¡çç¸å ³æ°æ®ä¿¡æ¯ç¨æ·ä¿¡æ¯ç请æ±å管çè 管çæ°æ®åä¿¡æ¯ç³»ç»çæä½ä¸éè¦ä¸å®¶ï¼å¯ä»¥ç´æ¥å¯¹åºæä½ç®¡ççéç¨æ¨¡åç³»ç»çæä½æ§å®å ¨å¯è½ãå 为系ç»çæä½ä¹æ¯ç¨äºç»å½çæ¥å£çªå£ç使ç¨ï¼æ以åªè¦æä½ç®åï¼æä½äººåå°±å¯ä»¥å®å ¨æä½ã
3.2 æ»ä½éæ±åæ
ç³»ç»ä¸»è¦å®ç°çæ¯ç®¡çå¦çä¿¡æ¯ï¼ç®¡çåå¯ä»¥å¯¹å¦çãæå¸ã课ç¨è¿è¡ç´æ¥çæä½ï¼æ·»å ï¼ä¿®æ¹ï¼å é¤ï¼å ·ä½æï¼
(1) 对æ°æå¸çæ·»å ï¼
(2) ç³»ç»æ°æ®åºä¸å·²ç»æ·»å åãåå¨çæå¸çæå ³ä¿¡æ¯çä¿®æ¹ï¼
(3) å¦çä¿¡æ¯ç®¡çç³»ç»ä¸å·²ç»åå¨çæå¸æ°æ®çå é¤ï¼
(4) 对系ç»ä¸å·²ç»åå¨çæææå¸æ°æ®çæ¥ççã
è¿æ对课ç¨æ°æ®çç¸å ³ç¸å ³æä½ï¼å ·ä½å æ¬ï¼
(1) 对æ°è¯¾ç¨æ°æ®çæ·»å ï¼
(2) ç³»ç»æ°æ®åºä¸å·²æ·»å åå¨ç课ç¨æ°æ®çä¿®æ¹ï¼
(3) ç³»ç»ä¸å·²ç»æ·»å ååå¨ç课ç¨æ°æ®çå é¤ï¼
(4) 对系ç»ä¸å·²ç»åå¨çææ课ç¨æ°æ®çæ¥ççã
管çå对èªå·±çæä½ï¼ç¹å»ä¿®æ¹ä¸ªäººä¿¡æ¯æé®ï¼ç®¡çåå¯ä»¥å¯¹èªå·±çå¯ç è¿è¡ä¿®æ¹ã
å ³äºæ®åºä¸ç®¡çåçç¨ä¾å¦å¾3-1æ示ã
å¾3-1 管çåç¨ä¾å¾
æå¸æ¨¡åç主è¦åè½å æ¬å¯¹äºè¯¾ç¨æ°æ®ä»¥åå¦çç¸å ³æ°æ®çä¿®æ¹ï¼å ·ä½æä½å管çå类似ï¼æå¸æ¨¡åçç¨ä¾å¾å¦å¾3-2æ示ã
å¾3-2 æå¸è§è²ç¨ä¾å¾
å¦ç模å主è¦çåè½å æ¬å¯¹äºä¸ªäººä¿¡æ¯çä¿®æ¹æ¥ç以åæ绩çæ¥ççï¼å ·ä½å¦å¾3-3æ示ã
å¾3-3 å¦çè§è²ç¨ä¾å¾
4 ç³»ç»ç设计
4.1 ç³»ç»æ¶æ设计
æ¶æ设计çç®çæ¯ä¸ºäºåæ ä¸ä¸ªç»æåå ¶ä»å ç´ ä¹é´çå ³ç³»ï¼æ½è±¡ï¼é常ç¨äºæ导大å软件系ç»ï¼æ°å°æ¨¡åå±ãè§å¾å±åæ§å¶å±ã并ä¸ç»åå·¥å模å¼æ´ä½è®¾è®¡æè·¯ï¼åå«å°æ°æ®è®¿é®å±ï¼æå¡å±æ¯ä¸å±çæä¸æ¹å°è£ ä¸ä¸ªå·¥åç±»ï¼æ§å¶å±éè¿æå¡å±çå·¥åç±»è°ç¨ç¸å ³æå¡ï¼æå¡ç±»åè°ç¨æ°æ®è®¿é®å±çå·¥åç±»æ¥å®ç°ç¸å ³çæ°æ®è®¿é®å±æä½ï¼æ¬ç³»ç»çä½ç³»ç»æ设计ç详æ å¦å¾4-1ã
å¾4-1 å¦çä¿¡æ¯ç®¡çç³»ç»ç»æå¾
4.2 ç³»ç»åè½æ¨¡å设计
æ¬å¦çä¿¡æ¯ç®¡çç³»ç»å ±è®¾è®¡äºå个åè½æ¨¡åï¼å ¶ä¸ºæå¸ç®¡çåè½æ¨¡åãå¦çä¿¡æ¯ç®¡çåè½æ¨¡åã课ç¨ç®¡çåè½æ¨¡ååæ绩管çåè½æ¨¡åçãç³»ç»çåè½æ¨¡å设计å¾å¦å¾4-2æ示ã
å¾4-2 ç³»ç»åè½æ¨¡å设计
4.3 ç³»ç»æ°æ®åºè®¾è®¡
1.æå¸å¯ä»¥ç®¡çå¦çï¼å¦å·ãå§åãæ§å«ãåºçæ¥æï¼çææä¿¡æ¯ä»¥å课ç¨åæ绩ã
2.å¦çéè¿é课æ¥éå课ç¨ï¼èå¸å·¥ä½ï¼æäºå¦çæé课ç¨å¹¶ç»äºå¦çæ绩ï¼å¦çæ¥ææ绩ãå¦å¾4-3æ示ã
å¾4-3ç³»ç»æ°æ®åºERå¾
ç³»ç»ä¸ç管çåæç¨æ·ååå¯ç 两个å±æ§ï¼ç¨æ¥ç»å½ç³»ç»ï¼å¦å¾4-1æ示ã
å¾4-1管çåä¿¡æ¯å¾
å¦çä¿¡æ¯è¡¨å¨æ°æ®åºä¸ç表åå®ä¹ä¸ºstudentï¼å ¶å ±æä¸ä¸ªå段ç¨æ¥åå¨å¦ççå¦å·ãå§åãç级ãæ§å«ã身份è¯å·ãæå¨ç份ãçµè¯ä¿¡æ¯ãå ·ä½å¦çä¿¡æ¯è¡¨å段å¦å¾4-2æ示ã
å¾4-2å¦çä¿¡æ¯å¾
课ç¨ä¿¡æ¯è¡¨å¨æ°æ®åºä¸ç表åå®ä¹ä¸ºcourseï¼å ¶å ±æå 个å段ç¨æ¥åå¨è¯¾ç¨ç课ç¨ç¼å·ã课ç¨åãä¸è¯¾ç级ã任课æå¸ã课æ¶ã课ç¨å¦åä¿¡æ¯ãå ·ä½è¯¾ç¨ä¿¡æ¯è¡¨å段å¦å¾4-3æ示ã
å¾4-3课ç¨ä¿¡æ¯å¾
æ绩信æ¯è¡¨å¨æ°æ®åºä¸ç表åå®ä¹ä¸ºgradeï¼å ¶å ±æ8个å段ç¨æ¥åå¨æ绩çæ绩ç¼å·ãå¦çå¦å·ãå¦çå§åã课ç¨ç级ã课ç¨ç¼å·ã课ç¨åãæ绩åæ°ãæ绩类åãå ·ä½æ绩信æ¯è¡¨å段å¦å¾4-4æ示ã
å¾4-4æ绩信æ¯å¾
æå¸ä¿¡æ¯è¡¨å¨æ°æ®åºä¸ç表åå®ä¹ä¸ºteacherï¼å ¶å ±æä¸ä¸ªå段ç¨æ¥åå¨æå¸ä¿¡æ¯ãå ·ä½æå¸ä¿¡æ¯è¡¨å段å¦å¾4-5æ示ã
å¾4-5æå¸ä¿¡æ¯å¾
5 ç³»ç»å¼åä¸å®ç°
5.1 ç»å ¥çé¢çå®ç°
ç»å½çé¢å¦å¾5-1æ示ï¼å¨ç»å½çé¢éè¦éæ©ä¸åçç»å½å¯¹è±¡ï¼éæ©ä¹åè¾å ¥å¯¹åºçç¨æ·ååå¯ç 以åéªè¯ç ï¼ç¶åç¹å»ç¡®å®æé®å³å¯ç»å ¥å¦ç±ä¿¡æ¯ç®¡çç³»ç»ã
å¾5-1 ç»å½çé¢
(1) ç¹å»ç»å½é项ä¸ç管çåç»å½é项ï¼è¾å ¥ç®¡çåè´¦æ·åå¯ç å¯è¿è¡ç®¡çåç»å½ï¼ç®¡çåç»å½é¨å代ç ï¼
//管çåç»å½
(2)ç¹å»ç»å½é项ä¸çå¦çç»å½é项ï¼è¾å ¥å¦çè´¦æ·åå¯ç å¯è¿è¡å¦ç端çç»å½ï¼å¦ç端ç»å½åå¯è¿è¡èªå·±çæå ³ä¿¡æ¯çä¿®æ¹ï¼ä¸ªäººä¿¡æ¯ãå¯ç çï¼
å¦ç端ç»å½é¨å代ç ï¼
//å¦ç端ç»å½
(3)ç¹å»ç»å½é项ä¸çæå¸ç»å½é项ï¼è¾å ¥æå¸è´¦æ·åå¯ç å¯è¿è¡æå¸ç«¯çç»å½ï¼
æå¸ç«¯ç»å½é¨å代ç ï¼
//æå¸ç«¯ç»å½
ç»å½ä¹åå°±å¯ä»¥çå°ç³»ç»ç主çé¢ï¼å·¦ä¾§æ¯å¯¼èªèåï¼ä¸åç身份ç»å½å导èªèåçåè½ä¹ä¸åï¼
å¦çç»å½ï¼å¦çå¯å¯¹èªå·±ç个人信æ¯è¿è¡ä¿®æ¹ï¼å¯ä»¥é课ãæå¡ã请åï¼ä¹å¯ä»¥å¯¹èªå·±çé课åæ绩è¿è¡æ¥è¯¢ã
èå¸ç»å½ï¼èå¸å¯ä»¥å¯¹å¦ççä¿¡æ¯è¿è¡æ·»å ãä¿®æ¹ãå é¤ã导åºå¦çæ绩æä½ã
管çåç»å½ï¼ç®¡çåå¯ä»¥å¯¹å¦çåèå¸çä¿¡æ¯è¿è¡æ·»å ãä¿®æ¹åå é¤æä½ã
å¦å¾5-2æ示
å¾5-2 ç³»ç»ä¸»çé¢
5.2 æå¸ç®¡ççå®ç°
管çåç»å½æåä¹åå¯ä»¥å®æç³»ç»ä¸æå¸ç管çï¼å¯¹æå¸æ°æ®è¿è¡ä¿®æ¹åæ·»å çç®åæä½ï¼æ·»å æå¸å¦å¾5-3æ示ã
å¾5-3 æ·»å æå¸
æ·»å æå¸åè½ä¸»è¦ä»£ç å¦ä¸ï¼
æå¸æ·»å æåä¹åå¯ä»¥æ¥çå·²ç»æ·»å çæå¸ï¼å¹¶ä¸ä»è½å¤å¯¹å·²ç»æ·»å çæå¸ä¿¡æ¯è¿è¡ä¿®æ¹åå é¤æä½ãå¦å¾5-4æ示ã
å¾5-4 æå¸å表æ¥ç
å¦ææå¸çç¸å ³ä¿¡æ¯éè¦ä¿®æ¹ï¼é¦å éè¦éä¸æ³è¦ä¿®æ¹çæå¸ï¼ç¹å»ä¿®æ¹ï¼å°ä¿¡æ¯ä¿®æ¹å³å¯ï¼å¦å¾5-5æ示ã
å¾5-5 æå¸ä¿¡æ¯ä¿®æ¹
æå¸ä¿¡æ¯ä¿®æ¹é¨å代ç å¦ä¸ï¼
å¦æææå¸çç¸å ³ä¿¡æ¯éè¦å é¤ï¼é¦å éè¦éä¸æ³è¦ä¿®æ¹çæå¸ï¼ç¹å»å é¤æé®ï¼å³å¯å°æ³è¦å é¤çæå¸è¿è¡å é¤æä½ï¼å ·ä½å¦å¾5-6æ示ã
å¾5-6æå¸çå é¤
æå¸å é¤åè½ä¸»è¦ä»£ç å¦ä¸ï¼
5.3 å¦ç管ççå®ç°
管çåç»å½æåä¹åå¯ä»¥å®æç³»ç»ä¸å¦çç管çï¼å¯¹æå¸æ°æ®è¿è¡å¢å æ¹æ¥æä½ï¼å¯¹å¦çç管çå对æå¸ç管ç类似ï¼å¦ç管ççé¢å¦å¾5-7æ示ã
å¾5-7 å¦ç管ççé¢
5.4 课ç¨ç®¡ççå®ç°
管çåç»å½æåä¹åå¯ä»¥å®æç³»ç»ä¸è¯¾ç¨ç管çï¼å¯¹è¯¾ç¨æ°æ®è¿è¡å¢å æ¹æ¥æä½ï¼å¯¹è¯¾ç¨ç管ç类似ï¼ä¸åèµè¿°ï¼è¯¾ç¨ç®¡ççé¢å¦å¾5-8æ示ã
å¾5-8 课ç¨ç®¡ççé¢
5.5 èå¸æ¨¡åçå®ç°
æå¸ç»å½å°ç³»ç»ä¹åï¼å¯ä»¥å¯¹å¦ççèå¤ä¿¡æ¯ä»¥åæ绩è¿è¡ç®¡çï¼å¦çæ绩çæ·»å ï¼ç¹å»æ·»å æé®å³å¯å¯¹å¦ççæ绩信æ¯æ·»å ï¼éä¸ä¸åå¦çï¼ç¹å»ä¿®æ¹ï¼å¯å¯¹å¦çæ绩è¿è¡ä¿®æ¹æä½ï¼å¦å¾5-9æ示ã
å¾5-9 å¦çæ绩çä¿®æ¹
å¦çæ绩修æ¹åè½é¨å代ç å¦ä¸ï¼
æå¸è¿å¯ä»¥å¯¹å¦ççæ绩è¿è¡ç»è®¡ï¼å¯ä»¥æ¥çå¦çæ¯é¨è¯¾ç¨çæææ绩çç»è®¡å¾ï¼æ®å¾å¦å¾5-æ示ã
å¾5- å¦çæ绩çç»è®¡
æå¸å¯ä»¥å¯¹å¦ççæ绩表è¿è¡å¯¼åºæä½ï¼å¦çæ绩导åºå¦å¾5-æ示ã
å¾5- å¦çæ绩å导åº
å¦çæ绩导åºä¹åææå¦å¾5-æ示ã
å¾5- å¦çæ绩导åº
考勤管理系统
考勤系统,在包含薪资计算模块的情况下,可以灵活定义各个工资项目的计算公式,自动调用员工的出勤数据、人员资料、就餐等与工资相关的数据,计算出员工的工资情况,可提供银行代发工资所需的相关文件。同时提供丰富的统计分析报表,可即时掌握企业工资支出情况。
RQHR基于拥有自主版权的RQBuilder开发平台开发,它具有鲜明的技术特点及众多成熟的解决方案。
1. 真正在线式二次开发,面向对象的脚本语言,可视化开发环境,功能可无限扩充,客户可轻松摆脱对源代码的依赖;
2. 系统界面可自由定义,界面布局大方得体,操作方式全面符合Windows标准,操作灵活方便;
3. C/S体系架构, 具有强大的SQL Sever数据库管理功能;可以控制管理数据库, 表,索引,触发器,规则约束及存储过程等,我们提供的RQHR系统标准数据库具有详尽的数据完整性约束,杜绝非法数据进入系统。
4. 整个系统中所有的繁杂的计算工作全部交由SQL Server后台计算。
5. 多语言支持,自适应简体、繁体及英文操作系统等;
6. 录入资料方便快捷,全面支持批量录入资料;
7. 自定义的界面, 实现个性化的操作向导, 动态切换操作风格以满足不同的需求
8. 自定义的功能模块, 添加新的模块控制极为轻松愉快;
9. 自定义的报表与统计图,可对报表数据进行动态变换, 统计分析以及作图形输出;
. 自定义的代码表,使用各种人事资料的录入更为轻松;
. 强大快捷的动态化查询无处不在,自动保存历史查询,众多友好的操作向导;
. 所有的数据都可与Excel, Access等数据作双向导入导出;
. 全面严谨的系统权限及安全控制,审核机制完善;
. 支持多个帐套,可以动态切换帐套,方便集团化的企业管理。
. 万能适应各种人力资源管理模式,快速上线,可维护性很好;
. 全面支持无限层次的部门组织架构,可快速对任一层的数据进行统计报表
. 对各种人事资料进行分析、统计、预警;
. 全面、精确、快捷的考勤分析,包罗万象的上班模式,大大简化考勤效率;
. 考勤单据的录入全面支持人个,群组录入及反录入,大幅提升工作效率。
. 考勤规则全面,深入,细致,体贴。
. 自定义工资表,工资项目计算方法及形形色色的工资报表;
. 方便的厂牌、工卡制作,万能挂接各型号的刷卡机器;
. 考勤、就餐、门禁一卡通,支持IC卡消费卡模式;
. 自定义的统计结算周期
. 无限层次的组织架构图
. 工号,卡号的变更处理
. 照片的显示及打印处理
. 培训,绩效与考核的管理
. 动态的异动、离职资料处理方案
. 新员工的自动转正及定期调薪的处理方案
. 待聘员工资料库的管理
. 人才储备资料库的管理
. 工号变更,部门变更及离职对汇总报表影响的解决方案
. 薪资异动对薪资计算的影响解决方案
. 计件计时异动对考勤、薪资计算的影响解决方案
. 部门异动对考勤、薪资计算的影响解决方案
. 实时可靠采集刷卡数据的方案
. 累计项目(如按金,积假,年休)的薪资自动设置
. 超长时间上下班打卡的可靠解决方案
. 电脑自动化排班或不排班的解决方案
. 各种模式的轮班解决方案
. 无限制的加班类别及请假类别
. 动态的班别(如大夜班,小夜班等)的算法定义
. 对劳动法规的合理解决方案
. 薪资发放报表所需各种货币的数据报表
. 对薪资尾数的处理方案
. 自定义的个人所得税税率
. 多供应商的就餐汇总
. 可选的界面风格,报表风格
. 其它的子系统的如图书管理,水电管理,宿舍管理,停车管理,巡更管理等
2024-11-29 23:50
2024-11-29 22:59
2024-11-29 21:46
2024-11-29 21:23
2024-11-29 21:20