一、翻译
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. PUBLIC - Software engineers shall act consistently with the public interest.
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. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
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.公众 - 软件工程师应当一贯地与公众利益保持一致。
2.客户和老板 - 软件工程师应当在一定程度上使客户与老板获得最大化利益,并与公众利益保持一致。
3.产品 - 软件工程师应当确保他们的产品和相关更改尽量满足最高的专业标准。
4.判断 - 软件工程师应当具备完整且独立的专业判别。
5.管理 - 软件工程师管理者和领导者应当以符合道德伦理的方式来促进对软件开发与维护的管理。
6.专业 - 软件工程师应当完善自己的专业技能和加强专业声望来符合大众的需求。
7.同事 - 软件工程师应当公平且以支持态度对待他们的同事。
8.自我 - 软件工程师应当坚持毕生学习关于对专业的历练以及提升用符合道德伦理的方式来增强专业能力。
二、问题回答
在第一次的软件工程作业中,我提问了以下的问题:
- 对于我这种初学者,如果想要个人独自完成老师布置的项目作业,应该从哪里开始下手?我在图书馆借了两本软件工程的书,现在正在看,但还是比较困惑。
- 如何去培养对目前市场软件需求的敏感度呢?总能在app store里看到很多新应用,有一些我不感兴趣,有些就很有创意,而且也在随后的市场反应中有很好的收获,但是基本都是我看到软件出现了才意识到这是一个 商机,自己在平常的生活里就找不到灵感,或者说对用户需求的敏感性,这点该怎么培养呢?
- 对于我这种没有经验的新手,应该去看哪些学习编程的书,我原先去图书馆借过书,但是都看不进去,感觉特别枯燥,而且书中的理论知识比较多,不能够快速的上手操作,可能我有点心急,不过还是希望老师能给我推荐几本好用的(或者说培养编程兴趣的)书,谢谢老师~
- 目前有很多的编程语言,比如java,C++,Html,PHP,ios开发等等,哪一个更适合新手学习,哪一个更适合深入研究呢?
现在这些问题其实不能算我可以给出答案,但是我不会再去问这种问题了,在经历过对一个完整项目的创作过程之后,对这些问题一句话就可以解答:不停地实践,在做项目中学习到更专业的知识,学习到软件开发更有效的方法,学习到对各类软件更专业的分析。根据现在需要掌握的知识去寻找相关的书籍,当对一门语言或者一类语言(面对对象)有了认知,那么不同的语言其实仅仅是换了一种表达方式而已,只要自己的编程思维在不断进步,那么你就是一个可发展的程序员。
三、个人总结
首先非常感谢在本学期软件工程课程中的为我们上课的张老师、批改作业的助教老师、时刻关注我们的邹欣老师,你们在我学习的过程中给了我很大的动力和指导,同时也是一种监督,这让我可以坚持把软件工程的作业都认真地完成下来,确实收获了许多。
本次软件工程我总共参与了3个项目,第一个是个人项目,小学算术出题器,这个小项目我使用C语言编写的,只用代码完成了出题的逻辑,没有漂亮的界面,也没有可移植的平台,算是自己使用前两年学习的知识编写的一个项目。第二个项目是结对项目,电梯调度,这个项目至今回想都感觉受益匪浅,第一次用JAVA来实际演练一个项目,第一次进行二人结对编程,一切都感觉非常的新鲜和有趣,虽然在过程中遇到了很多的难题,电梯调度的内容也感觉很复杂,到现在也觉得比较复杂,虽然最终没有达到老师要求的所有目标,但是与我来说是一个巨大的进步,我实现了一个有界面的程序,一个可以使用鼠标操控的程序,一个拥有多线程的程序,当这个程序可以运行的时候,我心中是无比的激动,没有想到自己也可以做出这样的软件。第三个项目是团队项目,这个项目最近完成,也是一个相对过程更完整的项目,包括用户调研,需求分析,项目设计,代码编写以及最后的详细设计说明书,整个过程都是和团队的所有人员共同完成的,而我也是作为团队的队长来带领大家一起工作,虽然我感觉我们不是很努力,最后做出来的项目和我们在第一篇博客中豪言壮志“做最好玩的游戏”也差距甚远,但是我能非常清晰地感受到自己的进步,自己对软件开发流程的新的认识和收获,我相信我其他的团队队友们的感受也是一样,这次团队项目给我留下的非常难忘的回忆。
在翻译过软件工程师的八条准则之后,我对这个行业产生的崇敬之情,虽然大家都调侃的称我们为“程序猿”,但是仔细一想,我们都是这个互联网时代创造出一个又一个大家爱不释手的App的建筑师,我们在使用那些伟大、新奇、Amazing的App时,我们深陷其中,我们深刻地记住这些App的名字,但我们并不知道设计它们的那些工程师们,不过那也没关系,虽然我们不在用户中出名,但是我们的软件出名了,我们就可以得到很多的收获,至少能赚很多Money是不可否认的。
最后是对课程的建议,比起以往学习的计算机课程,软件工程更加注重课下的训练,这也让我感受到计算机是一门工科而不是理科,我也更喜欢多实践,少理论,所以我很喜欢这门课程,也对所有老师和教授们的付出表示感谢,感谢你们带领我们完成一个又一个自认为做不到的难题。我希望这门课程可以在课堂上更多地通过实例分析的方法来教导大家,比如对某个同学某个团队的项目进行分析,这会让我们更加明确自己应该如何去做,同时也建议加强课下的训练,把期末考试取消,这样完全地依靠我们自己的学习成果来评定成绩,会让我们对课下的实践更加重视,也会得到更多地收获。