IT认知实习报告.docx
《IT认知实习报告.docx》由会员分享,可在线阅读,更多相关《IT认知实习报告.docx(63页珍藏版)》请在冰点文库上搜索。
IT认知实习报告
IT认知实习报告
学生姓名:
**********************
班级:
**********************
指导教师:
**********************
2014年3月1日
1.实验题目
IT认知实习
2.实习目的
IT认知实习是软件工程专业教学计划中规定的一个重要实践环节,是增强学生了解软件开发流程和软件项目规范化管理流程的一项重要措施。
通过IT认知实习让学生初步了解IT企业的软件生产流程,对软件开发有更加感性的认知,为培养学生规范的软件开发技能和意识提供帮助;同时通过对IT企业文化的认知和了解,增强学生严于律己的思想意识,激发并提高学生在以后学习中的兴趣,同时也能给学生后面的学习提供方向和参考。
3.主要任务
介绍某企业的人文环境、企业的规章制度、企业对IT人才的需求标准;合实际项目、围绕软件开发生命周期讲解软件开发过程中各阶段任务、实施步骤、常见问题,介绍目前流行的软件开发工具和主流技术;同时介绍软件项目管理中的常见问题;了解企业在项目开发过程中的分工协作。
4.实习要求
通过实习后,学生能熟悉软件项目开发的整个流程,包括软件分析、设计、编码及测试等环节规范化的生产流程;了解并熟悉规范化软件文档的书写规范,具备一定的文档撰写能力;能进一步熟悉某个应用领域的主流技术和开发平台,具备应用相关技术和平台独立开发某个应用软件的基本能力;通过实习逐步具有良好的团队合作意识、工程职业素养、忠诚度和社会责任感;通过实习培养发现问题、认识问题、分析问题及解决问题的能力,逐步提高自学能力和动手能力;为成为应用型软件工程师打下良好的基础。
5.实习过程
第一天,老师给我讲解了作为一名IT应具备的素养以及IT的发展。
第二天,中兴老师讲软件测试有关知识。
第三天:
有中兴老师带领我们学习把学的知识怎么用到实际项目中。
第四天:
对分析报告进行检查,同时写好报告总结。
6.实习图表
摘要
JAVA不仅是一门最为流行的计算机语言,而且已经形成一种专门的技术,带来了20世纪末和本世纪初网络科技和网络经济超常发展。
JAVA的与平台无关性、高可靠性、安全机制和内嵌网络支持等特性使它成为编写网络应用程序的首选工具之一。
从另一方面来看,软件开发的规模也日渐扩大,对软件质量的要求越来越高,与之相对应的是,各种软件技术和工具层出不穷,各种软件开发、软件质量控制、软件管理法方法学业日渐成熟,在现有的一些项目中(比如呼叫中心,电子政务等),往往包括系统管理员,业务员和用户几类大的使用群体,其中对于业务人员,他们的流动性很大,人员构成不一,往往需要单独的系统进行绩效管理和业务技能培训,以此延伸出人员管理系统。
伴随项目的发展,业务开展的广泛和深入,人员管理也逐渐成为项目辅助系统中非常关键的一个环节,对客户后续发展提供着专业的支撑作用。
该程序是利用文件来实现的,程序的重要作用是对员工信息进行管理,包括员工信息的添加、查询、修改、删除、绩效考核、到勤情况。
明确JAVA在实际程序设计中的应用。
使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。
关键词:
面向对象、软件开发、继承、员工管理、javaEE
1设计目的4
2设计问题4
3概要设计4
4详细设计5
4.1定义员工类5
4.2主程序6
4.3实现员工信息的录入10
4.4实现员工信息的修改16
4.5实现员工信息的查询23
4.6实现员工信息的删除26
4.7实现员工每日的考勤.................................................................................31
4.8实现员工绩效的考核.................................................................................35
5设计总结41
参考文献42
致谢42
公司员工管理系统
一、设计目的
在现有的一些项目中(比如呼叫中心,电子政务等),往往包括系统管理员,业务员和用户几类大的使用群体,其中对于业务人员,他们的流动性很大,人员构成不一,往往需要单独的系统进行绩效管理和业务技能培训,以此延伸出人员管理系统。
伴随项目的发展,业务开展的广泛和深入,人员管理也逐渐成为项目辅助系统中非常关键的一个环节,对客户后续发展提供着专业的支撑作用。
原有人员管理系统由各项目自行开发和维护,为了提高研发效率,项目也希望能将员工系统平台化,组件化,已提高研发效率。
通过分析,基于绩效管理模式和业务技能培训模式的系统中,我们考虑将其分解为考勤,绩效考核,培训,考试这四个子类进行抽象整理,整合为人员管理系统版本,以便能被不同项目复用。
二、设计问题
设计题目:
公司员工管理系统
设计要求:
(1)本软件需要具备以下主要功能:
a)支持员工考勤功能
b)支持员工绩效考核功能
c)支持员工信息录入
d)支持员工信息删除
e)支持员工信息修改
f)支持员工信息查询
(2)项目技术要求:
●开发平台:
JAVAEE
●开发语言:
Java
●系统采用流行的B/S体系结构
●应用服务器:
Tomcat7.0
●数据库服务器:
Mysql5.1或者Oracle11g
●考虑系统的针对性,安全性,易用性,
●系统具有良好的扩充性
设计思路:
首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。
通过文件类型知识的应用,实现对公司员工信息的管理。
三、概要设计
面板设计:
首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。
功能实现:
在录入、查询、修改、删除、考勤、绩效考核界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。
四、详细设计
1、定义员工类:
classEmployeeimplementsjava.io.Serializable
{
Stringnumber,name,discipling,grade,borth,sex,check,reason,content;
publicEmployee()
{
}
publicvoidsetNumber(Stringnumber)
{
this.number=number;
}
publicStringgetNumber()
{
returnnumber;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
publicStringgetName()
{
returnname;
}
publicvoidsetDiscipling(Stringdiscipling)
{
this.discipling=discipling;
}
publicStringgetDisciping()
{
returndiscipling;
}
publicvoidsetGrade(Stringgrade)
{
this.grade=grade;
}
publicStringgetGrade()
{
returngrade;
}
publicvoidsetBorth(Stringborth)
{
this.borth=borth;
}
publicStringgetBorth()
{
returnborth;
}
publicvoidsetSex(Stringsex)
{
this.sex=sex;
}
publicStringgetSex()
{
returnsex;
}
publicvoidsetCheck(Stringcheck){
this.check=check;
}
publicStringgetCheck(){
returncheck;
}
publicvoidsetReason(Stringreason){
this.reason=reason;
}
publicStringgetReason(){
returnreason;
}
publicvoidsetContent(Stringcontent){
this.content=content;
}
publicStringgetContent(){
returncontent;
}
}
2、主程序:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.Hashtable;publicclassEmployeeManagerextendsJFrameimplementsActionListener
{
EmployeeSituation基本信息录入=null;
ModifySituation基本信息修改=null;
Inquest基本信息查询=null;
Delete基本信息删除=null;
EmployeeCheck员工每日考勤=null;
EperformanceAppraisal绩效考核情况=null;
JMenuBarbar;
JMenufileMenu;
JMenuItem录入,修改,查询,删除,考勤,奖惩;
Containercon=null;
Hashtable基本信息=null;
Filefile=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
publicEmployeeManager()
{
录入=newJMenuItem("录入员工基本信息");
修改=newJMenuItem("修改员工基本信息");
查询=newJMenuItem("查询员工基本信息");
删除=newJMenuItem("删除员工基本信息");
考勤=newJMenuItem("考查员工每日考勤");
奖惩=newJMenuItem("员工绩效考核情况");
bar=newJMenuBar();
fileMenu=newJMenu("菜单选项");
fileMenu.add(录入);
fileMenu.add(修改);
fileMenu.add(查询);
fileMenu.add(删除);
fileMenu.add(考勤);
fileMenu.add(奖惩);
bar.add(fileMenu);
setJMenuBar(bar);
label=newJLabel("**欢迎进入公司人员管理系统**",JLabel.CENTER);
label.setFont(newFont("SansSerif",Font.BOLD,25));
label.setForeground(Color.red);
基本信息=newHashtable();
录入.addActionListener(this);
修改.addActionListener(this);
查询.addActionListener(this);
删除.addActionListener(this);
考勤.addActionListener(this);
奖惩.addActionListener(this);
card=newCardLayout();
con=getContentPane();
pCenter=newJPanel();
pCenter.setLayout(card);
pCenter.setBackground(Color.BLACK);
file=newFile("基本信息.txt");
if(!
file.exists())
{
try
{
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=newObjectOutputStream(out);
objectOut.writeObject(基本信息);
objectOut.close();
out.close();
}
catch(IOExceptione)
{
}
}
基本信息录入=newEmployeeSituation(file);
基本信息修改=newModifySituation(file);
基本信息查询=newInquest(this,file);
基本信息删除=newDelete(file);
员工每日考勤=newEmployeeCheck(file);
绩效考核情况=newEperformanceAppraisal(file);
pCenter.add("欢迎语界面",label);
pCenter.add("录入界面",基本信息录入);
pCenter.add("修改界面",基本信息修改);
pCenter.add("删除界面",基本信息删除);
pCenter.add("考勤界面",员工每日考勤);
pCenter.add("奖惩界面",绩效考核情况);
con.add(pCenter,BorderLayout.CENTER);
con.validate();
addWindowListener(newWindowAdapter()
{
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}});
setVisible(true);
setBounds(100,50,420,380);
validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==录入)
{
card.show(pCenter,"录入界面");
}
elseif(e.getSource()==修改)
{
card.show(pCenter,"修改界面");
}
elseif(e.getSource()==查询)
{
基本信息查询.setVisible(true);
}
elseif(e.getSource()==删除)
{
card.show(pCenter,"删除界面");
}
elseif(e.getSource()==考勤)
{
card.show(pCenter,"考勤界面");
}
elseif(e.getSource()==奖惩)
{
card.show(pCenter,"奖惩界面");
}
}
publicstaticvoidmain(Stringargs[])
{
newEmployeeManager();
}}
结果截图显示:
3、实现员工信息的录入:
classEmployeeSituationextendsJPanelimplementsActionListener
{
Hashtable基本信息表=newHashtable();
JTextField员工号,姓名,工资;
Choice部门;
JRadioButton男,女;
Employee员工=null;
ButtonGroupgroup=null;
JButton录入,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
Filefile=null;
publicEmployeeSituation(Filefile)
{
this.file=file;
员工号=newJTextField(10);
姓名=newJTextField(10);
部门=newChoice();
部门.add("请选择");
部门.add("研发部");
部门.add("销售部");
部门.add("人事部");
部门.add("安全部");
工资=newJTextField(10);
group=newButtonGroup();
男=newJRadioButton("男",true);
女=newJRadioButton("女",false);
group.add(男);
group.add(女);
录入=newJButton("录入");
重置=newJButton("重置");
录入.addActionListener(this);
重置.addActionListener(this);
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("员工号:
",JLabel.CENTER));
box1.add(员工号);
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("姓名:
",JLabel.CENTER));
box2.add(姓名);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("性别:
",JLabel.CENTER));
box3.add(男);
box3.add(女);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("部门:
",JLabel.CENTER));
box4.add(部门);
Boxbox6=Box.createHorizontalBox();
box6.add(newJLabel("",JLabel.CENTER));
Boxbox5=Box.createHorizontalBox();
box5.add(newJLabel("工资:
",JLabel.CENTER));
box5.add(工资);
BoxboxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box5);
boxH.add(box6);
boxH.add(box4);
boxH.add(Box.createVerticalGlue());
JPanelpCenter=newJPanel();
pCenter.add(boxH);
pCenter.setBackground(Color.white);
setLayout(newBorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanelpSouth=newJPanel();
pSouth.add(录入);
pSouth.add(重置);
pSouth.setBackground(Color.black);
add(pSouth,BorderLayout.SOUTH);
validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==录入)
{
Stringnumber="";
number=员工号.getText();
if(number.length()>0)
{
try
{
inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exceptionee)
{
}
if(基本信息表.containsKey(number))
{
Stringwarning="该员工基本信息已存在,请到修改页面修改!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
else
{
Stringm="基本信息将被录入!
";
intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
{
Stringname=姓名.getText();
Stringdiscipling=部门.getSelectedItem();
Stringgrade=工资.getText();
Stringsex=null;
if(男.isSelected())
sex=男.getText();
else
s