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

转载 2004年06月29日 08:52:00

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

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

1 总体

1.1  道德行为和社会责任

1.      毕业生要对他们的成绩有着习惯性的诚实。
2.      毕业生要很快地把荣誉分享给那些做出贡献的人。
3.      毕业生要了解他们对雇主和客户的责任。
4.      毕业生要了解他们对社会的义务。

1.2 个人修养和成熟度

1.      毕业生要能从那些看起来很不相同的事物中发现共性。
2.      毕业生要了解自己的局限与能力,并能在其局限与能力的范围内展开工作。
3.      毕业生要能处理压力,并知道在必要时寻求帮助或调剂方法。
4.      毕业生要了解他们达到最佳工作状态的条件,并能取得其自身的平衡。
5.      毕业生要勇于承认他们的错误与失败,并能做出适当的反应。
6.      毕业生要能面对批评,而不总是为自己辩护。

1.3 专业修养和成熟度

1.      毕业生要了解什么是他们的未知领域。
2.      毕业生不要惧怕探索、询问他们专业领域以外的课题。
3.      毕业生要知道怎样管理自己的时间。
4.      毕业生要了解开发长期项目的方法,而不要轻率地寻求捷径。
5.      毕业生要知道何时需要冒险、应该冒什么样的风险。
6.      毕业生要习惯于预料潜在问题,并有所准备。
7.      毕业生要了解折衷(trade-offs)的重要性,并知道怎样做出这样的决定。

1.4 灵活性

1.      毕业生要有灵活性,要能随环境变化而变化。
2.      毕业生要主动做一些他们认为“正确”的事,即使他们没有被告知要这样做。要在需要时,展示其建设性的主动性。
3.      毕业生要能分析各种情况,并能寻找适当的解决方法。这要求他们了解在什么条件下某一方法是适宜的,什么时候必须选择或发明另一个方法。
4.      毕业生要能将其所学应用于其它的领域,甚至是很不相同的领域。

1.5思考、学习及工作技巧

1.      毕业生要习惯性地提高他们的能力(终身自学者)。
2.      毕业生要能很好地在小组内工作。
3.      毕业生要能建立并领导小组。
4.      毕业生要习惯性地研究他们尚未了解的想法和概念的历史及详细定义。
5.      毕业生要习惯性地寻求术语的准确定义。
6.      毕业生要了解何时、怎样用“反复试验”(trial and error)的方法探索某一问题。
7.      毕业生要学会习惯性地运用他们第一次学到的原则。
8.      毕业生要习惯性地应用“分而治之”(divide and conquer)的原则处理复杂问题。
9.      毕业生要能质疑或反驳某些推测和论断。

2 交流

1.      毕业生要能合理地组织交谈、文档和论文,以适当的方式向听众传达他们的信息。
2.      毕业生要熟练掌握英语,以应付工作中的交流。
3.      毕业生要准备在需要是学习新的自然语言。
4.      毕业生要有在小组内的交流技巧,特别是有关目标、任务和进展等事项的交流。
5.      毕业生要知道如何用少而易懂的文字解释复杂的主题。
6.      毕业生要能有意识地表达他们在无意识间运用的原则。

3 数学

3.1 普通数学技巧

1.      毕业生要知道如何进行仔细地、逻辑性地思考。
2.      毕业生要知道如何抽象,如何寻找更通用、更可复用的概念。
3.      毕业生要熟悉很多已经被研究过的数学概念。
4.      毕业生要知道如何通过去除不相关的细节建立现实世界的模型。
5.      毕业生要知道如何在工作和日常生活中运用数学知识和其它抽象模型。

3.2 软件开发中的应用数学

1.      毕业生要能用数学逻辑描述软件状态和功能。
2.      毕业生要理解基本的逻辑概念,能提出证明,知道怎样选择并应用基于逻辑的工具,如自动定理证明机。

3.      毕业生要了解如何在软件开发中应用离散数学的概念,如图、树、关系等。
4.      毕业生要知道如何运用数字数学(numerical mathematics)。
5.      毕业生要知道如何运用符号数学。

4 软件开发

4.1 软件基础

1.      毕业生要了解支配着我们能用软件做什么事情的基础数学定律,以及支配着应用和设计活动的物理定律。
2.      毕业生要知道软件开发难的原因。
3.      毕业生要了解当前开发软件的方法,不管是正确的,还是错误的。
4.      毕业生要了解为什么“人月”不是一个衡量软件任务复杂度的单位。
5.      毕业生要知道如何减少开发和维护软件的工作量。

4.2 软件技术
1.      毕业生要知道如何使用现有工具,以及如何学习使用新工具。
2.      毕业生要熟练掌握编程技巧。
3.      毕业生要知道如何开发网络应用软件。
4.      毕业生知道如何选择适当的程序开发工具。

4.3 软件设计与分析
1.      毕业生要能够编写满足所提供的软件规格说明书的程序。
2.      毕业生要能够根据规格说明准备程序测试。
3.      毕业生要能够检查程序,确定是否满足了规格要求。
4.      毕业生要能够使软件“模块化”,以便各模块能被单独开发、测试和理解。
5.      毕业生要能设计软件产品,并能通过写接口规格设计软件组件。
6.      毕业生要知道如何开发独立于设置和设备的(分布式的)软件。
7.      毕业生要能开发需进行并行处理的软件。
8.      毕业生要知道如何开发实时软件。
9.      毕业生要知道如何估计/限定科学计算中数字结果的精确度。
10.  毕业生要知道如何选择和设计有效的算法。
11.  毕业生要知道如何在问题被详细说明前解决问题,并知道如何确定一套完备的一致的需求。
12.  毕业生要了解如何为那些需存储和处理大量数据的产品组织数据。

5 科学方法

1.      毕业生要理解“知道某事”意味着什么,以及能“知道某事”的方法。
2.      毕业生要知道如何设计并进行试验。
3.      毕业生要了解如何从观察中得出正确的结论。

6 管理、项目计划及经济

1.      毕业生要有基本的法律和商业知识。
2.      毕业生要有基本的会计税务等方面的知识,能足以运营小公司或与专用软件的专家一起工作。
3.      毕业生应知道如何保护信息,以避免丢失和泄密。
4.      毕业生要对信息保护策略有相当的了解,以便能向策略制定者提出正确的问题。
5.      毕业生要足够了解知识产权法规,以了解他们的权利和义务。
6.      毕业生要知道如何做项目计划、定义里程碑、以及设置达到里程碑的最后期限。
7.      毕业生要熟悉软件项目费用评估的不同方法。

[软件工程]毕业设计选题软件

1 分析文档1.1软件功能概述本系统由3个功能模块组成,分别是学生功能模块、教师功能模块、教务员功能模块。附加一个独立的高级查询模块。学生功能:l 学生可以在任何能够连接Internet的计算机登录到...
  • yanheven1
  • yanheven1
  • 2013年11月19日 15:09
  • 3603

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

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

给刚毕业的计算机专业大学生

做下自我介绍:我这个人比较情绪化,心情好的话,你问我问题我会不尽其详。我若心情不好,你可能会被严厉的告诫。我说话嗓音比较高,内向的同学请避开。 1. 计算机专业的毕业生,在我眼里大致可分为四类人: ...
  • qianguozheng
  • qianguozheng
  • 2013年06月25日 22:21
  • 25807

一位计算机专业硕士毕业生的求职经历和感想

我的周围充斥着计算机专业‘工作经验比学历要重要’的观点,我从来都不否认,但是考研不仅仅是为了一纸文凭而已,考研是努力博取继续进修的机会,在学习更丰富更高层次的理论知识的同时,还争取时间付诸实践,锻炼专...
  • dodohui
  • dodohui
  • 2014年01月03日 09:56
  • 2376

浅谈对软件工程的认识与理解

软件工程涉及的资源有:人力、资金、时间的合理分配,涉及到文化与管理等,及各种规划化。   软件开发是一个把用户需要转化为软件需求,把软件需求转化为软件设计,用软件代码来实现软件设计,对软件代码进行测试...
  • ShareUs
  • ShareUs
  • 2016年03月11日 16:47
  • 11524

写给心怀从军梦的软件工程大一学生

【来信】  我是烟台大学的一名大一学子,我对您并不陌生,在ACM协会新生见面会时,见过您,而且在博客上看了你的一些观点,的确很好。先说一下,我的情况吧:我从高一便怀有一颗参军的心,希望能够做一些军事装...
  • sxhelijian
  • sxhelijian
  • 2014年03月29日 16:54
  • 2962

软件工程之软件计划

本章分为问题定义和可行性研究,是软件工程阶段的第一阶段。 问题定义:包扩问题定义报告:格式如下:(1、项目 2、背景3、项目目标、4、项目范围5、初步设想6、可行性研究)        可行性研究报告...
  • qq_26545305
  • qq_26545305
  • 2015年09月27日 21:02
  • 669

我的大学专业学习目标

我是一名“计算机科学与技术”专业的大一学生。自从开学以来,我用三个月的时间,从计算机的诞生,计算机中数据的存储、个人计算机的基本组成开始,慢慢引入网络、网页制作、MySQL数据库、php编程,到后来接...
  • woyaoci
  • woyaoci
  • 2014年11月30日 15:35
  • 574

2010级信管毕业生实习总结汇编版(共29份)

题记     做这件事情的缘由,主要是看了自己指导学生的5份实习总结后突然冒出来的想法:如果在校学生能够看到一份份真实的毕业班学生实习总结,是否会有所触动与行动呢?于是和班级的班长接触,希望能够在匿名...
  • dingyouzhuan0221
  • dingyouzhuan0221
  • 2014年06月09日 11:38
  • 2190

软件工程就业方向

首先说明,我的回答是基于你是软件学院的学生这个前提来说的。  你的三个方向里,如果要做到一定层次,其实嵌入式是最简单的,网络是最难的,WEB居中。  不过问题在于,如果在一个基本面上讨论,则WEB...
  • zhujiaxing666666
  • zhujiaxing666666
  • 2013年02月23日 19:25
  • 6045
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件工程专业毕业生的目标
举报原因:
原因补充:

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