软件开发生产实习报告人事管理系统1Word文档格式.docx
《软件开发生产实习报告人事管理系统1Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件开发生产实习报告人事管理系统1Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。
1.3重点培养学生的团队精神和协作意识,提高其口头和书面的沟通能力。
1.4使学生掌握快速学习新知识、新技术方法,培养良好的分析问题和解决问题的能力
1.5重点提高学生的编程能力,使学生建立正确的编程理念,养成规范的编程习惯。
2.实习任务
2.1、学习并掌握基本开发技能,掌握多层架构模式,
2.2、理解实际工程项目“人事管理系统”的需求与设计方案,在此基础上根据“人事管理系统”的详细设计方案分组完成主要功能模块的实现,
2.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
默认值
列说明
YEAR
VARCHAR2
4
○
年
2
MONTH
月
3
DAY
日
CALENDAR_FLAG
20
区分
5
CALENDAR_MEMO
50
备注
4、数据库结构
存储过程名称
p_tb_calendar_get
说明
获得指定年、月的日历信息
返回值
无
参数列表
名称
类型
大小
输入输出模式
year
int
month
p_tb_calendar_getday
获取指定日期的信息
day
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<
selYear.Items.Count;
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<
selMonth.Items.Count;
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;
公?
休Y日¨
e.Cell.BackColor=System.Drawing.Color.Yellow;
法¤
§
定¡
节¨
²
假¨
´
if(e.Day.IsWeekend)
e.Cell.ForeColor=System.Drawing.Color.Purple;
e.Cell.BackColor=System.Drawing.Color.Red;
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、将日期传到小窗口上
Label4.Text=Request.QueryString["
selYear"
]+"
年¨
º
+Request.QueryString["
selMonth"
月?
selDate"
TextBox1.Text=Request.QueryString["
memo"
];
stringdatetype=Request.QueryString["
type"
DropDownList1.Items.Count;
if(DropDownList1.Items[i].Value==datetype)
DropDownList1.Items[DropDownList1.SelectedIndex].Selected=false;
DropDownList1.Items[i].Selected=true;
7、点击确定,存储信息,并跳转回原界面
p_tb_calendar_update"
paramYear.SqlDbType=SqlDbType.VarChar;
paramYear.Value=Convert.ToDateTime(Label4.Text).Date.Year;
paramMonth.SqlDbType=SqlDbType.VarChar;
paramMonth.Value=Convert.ToDateTime(Label4.Text).Date.Month;
paramDay.SqlDbType=SqlDbType.VarChar;
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(paramtype);
cmd.Parameters.Add(parammemo);
cmd.Parameters.Add(paramck);
cmd.ExecuteNonQuery();
Response.Write("
<
script>
alert('
修T改?
成¨
¦
功|!
'
/script>
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方面还是在编码方面。
提高了自身的一些不足,补充了知识,在之后的道路上让我更能够安下心来好好学习,不断进步,感谢这次实习。
我们还有很多的知识没有学到,在编程过程中也有很大的不足,比如说对存储过程的变量还是不够的理解,对一些不常用的控件也是得询问老师和同学,今后要好好学习知识,并要将学到的知识进行实践,毕竟计算机大部分知识都是和实践分不开的,只有不断的提升自我的水准,才能不被计算机发展的潮流所淘汰。
建议:
自我感觉老师采用的教学形式很好。
工欲善其事必先利其器,在进行系统制作之前,把相应的知识点好好学习。
在制作过程中悉心指导,令每一个学生受益匪浅。