一、翻译
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.
自我–软件工程师应当参与终身学习关于自己职业的实践,促进伦理职业的实践方法。
二、回答问题
本学期开设了一门软件工程的学科,第一节课老师就介绍了软件工程这门课所需要学习的内容,要求掌握从事软件需求分析,软件设计,软件测试,软件维护以及软件项目管理等工作所需要的知识、方法和技能。但在学习之前对于这门课还有好多疑问,比如怎么进行需求分析,通过需求分析那些条件进行软件设计,整个软件的构造都需要满足哪些条件,还有软件维护是怎样的一个过程,对于这些都不是很了解,一样通过对这门课的学习,能够解决,现在的疑问。
、开始学习软件工程课之前对于软件工程的一些疑问,在学习了这门课程之后对这些问题有了一些自己的理解,如下。
怎样进行需求分析:软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出真正的需求,软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出真正的需求,与利益相关者沟通,通过分析报告、技术原型、用户调查或演示等形式向他们验证软件团队对需求的认知,在整个软件生命周期内对需求进行不断的审核并做出相应的调整。
软件的设计与实现阶段,需要了解软件是怎么解决这些需求的。通过抽象的方法进行分析建模。可利用uml语言进行建模实现软件的设计过程。
三、总结
经过了一学期的软件工程课程的学习,我在这期间收获了很多东西。不单单是只是方面的收获还有团队合作方面也收获了很多。
这学期的软件工程课程与以往的不同,不单单是理论的教学,更增加了各种实践环节,让每个人都有机会参与到软件开发的过程,体会软件开发的整个流程,让我们更好的学习这门课程。
软件工程是计算机科学不可缺少的学科,要想做为IT人士,软件工程是不可不学的一本课程。软件工程告诉我们如何进行系统开发,进行需求分析,对于不同的用户,同一个系统可能有不同的需求,所以做好需求分析是不可缺少的。而开发一个系统,最主要的是系统和程序的设计,这些设计直接关系到这个系统的可靠性和有效性,这就要依靠软件工程了,他告诉我们怎样进行系统分析和程序设计。这门课程使我们掌握了软件开发地方法,大大提高了开发出来的软件的可靠性和有效性。
这学期的软件工程课一共分为三个阶段,个人开发,结对编程和最后的团队开发。在进行开发工作之前,老师要求我们注册属于自己的博客,定期更新学习状况以及要求的作业,并在coding中提交正确的代码并保存。在这过程中我们了解了博客的应用,并且能够在博客上更新发布学习过程中的只是或者问题,也可以在别人的博客里学到很多。另外经历了几次上传代码之后终于能够正确的将自己的代码保存到coding中。
个人开发阶段。需要写一个四则运算的代码。由于本身的代码能力比较弱,开始只是写了一个简短的小程序能够实现最简单的整数四则运算。接着又安装了vs并且用他进行单元测试。最初进行单元测试不能正常运行,经改正后能够进行简单的单元测试。这些过后就是第二阶段了。
结对编程阶段。结对编程是需要两个人一组共同完成黄金点游戏的编程任务。我跟我的队友两个人一起结对编程,共同完成整个程序的设计和编写。我的编程队友编程能力比较强,而我的编程能力较弱,很多东西都是在他的帮助指导下完的,跟他结对编程能够学到很多东西,另外在编程过程中我也收获了很多,体会了两个人结对编程的乐趣。结对编程结束后就是最后的第三阶段。
团队开发阶段。我们团队一共六个人,由我们的队长雷翔宇带领我们共同完成整个团队开发的任务。我们团队采取的是主治医师模式。考由于我们的队伍中成员的编程能力相对还是有些薄弱,但各自又能一定程度上完成一些任务分工,故采用主治医师方式。主治医师模式能够使我们的团队中的每个成员都能在项目中做出自己的贡献,每个人都能做自己能做到的部分。与此同时经验较丰富的编程能力突出的成员做出主要的决定,保证整个项目能够完成,同时根据每个成员的特长分配任务,使所有成员的能力得到最大化的输出,使这个项目变成所有人共同完成的结晶。在整个团队开发过程中,每个人承担着不同的角色,共同完成每个任务,分工合作,最后将整理的资料汇总完成博客的编写。最终成功完成最后一项团队开发。相信在这过程中每个人都有自己不同的收获,每个人都能在团队中贡献出自己的力量,看着最终成果的呈现都会接的欣慰。
最后是对在这门课程教师授课的一些建议。这学期的课程是经过改革的,有以前的全理论教学改革成半理论半实践的形式,比以往更生动形象的诠释软件工程这门课程。希望以后的课程中能更多地增加一些实践的项目,让学生从实践中更好的了解软件工程这门课程。