软件工程——个人最终总结
Posted Wangtn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程——个人最终总结相关的知识,希望对你有一定的参考价值。
一.软件工程师应该将自己的精力投入到软件的分析,规范,设计,开发,测试和维护中这会使你受益其中并受到更多的尊重。根据他们对公众承诺的健康,安全和福利,软件工程师应该遵循以下八大原则:
1.大众——软件工程师应该与公众利益一致。
2.用户与雇主——软件工程师应以最符合其客户和雇主的利益的方式,以符合公众利益的方式行事。
3.产品——软件工程师应该确保他们的产品和相应修改尽量满足最高的行业标准。(交付高质量软件?)
4.判断——软件工程师应该保持自己独立完整的专业判断力。
5.管理——软件工程的管理者和领导者应该签订和促进一个道德的方法来管理软件的开发和维护。
6.专业——软件工程师应该通过协调公众利益来推进行业的完整性和声誉。
7.同事——软件工程师应该平等的对待同事并支持每一个同事
8.自己——软件工程师应该通过终身学习致力于自己的专业实践并且通过道德的方法推进专业实践
二.对于开课时疑问的解答
- 程序测试,基本上一无所知,我希望在今后的学习中能够加以了解。
通过这学期软件工程的学习我学到了学多测试的方法,白盒法黑盒法,白盒法的判定覆盖,条件覆盖,条件判定覆盖,路径覆盖等,黑盒测试的有效类无效类的选取,测试时边界值得选取可能会使测试数据更加一针见血,还有单元测试,回归测试种种,这方面得到了很好的解答。
2.程序的发布,程序以何种形式发布,在什么平台发布,以什么渠道接收反馈信息,都是我不清楚的。
在团队项目的实践中了解到,拿网站为例,真正地完成了一个网站就是将他放到服务器上让其他人通过域名来访问,获取回馈的方式也是多种多样,用户调查,网站留言,联系管理员等等
3.一个具体项目的架构,以我之前自学的b/s为例,tomcat的搭建,端口的链接,还有springMVC框架我都没有深刻的了解。总结起来就是对于完整的程序开发只知皮毛,并没做到真正了解。
软件工程课不是学习编软件而是学习体会软件开发的流程,这个问题严格意义上讲不属于软件工程的问题而是自己的专业技能中的问题。通过软件工程团队项目的编写,现在我已经可以使用轻量级框架springMVC,也成功完整编写出了一个网站,解决了技术上的问题。
4.多人合作的编码方式,以前全部是由个人完成,不同人所写的不同代码怎么连接在一起,多人合作会带来怎样的好处和坏处都没有体验过,我希望通过课程的学习,理解多种多样的编码方式。
经过了一学期的学习和实践我已经了解到了多种多样的编程方式,我对编码的工作方式也有了更深的了解,通过之前的结队编程我发现两人编程有时准确度和精确性都会比自己单干有很大的提升,之后又学习了敏捷开发,code&fix还有传统软件的开发流程,瀑布模型,生鱼片模型等,对比发现了每种方法的优缺点以及每种方法适用的项目。通过本学期coding系统的使用,了解到软件开发时多人通过coding系统推送新的分支不断推动工作进度,这方面得到了很好的解答。
三.个人总结以及对软件工程课的意见和建议
软件工程课可以说是我迄今为止上过的收获最大的专业课,它不仅教会了很多重要的专业知识,也让我明白了自己作为计算机专业的学生在知识和能力上有许多的短板。最开始上软件工程课的时候我非常不解,这课到底在学什么?这课到底有什么好学的?编写一个软件为什么要这么麻烦?自己会编不就得了嘛?通过以前学长学姐们的口述我也觉得这可真的没什么好学的,但是当我接触了这门课之后我才发现事实并不是我想象的那样。
首先,这门课改变了我对于开发软件这一工作的看法。我以前认为编写软件就是拿到了要求立刻上手,完成要求没有错误就可以提交了,但是事实并不是如此。通过软件工程课的学习,我明白了编写代码只是软件开发的一部分,需求分析,测试,发布,维护,用户反馈都是软件开发工作的一环,而且其他环的重要性都非常重要。首先开发软件软件必须要弄清客户的需求,因为软件的功能必须要满足其使用群体,如果一个软件不能实现用户要求功能,即使它速度再快,内存再节省,算法再优化他也不是一个合格的软件,用户也不会去使用它,更不要提用它来赚钱了。其次软件的测试也非常重要,并不是软件没有错误就可以直接提交了,测试也不仅仅是测试出软件的错误。许多软件是具有时效性的,比如银行的操作系统,执行一次操作要耗时半小时,即使他能够完成用户的需求也不会有人去使用它的,这不是一个好的软件,测试可以保证软件的实用性,使它在交付前能够及时地发现问题并得到解决以提升软件的质量。再次,软件并不是一次性服务,软件交付之后不是一了百了了,软件开发的工作人员还要收取用户的意见反馈,对发布出去的软件进行维护,修改出现的bug,因为测试只能尽可能减少错误,还是有错误不会被发现的,软件开发者应该通过用户反馈的信息不断推送新版本以改正错误。
其次,这门课并不像我以前想的“有什么好学的”,相反,他有很多东西是要学的,作为一个计算机专业的学生并且打算以后参与软件开发相关的工作,这门课真的是非常有用,即使现在不学,我们以后到工作岗位中也早晚要接触到,这门课的学习对于我们的求职以及在岗位中的成长有很大的帮助。他不像其他的专业课教授一些编程语言,计算机原理,程序算法等等,而是交给我们作为一位软件开发者,我们的工作是什么,我们应该怎样开发一个软件,开发不同的项目可以有什么适用的开发模式,怎样提高软件的质量,文档对于开发者的作用,怎样提高文档的规范性,我们的工作需要付出什么,失败会有什么代价,从事这门工作应该锻炼哪些能力,这些东西看起来很抽象,但确确实实是让我受益匪浅。
第三,通过这门课的学习,我发现了自己很多能力的欠缺。通过学习我了解到在传统的软甲开发流程中文档作用巨大,文档又分为开发者文档和用户文档,然而作为典型的理工科学生,不仅是我,想必大多数人写作能力都是短板,软件工程的作业采取写博客的方式我觉得非常好,使作业真正做到物尽其用,既强化了我们课上学习的知识又锻炼了我们的写作能力。自从高中毕业以来我就再也没拿笔写过长文章,平时跟文科挂钩的课程要交什么论文作业也是电脑打开百度一下,但是通过这一学期的锻炼,我觉得我的写作能力有了很大提升,至少在写文档时我知道我该去些什么,哪些是重点,怎样把我的想法明确的表达出来。而且博客对于IT工作者而言是一个非常重要的工作环境,尽早接触对于我们的成长也有很大的好处,从开学到现在,博客也记录了自己在专业学习上一点一滴的积累和进步,从头看过来非常有成就感。本想用博客记录自己学习c#的过程,最后决定考研时间比较紧,加上五月初的单片机考试,团队项目匆匆做完,也没有那么多的时间,善始没有善终,还是挺遗憾的,但是我确实在这门课中收获颇丰,也希望学院能够推广这种教学模式。
意见:虽然这门课非常有用,但是软件开发过程实践的前提是有能力编出一个完整的软件,在编写团队项目时颇有感受,队员都没有接触过javaweb,在编写时有很大困难,体验和学习的效果就大打折扣了,希望学院可以早些开设.Net,asp的课程,这样学生在学习起来会更能体验出这么可的重要之处。最后感谢我的老师和助教,感谢你们这一学期的辛苦付出,你们辛苦了!
以上是关于软件工程——个人最终总结的主要内容,如果未能解决你的问题,请参考以下文章