




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发生产实习报告姓名张婷婷学号200901050331班级信息管理与信息系统2009-1班项目名称人事管理系统实习地点软件生产实训中心实习时间2012.04.302012.05.13实习成绩指导教师签字信息科学与工程学院2012 年 05 月 12日软件开发生产实习报告1. 实习目的1.1使学生全面了解软件项目实施的过程,理解软件企业对于程序员的基本素质和技术能力要求。1.2 使学生掌握ASP.net及C#基本编程技术,能够综合运用SQL server数据库及visual studio .NET2008开发环境进行小型项目的开发。1.3 重点培养学生的团队精神和协作意识,提高其口头和书面的沟通能力。1.4使学生掌握快速学习新知识、新技术方法,培养良好的分析问题和解决问题的能力1.5重点提高学生的编程能力,使学生建立正确的编程理念,养成规范的编程习惯。2. 实习计划2.1项目成员a.组长:房微微b.组员:张婷婷 郭威2.2任务分工a.共同任务:用户登录、员工基本信息添加及变更、删除b.各自任务: 张婷婷-工程评价及新增 房微微-公司评价及新增 郭 威-招聘管理c.额外任务: 房微微-在籍者移动信息查询2.3 时间安排a.基础学习4月305月6日 在老师的指导下进行基础学习 内容包括用户登录、登录验证、选择项设置、控件使用、页面浏览量统计等技术,为以后的项目设计做基础。b.项目设计:5月7日5月12日 自行设计项目模块按照小组分工及个人对整体的把握,编辑相应模块。c.实训答辩:5月13日 对实训结果检测3. 实习过程3.1基础学习3.1.1时间规划时间为期一周,每天老师每隔2小时会有40分钟的授课时间,通过广播的方式交给我们如何使用控件、如何通过编程实现我们要实现的效果。之后我们要在规定的时间学会授课的方式并制作出相应成品。如果不能按时完成在茶余饭后要自己加班,基础学习阶段相对任务较轻,没有太大压力,加班时间及强度相比于项目制作期要小。3.1.2教学模式采用公司环境、广播授课、两天一例会的方式。a. 工作间类似于在普通的IT企业使用的工作台,同学们遇到问题方便交流,给人一种积极学习的动力。b. 广播授课很喜欢这种授课方式,个人很支持推广这种授课方式。因为传统的教学即使通过多媒体,由于视线不清楚很多同学把握不住细节。即使是上机学习一会看老师的思路,一会遇到问题跟不上老师的思路,或者纯上机的时候同学们更多的是效率低下。c. 两天一例会制度由小组成员及老师参与,学生提问,老师回答。及早发现学生在学习上存在的问题,对教学方式的建议以便及时改正提高授课效率及效果。也是实训中感觉一个很好的制度,尤其是又一次专门叫每个组中编程相对比较弱的同学开例会,对学习中存在的问题进行提问,对教学存在的问题提出建议,有利于教学的有效进行。平时的老师授课中也可以及时了解同学的授课的反应,有利于教学整体水平的提高3.1.3基础学习期代码基础学习中学到很多,在这里选择其中几项代码说明(主要是自己在项目中没有用到,在学习期间学习到得技术)。由于我在项目中做的为工程评价,没有涉及选择项的知识,在这里较多介绍了选项的使用。a. 登陆验证登陆验证用于用户登陆权限b. 选择项控件使用控件截图:选择项主要的使用主要是在属性中设置。1 单项选择 提交按键代码protected void Button1_Click(object sender, EventArgs e) if (RadioButton1.Checked = false & RadioButton2.Checked = false & RadioButton3.Checked = false & RadioButton4.Checked = false) Label1.Text = 请输入您的选项; else if (RadioButton1.Checked = true) Label1.Text = RadioButton1.Text; else if (RadioButton2.Checked = true) Label1.Text = RadioButton2.Text; else if (RadioButton3.Checked = true) Label1.Text = RadioButton3.Text; else if (RadioButton3.Checked = true) Label1.Text = RadioButton4.Text; 2 Dropdownlist按键代码protected void Button7_Click(object sender, EventArgs e) Label1.Text = DropDownList1.SelectedValue; 3 Listbox 页面代码(含按键)public partial class ListBox : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (ListBox1.SelectedIndex = 0) ListBox2.SelectionMode = ListSelectionMode.Single; else ListBox2.SelectionMode = ListSelectionMode.Multiple; protected void Button7_Click(object sender, EventArgs e) Label1.Text = ; foreach (ListItem li in ListBox2.Items) if (li.Selected = true) Label1.Text += li.Text; 4 单项列表按键代码 protected void Button1_Click(object sender, EventArgs e) /if (!IsPostBack) / / RadioButtonList1.Items. / Label1.Text = string.Empty; Label1.Text = RadioButtonList1.SelectedItem.Text; 5 多项选择提交按键 protected void Button1_Click(object sender, EventArgs e) Label1.Text = string.Empty; if (CheckBox1.Checked = true) Label1.Text += CheckBox1.Text; if (CheckBox2.Checked = true) Label1.Text += CheckBox2.Text; if (CheckBox3.Checked = true) Label1.Text += CheckBox3.Text; if (CheckBox4.Checked = true) Label1.Text += CheckBox4.Text; if (CheckBox5.Checked = true) Label1.Text += CheckBox5.Text; 6 多项列表提交按键 protected void Button1_Click(object sender, EventArgs e) Label1.Text = string.Empty; foreach(ListItem li in CheckBoxList1.Items) if (li.Selected = true) Label1.Text +=li.Text; c. 页面刷新次数统计使用控件public partial class Default2 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) int cnt; if (!IsPostBack) TextBox1.Text = 0; else cnt = Convert.ToInt16(TextBox1.Text); cnt+; TextBox1.Text = cnt.ToString(); d.跳转页面代码Response.Redirect(/Default2.aspx); Sessionusername = TextBox1.Text; Sessionpassword = TextBox2.Text;Label3.Text = Sessionusername.ToString();3.2项目实践3.2.1时间规划时间为期一周,3天自己做项目,2天完善项目,1天系统测试,最后一天答辩。老师偶尔真题计提问题进行广播指正,通过广播的方式交给我们改正缺陷,实现我们要实现的效果。有了自己的任务,自己需要完成的模块,如果不能按时完成在茶余饭后要自己加班,相对任务较多,追求个人完美,加班时间及强度相比于学习期要大。3.2.2项目规划详见项目介绍4. 项目介绍4.1 技术准备a. C# 编程规范b. .net七大内置对象c. ADO.NET与数据库概述d. ADO.NET类和对象概述e. ADO.NET基本数据库编程f. MVC三层架构以上技术大多是以前没有接触或很少接触,但是可以基于从前的知识较快简单掌握的,比如三层架构,可以讲代码多次利用,利于项目改进,虽然已开始感觉比较烦,其实对整体的改进还是很好的。4.2 项目实施4.2.1 功能需求a.功能设计 工程评价,工程评价新增,公司评价,公司评价新增,招聘管理,在籍移动查询。 b.工程评价: b1.根据员工查询条件,生成员工信息一览表 b2.对各员工进行“评价”操作 b3.报表打印c.工程评价新增 c1.新增员工工程评价信息 c2.一览员工工程评价履历信息d.公司评价 d1.根据条件检索员工的公司评价相关信息 d2.根据检索的结果查看员工的公司评价的明细信息或对员工 进行评价 d3.新增员工的公司评价信息e.公司评价新增 e1.新建员工公司评价信息 e2.一览员工公司评价履历信息f.招聘管理 f1.根据条件检索应聘员工的基本信息 f2.为应聘员工设定应聘是否合格 f3.导入招工表 f4.打印报表 g.在籍者移动查询 g1.查询公司人员流动情况 g2.导出在籍者移动信息表 4.2.2 总体设计4.2.3 详细设计与编码工程评价a. 查询 button:protected void btnQuery_Click(object sender, EventArgs e) /条件查询DataSet ds = new Emps().GetEvalution(engineer); /调用business层的Emps类的GetEvalution(engineer)方法查询符合条件的记录b. 代码添加空白项protected void selTime_DataBound(object sender, EventArgs e) selTime.Items.Insert(0, ); selTime.SelectedIndex = 0; /给选项添加一个空白项,代码方法c. 新增linkbutton:LinkButton lnkAddNew = (LinkButton)e.Row.FindControl(lnkAddNew); lnkAddNew.Attributes.Add(onclick, fPopUpPj_E( + e.Row.Cells0.Text + ); /添加新评价 d. 打印button,当打印表为空时进行提醒问题描述:这个问题在答辩时老师提出,这个功能只是下载,并不是打印,与打印还有本质的区别。 protected void lnkPrint_Click(object sender, EventArgs e) if (GridView1.Rows.Count 0) Response.Redirect(/ExportToExcel.aspx?ds=empinfo&template= + engineerEvaluate);/调用已有的ExportToExcel.aspx文件,输出查询结果 else ClientScript.RegisterStartupScript(GetType(), null, alert(报表为空););/对报表是否为空的检验e. 比较评价时间与当前时间,如果大于当前时间则不能评价 if (!IsPostBack)/判断日期不能大于当前日期 CompareValidator1.ValueToCompare = DateTime.Now.ToShortDateString();/比较当前日期 f. 评价人姓名带入,不可以匿名或代替他人评价 问题描述: 在工程评价中,评价人是否可以自己随便输入,即评价人是否要带回登录人的Name。带回登录人则可以避免他人恶意评价,但也同样给评价人不敢按照真实意愿来评价。方案: 1、可以不带回登录人姓名,给评价人自由评价的权力 2、带回登录人姓名,避免恶意评价。我在做最后的项目的时候选择将登陆姓名直接带入,设为只读,代码如下: txtEmpName.Text = Convert.ToString(SessionuserCd);/将用户名带入作为评价人,将用户名带入评价人,且不可更改。允许用户评价,并将评价信息由gridview显示txtEmpName.Attributes.Add(readonly, readonly);/设为只读g. 查询实例_评价历史信息是否在评价前可见:问题描述:在工程评价中,只有在评价后才可以看到其他人对该员工的评价,这样的结果好处是不受其他人意见的参考,不好的地方无法单纯的看别人对此人多的评价。方案:1、可以继续这样,不受他人评价的干扰2、在Page_Load中添加一次查询代码,将要评价的员工编号传入,在数据库中查出历史评价信息,由gridview显示。在执行查询后,在查询一次,这样就可以看到他人的评价,也可以即时刷新自己的评价。我在做项目的时候开始时评价后才可以看到其他人的评价信息,之后添加了代码,将功能改为评价前也可以看到其他人的评价。上图为功能是评价前看到其他人评价的截图上图为评价钱不可以看到其他人的评价信息截图。 protected void Page_Load(object sender, EventArgs e) Evaluation evaluation = new Evaluation(); ContractRecord con = new ContractRecord(); Emps emps = new Emps(); evaluation.Emp_cd = Request.QueryStringemp_cd; DataSet ds = new DataSet(); ds = new Emps().GetEvaluationByEmp_cd(Request.QueryStringemp_cd); GridView1.DataSource = ds; GridView1.DataKeyNames = new string evaluation_date ; GridView1.DataBind();/获取评价人的编号信号,从数据库中获取对应的评价人、评价时间、备注信息,Gridview列表与数据库绑定,将数据库信息在列表中显示。h. 数据库即时刷新,方便用户使用 /刷新 DataSet ds = new DataSet(); ds = new Emps().GetEvaluationByEmp_cd(Request.QueryStringemp_cd);i. 多余页面弹出问题问题描述 在书写网页时,经常会弹出一些不需要的页面,多为空白页,可以通过在源文件中加入,来解决。知识链接Base (基链接)插入网页基链接属性Base href=“http:/www.A.net/” target=“_blank”网页上的所有相对路径在链接时都将在前面加上“/”。其中target=“_blank”是链接文件在新的窗口中打开,你可以做其他设置。 将“_blank”改为“_parent”是链接文件将在当前窗口的父级窗口中打开;改为“_self”链接文件在当前窗口(帧)中打开;改为“_top”链接文件全屏显示。4.2.4 测试 测试Excel有详细介绍4总结与建议4.1总结4.1.1 三层架构代码高效利用,将模块化。4.1.2 利用各种资源不会的可以自己上网搜、看书、问同学,问老师。在实训中感谢周围的同学,他们很主动的帮助相对较弱的同学。让我们在学习的过程中体会到互助的快乐。4.1.3 多练多总结实训只要有时间,就喜欢用文字记录我们走过的点点滴滴,包括今天又学习了什么控件。什么功能可以不写代码用属性实现,什么函数又包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论