软件工程专业毕业生的目标

转载 2006年06月08日 23:01:00
作者:beiyan(翻译)

偶然从网上发现软件开发先驱之一David Parnas制定的软件工程专业毕业生的目标。读之,不禁汗颜。我的一位美国同事也说这些目标确实很高,不知有多少毕业生能达到。不管怎样,这或许是我们软件开发人员所要追求的目标?翻译如下:

软件工程专业毕业生的目标
1.总体
1.1 道德行为和社会责任
毕业生要对他们的成绩有着习惯性的诚实。
毕业生要很快地把荣誉分享给那些做出贡献的人。
毕业生要了解他们对雇主和客户的责任。
毕业生要了解他们对社会的义务。
1.2 个人修养和成熟度
毕业生要能从那些看起来很不相同的事物中发现共性。
毕业生要了解自己的局限与能力,并能在其局限与能力的范围内展开工作。
毕业生要能处理压力,并知道在必要时寻求帮助或调剂方法。
毕业生要了解他们达到最佳工作状态的条件,并能取得其自身的平衡。
毕业生要勇于承认他们的错误与失败,并能做出适当的反应。
毕业生要能面对批评,而不总是为自己辩护。
1.3 专业修养和成熟度
毕业生要了解什么是他们的未知领域。
毕业生不要惧怕探索、询问他们专业领域以外的课题。
毕业生要知道怎样管理自己的时间。
毕业生要了解开发长期项目的方法,而不要轻率地寻求捷径。
毕业生要知道何时需要冒险、应该冒什么样的风险。
毕业生要习惯于预料潜在问题,并有所准备。
毕业生要了解折衷(trade-offs)的重要性,并知道怎样做出这样的决定。
1.4 灵活性
毕业生要有灵活性,要能随环境变化而变化。
毕业生要主动做一些他们认为“正确”的事,即使他们没有被告知要这样做。要在需要时,展示其建设性的主动性。
毕业生要能分析各种情况,并能寻找适当的解决方法。这要求他们了解在什么条件下某一方法是适宜的,什么时候必须选择或发明另一个方法。
毕业生要能将其所学应用于其它的领域,甚至是很不相同的领域。
1.5 思考、学习及工作技巧
毕业生要习惯性地提高他们的能力(终身自学者)。
毕业生要能很好地在小组内工作。
毕业生要能建立并领导小组。
毕业生要习惯性地研究他们尚未了解的想法和概念的历史及详细定义。
毕业生要习惯性地寻求术语的准确定义。
毕业生要了解何时、怎样用“反复试验”(trial and error)的方法探索某一问题。
毕业生要学会习惯性地运用他们第一次学到的原则。
毕业生要习惯性地应用“分而治之”(divide and conquer)的原则处理复杂问题。
毕业生要能质疑或反驳某些推测和论断。
2.交流
毕业生要能合理地组织交谈、文档和论文,以适当的方式向听众传达他们的信息。
毕业生要熟练掌握英语,以应付工作中的交流。
毕业生要准备在需要是学习新的自然语言。
毕业生要有在小组内的交流技巧,特别是有关目标、任务和进展等事项的交流。
毕业生要知道如何用少而易懂的文字解释复杂的主题。
毕业生要能有意识地表达他们在无意识间运用的原则。
3.数学
3.1 普通数学技巧
毕业生要知道如何进行仔细地、逻辑性地思考。
毕业生要知道如何抽象,如何寻找更通用、更可复用的概念。
毕业生要熟悉很多已经被研究过的数学概念。
毕业生要知道如何通过去除不相关的细节建立现实世界的模型。
毕业生要知道如何在工作和日常生活中运用数学知识和其它抽象模型。
3.2 软件开发中的应用数学
毕业生要能用数学逻辑描述软件状态和功能。
毕业生要理解基本的逻辑概念,能提出证明,知道怎样选择并应用基于逻辑的工具,如自动定理证明机。
毕业生要了解如何在软件开发中应用离散数学的概念,如图、树、关系等。
毕业生要知道如何运用数字数学(numerical mathematics)。
毕业生要知道如何运用符号数学。
4.软件开发
4.1 软件基础
毕业生要了解支配着我们能用软件做什么事情的基础数学定律,以及支配着应用和设计活动的物理定律。
毕业生要知道软件开发难的原因。
毕业生要了解当前开发软件的方法,不管是正确的,还是错误的。
毕业生要了解为什么“人月”不是一个衡量软件任务复杂度的单位。
毕业生要知道如何减少开发和维护软件的工作量。
4.2 软件技术
毕业生要知道如何使用现有工具,以及如何学习使用新工具。
毕业生要熟练掌握编程技巧。
毕业生要知道如何开发网络应用软件。
毕业生知道如何选择适当的程序开发工具。
4.3 软件设计与分析
毕业生要能够编写满足所提供的软件规格说明书的程序。
毕业生要能够根据规格说明准备程序测试。
毕业生要能够检查程序,确定是否满足了规格要求。
毕业生要能够使软件“模块化”,以便各模块能被单独开发、测试和理解。
毕业生要能设计软件产品,并能通过写接口规格设计软件组件。
毕业生要知道如何开发独立于设置和设备的(分布式的)软件。
毕业生要能开发需进行并行处理的软件。
毕业生要知道如何开发实时软件。
毕业生要知道如何估计/限定科学计算中数字结果的精确度。
毕业生要知道如何选择和设计有效的算法。
毕业生要知道如何在问题被详细说明前解决问题,并知道如何确定一套完备的一致的需求。
毕业生要了解如何为那些需存储和处理大量数据的产品组织数据。
5.科学方法
毕业生要理解“知道某事”意味着什么,以及能“知道某事”的方法。
毕业生要知道如何设计并进行试验。
毕业生要了解如何从观察中得出正确的结论。
6.管理、项目计划及经济
毕业生要有基本的法律和商业知识。
毕业生要有基本的会计税务等方面的知识,能足以运营小公司或与专用软件的专家一起工作。
毕业生应知道如何保护信息,以避免丢失和泄密。
毕业生要对信息保护策略有相当的了解,以便能向策略制定者提出正确的问题。
毕业生要足够了解知识产权法规,以了解他们的权利和义务。
毕业生要知道如何做项目计划、定义里程碑、以及设置达到里程碑的最后期限。
毕业生要熟悉软件项目费用评估的不同方法

相关文章推荐

一个大一的软件工程专业学生对编程的认识....(从抵触到渐渐接受)

LZ本人是从上了大学之后才开始接触编程的,在之前完全对这个东东是没有基础和兴趣的。但是,来到了大学,选择了自己并不是最喜欢的专业,总不能一天到晚都LOL吧,所以就强迫自己去学编程了。第一学期我们学校给...

软件工程专业

软件工程专业16340111 本人学院目录 简介 二级学科 课程 就业 简介 软件工程是将工程应用于软件的设计、开发、实施、测试和维护的一种系统化方法。 软件工程的典型形式定义是: ...

软件工程专业就业方向职业规划

希望大家都能得到学习,对未来有个清晰的规划:     首先说明,我的回答是基于你是软件学院的学生这个前提来说的。  你的三个方向里,如果要做到一定层次,其实嵌入式是最简单的,网络是最难的,WE...
  • lsgqjh
  • lsgqjh
  • 2015-03-13 17:39
  • 2551

大学里软件工程专业学习的主要课程

不要把时间浪费在所谓的大学课程上,很多都是没有营养的。其实软件工程的知识体系也就是那样,各个大学也是照着这个思路编排课程的。所以,自学的时候直奔主题就可以了。 软件工程包含两个部分:软件和工程。软件...

给喜欢生物的软件工程专业学生提建议

我给一位大二女生咨询,她诉说了正在犹豫不决的一件事,希望我能提些建议。  初谈知道她是一位很认真的同学。她的专业课学得还不错,动手编程也行。想再多学些东西,恰好学校正组织双专业报名。她对将要选的专业谈...

给报考软件工程专业的高三学生的一些建议

摘要是没有意义的。

技术之美[程序人生]大学三年软件工程专业学习感受

转眼间,三年过去了,再过2个月就要迎来大学最后的一年。回想一下这3年的学习,总结一点,就是走了很多弯路,好在现在已经认识到了。 为什么会走弯路呢?因为自己对某些知识存在很多错误的认识,比如说当年认为...

初入软件工程专业心得

初入软件工程专业心得标签(空格分隔):一名初入大学的大学生 16340147 本人学院内容目录初入软件工程专业心得内容目录 懵懂与憧憬 跂而望矣 须臾所学 探索与成长 笨鸟先飞 积土成山 初窥堂奥...

大学三年软件工程专业学习感受

转眼间,三年过去了,再过2个月就要迎来大学最后的一年。回想一下这3年的学习,总结一点,就是走了很多弯路,好在现在已经认识到了。 为什么会走弯路呢?因为自己对某些知识存在很多错误的认识,比如说当年...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)