zoukankan      html  css  js  c++  java
  • 软件工程实践总结作业——个人作业

    软件工程实践总结作业——个人作业


    软工实践课一个学期过去了,对比之前毫无任何项目开发经验的我而言,现在对于项目开发的流程与编程有一定的了解。那我就谈谈这门课给我带来的收获吧。

    回望

    1. 对比现在的和开学初博客开篇的课程目标和期待

    开学初,我认为只要能够完成目标,并且取得较好的成绩就不错了。现在我认为,我们可以做的更好。之前的期待与现在的期待都不敢太高,因为毕竟第一次开发项目,只要开发出用户可以满意的产品就很不错了。
    

    2.这门课程的实践给我带来的提升

    这次项目开发,我学会使用github管理项目开发流程,博客园写博客,学会cmdMarkDown这款软件的使用方法,而且变得经常逛IT技术社区,像csdn、开源中国以及segmentfault等等。经常去慕课网、网易与课堂等自学java与项目开发知识。我们使用IDEA软件和SpringMVC+Maven+Hibernate框架进行开发,为此还去图书馆借了Spring 3.0和Hibernate相关书籍。开发过程中我掌握了使用Unitis测试各个层,由于SpringMVC的架构非常清晰,我为此还学了html与css的一些知识,学会用浏览器调试html代码。
    

    我的人月神话

    项目实践中的经验总结+实例

    1.善于使用开发框架

    特别是对于我这种毫无开发经验的人来说,不使用框架进行开发是十分困难度的。使用一个合适的开发框架对开发者而言是件十分方便的事,因为我们只要配置好数据库事务和几个xml文件(主要是拦截器),配置好服务器,然后写好其他各个层的代码与jsp页面就可以了。怎么样?简单不?
    

    2.善于调试代码

    经过这次项目开发之后,我发现之前上C++老师要求的代码调试的重要性显示出来,以前只知道代码运行过了就可以,现在知道代码的作用是她能起到我们所要求的功能才行。我现在知道看错误日志,知道如何使用百度解决各种各样的难题。代码调试这个工作最为繁琐,有的bug隐藏的很深不易发觉,比如我之前那个文件上传,就浪费我好长时间。后来才发现Maven没有把我在main文件夹下的uploads/temp文件打包到target文件夹下。这样我只能自己在target下新建uploads/temp目录。但是我根据日志文件却找不到错误的原因竟如此简单。还有一个是html页面加载css文件的问题。因为我们再Controller类中处理请求时会返回一个jsp页面,只有我们将css文件内容放在jsp页面时,jsp页面才会加载css等静态资源。但这并不是一个好办法,为此我们去百度,去问别人找到一个办法,那就是使用css在服务器站点中的路径,路径可以是绝对路径或者相对路径。因为使用绝对路径比较麻烦,我们就通过浏览器的F12下查看network查看请求状态,不断调试相对路径。还有关于unitis测试各个层并不会很麻烦,csdn上有很多教程,并不会很麻烦。
    

    3.学会使用github等开源项目管理平台

    在还没用github之前,我们都是使用QQ互传文件的,这样一来,我们的代码同步就有了问题,有时团队中有一个人写了一些代码,另外一个人写了一些代码,这样两个人的版本就不一样了,多个人的话不及时整合项目版本
    

    会很尴尬。有时我这边的版本都会慢队友一拍。github管理代码十分方便,只要定期将自己的代码整合到github上,然后又指定一个人管理代码冲突与分支整合就可以了。

    4.团队交流十分重要

    团队过程中,有一个领导力出众的人十分重要,如果这个人对项目开发有经验更好,团队中有一个禁忌是团队有时候缺工时间过长,有时候却又十分赶。这个是因为团队没有定时开会交流的原因,虽然成立QQ讨论组已经可以很好的进行交流,但我要说的是线下的交流更重要。在这方面,我舍友的队伍做的非常好,我们就稍显不足。他们组几乎每天晚上都会开会,报告进度,交流遇到的各种问题以及将要完成的任务和分配任务的工作。有时候泡出问题很重要,如果一个问题自己在1-2天内无法解决,就应当主动提出来,避免将时间浪费在重复的失败之中。团队的交流大有裨益,因为每个人都有擅长与不擅长的,每个人会遇到的问题都不一样。还有一点是,要充分调动成员的积极性,一个团队只有一个人写代码不是真正的团队,真正的团队要让其成员有事可做,让他知道他的工作对整个团队而言是重要的一部分。一句话,团队要觉得自己被需要才会努力为这个团队工作,如果成员的任何工作都被否定的话,它就会觉得自己是多余的。
    

    对下一届的建议

    学妹学弟们,不要整天玩游戏看动漫,该学的东西还是要学,早点接触java或c#语言,多去慕课网、极客学院等在线网站学习,早点接触github,多去知乎、博客园、stack Overfloat等IT社区。而且,c、c++基础要打好,否则是很吃亏的。写代码的时候不要以为能运行就过了,把代码搁在一边,要多调试。还有进行实际开发项目的时候要多多使用框架,前端的知识也要了解一些。许多工具会使用就行了。
    

    对未来的期许

    我不知道自己会不会进行软件开发,但是任何事情的原理应该是一样的。做好了这一样,那一样的事也能做。一分耕耘一分收获,只有把握现在,付出努力,才会有美好明天。
    

    随意发挥

    软件工程这门课真的很意思,我之前还不知道服务器是什么样子的,也不知道怎么远程连接数据库,直到我们租了个阿里云服务器之后,我才知道服务器就是个计算机,把项目部署到服务器跟本机完全一样。果然是纸上得来终觉浅,绝知此事要躬行。想要知道什么是真的,就大胆去试吧。
  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/hackers/p/5061399.html
Copyright © 2011-2022 走看看