软件设计实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计实习报告
实习之后我们需要写相关的实习报告,大家一起看看下面的,欢迎各位阅读哦!
一、实习目的:
检验与巩固理论知识,提高实际操作能力与社会实践能力。
二、实习时间:
20xx-07-27 至20xx-10-23
三、实习地点:
广东广州
四、实习单位与部门:
广州**网络科技有限公司·软件开发部
五、实习内容:
应学校要求,本人于七月二十七号来到广州**网络科技有限公司实习。初到该公司,听公司负责人讲解了公司状况以及工作要求,就马上开始我的工作。从该负责人得知,公司的软件开发业务并没有多长时间,所以公司的很多工作流程还不太规范。在3个月的实习时间里,我参与了一个类似于erp的项目。项目的大致内容是:为一家中型制造业企业量身订做一套综合管理系统,包括了仓库管理,销售管理,采购管理,生产管理,财务管理以及人事管理,共六个子系统,且这六个子系统是有机的组合,以方便该企业的管理生产资源,人力资源以及财务。在整个参与过程中,在不同时间里担任的工作任务也不同。
1、八月份
据了解,该项目早在3月份就开始了,而且该项目一直是处于不受控状态,控制不了的原因有诸多,例如客户的需求发生了巨大变动,该项目进行期间有很多其他的项目插入到开发过程中等等。于是,我
参与了测试程序的工作,以熟悉整个项目的具体内容,功能实现,设计方法等。在做测试工作的过程中,发现实习单位目前对测试不太重视,在以前的项目中也很少有全面的软件测试阶段。主要表现在:一方面,在我实习期间,就陆续有以前做的系统拿回来,重新做测试工作并修改。据了解,目前国内的绝大多数软件企业也是重编码轻测试,导致软件的强壮性低下,而在售后的维护阶段中经常性需要大幅度修改。这样一来,经常有不同的新老系统并行,给新系统的项目进度带来了外部干扰;另方面,公司要求的测试方法也较为简单,且测试文档的书写格式极其简单,这种书写格式在一些功能上的错误和明显的数据错误上有很好的表意效果,但是在表达程序的逻辑错误和内部数据错误时有很大的欠缺。在整个测试工作中也大概了解了该系统的各方面特性。该系统采用b/s结构开发,随着internet的高速发展、电信部门对网络线路的投入、带宽的增加等各个对b/s结构有利的条件下,采用b/s结构可以节省很多的成本。在以前采用c/s结构开发的系统中,需要为系统开发客户端,而且在维护过程中,除了对服务器端的维护,还要对各个客户端进行维护,而目前盛行的b/s结构,则只需要开发和维护服务器端,相比之下,开发和维护的成本也就大大降低。另外,b/s结构在internet里的应用性比较高。但是,b/s结构也不是完美的选择,它存在诸如b/s结构的用户界面上比较难控制,浏览器的安全性能没有很好的保障等问题。整个系统采用asp .net+ms sql server 2000做开发,编程语言采用c#和vb。
测试工作和书写文档是比较枯燥的工作,测试更是要细心,有耐性的去做,在这个月里认真的完成了我的工作,还帮忙修改了用户界面。我的工作得到了负责人的肯定。
2、九月份
八月末就得知要将整个系统重构,因为原有未完成的系统跟变动后的用户需求有太大的出入,而且系统存在比较多的错误,难以修复。负责人要求我参与到系统的重构工作中去,参与设计,代码编写。这对我来说是一个考验也是一个机会,于是我选择了“仓库管理”子系统,
用vb作为编码语言。在九月份的开发过程中,有两个方面的感触:第一是技术方面。由于采用了vb编写代码,而自身只学了c/c++、还有java。对vb只是一点点了解,另外,对asp dotnet更是一点不通。所以,这个时候需要发挥下自学能力,和领悟能力。在开发过程中印象最深的是web form里datagrid的操作,以及对整个web form 的运行过程。首先,由于仓库管理绝大部分工作是填写单据,单据是由单头和单体组成,单头记录基本信息,单体记录明细信息。设计决定在填写单体时,采用datagrid行内编辑,所以datagrid的行内编辑将是技术的难点。dotnet的datagrid控件有编辑命令与删除命令,而新增则可以通过一个button点击来生成一个新行等待编辑。三个操作的代码清单如下:
‘编辑命令代码清单
private sub datagrid1_editcommand(byval source as object, byval e as system.web.ui.webcontrols.datagridcommandeventargs) handles datagrid1.editcommand
if viewstate("add") 1 then
datagrid1.edititemindex = e.item.itemindex ‘将该行的编辑状态行
datagrid1.databind()
end if
end sub
‘删除命令代码清单
private sub datagrid1_command(byval source as object, byval e as system.web.ui.webcontrols.datagridcommandeventargs) handles datagrid1mand
if viewstate("add") 1 then
dim delindex as integer
delindex = cint(e.item.cells(1).text)
dim dr as datarow
dr = dataset1.tables("tblbrand").rows.find(delindex)‘找到该行在数据集中的编号
dr.()‘将该行在数据集中删除
sqldataadapter1.u pdate(dataset1.tables("tblbrand"))‘更新数据库表
datagrid1.edititemindex = -1
datagrid1.databind()
end if
end sub
‘新增按扭事件代码清单
private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
dim dr as datarow
dr = dataset1.tables("tblbrand").newrow()‘新增一行,并将该行插入到数据集
dataset1.tables("tblbrand").rows.at(dr,
ataset1.tables("tblbrand").rows.count)
viewstate("add") = 1
end sub
其实datagrid中有很多很好用的特性,具体请参考msdn。其次,为实现一次性提交整张单据到数据库保存,采用了sqlaadapter与dataset结合,应用sqlaadatper的uapdate方法特性:对dataset 的数据行做检索,并发操作,update,三个命令,对删除行做数据库删除,更改的数据行做更新,新增的行做插入。最后,在web form的初始到消除整个生命周期也有了较全面的了解。但是感觉dotnet中的web form的生命周期中,所发生的事件有些凌乱,例如datagrid 每一行的创建和数据绑定都是比较复杂的.,在开发中涉及的技术较多,在此不一一阐述。
第二是工作方面。在这个月中,同样发现了公司的开发工作有较