JAVA程序设计 课程设计报告
课 题 mini事理系统
姓 名:
学 号: 202114
组姓名:
专业班级: 网工
指导教师:
设计时间: 2014年6月17日
评阅意见:
评定成绩:
指导老师签名:
年 月 日
目 录
系统描述 1
〔〕 前言1
〔二〕 开发系统功介绍1
二 分析设计2
〔〕 功模块划分2
〔二〕 数库结构描述2
〔三〕模块实现方法描述 3
〔四〕 测试数期结果3
三 源代码5
〔〕 页面设计 5
〔二〕记录添加界面开发设计 11
〔三〕班登记子系统开发设计 13
〔四〕信息统计页面设计开发 15
四 系统测试18
五 总结 21
〔〕 实验心 21
〔二〕 参考文献 22
系统描述
〔〕 前言
着科学技术断提高计算机科学日渐成熟强功已深刻认识已进入类社会领域发挥着越越重作作计算机应局部计算机事信息进行理具着手工理法较优点例检索迅速查找方便性高存储量保密性寿命长钱低等优点够极提高事理效率企业科学化正规化理世界接轨重条件开发样套理软件成必事情
目前机关事业单位企业单位事理组织生存长远开展具备重性已明确认识事理水提升仅需高素质理员需信息化工具进行辅助
现代化企业理中事理系统着十分重作然型软件系统型企事业单位啻杀鸡牛刀〞型软件种单位然十分重作
〔二〕开发系统功介绍
1 班登记子系统
班登记子系统员工班信息进行登记包括员工工号员工姓名员工班时间相应备注信息够删错误员工班时间信息记录
2 班登记子系统
班登记子系统员工班信息进行登记包括员工工号员工姓名员工班时间相应备注信息够删错误员工班时间信息记录
3 请假登记子系统
请假登记子系统员工请假信息进行登记包括员工工号员工姓名员工请假时间相应备注信息够删错误员工请假时间信息记录
4 信息统计子系统
信息统计系统员工班时间信息班时间信息请假时间信息进行统计包括员工工号员工姓名员工班时间员工班时间员工请假时间相应备注信息删错误员工时间信息记录
5 记录添加子系统
记录添加子系统作数库中添加员工工号员工姓名相应时间备注
二分析设计
组三起完钱次课程设计务组长李海霞组员李丹周露组分工:李丹负责班系统开发周露负责班系统开发李海霞负责请假系统开发统计信息系统开发然完成开发系统总结块家起研究错误出里该改正错误
〔〕 功模块划分
系统分模块:
Mini事理系统
退出系统
信息统计
子系统
请假登记
子系统
班登记
子系统
班登记
子系统
〔二〕 数库结构描述
MINI开发系统中选mysql作系统效劳数库mysql功强操作简便应较广数库方面做张表根功子系统里面读取数局部设计表:
表
列名
数类型
否允空
长度
工号
数值型
否
50
姓名
字符型
否
50
班时间
日期型
否
30
班时间
日期型
否
30
请假时间
日期型
30
备注
字符型
50
〔三) 模块实现方法描述
1) 班登记模块描述〔负责:李丹〕
班登记子系统包括班信息统计界面班信息添加界面班信息统计界面表格行员工相关信息果某条记录符合求条记录删
班信息添加界面员工工号员工姓名相应时间相关备注信息根信息添加界面系统时间指示填入相应时间
流程图:
添加记录
班登记系统
选择
删记录
刷新界面
退出
结束
〔四〕 测试数期结果
阶段工作实际运行事理系统应程序进入事理系统登录界面
前阶段然作性预测仅仅做性估计估计程中做许简化假设忽略许屡次素估计粗糙失真试运行阶段必须进行实际测量评价测试数覆盖现实世界种情况
果实际测试结果符合设计目标需返回物理设计阶段修改参数时许需返回初始阶段
期结果:方说员工A3:00班点击班登记手动添加班记录班然统计模块中动统计显示出员工天班请假全部记录
三源代码
〔〕页面设计开发
package manpowersystem
import javaxswing*
import javaawtevent*
import javaawt*
import comborlandjbcllayout*
import javaxswingevent*
**
*
Title
*
Description
*
Copyright Copyright (c) 2003
*
Company
* @author not attributable
* @version 10
*
public class MainFrame extends JFrame {
private ImageIcon fmImage 框架面板代码文件声明属性变量
XYLayout xYLayout1 new XYLayout()
JButton jTitleButton new JButton()
JButton jOnWorkButton new JButton()
JButton jOffWorkButton new JButton()
JButton jLeaveWorkButton new JButton()
JButton jStaticButton new JButton()
JButton jExitButton new JButton()
public MainFrame() {
try {
jbInit()
addWindowListener( new WindowAdapter() { 窗口事件监听
public void windowClosing( WindowEvent e ) {
dispose() 销毁窗口
}
} )
}
catch ( Exception e ) {
eprintStackTrace()
}
}
public static void main( String[] args ) {
MainFrame mainFrame new MainFrame()
mainFramevalidate()
mainFramesetLocation( 200 150 )
mainFramesetSize( 600 480 )
mainFramesetVisible( true )
mainFramepack()
}
private void jbInit() throws Exception {
fmImagenew ImageIcon
( manpowersystemMainFrameclassgetResource(Fengmianpng ) )
jTitleButtonsetBackground( new Color( 210 138 177 ) )
jTitleButtonsetIcon( fmImage )
jTitleButtonsetFocusable( false ) 钮聚焦作失效
xYLayout1setWidth( 540 )
xYLayout1setHeight( 407 )
thisgetContentPane()setBackground( new Color( 210 138 177 ) )
thissetLocale( javautilLocalegetDefault() )
thissetResizable( true )
thissetTitle( Mini事理系统 )
thisaddWindowListener(new
MainFrame_this_windowAdapter( this ) )
thisgetContentPane()setLayout( xYLayout1 )
jOnWorkButtonsetBackground( new Color( 212 158 217 ) )
jOnWorkButtonsetFont( new javaawtFont( DialogInput 1 16 ) )
jOnWorkButtonsetText( 班登记 )
jOnWorkButtonaddActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) )
jOnWorkButtonaddHierarchyBoundsListener( new
MainFrame_jOnWorkButton_hierarchyBoundsAdapter( this ) )
OffWorkButtonsetBackground( new Color( 212 158 217 ) )
jOffWorkButtonsetFont( new javaawtFont( DialogInput 1 16 ) )
jOffWorkButtonsetText( 班登记 )
jOffWorkButtonaddActionListener(new MainFrame_jOffWorkButton_actionAdapter(this))
jOffWorkButtonaddAncestorListener( new
MainFrame_jOffWorkButton_ancestorAdapter( this ) )
jLeaveWorkButtonsetBackground( new Color( 212 158 217 ) )
jLeaveWorkButtonsetFont( new javaawtFont( DialogInput 1 16 ) )
jLeaveWorkButtonsetText( 请假登记 )
jLeaveWorkButtonaddActionListener(new MainFrame_jLeaveWorkButton_actionAdapter(this))
jLeaveWorkButtonaddAncestorListener( new
MainFrame_jLeaveWorkButton_ancestorAdapter( this ) )
jStaticButtonsetBackground( new Color( 212 158 217 ) )
jStaticButtonsetFont( new javaawtFont( DialogInput 1 16 ) )
jStaticButtonsetText( 统计情况 )
jStaticButtonaddActionListener(new MainFrame_jStaticButton_actionAdapter(this))
jStaticButtonaddAncestorListener( new
MainFrame_jStaticButton_ancestorAdapter( this ) )
jExitButtonsetBackground( new Color( 212 158 217 ) )
jExitButtonsetFont( new javaawtFont( DialogInput 1 16 ) )
jExitButtonsetText( 退出系统 )
jExitButtonaddActionListener(new MainFrame_jExitButton_actionAdapter( this ) )
jExitButtonaddAncestorListener(new MainFrame_jExitButton_ancestorAdapter( this ) )
thisgetContentPane()add( jTitleButton
new XYConstraints( 0 0 358 409 ) )
thisgetContentPane()add( jOnWorkButton
new XYConstraints( 393 35 115 45 ) )
thisgetContentPane()add( jOffWorkButton
new XYConstraints( 393 109 115 45 ) )
thisgetContentPane()add( jLeaveWorkButton
new XYConstraints( 393 184 115 45 ) )
thisgetContentPane()add( jStaticButton
new XYConstraints( 393 258 115 45 ) )
thisgetContentPane()add( jExitButton
new XYConstraints( 393 332 115 45 ) )
thissetResizable(false)
}
void this_windowClosed( WindowEvent e ) {
Systemexit( 0 )
}
void jOnWorkButton_ancestorMoved( HierarchyEvent e ) {
}
void jOffWorkButton_ancestorMoved( AncestorEvent e ) {
}
void jLeaveWorkButton_ancestorMoved( AncestorEvent e ) {
}
void jStaticButton_ancestorMoved( AncestorEvent e ) {
}
void jExitButton_ancestorMoved( AncestorEvent e ) {
}
void jExitButton_actionPerformed( ActionEvent e ) {
Systemexit( 0 )
}退出系统钮事件处理
void jOnWorkButton_actionPerformed( ActionEvent e ) {
OnWorkPanel onWorkPanel new OnWorkPanel()
onWorkPanelsetVisible(true)
}班登记钮事件处理
void jOffWorkButton_actionPerformed(ActionEvent e) {
OffWorkPanel offWorkPanel new OffWorkPanel()
offWorkPanelsetVisible(true)
}班登记钮事件处理
void jLeaveWorkButton_actionPerformed(ActionEvent e) {
LeaveWorkPanel leaveWorkPanel new LeaveWorkPanel()
leaveWorkPanelsetVisible(true)
}请假登记钮事件处理
void jStaticButton_actionPerformed(ActionEvent e) {
StaticPanel staticPanel new StaticPanel()
staticPanelsetVisible(true)
}统计情况钮事件处理
}
Class MainFrame_this_windowAdapter
extends javaawteventWindowAdapter {
MainFrame adaptee
MainFrame_this_windowAdapter( MainFrame adaptee ) {
thisadaptee adaptee
}
public void windowClosed( WindowEvent e ) {
adapteethis_windowClosed( e )
}
}
class MainFrame_jOnWorkButton_hierarchyBoundsAdapter extends javaawtevent
HierarchyBoundsAdapter {
MainFrame adaptee
MainFrame_jOnWorkButton_hierarchyBoundsAdapter( MainFrame adaptee )
{
thisadaptee adaptee
}
public void ancestorMoved( HierarchyEvent e ) {
adapteejOnWorkButton_ancestorMoved( e )
}
}
class MainFrame_jOffWorkButton_ancestorAdapter implements javaxswingevent
AncestorListener {
MainFrame adaptee
MainFrame_jOffWorkButton_ancestorAdapter( MainFrame adaptee )
{
thisadaptee adaptee
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adapteejOffWorkButton_ancestorMoved( e )
}
}
class MainFrame_jLeaveWorkButton_ancestorAdapter implements javaxswingevent
AncestorListener {
MainFrame adaptee
MainFrame_jLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) {
thisadaptee adaptee
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adapteejLeaveWorkButton_ancestorMoved( e )
}
}
class MainFrame_jStaticButton_ancestorAdapter
implements javaxswingeventAncestorListener {
MainFrame adaptee
MainFrame_jStaticButton_ancestorAdapter( MainFrame adaptee ) {
thisadaptee adaptee
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adapteejStaticButton_ancestorMoved( e )
}
}
class MainFrame_jExitButton_ancestorAdapter
implements javaxswingeventAncestorListener {
MainFrame adaptee
MainFrame_jExitButton_ancestorAdapter( MainFrame adaptee ) {
thisadaptee adaptee
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adapteejExitButton_ancestorMoved( e )
}
}
class MainFrame_jExitButton_actionAdapter
implements javaawteventActionListener {
MainFrame adaptee
MainFrame_jExitButton_actionAdapter( MainFrame adaptee ) {
thisadaptee adaptee
}
public void actionPerformed( ActionEvent e ) {
adapteejExitButton_actionPerformed( e )
}
}
class MainFrame_jOnWorkButton_actionAdapter
implements javaawteventActionListener {
MainFrame adaptee
MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) {
thisadaptee adaptee
}
public void actionPerformed( ActionEvent e ) {
adapteejOnWorkButton_actionPerformed( e )
}
}
class MainFrame_jOffWorkButton_actionAdapter
implements javaawteventActionListener {
MainFrame adaptee
MainFrame_jOffWorkButton_actionAdapter(MainFrame adaptee) {
thisadaptee adaptee
}
public void actionPerformed(ActionEvent e) {
adapteejOffWorkButton_actionPerformed(e)
}
}
class MainFrame_jLeaveWorkButton_actionAdapter implements javaawteventActionListener {
MainFrame adaptee
MainFrame_jLeaveWorkButton_actionAdapter(MainFrame adaptee) {
thisadaptee adaptee
}
public void actionPerformed(ActionEvent e) {
adapteejLeaveWorkButton_actionPerformed(e)
}
}
class MainFrame_jStaticButton_actionAdapter implements javaawteventActionListener {
MainFrame adaptee
MainFrame_jStaticButton_actionAdapter(MainFrame adaptee) {
thisadaptee adaptee
}
public void actionPerformed(ActionEvent e) {
adapteejStaticButton_actionPerformed(e)
}
}
〔二〕记录添加界面开发设计
package manpowersystem
**
*
Title
*
Description
*
Copyright Copyright (c) 2003
*
Company
* @author not attributable
* @version 10
*
import javaio*
import javautil*
import javaawt*
import javaawtevent*
import javaxswing*
import javaxswingevent*
import javaxswingborder*
import javaxswingtable*
public class RecordItem {
private String strEmployeeID
private String strEmployeeName
private String strOnWorkTime
private String strOffWorkTime
private String strLeaveWorkTime
private String strDescribe
public RecordItem() {
strEmployeeID new String( )
strEmployeeName new String( )
strOnWorkTime new String( )
strOffWorkTime new String( )
strLeaveWorkTime new String( )
strDescribe new String( )
}
public void SetOnworkItem( String strEmployeeID String strEmployeeName
String strOnWorkTime String strDescribe ) {
thisstrEmployeeID strEmployeeID
thisstrEmployeeName strEmployeeName
thisstrOnWorkTime strOnWorkTime
thisstrDescribe strDescribe
}
public void SetOffworkItem( String strEmployeeID String strEmployeeNameString strOffWorkTime String strDescribe ) {
thisstrEmployeeID strEmployeeID
thisstrEmployeeName strEmployeeName
thisstrOffWorkTime strOffWorkTime
thisstrDescribe strDescribe
}
public void SetLeaveworkItem( String strEmployeeID String strEmployeeNameString strLeaveWorkTime String strDescribe ) {
thisstrEmployeeID strEmployeeID
thisstrEmployeeName strEmployeeName
thisstrLeaveWorkTime strLeaveWorkTime
thisstrDescribe strDescribe
}
public String GetEmployeeID() {
return strEmployeeID
}
public String GetEmployeeName() {
return strEmployeeName
}
public String GetOnWorkTime() {
return strOnWorkTime
}
public String GetOffWorkTime() {
return strOffWorkTime
}
public String GetLeaveWorkTime() {
return strLeaveWorkTime
}
public String GetDescribe() {
return strDescribe
}
public void SetEmployeeID( String strEmployeeID ) {
thisstrEmployeeID strEmployeeID
}
public void SetEmployeeName( String strEmployeeName ) {
thisstrEmployeeName strEmployeeName
}
public void SetOnWorkTime( String strOnWorkTime ) {
thisstrOnWorkTime strOnWorkTime
}
public void SetOffWorkTime( String strOffWorkTime ) {
thisstrOffWorkTime strOffWorkTime
}
public void SetLeaveWorkTime( String strLeaveWorkTime ) {
thisstrLeaveWorkTime strLeaveWorkTime
}
public void SetDescribe( String strDescribe ) {
thisstrDescribe strDescribe
}
}
〔三〕班登记子系统开发设计
package manpowersystem
**
*
Title
*
Description
*
Copyright Copyright (c) 2003
*
Company
* @author not attributable
* @version 10
*
import javaio*
import javautil*
import javaawt*
import javaawtevent*
import javaxswing*
import javaxswingevent*
import javaxswingborder*
import javaxswingtable*
import javautil*
import comborlandjbcllayout*
public class OnWorkPanel extends TablePanel {
String[] arrField {工 号 姓 名 班时间 备 注}
public OnWorkPanel() {
tableModel new DefaultTableModel( arrData arrField )
jRecordTable new JTable( tableModel )
jTableScrollPanegetViewport()add( jRecordTable null ) UpdateRecord() 更新表格
thissetTitle( 班登记页面 )
}
public void AddRecord() {
OnWorkRecordPane recordPane new OnWorkRecordPane()
recordPanesetSize( 630 300 )
recordPanesetLocation( 230 100 )
recordPanesetVisible( true )
recordPanesetResizable( false )
recordPanevalidate()
UpdateRecord() 更新表格
}
public void DelRecord() {
jTableScrollPanegetViewport()add( jRecordTable null )
intRow jRecordTablegetSelectedRow()
if ( intRow 1 )
return
try {
databaseDeleteData( tableModelgetValueAt( intRow 0 )toStri() )
}
catch ( Exception e ) {
eprintStackTrace()
}
UpdateRecord() 更新表格
}
public void UpdateRecord() {
Object[][] arrTmp {} 设定表格字段
tableModel new DefaultTableModel( arrTmp arrField )
jRecordTable new JTable( tableModel )
jTableScrollPanegetViewport()add( jRecordTable null )
try {
RecordItem[] result new RecordItem[ 100 ]
for ( int j 0 j < 100 j++ )
result[ j ] new RecordItem()
result databaseAccessData()
for ( int i 0 i < resultlength i++ ) {
Object newdata[] {result[ i ]GetEmployeeID()
result[ i ]GetEmployeeName()
result[ i ]GetOnWorkTime()
result[ i ]GetDescribe()}
String strTmp result[ i ]GetOnWorkTime()
if ( strTmptrim()length() 0 )
continue
tableModeladdRow( newdata )
}
}
catch ( Exception e ) {
eprintStackTrace()
}
}
}
public class OnWorkRecordPane extends RecordPane {
public OnWorkRecordPane() {
}
public void RestoreRecord() {
String strTmp jEmployeeIDTextFieldgetText()
if(strTmptrim()length() 0)
{
thisdispose()
return
}
itemSetOnworkItem( jEmployeeIDTextFieldgetText()
jEmployeeNameTextFieldgetText()
jDateTimeTextFieldgetText()
jReasonTextFieldgetText() )
try {
databaseStoreData( item )
}
catch ( Exception e ) {
eprintStackTrace()
}
thisdispose()
}
}
〔四〕信息统计页面设计开发
package manpowersystem
import javautil*
import javaawt*
import javaxswing*
public class Clock extends JPanel implements Runnable {
boolean keepRunning true
int lastxs 0 lastys 0 lastxm 0 lastym 0 lastxh 0 lastyh 0
Date dummy new Date()
String lastdate dummytoLocaleString()
String myName
public Clock( String inName ) {
myName new String( inName )
}
public void plotpoints( int x0 int y0 int x int y Graphics g ) {
gdrawLine( x0 + x y0 + y x0 + x y0 + y )
gdrawLine( x0 + y y0 + x x0 + y y0 + x )
gdrawLine( x0 + y y0 x x0 + y y0 x )
gdrawLine( x0 + x y0 y x0 + x y0 y )
gdrawLine( x0 x y0 y x0 x y0 y )
gdrawLine( x0 y y0 x x0 y y0 x )
gdrawLine( x0 y y0 + x x0 y y0 + x )
gdrawLine( x0 x y0 + y x0 x y0 + y )
}
public void circle( int x0 int y0 int r Graphics g ) {
int x y
float d
x 0
y r
d 5 4 r
plotpoints( x0 y0 x y g )
while ( y > x ) {
if ( d < 0 ) {
d d + 2 * x + 3
x++
}
else {
d d + 2 * ( x y ) + 5
x++
y
}
plotpoints( x0 y0 x y g )
}
}
public void paintComponent( Graphics g ) {
superpaintComponent( g )
int xh yh xm ym xs ys s m h xcenter ycenter
String today
Date dat new Date()
s datgetSeconds()
m datgetMinutes()
h datgetHours()
today dattoLocaleString()
xcenter getWidth() 2
ycenter getHeight() 2 10
xs ( int ) ( Mathcos( s * 314f 30 314f 2 ) * 35 + xcenter )
ys ( int ) ( Mathsin( s * 314f 30 314f 2 ) * 35 + ycenter )
xm ( int ) ( Mathcos( m * 314f 30 314f 2 ) * 30 + xcenter )
m ( int ) ( Mathsin( m * 314f 30 314f 2 ) * 30 + ycenter )
xh ( int ) ( Mathcos( ( h * 30 + m 2 ) * 314f 180 314f 2 ) *20 + xcenter )yh ( int ) ( Mathsin( ( h * 30 + m 2 ) * 314f 180 314f 2 ) *20 + ycenter )
gsetFont( new Font( TimesRoman FontPLAIN 14 ) )
gsetColor( Colorgreen )
circle( xcenter ycenter 40 g )
gsetColor( new Color( 0 0 200 ) )
gdrawString( 9 xcenter 35 ycenter + 3 )
gdrawString( 3 xcenter + 30 ycenter + 3 )
gdrawString( 12 xcenter 5 ycenter 27 )
gdrawString( 6 xcenter 3 ycenter + 35 )
gsetColor( Colorred )
if ( xs lastxs || ys lastys ) {
gdrawLine( xcenter ycenter lastxs lastys )
gdrawString( lastdate xcenter 55 ycenter + 55 )
}
if ( xm lastxm || ym lastym ) {
gdrawLine( xcenter ycenter 1 lastxm lastym )
gdrawLine( xcenter 1 ycenter lastxm lastym )
}
if ( xh lastxh || yh lastyh ) {
gdrawLine( xcenter ycenter 1 lastxh lastyh )
gdrawLine( xcenter 1 ycenter lastxh lastyh )
}
gsetColor( Colorred )
gdrawString( today xcenter 55 ycenter + 55 )
gdrawLine( xcenter ycenter xs ys )
gsetColor( Colorblack )
gdrawLine( xcenter ycenter 1 xm ym )
gdrawLine( xcenter 1 ycenter xm ym )
gdrawLine( xcenter ycenter 1 xh yh )
gdrawLine( xcenter 1 ycenter xh yh )
lastxs xs
lastys ys
lastxm xm
lastym ym
lastxh xh
lastyh yh
lastdate today
}
public void stop(){
keepRunning false
}
public void run() {
while ( keepRunning ) {
try {
Threadsleep( 100 )
}
catch ( InterruptedException e ) {}
repaint()
}
}
}
四测试结果
图
2进入班登记
图二
班登记页面中添加记录:
图三
添加记录界面:
图四
3进入班登记
添加班记录页面
图五
4进入请假登记
添加相关记录:
图六
5进入统计情况
图七
6退出系统
退出事理系统结束程序运行
五总结
() 实验心
学期JAVA学发现真专业知识掌握程度真低时没觉没学会什损坏实践会知道缺陷真直考虑问题出进学时考虑适合专业没想情况会差完全手现已二觉着父母钱混日子想改变尝试伙伴起做刚开始会点怯伴鼓励查阅资料懂问学长学组长分配务准备班界面刚开始觉手学讨便知道慢慢解该做容该准备知识伙伴努力终完成
〔二〕参考文献
1 黄晓东 JAVA课程设计案例精编〔第二版〕 中国水利水电出版社
2 李尊 苏军 JAVA语言程序设计〔第二版〕 中国铁道出版社
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档