《软件设计实习报告.docx》由会员分享,可在线阅读,更多相关《软件设计实习报告.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 软件设计实习报告 实习之后我们需要写相关的实习报告,大家一起看看下面的软件设计实习报告,欢送各位阅读哦! 软件设计实习报告 一、实习目的: 检验与稳固理论学问,提高实际操作力量与社会实践力量。 二、实习时间: 20xx-07-27 至 20xx-10-23 三、实习地点: 广东广州 四、实习单位与部门: 广州*网络科技有限公司软件开发部 五、实习内容: 应学校要求,本人于七月二十七号来到广州*网络科技有限公司实习。初到该公司,听公司负责人讲解了公司状况以及工作要求,就立刻开头我的工作。从该负责人得知,公司的软件开发业务并没有多长时间,所以公司的许多工作流程还不太标准。在3个月的实习时间里,我
2、参加了一个类似于erp的工程。工程的大致内容是:为一家中型制造业企业量身订做一套综合治理系统,包括了仓库治理,销售治理,选购治理,生产治理,财务治理以及人事治理,共六个子系统,且这六个子系统是有机的组合,以便利该企业的治理生产资源,人力资源以及财务。在整个参加过程中,在不同时间里担当的工作任务也不同。 1、八月份 据了解,该工程早在3月份就开头了,而且该工程始终是处于不受控状态,掌握不了的缘由有诸多,例如客户的需求发生了巨大变动,该工程进展期间有许多其他的工程插入到开发过程中等等。于是,我参加了测试程序的工作,以熟识整个工程的详细内容,功能实现,设计方法等。在做测试工作的过程中,发觉实习单位目
3、前对测试不太重视,在以前的工程中也很少有全面的软件测试阶段。主要表现在:一方面,在我实习期间,就间续有以前做的系统拿回来,重新做测试工作并修改。据了解,目前国内的绝大多数软件企业也是重编码轻测试,导致软件的强壮性低下,而在售后的维护阶段中常常性需要大幅度修改。这样一来,常常有不同的新老系统并行,给新系统的工程进度带来了外部干扰;另方面,公司要求的测试方法也较为简洁,且测试文档的书写格式极其简洁,这种书写格式在一些功能上的错误和明显的数据错误上有很好的表意效果,但是在表达程序的规律错误和内部数据错误时有很大的欠缺。在整个测试工作中也也许了解了该系统的各方面特性。该系统采纳b/s构造开发,随着in
4、ternet的高速进展、电信部门对网络线路的投入、带宽的增加等各个对b/s构造有利的条件下,采纳b/s构造可以节约许多的本钱。在以前采纳c/s构造开发的系统中,需要为系统开发客户端,而且在维护过程中,除了对效劳器端的维护,还要对各个客户端进展维护,而目前盛行的b/s构造,则只需要开发和维护效劳器端,相比之下,开发和维护的本钱也就大大降低。另外,b/s构造在internet里的应用性比拟高。但是,b/s构造也不是完善的选择,它存在诸如b/s构造的用户界面上比拟难掌握,扫瞄器的安全性能没有很好的保障等问题。整个系统采纳asp .net+ms sql server 2023做开发,编程语言采纳c#和
5、vb。 测试工作和书写文档是比拟枯燥的工作,测试更是要细心,有耐性的去做,在这个月里仔细的完成了我的工作,还帮助修改了用户界面。我的工作得到了负责人的确定。 2、九月份 八月末就得知要将整个系统重构,由于原有未完成的系统跟变动后的用户需求有太大的出入,而且系统存在比拟多的错误,难以修复。负责人要求我参加到系统的重构工作中去,参加设计,代码编写。这对我来说是一个考验也是一个时机,于是我选择了“仓库治理”子系统,用vb作为编码语言。在九月份的开发过程中,有两个方面的感受: 第一是技术方面。由于采纳了vb编写代码,而自身只学了c/c+、还有java。对vb只是一点点了解,另外,对asp dotnet
6、更是一点不通。所以,这个时候需要发挥下自学力量,和领悟力量。在开发过程中印象最深的是web form里datagrid的操作,以及对整个web form的运行过程。首先,由于仓库治理绝大局部工作是填写单据,单据是由单头和单体组成,单头记录根本信息,单体记录明细信息。设计打算在填写单体时,采纳datagrid行内编辑,所以datagrid的行内编辑将是技术的难点。dotnet的datagrid控件有编辑命令与删除命令,而新增则可以通过一个button点击来生成一个新行等待编辑。三个操作的代码清单如下: 编辑命令代码清单 private sub datagrid1_editcommand(byva
7、l 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
8、 system.web.ui.webcontrols.datagridcommandeventargs) handles mand 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.update(dataset1.tables(tblbrand)更新
9、数据库表 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,
10、ataset1.tables(tblbrand).rows.count) viewstate(add) = 1 end sub 其实datagrid中有许多很好用的特性,详细请参考msdn。其次,为实现一次性提交整张单据到数据库保存,采纳了sqlaadapter与dataset结合,应用sqlaadatper的uapdate方法特性:对dataset 的数据行做检索,并发操作,update,三个命令,对删除行做数据库删除,更改的数据行做更新,新增的行做插入。最终,在web form的初始到消退整个生命周期也有了较全面的了解。但是感觉dotnet中的web form的生命周期中,所发生的大事有些
11、凌乱,例如datagrid每一行的创立和数据绑定都是比拟简单的,在开发中涉及的技术较多,在此不一一阐述。 其次是工作方面。在这个月中,同样发觉了公司的开发工作有较多的问题。首先,人员工作地点变动大,不便于沟通。在开发工作中,由于人员没有固定工作地点,只是把任务安排了,接着就各自去完成,这样一来,在各个模块的协调中常常消失了问题,但又不能很准时的和相关模块的负责人商讨解决方法,工作效率也就随之下降。其次,对整个工程的规划,整个系统的设计,编码,测试等工作分工不明确且不统一。在工程开头时,只是草草的分了下模块,接着这个模块的设计、编码、测试就由这个模块的负责人来做,没有先对整个工程进展明确的整体的
12、规划。而且在设计过程中缺少争论,导致设计出来的模块独立性过高,没有考虑到公共的接口等问题。最终,对解决问题的速度慢。当在开发的过程中消失了问题,对问题的解决途径多当然是好,但是,解决方案消失分歧的时候难以敲定详细实施哪个方案,导致进展缓慢,进度延期。 3、十月份 十月份是整个重构活动的收尾阶段,该阶段需要完成的工作是数据报表的设计与实现。数据报表设计方面,沿用原有的纸质报表的构造,所以整个设计过程相对轻松。但是在实现阶段,由于在打算采纳何种实现方式的决策问题上消失了飘忽不定的状况,使得进度上又有了少许的延期,最终采纳了crystalreports来实现。抛弃了打印分页掌握难的html方法,以及
13、技术不成熟,安全性差的ms sql server reportingservice报表工具。在这个阶段,我负责了仓库治理、销售治理、选购治理以及生产治理等四个子系统的报表实现,在此期间学会了crystalreports的使用和编程,收益颇多。这次重构活动涉及了数据构造的重构以及代码的重构,提高了系统的清楚性、扩展性以及重用性。整体性能有了明显的提升。 六、实习总结: 在这为期3个月的实习过程中,通过担当各种工作任务,充分的检验了自身所学的学问,了解了自身学问构造的缺乏;通过与接触其他同事以及自我体验,较深入地了解了软件开发从业人员生活状况,以及目前大局部中小型软件开发企业的经营模式和操作流程。
14、总结如下三点: 1、学问“阅兵式” 大学3年来所学的学问,在这次实习中得到了真正的检阅,同样,也暴露了学问构造的不合理性。技术上,学校里所学的根底学问外表上看似用不上,但却是这些根底学问让我有很坚固的根底,学起其他的技术学问自然而然的变得简单,能应对开发过程中所遇到的技术层面的问题。但是在业务上,由于缺乏所涉及的业务的相关课程的开展与自身涉猎学问面不广,而造成了在业务流程转换为系统设计或程序实现的中间环节频频消失困惑。软件工程专业培育的目标是治理或系统规划与设计,这一类的高层次人才,而不是纯粹的编码人员,所以对相关的业务应当明确、清楚。建议学校开展一些行业纵向争论课题来弥补这个缺乏。 2、从业
15、人员的生存状况 大局部从业人员长期生活在一种“精神高压”的环境中。由于工程掌握的难度大,有了进度表跟没进度表的工程都一样,员工根本都是每天在赶工。不管是在大型企业的软件开发从业人员,还是在中小型企业软件开发从业人员的工作时间一般都不固定。只要手头上有没做完的事情就要赶,也有的企业让这种不固定变成让员工敏捷安排时间的方法:只要手头上没东西做,人可以不用摆在办公室。但是,这种敏捷性不是单方面的敏捷,而是员工与治理者双方面的敏捷。只要有事做,治理人员随时都可以叫上程序员一起“奋斗”。工程验收交付后,员工才算有休息一下的时机。这样一来,人员的积极性、生产效率也随着工程时间的持续而下降。但是,作为一个黄
16、金职业,大局部从业人员都情愿吃这个苦。 3、中小型软件企业的经营模式与操作流程 目前,国内大型软件开发企业数量较少,就规模而言,有关数据说明:90%以上的企业人数不超过100人,人员超过1000人的只有10家,同样的,企业的盈利水平也普遍低下。在这些中小型的软件企业中,他们的经营模式与操作的流程也都是大同小异:从经营的模式来讲,一般是接或拉定单,按客户要求制定敏捷性强,适应性强的软件。做自主研发,零售产品的软件企业极为少数。从规模到盈利,就好比一家家的裁缝店,而非制衣厂;从操作的流程来讲,从工程的规划到启动,再到测试验收交付,其中规划与测试一般都不充分,从而导致工程风险提高,进度延时以及交付后的产品强壮性差也是中小软件企业存在的一大问题。 最终,在此感谢公司里共事的每一位同事,感谢他们在实习期间给我的帮忙。