1 / 79
文档名称:

软件工程 第一章 软件工程基本概念.ppt

格式:ppt   大小:784KB   页数:79页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程 第一章 软件工程基本概念.ppt

上传人:文库新人 2018/9/9 文件大小:784 KB

下载得到文件列表

软件工程 第一章 软件工程基本概念.ppt

相关文档

文档介绍

文档介绍:教学资源
网站: 1、/ 2、/
3、/ 4、 5、/ 6、/
引言学一门课前的3个思考
什么是…(what)?
为什么学(why)?
怎样学(how)?
1. 软件工程的概念(什么是?)
. 概念
l 软件工程:(1)将系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)对(1)中所述方法的研究。­——IEEE[IEE93]
l软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
. 概念理解
工程化、管理、技术。融合了多个学科的知识。
人:软件工程项目中最重要、也是最活跃的资源因素。组织的原则和模式、角色定义和分工、人员的配备、绩效的评定等等。
“ SoSo”主义
“精细管理”;“粗放管理”;“信任管理”; 软件工程中的管理模式也大抵超不出以上三种或其组合。 英文中有个词叫“So-So”[平常的,不好不坏的],福建方言中有个词发音类似“Shǎo Shào”的词,意思都是“马马虎虎”,即“tiger-tiger-horse-horse”。中国人有四种:新加坡人、香港人、台湾人、大陆人,大陆人大都喜欢“马马虎虎”,或者说许多时候都只能马马虎虎、难得糊涂,或者说大都是“SoSo”主义者。 软件工程却希望做到像上文所述第一种的“精细管理”,这时就会与大陆人的“SoSo”主义冲突,故大陆软件公司搞软件工程成功很困难。
2. 软件工程的重要性(为什么学?)
.[历史角度]发展的必然——软件危机
l 六十年代以来,随着计算机应用需求的驱动,系统软件和应用软件有很大的发展,如操作系统,编译系统和大型应用软件等。由于软件生产的复杂性和高成本,使大型软件的生产出现了很大的困难,即出现软件危机。
l 软件工程正是为克服软件危机而提出的一种概念,并在实践中不断地探索它的原理,技术和方法。在此过程中,人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科─软件工程学。
.[社会角度]团队协作的时代——个人英雄主义时代的终结
l中国的软件英雄:吴晓军()、史玉柱(巨人汉卡)、鲍岳桥(UCDOS)、周志农(自然码)、ED)、求伯君(WPS)、刘旭(瑞星)、王江民(KV)、王文京(用友)、张小龙(Foxmail)、丁磊(163邮局)、ants)……越来越少,影响也越来越小。这些英雄如今不是销声匿迹,就是组成了自己的团队。我们需要英雄,但是,如果只有英雄,那么就只有软件、而没有软件业了。能够支撑起民族软件业的只能是靠工程化思想武装起来的团队、还要有几只超级规模的团队!
l在个人英雄主义时代,对一般软件从业者来讲,会两句DBASE,能写个工资程序、打打报表就能生存,那个时代已经一去不复返了。
.[社会角度]团队协作的时代——个人英雄主义时代的终结
l我,单从编码来看,我们拥有众多的高水平程序员,绝不逊色于任何与发达国家有很大差距,这也就是我们不能开发出像Office、操作系统之类软件的原因。我们从单个程序员来说,能够编写出一流的代码,漂亮的界面。但是却去不能协调众多程序员去开发一个项目(工程)软件。在这一方面说我们中国程序员一个人是一条龙,十个人是一条虫并不为过。
l例:首都机场。印度人写的一个模块200多行,我们程序员只用不到50行,但人家的模块同样正确、而且坚固、文档清晰易懂。技术技巧固然重要,但软件开发中最大的问题已不是技术问题,而是管理问题!
.[个人角度]专业人员必备的个人素质
1) 基础理论:训练分析解决问题的能力,深层研究的工具。
数学分析训练严密的逻辑思维。
普通物理和西方哲学史等教会你很多思维方式,比如:
假说——大胆假设、认真求证。
2) 专业理论:数据库理论、网络基础、编译原理等。
3) 专业技术:程序设计语言等。
4) 工程技术:软件工程,本、研教育中唯一涉及工程规范与管理的课程,它象粘合剂,技术经过它的粘合才能形成软件产品!
5) 外语。多门语言多条路。
6) 表达与交流能力:团队内部、与客户通讯的基本素质
7) 法律常识与职业道德:知识产权保护、行业特点的职业道德
.[个人角度]专业人员必备的个人素质
l程序员是一个吃青春饭的行当,也是英雄出少年的行当,就象运动员一样。一个程序员,10年以后很少再只写代码。软件工程是你从程序员到高级程序员、系统分析员,或项目经理、部门经理、CTO一步步迈进必备的知识,积累起来的经验也是你超越年轻人坐在更高职位的资本。

l软件行业分工越来越细、