标签:
一:
软件工程师本身应承担对软件的分析,规范,设计,开发,测试,维护等义务,是对软件业有益并受人尊敬的职业。按照对健康,安全和福利的承诺,软件工程师应遵循以下八项准则:
1.公众-软件工程师应坚持公众利益。
2.客户和雇主-软件工程师应以符合公众利益的方法最大可能的满足客户和雇主的利益。
3.产品-软件工程师应确保他们的产品及相关修改能尽可能的达到相关专业最高水平质量。
4.判断-软件工程师应保证在其专业判断上的完整性和独立性。
5.管理-软件经理和领导应认同和推广以一个道德的方法来管理软件开发和维护。
6.行业-软件工程师应优先保证诚信及行业声誉并与公众利益一致。
7.同事-软件工程师应公平的对待同事并支持他们。
8.自身-软件工程师应终身致力于专业方面的实践学习,并养成职业道德。
二:
在第一次作业博客里我提出了一些学习上的疑惑,现在基本都已解决。
软件工程课不仅是为了提高我们的编程能力,更是让我们了解团队开发的流程为我们日后工作打下良好的理论基础,我相信学过软件工程后我们会比其他人更快的融入团队。此外我意识到了团队合作的重要性,无论是设计还是编写代码过程,我感觉效果都明显高于自己一个人完成,不仅开发时间大大缩短,而且队友总会想出一些我想不到的好思路,好方法。
但还有一个问题没解决就是c++和java的区别,为了省事不论是个人项目还是结对编程还是团队项目,我都选用了java语言来编写,人们都会用最稳妥最熟练的方式来完成一件事情,我也是一样,所以很遗憾没能用到c++来完成一次作业。每门编程语言都会有自己的魅力所在,而c++的魅力就等我以后慢慢发掘吧。
三:
最后的总结:
首先感谢老师和助教们一学期的耐心教导,感谢队友们的容忍和帮助。
(1)关于自己
这学期的收获:
1.学会了写博客,用Junit编写测试用例,学会了上传代码。这些都是在其他课甚至其他学校都学不到的知识,听说以前学长在上课时也没有机会学这些,所以我感到很幸运,赶上了课程改革让我们学会了这些工作必备技能。
2.养成了较为严谨的变成习惯。就拿第一次四则运算来说,代码内容十分简单,虽然的确可以完成题目要求,但是深究细节方面就惨不忍睹,比如没考虑出题重复,没考虑到适用人群知识水平(比如低年级的小学生不能做二位乘法),没有混合运算等。现在看来当时自己也就是业余爱好者水平,但经过这学期不断练习,现在虽然不能说做到十全十美,但是相比开学也是有很大的进步,比如在写团队项目时服务端部分代码:
if(rs.next()){ id=rs.getInt("Id"); passwords=rs.getString("password"); System.out.println(id+"\t"+passwords); if(p.equals(passwords)) { /*response.sendRedirect("wel");*/ /*--------返回数据---------*/ response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print("1"); //代表成功 out.flush(); out.close(); } else { /*--------返回数据---------*/ response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print("0"); //代表密码不对 out.flush(); out.close(); } } else { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print("2"); //代表账户不存在 out.flush(); out.close(); } } catch (ClassNotFoundException e) { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print("3"); //数据库连接错误 out.flush(); out.close(); } catch (SQLException e) { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print("3"); //连接异常 out.flush(); out.close(); }
如果放到以前,我在服务端接收数据后经过处理顶多返回2种情况:登录成功和登陆失败。但是我记得老师上课时举个例子,大概内容就是用户点击后显示“连接错误”,开发者知道是什么错误,但是用户不知道什么是连接错误,所以这么做会给别人带来不必要的烦恼。因此在开发时还是要把能想到的问题都进行合适的处理比较好,这样不仅利于维护还能让用户有个较为良好的体验。
3.学会了可视化编程。做黄金点游戏时考虑到并不能让用户在控制台玩,所以迫不得已学了我最不喜欢的可视化编程Swing程序设计和一点Swing 高级组件,学习的过程是很痛苦的,因为写出来的界面经常出现各种意想不到的错误重点是还找不出来。但好在最后顺利完成了任务,些没有辜负自己许多天的努力。
4.尝到结对编程的甜头。第一次结对编程是在写黄金点游戏的时候,当时接感觉结对编程很浪费人力没什么明显优势。后来在团队项目中我们队长找我一起结对编程,经过两个下午我们解决了我自己苦思冥想一个星期都没解决的问题,这才然我感觉到结对编程这种模式其实非常不错,尤其适合我们这种初学者。
5.初步了解团队开发的步骤。以前不知道主治医师模式,剧院模式,爵士乐队模式,不是到什么是瀑布模式也不知道什么是program manager什么是project manager。经过一学期的学习,我感觉真的学了许多知识,让我受益匪浅。
6.课余时间学了许多新知识。这学期我没有虚度光阴,开学只会一点java基础,现在我学会了JDBC基本的技术;初步了解多线程开发;可以用html+css+js写一些简单的网页;掌握了serverlet技术,会写服务端客户端交互程序。目前正在摸索JSP,我知道以后学习的路还有很长,长到我不知道学到哪才是尽头,但我会坚持学下去,活到老学到老。
不足之处:
1.十分不愿意做测试。写完的程序出现各种问题基本都是在以后的运行时才发现,可能不涉及到什么损失,所以没意识到测试重要性。
2.不喜欢改程序。比起改程序我更喜欢吸取经验和教训在下个程序中做得更好。帮别人改程序也是一样,很难发现问题,这点有待改进。
3.对理论知识不够重视。这不代表我一点都没学,只不过是学的一知半解,我更喜欢在实践中学习所以感觉目前用不到的知识我就只是简单了解而已。
4.不愿意写博客。其实不是不愿意写博客,只是不想打字。
(2)关于老师及助教
再次感谢老师及各位助教,正因为老师们认真的态度才给我我们带来丰富多彩的软件工程课。从课堂到课后作业,都能体现出老师们对我们的期望,这也是我们学生不断学习的动力,此外特别感谢邹欣老师,书写的特别好,内容丰富并且举例生动还非常具有代表性,深入浅出让我们深深体会到软件工程的魅力。
对老师的建议:
1.希望严肃处理抄袭的人。
2.增加个人和结对编程项目,并适当增加难度。
3.提高评分标准,我感觉评分标准太低了,部分得高分的同学拿出的作品没有我想象中的那么好。
4.课上能有更多的机会讨论团队项目,能让优秀的团队和个人在课上展示项目。
(3)对以后软件工程课的祝福
软件工程课是一门非常有意义的课,希望以后的学弟学妹们能更清楚的意识到软件工程课的重要性,同时希望软件工程课能越办越好,成为我们专业甚至我们学校的特色。
标签:
原文地址:http://www.cnblogs.com/yzdd/p/5535440.html