第1章 绪论(1.1-1.2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。




软件不是传统意义上的“制造”产生的,而是“研发”出来 的。 导致:软件项目管理和软件产品保护困难。 软件不会被“用坏”。 导致:软件维护困难(软件维护不能通过重复制造解决)。 软件大多是“定制”的。 导致:软件开发的质量和效率受到影响。 软件成本难于估计。 导致:软件项目计划失效。
软件特征反映了软件发展所需面对的不同问题背景!
软件受制
程序系统阶段(20世纪60至70年代 )
特点:软件作坊 ;开始注重程序设计风格 ;软件供不应求 ---软件危机 (内因:软件本身的特点 ;外因:软件开发和维护以及组织管理不当) 。
软件工程阶段 (20世纪70年代至今 )
主要思路:要把人类长期以来从事各种工程项目所积累的行之有效的原理、 概念、技术和方法,特别是人类从事计算机硬件研究和开发的经验教训, 应用到软件的开发和维护中来。
产品软件:软件开发机构直接为市场开发的软件。例如,字处理软件、 多媒体播放软件、游戏软件、教育软件等等。 产品软件的功能、性能、价格和售后服务对开发机构参与市场竞争 有重要影响。

1.1.3 软件发展与软件危机
程序设计阶段 (20世纪50至60年代 )
特点:专家的个体手工劳动 于硬件的发展。
;程序的写法可以不受任何限制 ;
曼 哈 顿
工 程
质能方程E=mc2
科学/技术/工程



科学是以发现为核心的,是对自然的本质及其 运行规律的探索、发现和揭示,并归纳为真理, 科学家的探索往往是出于好奇心,并没有明确 的实用目的。 技术是以发明为核心的,是改善人类社会生活 的手段,可以是方法、装置、工具、仪器仪表、 过程,它讲求的是技巧。 工程则是集成科学和技术,来解决实际问题, 因此工程是利用科学原理和技术在一定边界条 件下进行集成优化和综合优化,有目的地完成 设计、构建、运行等项目。 (人、财、物) -------------陈清泉 院士
工程实例1:都江堰水利工程
地图
照片
成功:引水、分水与排沙
宝瓶口:引水
鱼嘴:分水
飞沙堰:排沙
工程实例2:法国戴高乐机场
失败:坍塌
都江堰水利工程短片及思考

短片 请思考:

工程的目的是什么? 工程可持续长期发挥作用的关键何在? 工程有何特点? 工程师应该有哪些优秀特质? 举例都江堰水利工程中如何体现科学/技术/工程? 古代工程和现代工程大差别何在?

复杂性

社会影响;运行环境;工程规模

交叉性:

多学科知识运用

综合性:

工程目标之间既相互联系,又互相矛盾(多目标优化)
工程师精神:李冰精神

勤于职守---做了大量事实,政绩辉煌 尊重科学---知地理,知天文 身先士卒---考察山形水势,察看民情 开拓进取---前人未作的河道整治
科学/技术/工程
经济 实用
1.2.1 软件工程的研究内容
软 件 工 程 管 理 主线 软件工程层次结构
工具和环境层
效率? 怎么做? 做什么? 为何这样做?
方法和技术层
过程和模型层 标准和规范层 质量核心层
质量?
1.2.2 软件工程的基本原理
Boehm提出了软件工程的7条基本原理 :


用分阶段的生命周期计划严格管理; 坚持进行阶段评审; 实行严格的产品控制; 采纳现代程序设计技术; 结果应能清楚地审查; 开发小组的人员应少而精; 承认不断改进软件工程实践的必要性。 (1分技术+6分管理)
工程的目的

服务社会:满足社会生活和生产需要。 工程就是利用科技知识解决实际问题。

都江堰水利工程


科技知识之一:河流的曲流原理——河流有一种 走曲线的趋势,河槽中的水流呈螺旋状向前流动 着,这一种流动的结果使河岸的凹岸侵蚀冲刷, 在凸岸将携带的泥沙堆积。 解决实际问题:排沙 使成都平原成天府之国,促秦灭楚。
古代工程:受制于技术 现代工程:受制于人(人的因素更大)

1.1 软件及其发展
软件是计算机系统中看不见、摸不着的逻辑 部分,以程序、数据和文档的形式出现。



软件特征--反映软件的共性 软件分类--反映软件的个性 软件发展与危机-软件共性与个性的表现
1.1.1 软件特征(共性)
软件与硬件相比较不同的地方,也即所有软件具有的共性:
第1章 绪论
中南大学软件学院 任胜兵
工程与科学


Science is concerned with theory and fundamentals; Engineering is concerned with the practicalities of developing and delivering useful product or system. Science theories are still insufficient to act as a complete underpinning for Engineering.
工程可持续发展

工程长期可持续发挥效益在于工程的维 护管理。

都江堰水利工程:岁修



机构-----专门官员督办 制度-----每年枯水季节预防性岁修 技术-----深淘滩,低作堰(石马/卧铁) 费用-----当地既丰富又廉价的竹子、木料以及和 取之不尽的泥沙和卵石
工程的特点

系统性

工程之间相辅相成,互相制约(全局观)

宝瓶口引水工程


知识:物理学原理热胀冷缩 技术:先用火围着石头烧,把石头烧得有红 又烫又滚以后,再用冰凉的岷江水去浇,石 头经过热胀冷缩便炸开,利于开凿。 工程:开凿总共花了八年时间。凿开了江面 宽度为20米,河长高度为80米呈梯形状的口 子。
古代工程与现代工程比较

工程的三要素:人、技术和过程
Boehm认为这7条原理是确保软件产品质量和开发效率的原理的最小集合。
分类标准:GB/T13702-92

系统软件(1) 支持软件(2) 应用软件(3)
×
×× ×× ××
ຫໍສະໝຸດ Baidu
第一层,表示大类 第二层,表示中类 第三层,表示小类
例如:操作系统:110; 软件开发工具:310;测试工具:31040
按服务对象的范围分类

项目软件:软件开发机构受特定用户委托开发而成的软件。例如,电 信管理系统、空中交通管制系统、军用防空指挥系统、生产过程控制 系统等。 一般情况下,项目软件在合同的约束下开发。为了争取软件开发 合同,软件开发机构必须重视质量管理,而软件开发机构的技术实力、 开发经验以及社会信誉等也相当重要。
1.1.2 软件分类(个性)

按应用功能分类
1.系统软件:与计算机系统硬件紧密交互,协调计算机系统各部分工作的 软件。例如操作系统、设备驱动程序及通信处理程序等。系统软件是计算 机系统必不可少的一个组成部分。 2.支持软件:协助使用者开发软件的工具性软件。例如程序编译器、自动 化测试软件、系统分析辅助工具及软件开发管理工具等。 3.应用软件:为使用一个计算机系统以得到某种功能而专门开发的软件。 例如:商业信息处理软件、工程和科学计算软件、智能产品嵌入软件等。 有时,支持软件和应用软件的划分边界比较模糊,如字处理软件,既 是支持软件辅助软件开发,又可看成应用软件。
1.2 软件工程


性质(能力):指导软件开发和维护的工程 性学科; 理论基础:计算机科学、管理科学和数学等 ; 手段:采用工程化的概念、原理、技术和方 法进行软件的开发和维护,把经过时间证明 正确的管理措施和当前能够得到的最好的技 术、方法相结合 ; 目的:以期用较少的代价获取高质量的软件。
相关文档
最新文档