软件开发生产实习报告人事管理系统1.docx
- 文档编号:2841878
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:20
- 大小:184.35KB
软件开发生产实习报告人事管理系统1.docx
《软件开发生产实习报告人事管理系统1.docx》由会员分享,可在线阅读,更多相关《软件开发生产实习报告人事管理系统1.docx(20页珍藏版)》请在冰点文库上搜索。
软件开发生产实习报告人事管理系统1
软件开发
生产实习报告
小组编号
1
组长姓名
个人学号
个人姓名
班级
项目名称
人事管理系统
实习地点
实习时间
实习成绩
指导教师签字
信息科学与工程学院
201*年*月*日
目录
1.实习目的3
2.实习任务3
3.小组分工说明:
3
4.实习过程说明4
4.1技术准备4
4.2项目实施4
4.2.1功能需求4
4.2.2软件设计(体系结构模型、设计类图、交互图、状态图、活动图、数据库结构、界面等)6
4.2.3软件实现(主要功能的编码实现)11
4.2.4测试(测试方案设计、测试结果)15
4.2.5遇到的主要问题与解决方法17
5、实习效果17
6.总结与建议17
1.实习目的
1.1使学生全面了解软件项目实施的过程,理解软件企业对于程序员的基本素质和技术能力要求。
1.2使学生掌握ASP.net及C#基本编程技术,能够综合运用SQLserver数据库及visualstudio.NET2008开发环境进行小型项目的开发。
1.3重点培养学生的团队精神和协作意识,提高其口头和书面的沟通能力。
1.4使学生掌握快速学习新知识、新技术方法,培养良好的分析问题和解决问题的能力
1.5重点提高学生的编程能力,使学生建立正确的编程理念,养成规范的编程习惯。
2.实习任务
2.1、学习并掌握基本开发技能,掌握多层架构模式,
2.2、理解实际工程项目“人事管理系统”的需求与设计方案,在此基础上根据“人事管理系统”的详细设计方案分组完成主要功能模块的实现,
2.3、在实践基础上分组讨论“人事管理系统”设计方案的优化与改进。
3.小组分工说明:
1、分工:
员工管理模块:
公司评价模块。
2、分工:
员工管理模块:
公司评价新增模块。
3、分工:
员工管理模块:
工程评价模块。
4、分工:
员工管理模块:
工程评价新增模块。
5、系统管理模块:
工作日历设置模块。
4.实习过程说明
4.1技术准备
(1)、用ADO.NET技术进行技术开发。
(2)、的的基本控件使用,如label、button、textbox、dropdownlist、panel、table等。
(3)、七大内置对象的应用:
Request对象、Response对象、Cookie对象、Application对象、Session对象、Server对象、
Cache对象。
(4)、GridView的用法。
(5)、DataSet的详细用法。
(6)、C#编程规范。
(7)、SAP.NET常用的服务器控件。
(8)、母板页技术的使用。
(9)、SQLServer存储过程调试指南。
4.2项目实施
4.2.1功能需求
1、UseCase
2、用例描述
使用所学的内容制作一个日历,初始化页面默认显示系统时间,其次,当日、平日,公休日,法定节假日等不同性质的日期使用不同背景颜色进行表示,并且实现在日期内添加相关的备注信息的功能。
3、领域模型
4.2.2软件设计(体系结构模型、设计类图、交互图、状态图、活动图、数据库结构、界面等)
1、体系结构模型
2、设计类图。
设计类图
3、日历MST
表名
TB_CALENDAR
编号
列名
数据类型
长度
允许空
PK
默认值
列说明
1
YEAR
VARCHAR2
4
○
年
2
MONTH
VARCHAR2
2
○
月
3
DAY
VARCHAR2
2
○
日
4
CALENDAR_FLAG
VARCHAR2
20
0
区分
5
CALENDAR_MEMO
VARCHAR2
50
○
备注
4、数据库结构
存储过程名称
p_tb_calendar_get
说明
获得指定年、月的日历信息
返回值
无
参数列表
名称
类型
大小
输入输出模式
默认值
备注
year
int
month
int
存储过程名称
p_tb_calendar_getday
说明
获取指定日期的信息
返回值
无
参数列表
名称
类型
大小
输入输出模式
默认值
备注
year
int
month
int
day
int
5、界面
图1,初始化界面显示当前系统时间:
图1
图2,查询结果界面:
此处查询2015年10月份的信息
图2
图3设置日期界面:
在下拉菜单中选择日期属性,必要的话添加备注信息,点击确定
图3
图4,将2015年7月15日设置为法定节假日
图4
图5修改结果提示界面
图5
图6,修改结果界面:
7月15日背景色变为红色
图6
4.2.3软件实现(主要功能的编码实现)
1.将进入时的年月设置为系统年月
if(!
IsPostBack)
{
DateTimenow=DateTime.Now;
intnow_year=now.Year;
intnow_month=now.Month;
for(inti=0;i { if(int.Parse(selYear.Items[i].Value)==now_year) { selYear.Items[selYear.SelectedIndex].Selected=false; selYear.Items[i].Selected=true; } } for(inti=0;i { if(int.Parse(selMonth.Items[i].Value)==now_month) { selMonth.Items[selMonth.SelectedIndex].Selected=false; selMonth.Items[i].Selected=true; } } } 2、清除不属于该月的日子 if(e.Day.IsOtherMonth) e.Cell.Controls.Clear() 3、调用存储过程 SqlCommandcmd=newSqlCommand(); cmd.Connection=newSqlConnection("DataSource=localhost;InitialCatalog=EmpDB;IntegratedSecurity=True"); cmd.CommandText="p_tb_calendar_getday"; cmd.CommandType=CommandType.StoredProcedure; SqlParameterparamYear=newSqlParameter(); paramYear.ParameterName="@year"; paramYear.SqlDbType=SqlDbType.Int; paramYear.Size=4; paramYear.Direction=ParameterDirection.Input; paramYear.Value=e.Day.Date.Year; SqlParameterparamMonth=newSqlParameter(); paramMonth.ParameterName="@month"; paramMonth.SqlDbType=SqlDbType.Int; paramMonth.Size=4; paramMonth.Direction=ParameterDirection.Input; paramMonth.Value=e.Day.Date.Month; SqlParameterparamDay=newSqlParameter(); paramDay.ParameterName="@day"; paramDay.SqlDbType=SqlDbType.Int; paramDay.Size=4; paramDay.Direction=ParameterDirection.Input; paramDay.Value=e.Day.Date.Day; cmd.Parameters.Add(paramYear); cmd.Parameters.Add(paramMonth); cmd.Parameters.Add(paramDay); cmd.Connection.Open(); SqlDataReadermyreader=cmd.ExecuteReader(); 4、改变特殊日期的颜色 while(reader.Read()) { //颜? 色¦? 的Ì? 设¦¨¨置? DateTimetoday=DateTime.Now; if(e.Day.Date.Year==today.Year&&e.Day.Date.Month==today.Month&&e.Day.Date.Day==today.Day) { e.Cell.BackColor=System.Drawing.Color.FromArgb(0x99,0xCC,0xCC);//当Ì¡À天¬¨¬ } else { switch(reader[0].ToString()) { case"平? 日¨? ": e.Cell.ForeColor=System.Drawing.Color.Blue; break; case"公? 休Y日¨? ": e.Cell.BackColor=System.Drawing.Color.Yellow; break; case"法¤¡§定¡§节¨²假¨´日¨? ": if(e.Day.IsWeekend) { e.Cell.ForeColor=System.Drawing.Color.Purple; } else { e.Cell.BackColor=System.Drawing.Color.Red; } break; } } if(reader[1].ToString().Length>0) { e.Cell.ForeColor=System.Drawing.Color.Gray;//有®D无T备À? 注Á¡é } calWork.SelectedDayStyle.BackColor=System.Drawing.Color.Gray; } cmd.Connection.Close(); } 5、点击查询输出日历 stringdata=selYear.SelectedItem.Text.ToString()+"-"+selMonth.SelectedItem.Text.ToString()+"-"+"1"; Calendar1.VisibleDate=Convert.ToDateTime(data); 6、将日期传到小窗口上 if(! IsPostBack) { Label4.Text=Request.QueryString["selYear"]+"年¨º"+Request.QueryString["selMonth"]+"月? "+Request.QueryString["selDate"]+"日¨? "; TextBox1.Text=Request.QueryString["memo"]; stringdatetype=Request.QueryString["type"]; for(inti=0;i { if(DropDownList1.Items[i].Value==datetype) { DropDownList1.Items[DropDownList1.SelectedIndex].Selected=false; DropDownList1.Items[i].Selected=true; } } } 7、点击确定,存储信息,并跳转回原界面 SqlCommandcmd=newSqlCommand(); cmd.Connection=newSqlConnection("DataSource=localhost;InitialCatalog=EmpDB;IntegratedSecurity=True"); cmd.CommandText="p_tb_calendar_update"; cmd.CommandType=CommandType.StoredProcedure; SqlParameterparamYear=newSqlParameter(); paramYear.ParameterName="@year"; paramYear.SqlDbType=SqlDbType.VarChar; paramYear.Size=4; paramYear.Direction=ParameterDirection.Input; paramYear.Value=Convert.ToDateTime(Label4.Text).Date.Year; SqlParameterparamMonth=newSqlParameter(); paramMonth.ParameterName="@month"; paramMonth.SqlDbType=SqlDbType.VarChar; paramMonth.Size=4; paramMonth.Direction=ParameterDirection.Input; paramMonth.Value=Convert.ToDateTime(Label4.Text).Date.Month; SqlParameterparamDay=newSqlParameter(); paramDay.ParameterName="@day"; paramDay.SqlDbType=SqlDbType.VarChar; paramDay.Size=4; paramDay.Direction=ParameterDirection.Input; paramDay.Value=Convert.ToDateTime(Label4.Text).Date.Day; SqlParameterparamtype=newSqlParameter(); paramtype.ParameterName="@calendar_flag"; paramtype.SqlDbType=SqlDbType.VarChar; paramDay.Size=20; paramtype.Direction=ParameterDirection.Input; paramtype.Value=DropDownList1.SelectedItem.Text.ToString(); SqlParameterparammemo=newSqlParameter(); parammemo.ParameterName="@calendar_memo"; parammemo.SqlDbType=SqlDbType.VarChar; parammemo.Size=50; parammemo.Direction=ParameterDirection.Input; parammemo.Value=TextBox1.Text.ToString(); SqlParameterparamck=newSqlParameter(); paramck.ParameterName="@chkflg"; paramck.SqlDbType=SqlDbType.Int; paramck.Size=4; paramck.Direction=ParameterDirection.Input; paramck.Value=1; cmd.Parameters.Add(paramYear); cmd.Parameters.Add(paramMonth); cmd.Parameters.Add(paramDay); cmd.Parameters.Add(paramtype); cmd.Parameters.Add(parammemo); cmd.Parameters.Add(paramck); cmd.Connection.Open(); cmd.ExecuteNonQuery(); Response.Write(""); cmd.Connection.Close(); Response.Redirect("workCalendar.aspx"); 4.2.4测试(测试方案设计、测试结果) 测试方法主要有白盒测试和黑盒测试,白盒测试有逻辑覆盖测试,基本路径测试等,用逻辑覆盖测试主要的测试标准有: 语句覆盖,判定--条件覆盖,判定覆盖,条件组合覆盖,条件覆盖,路径覆盖。 1、进入8月5日 2、修改为法定节假日且备注为111 3、退回到主界面的显示 4.2.5遇到的主要问题与解决方法 这次编写程序遇到了很多问题,让我知道了自己的不足,下面是我遇到的问题和最后找到的解决办法: 在写用户权限设置的时候遇到的主要问题就是数据的绑定,当我们在使用数据库的时候要选择自己正确的数据库然后进行连接,如果没有正确连接的话就会出现异常,其修改的方法就是把web.config中的Datasource的路径修改为本地的数据库,或者把工程原有的数据库添加到本地的sqlserver中,并将Datasource的路径修改,之后就可以调用自己的数据库了 在开始阶段,遇到了界面设计的一些小问题,通过上网查询解决的界面设计上的问题。 之后再弹窗修改特殊节日,备注上遇到了很大的困难,尤其是在与数据库相关的方面。 在认真学习了存储过程的调用后,系统与数据库的连接,存储过程的调用迎刃而解。 最后遇到的问题是两个页面之间的传值和数据库的读取值问题,在向他人请教,上网查询等方法下终于将问题姐解决。 5、实习效果 通过本次实习,能够95%按照要求实现要求的功能,我的任务主要是对工作日历设置模块进行了编写,其主要功能就是对日期进行管理,然后方便员工日期进行安排,以便调整自己的节假日,工作日历设置包括对日历进行分类,可以让经理或者管理员选择一个日期,然后进行修改,可以是对一个普通日期进行修改为节假日,也可以是对一个节假日进行修改为平日,也就是上班的日子,还可以将普通的周末显示出来也就是我们平日里说的公休日。 6.总结与建议 总结: 通过本次实习,认识到了自身很大的不足,不管是在数据库方面,在ASP.NET方面还是在编码方面。 提高了自身的一些不足,补充了知识,在之后的道路上让我更能够安下心来好好学习,不断进步,感谢这次实习。 我们还有很多的知识没有学到,在编程过程中也有很大的不足,比如说对存储过程的变量还是不够的理解,对一些不常用的控件也是得询问老师和同学,今后要好好学习知识,并要将学到的知识进行实践,毕竟计算机大部分知识都是和实践分不开的,只有不断的提升自我的水准,才能不被计算机发展的潮流所淘汰。 建议: 自我感觉老师采用的教学形式很好。 工欲善其事必先利其器,在进行系统制作之前,把相应的知识点好好学习。 在制作过程中悉心指导,令每一个学生受益匪浅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 生产 实习 报告 人事管理系统