软件工程之个人总结

翻译:

软件工程师应当自己做分析、规范、设计、开发、测试和维护,从而成为一个有用处的和受人尊敬的职业。根据他们对软件健壮性、安全性和福利性的承诺,软件工程师应当遵守以下八条原则:

Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

 

1.公众性原则——软件工程师的开发方向应始终和用户意向一致;

1. PUBLIC - Software engineers shall act consistently with the public interest.

 

2.客户和雇主关系原则——软件工程师开发应符合客户和雇主的意愿;

2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.

 

3.产品质量原则——软件工程师应该保证他们的产品或发布的模型可以通过最高水平的校验;

3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

 

4.判断公平性原则——软件工程师应当时刻保持公正公平的原则,尤其是对自己的项目;

4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.

 

5.管理原则——软件工程管理者和领导者应为软件开发和维护管理提供正确的方式;

5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

 

6.专业性原则——软件工程师应为自己在用户印象中的廉正和声誉做出表率;

6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

7.同事关系处理原则——软件工程师应该公平对待自己的同事,并给予支持;

7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.

 

8.自我学习原则——软件工程师应就其专业参与终身学习,对专业实践应鼓励正确的方式。

8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

 

学习感受:

伴随着软件工程这门课期末考试的结束,大学期间对于软件工程的学习将至,不过即使这门课程已完结,但作为学生的我们将终生受益,即使众多同学在学习期间的的学习效果参差不齐,对于我们来说,我们对于这门课的思想已经根深蒂固,虽然还不是很了解构建之法真正的含义,不过,我们学会了很多知识关于怎样去成熟一个软件,或者让一个软件更加完美,功能齐全,唯一的缺陷就是我们还缺少一个实践的机会,纵使课堂上老师安排了一些机会。如个人编程,结对编程,团队编程和团队作业等等,但总的来说,这些事远远不够的,对于一个刚接触软件行业的学生来说,这些还很陌生,我们需要更多的实践,更多的任务来加强我们在课堂上的知识转化为专业技能,或许有的老师觉得很多同学已经对这门课已经很了解了,但我只能说,这些都是1%的人学会了而已,在我所接触的同学之中,一半的同学不晓得这门课到底讲什么,我们要学什么,因为我们或许对这些太陌生了,对于我们很多刚接触软件的学生来说,写一个软件并不需要这么复杂,只要逻辑正确,编程结果正确这是很多学生的理解,并不需要像软件工程讲的这么复杂,所以这些是我们对实际项目接触少而产生的心理,或许吧,我们还需要更多实践项目来锤炼,下面总结我这学期学到的知识、编程思想、以及对这门课的看法等等。

其实,对于这门课,开学之后7个星期我并不知道这门课在讲什么,我们该学什么,怎么学,上课迷迷糊糊,下课之后荒荒碌碌,就这样过了7个星期,忽然觉得好可惜,没有好好学这门课,没有学好这门课,对于这门课,因为对于我们是刚改革,老师其实并不确定怎么去跟我们讲,我们然后也不知道怎么去学,所以就有我前面几个星期的呵呵,其实还是错在自己,老师课堂上讲得是真心不错,可是自己似乎对这门课没来电,课本上的东西自己并没有那么感兴趣,或许这是自己自学能力差的问题,所以现在自己呼呼有点遗憾,自己很明确学并不是为了考试,然而自己也不适合考试,因为自己很清楚,这门课是作为一个软件工程师的基础,只有了解软件的构架,需求,设计,测试,以及发布等等问题,才能做好一款软件,每一个人开学的时候或许都有我这样的想法吧,可是到后来渐渐的迷路了而已。在老师层面上来说,作为一个老师,虽然不是接触很多软件的设计,但对于软件的各种需求,设计还是没的说的,课程改革,每一个人都不晓得会怎么去做,怎么去教,我很佩服老师都快面临退休了,还坚持对课程的改革,对教学的负责,我心中是由衷的敬佩。在自己这个角度来说,这门课没学好完全是自己的问题,虽然在快要考试之后吧书都看了一遍,知道这本书大概讲什么,但自己并没有满足这样的结果,学习这门课的过程中,自己并没有付出自己的全部,没有认真学,也反应出自己的自学能力差还有待提高,向自学能力好的同学看齐,找到属于自己的学习方式。。。。。。

而对于这么课让我学到的技能给一点总结的话,这么课,我学会了众多的工具:VS、GETHUB、CODING、博客园等,在个人及团队方面,个人编程,结对编程,团队变成等等。。。。。。而刚开始让我最困难的无疑是GETHUB的使用,一开始不会上传代码,不会安装,不会管理代码等等,众多问题这里不能一一论述,其次还有CODING的使用,VS的安装及使用等等,都是困惑我的地方,在开学之初,老师频繁的更换代码管理工具,很多人,包括我都开始我都开始有一点抵触情绪,因为在我们刚开始会使用GETHUB的时候老师更换了CODING,在我们会使用CODING的时候,老师让我们用VS等等,其实这些工具自己之前一点接触都没有,突然学习使用那么多,自己一时有点适应不过来,不过后面还好,在同学的帮助下,自己也学会使用了,或许,只有让自己在压力之下才会成长吧,说真的这学期学到的东西还是不少,这一学期比大一大二学到的工具还要多,这学期也过的更加充实。在个人编程方面,起初是一个简单的四则运算,后来一步步的进行完善,难度也在增加,因为这个软件自己使用C语言编写的,所以代码数量比较多,而且好很多功能不能完美实现,比如界面太难看,一个四则远算应该和一个计算器差不多,应该是桌面按钮,而不是直接输入,因为自己对C语言比较熟悉,所以选择了用C编程,即使自己刚学了JAVA,但很多库函数都不会用。对于这个四则运算算法,自己学到后面才知道老师安排这个作为我们的作业是有原因的,根据一个软件的需求,一步步引导我们走进编程的基础,让我们开始去考虑软件的需求,软件的最初构架等等,这是为什么老师让我们在最初的构架上进行完善,这也是让我们了解需求的一个表现吧。对于结对编程,这是让我觉得和同学最有意义的一次合作,团队编程并没有这么强烈的感受,在结对编程中,其实刚开始我还是很无知,不晓得如何下手,不知道谁该干嘛谁该干嘛,于是又查阅各种资料,翻书等,在纠结几天后,我和我的伙伴开始动工了,一开始我还是只是一个领航员,我的伙伴是驾驶员,说真的,一开始真的很别扭,两人对着一台电脑,在一个下桌子挤得不行。后来我们交换了角色,我做了驾驶员,我的伙伴做领航员,毕竟自己动动手才会有收获。在这过程中,我更加熟悉了JAVA,学会和和伙伴合作,学会了与人交流,也学会了信任,了解他人的编程习惯和懂得怎么去看别人的代码,或许,在这过程中,我们有意见不合的时候,但我们的解决了,我们成功的编写了一个电梯软件,后来虽然发觉到这个软件Bug很多,但两人一起结对编程的经历,让我感受颇深,似乎真正的感觉自己就在进行一个实际的项目。而团队作业和结对编程给我的感觉就是我们就是一个团队,我们一起完成作业,一起分工编程,这个过程中,我们有PM,算术计算核心,框架构建,需求调研,测试开发,界面设计等等分工,每一个角色都不尽相同,在这里面,我复杂测试开发,在前面几个同学完成软件的编程之后,我需要做的事是对软件进行单元测试和实践测试,检查这个软件是否有Bug等,这个过程很简单,但如果不认真就会出现问题,因为我的下一个层面使用的将是用户,所以我这里不能出现任何错误。在此过程中,我们或许分工不是很明确,因为我们这个组有很多组员要考研,所以时间分配并不是很合理,但总的来说我们还是完成的不错,这是一个作业,也是一个经历,很感谢和这个团队一起合作,一起探讨软件的需求,对我来说,这将是终生受益的。

教学建议:

 这门课对于我们来说,很重要,这是每一个IT行业的学员必会的基础知识,课后加强锻炼,在我们每次开始一个软件之前,我们需要知道这个软件的需求,我们心中至少知道这个软件的大概设计结构等,在老师教学方面,应当结合更多的实际内容,让学生学起来会感觉到这个知识点的重要性,感到乐趣,增加老师和学生的交流,并没有让学生感觉到老师自己讲,我自己学,这或许是一种失败的教学方式,在改革初期,都会遇到很多的问题,老师能这么坚持,真的很感谢,谢谢老师对我们的负责,真的让我们受益颇深啊。。。。。。

posted @ 2016-06-04 22:33  shikaihong  阅读(214)  评论(2编辑  收藏  举报