【实习总结】原来一个项目可以烂成这样

此次实习结束2天了,当天自己拼了一份总结上交了,今天自己再细细回顾一下,来写份交给自己的总结。

这次实习,我们专业9个组,却没有一个组最后成功将项目的毛坯子(原型说起来更好听)跑起来,这确实不只是咱们学生的问题;在此真想怀疑一下达内培训公司在和学校合作搞实习时 是不是还有什么良苦用心,为培训的潜在客户,为打击咱们未出校门学生?

自己回忆了一下,再参考一下日报,下面按时间顺序来整理一下:

7.5,第一天。开场讲了一堆没用的话,然后是一个求从某数到某数的质数练习,这个练习是为了拾起大家早已放下N久的java编程感觉,无论是痛苦还是什么其它的,呵呵;下午开讲servletjavaweb实现动态网页的最基本的类,在很多同学没有了解web原理时,来讲servlet确实让很多同学摸不着头脑,听得犯晕。王老师用servlet写了一个动态网页,包含用户登陆验证,没用DB,真实在servlet代码里进行判断。

7.6,第二天。接着讲servlet,我没听课,但从练习来看是讲的sessionweb.xml。王老师修改第一天的例子,加session来实现登陆后在各页中跳转仍可能显示登陆信息。

7.7,第三天。开始讲jsp,具体没听,但我觉得最重要的内容是jsp在运行时,本质上还是被转化为一个servlet在运行。这次改用jsp来实现这个用户登陆验证了。

7.8,第四天。上午讲解购物网站怎样设计,怎样建模,以登陆为便讲解怎样在PowerDesign里画用例图,活动图,时序图。下午讲电信计费,与我项目不相关,就没听了。9个组中,3个组选网上购物,6个组选电信计费,12,他们以为电信计费这系统简单,可实事结果是,一个完整电信计费系统真TM复杂,王老师将这类BOSS系统的图一放出来,头就晕了,这图复杂得像走迷宫;PS我们组选题时,因为ZYX同学有过购物网站的开发经验,所以才选购物网站,丝毫没有考虑到难度,后来看到这12的选择,真有点意外。其实这也没什么,36,只要另外再有一个组选购物网站,这就是45了,也就接近11了,1211看起来挺悬殊的,却实际上只差了一个组的选择了,呵呵。

从这天起,开始进行功能模块的分块,进行详细设计。

7.9,第五天。王老师讲如何用JDBC操作DB,还有在用PowerDesignDB进行物理建模并成生DB对应的可执行的SQL文件,PD还能生成测试数据,还能生成报告(在需求建模时生成过一份300页的报告),真牛,全自动化了。

7.10,第六天。李老师来讲解OracleSQL语句的小细节,这些都是很容易掉进去的陷阱,特别是null。讲到下午,李老师开始讲如何封装Jdbc操作,他的示例在包设计时就分得很清楚,包括数据类型包,业务逻辑包,DB封装的包==

7.11,第七天。实现,静态页面开工,DB组学在改DB+属性,统一表的数据类型,统一表的命名。

7.12,第八天。实现,静态页面完成,开始写JSPDB组还在完善DB设计,由于约束关系,往表里插数据不行,拖啊拖拖到12了,开始手动设计数据往里插,竟然发现里面有一条死链,shit,那一串表无论怎样也插不进数据。这天还有老师来讲课,讲MVC,还有力略讲了一下struts

7.13,第九天,最后一天。本来14号也是的,不知什么原因竟然要提前一天结束,貌似是实验室的老师要放假,真搞笑。上午还是在实现,上午各小组长开会,才了解今天提前结束,各组要在今天内整理好所有的文档和源码交上去。很牛B的是,今天上午还在往DB模型里加了2张表,作为购物车的临时表。下午就都在弄文档了,需求文档 + 各功能模块的详细设计文档。

 

真正算起来,除去讲课时间,除去做练习时间,之后用来做项目的时间,从最开始功能分块、详细设计到实现,加上晚上自己另外的4小时,一共也才4.5天。不算自己晚上的时间,才3天,9天的实习,讲课和练习就占去了6天,真无语。

一个理想的项目开发,应该是这样的,组员都非常熟悉自己所使用的语言和工具,自己有丰富的开发经验。在真正实战型的项目中,还是不时会有新的工具或新的知识要组员自己去学习的。我们这次实习,虽然语言以前学过,但以前的java和这servlet,jsp差别真是太大,这里完全是全新学习,还有Eclipse这工具,用于web开发,自己要配Tomcat,自己要部署web等等的模式,这和以前建一个java project然后Run Application的模式差别还真不小,不过这一部没什么难度。而且,我们组,哈哈,确实 就像似一个山寨军,没有一个有过javaweb开发经验;也没有人实地地用过Oracle来做过项目,DB课过了好久,这回拿起Oracle感觉又像是在全新学习。当然,我们这里所有的组,没几个不是半道出家来拿起servlet,jsp来搞这个实习,很多不走javaweb方向的同学,还有很多考研考公务员等而不找工作的同学,总的来说,想要认真学servlet,jsp的同学,压根就没几个。

好了,说完语言、工具后,来说经验吧。别人都说过项目经验非常重要,自己平时都不以为然,当自己参与一个项目的,才切身体会。项目经验真重要,即使不是同类型项目的经验。说起我们的设计,功能分块这儿没问题,大一新来的都能分好;但详细设计,虽然按王老师说的那样画了用例图,画了活动图,但这只是看上去很美而已,底下里,这些图大都没有好好地经过思考、讨论和确认,特别是活动图,看起来有模有样,但到实现时,才发现,这图完全没有参考价值,完全没有。这不得不说是个搞笑的事。

没项目经验,不知一个javaweb项目应该怎样实现,按什么步骤,如何协作,比如如何确定包结构,虽然这东西网上一找就能得结果,但自己去完全没根据没经验地去思考时,你会发现这完全是扯淡。没有经验,心里就没有一条项目该如何走的路,真茫然;所以在实现时,大家都是按自己的方式开工,有的同学按李老师的方法,按功能来规划自己的包和类,然后在JSP中调用;有的同学就直接简单干脆在JSP里操作DB,直接搞起来。

 

这次实习,发现了很多问题,有技术上的,非技术上的问题更重要。

实现时不得不提的大问题是DBDB作为基础性的工作,竟然从开始设计到13号结束时都还在改表,这确实牛B,不是说这不可以,你可以改,但你不让让依赖于DB的工作没法开展。要是你有个非常好的DB设计的话,在项目修改DB模型也行,毕竟没有哪一个项目的DB是永远不变,但在项目中这确实是非常不应该的,就算你修改DB模型,第一,不要老改重要的表,你一改其它相应的操作都得改;第二麻烦你改完后往里面放些数据,这样别人的测试还是可以继续开展。DB里没数据,只有空表,这让依赖于这些表的动态代码或类的测试工作完全没办法展开,我的购物车模块及订单模块的java类,一直在写,却一直没有测试。我作为DB组的一员,同时作为组长,确确实实感到,我在这儿的工作搞的真的是很塑。

 

开发流程,从需求à设计à实现à测试à部署,从实现开始,我们项目组就没有完成,其它组也一样,测试是在实现过程中小部分实现了,至于部署,就甭提了。

在项目中理解了详细设计时图的重要性,这些文档在分派任务时,特别是在组员间没有办法及时沟通的情况下,它的重要性。在好的情况下,或理想状态下,只一个文档,一张图,就可以编码了;活动图一定要细致到每一小步,+ 每步里需要的数据,这样,就可以完全按活动图来写代码。用例à活动图à数据àà编码;这样一步一步来;终于晓得了类是从哪来的,不是凭空跳出来,也不是凭空想出来的。当然,这里还有一个问题,就是活动图这样细致每一小步了,然后发现需要改动怎么搞?这是项目中一定会出现的事,设计的更改,这里也是体现一个设计师或架构师的水平的时候了,呵呵,反正这里我现在是很茫然。很多时候看设计模式,看不出个所以然,做了项目之后,才体会到设计模式里思想的重要!

 

说到项目组,组员中,有考研考公务员的,有不找对口专业工作的,有不走javaweb开发方向的。哈哈,整起来就是一支山寨项目组,可惜的是,我寨不威武啊。我们组十人,真用得上能干活的有五人,幸好我们组没有消极干活的同学。作为组长,我起到的作用,仅仅是分派任务;组员们也很配合,干活的都在认真干活,不干活的,确实也是不会干的。

在讲课的过程中,李老师演示了Oracle SQL的强大功能,SQL语句狠强大,有很多平时要用java类来处理的查询,都可以写成SQL交给Oracle自己去处理!DBDB,你好NBPS,现在Oracle公司是唯一能和IBM抗衡的NB公司了;Oracle公司中文名甲骨文,实际上却是一个美国公司,还有,它与甲骨文文物或考古没有半点关系,它是一个即搞软件又搞硬件的IT公司。

总的来讲:

一,是设计时没有全面地细致地思考,而是想当然地去设计,然后在实现过程中一改再改,这是大的失败;

二,问题,解决了的小问题就不讲了,这里还有问题,1,网页里显示商品时,分页显示,这个在JSP里实现时不难,但在处理与DB操作时还是有细节要注意,要不,DB没响应了自己还什么都不知道。2,逻辑类与JSP配合,还是个未知数,虽然这肯定是能行的,自己还要花时间去调试学习才能让它们好好地在一块儿跑。

三,JavaWeb开发,很郁闷,它会莫名其妙地出问题,找你找不着根源在哪。而且调试起来比较麻烦,不仅仅是步骤多,还有其它配套组件==的启动时间、兼容性==,一开始接触JavaWeb开发,肯定是有点不习惯的。

四,项目==泥潭!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值