个人总结--软件工程篇
1、请自己翻译下面这段文字,注意不要借鉴别人的结果或者试图从网上找译文,一定用自己的语言把这段文字体会一遍。
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.个人要求--软件工程师应投身到与软件相关的终生学习当中,并且改良合乎道德软件的方法。
2、在第一次博客作业里http://www.cnblogs.com/zhanglsh/p/5252703.html我们请大家根据目前的学习状况提出一些问题,现在结束了,大家是不是可以回答这些问题了,请在本次作业中一一回答.
(1)对于软件开发的技术和应用,我们更注重哪一方面?
计算机软件开发技术的构成主要分为两部分,一部分为系统软件,另一部分为应用软件。系统软件是计算机软件运行的前提条件,它能够保证不同软件的有序运行,主要是为其提供了可靠的运行环境;应用软件能够有效解决软件运行中的一系列问题。通过二者的共同作用,从而实现了计算机的运行,通过二者的开发,促进了计算机的发展。计算机软件开发技术是最为重要的一项技术,主要是由于其促进了计算机技术的进一步发展。计算机在人们的生活与生产中均有着较为广泛的应用,它促进了现代文明的发展,在对其进行应用过程中,最为关键的内容便是计算机软件开发技术,此技术对于计算机来说有着深远的影响,它是计算机有序运行的基础,它是计算机正常工作的保障。
(2)软件工程到底是什么样的架构?
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件。
(3)一般设计一款软件要怎么分工?
1.需求调研:参与者为项目组长,界面设计师,架构分析师,程序员。
2.详细设计:由界面设计师根据调研情况,设计相应的界面,由架构设计师根据界面设计数据库,并设计实现该功能的架构和类结构,指明界面操作的业务逻辑,实现逻辑的类,类涉及的表和存储过程。
3.程序设计:程序员根据架构分析师的详细设计,写程序设计书,实现各个类和业务逻辑操作(简单类可以使用工具),在具体设计程序的时候可以考虑使用XP成队编程,可以提高效率,保证大家对整个项目都有所了解.中间如有技术难题,交由架构设计师着重解决 。
4.测试:编写测试用例,写测试报告。
5.迭代:数据库设计,程序设计,测试在具体设计时配合架构设计师进行迭代修改,从而完成整个设计。
6.协调:项目组长控制整个项目的进度,并进行协调组织。为了保持整个团队的技术活力,指派一人学习先进技术,一周或两周给团队相关人员培训。每周一组织一次会议,报告上周项目进展和分配布置本周工作。
3、请根据本次学习过程给出总结并针对教师授课给出意见和建议,字数1500以上。
学习了这门课程, 还有老师的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,而是成为了一个综合的一个能够解决问题的思想集合。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
软件工程,说白了,就是这样一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。简单来说,就是对于总体的组织和对于局部的实现。
开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和DEBUG。除了第一步外,其余的步骤应该是一个循环的过程。既然软件开发是一个具有不可预知性和变化性的动态的过程,那么,对其每一个步骤的组织,即周期模型,就必须包容它的这种性质。具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。文档的作用在于以下三个方面:一是可以帮助整理思路。把要完成的目标,系统的结构,每一个模块的功能等整理一下,然后分门别类地写下来,这样在开发的过程中,就有据可依,在需要回过头来修改设计的时候,也有证可考。二是便于交流。想象一下开会时的情形。一大帮子人争先恐后,激烈辩论,然后会终人散,思想灵感也就随之散了,结果是开了半天会,什么也没讨论出来。这就是后来会议记录被发明出来的原因。在脑子里的东西一多,就会散而且乱,用语言表达的时候,很容易会丢三落四,别人也很难把握住你的思想。但经过整理写在纸上以后,则会清晰得多,无论是别人还是自己,看起来都可以一目了然。三是可以作为以后维护时的参考资料。有一句名言:“笔和纸永远都比大脑可靠”,意思就是说,放在大脑里的东西说不准哪天就忘了,但写在纸上的东西,只要不发生什么意外,一般是丢不了的。当过了一段时间,你需要再回过头来修改你的程序的时候,你就会发现,你以前写下的文档实在太有价值了。别指望你的源代码,对于复杂一点的程序来说,单纯的源代码几乎会扼杀掉你所有的时间。
我们在课堂上学的理论知识加上亲身去实践,让我们能够对软件工程有更清楚的认识。记得老师让我们分团队一起完成一个软件的开发时,大家心里都没有底,不知道从何入手。我们经常一起讨论要做什么,可是最后还是选择继续做之前老师让每个人写的四则运算,我们在这个的基础上不断去完善它的功能,有不懂的地方就自己找资料,自己去琢磨弄懂。每周还要做项目进度汇报,虽然过程有点辛苦,但是大家一起努力去完成一个项目的时候,我们还是很享受这个过程的,有辛酸也有快乐。
同时,也感谢老师辛勤地付出,12周的课程说长也不长,说短也不短,每一节课老师都很认真地有准备,内容也是很简单易懂,后面的课程老师还设计了课堂讨论的环节,让团队一起讨论然后把结果发在群里大家一起分享,这很有意思。也希望老师继续保有这么有活力的环节,如果可以,授课老师也可以把案例放在课堂给同学们讲解, 引起学生们的兴趣,提高大家听课的效率。