版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程,李 东 ,提纲,引言 认识软件 认识软件工程 软件工程人才和知识体系,1.引言,为什么要讲软件和软件工程 唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。 对于软件和软件工程的认识是困难的,但软件开发的过程,又存在很多困惑,需要对此有深刻的认识,认识软件及软件开发过程是困难的,对软件的偏见或误解 软件就是程序,软件开发就是编写程序。 编完了程序,就一切OK了。 掌握了最新的语言和工具,就能写程序了。 软件是灵活的,软件的修改很容易。 一个人,只要会编程,就能写软件,就是程序员;一个公司,只要召些程序员,就能开发好的软件产品。只要有几个有经验的
2、程序员,再找些兼职的大学生,就能组成一个软件公司。,2. 认识软件,软件在现代社会的角色 什么是软件 软件的特征 软件是一门科学 软件的神话,软件无处不在,软件不仅仅是在计算机运行的程序 任何预先定义好的程序步骤的地方,都有软件的身影 软件的应用领域 系统软件 实时软件 商业软件 工程和科学计算软件 嵌入式软件 个人计算机软件 基于Web的软件(网站) 人工智能软件,什么是软件,软件的定义软件由二部分组成: 程序:在运行时,能提供所希望的功能和性能的指令集和数据结构。 文档:描述程序研制过程、方法及使用的文档 软件处理的是信息和逻辑 软件的开发,绝不仅仅是编写程序 软件围绕着逻辑进行 软件是新
3、时代的产业核心 软件就是一个信息交换器 产生、管理、获取、修改、显示或传送信息,软件在现代社会的角色,各产业在经济结构中的比例 工业经济结构与信息经济结构的演变 软件是信息时代的焦点 计算机和软件导致了“知识的民主化” “电子社会”是全球知识交换的关键。 由计算机控制的信息和知识,将是21世纪中权力的焦点。,软件的特征,软件是逻辑的而不是有形的系统元件,具有与硬件完全不同的特征 软件是被开发或设计的,而不是传统意义上被制造的 软件成本集中于开发上,软件项目不能像制造项目那样管理 软件不会磨损,不过它会退化 对未发现的BUG的修复,会引起较高的故障率 不能像硬件维修中直接更换磨损的零件,软件维护
4、要复杂得多,软件的特征(2),大多数软件开发,仍是手工作坊式的开发模式 在硬件世界和现代工业的发展中,被大量使用的标准设计的构建是一条非常成功的路子。 标准化也是软件设计的一个方向,软件产业正在向基于构件的组装前进 目前,大多数软件仍是定制的 软件是一种逻辑实体,具有抽象性。 人们可以使用软件,但是无法看到软件本身的形态 。必须通过观察、分析、思考、判断,才能了解其功能、性能等特性。 设计中,软件的质量、可维护性、可测试性更加重要 当前软件设计的趋势,是设计高度封装,定义良好的应用接口 软件是复杂的,而且以后会更加复杂 软件是人类有史以来生产的复杂度最高的工业产品。 软件的复杂,不是因为软件本
5、身复杂,而是人的思想复杂,软件是一门科学,软件和数学的关系 马克思说:一门科学只有当它达到了能够成功应用数学时,才算真正发展了。 爱因斯坦说:数学给予精密自然科学以某种程度的可靠性,没有数学,这些科学是达不到这样的可靠性的。 电子计算机(尤其是计算机软件)的产生与发展改变着数学的历史,软件的神话(Myths),管理者眼中的软件神话 辅助工具 关于建造软件的标准和书籍,难道不能提供人们所有的信息吗? 程序员眼中的软件神话 软件是一门艺术 一旦写出了程序,并能正常运行,程序员的工作就结束了 软件工程将创建大量的、不必要的文档,并影响项目进度 在程序真正运行之前,是没有办法评估其质量的。 产业界的数
6、据表明:在一个软件上所投入的60%到80%的工作量,是花费在第一次将软件交给客户之后。,软件的神话(Myths),客户眼中的软件神话 软件的神话,导致客户过高的期望值,并最终引起对开发人员的不满意。 典型的客户神话: 有了对目标的一般性描述,就足以开始写程序了我们可以以后再补充细节 糟糕的系统定义是软件项目失败的主要原因。对需求进行形式化的、详细的描述是由必要的,这些内容只有通过客户和开发者之间彻底的交流之后,才能确定。 软件很灵活,可以很方便的进行修改。 很多客户认为项目需求总是在不断变更,并且这些变更能够很容易地满足,软件开发的困境,无论是早期的孤立的程序员,还是现在的软件开发团队,面临着
7、相同的无法克服的困境和问题 为什么需要那么长时间才能结束开发? 为什么软件开发的成本如此之高? 为什么我们不能在把软件交付给客户之前就发现所有的错误? 为什么在软件开发过程中,我们总是难以度量其进度?,3. 认识软件工程,计算机软件发展的三个阶段 软件危机 软件工程 认识软件开发过程,计算机软件发展的三个阶段及特点,软件危机(software crisis )的产生,硬件和软件发展的不平衡 硬件性能的发展极其迅速,给软件提出了更高的要求 软件的开发和维护成本越来越大,令人吃惊地高 失败的软件开发项目屡见不鲜 什么是软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的成本、质量、进度失控
8、的严重问题。,软件危机,软件危机的表现 软件成本日益增长 开发进度难以控制 软件质量差 软件维护困难 软件开发速度跟不上计算机发展速度 软件危机的原因 技术原因 软件规模越来越大 软件复杂度越来越高 管理原因 软件开发缺乏正确的理论指导,过分依靠个人技巧和创造性 对用户需求没有完整准确的认识,就匆忙着手编写程序 如何克服软件危机 :软件工程,软件工程,软件工程的提出和定义 1968年秋,提出 软件工程 1)将系统化的、规范化的、可量化的工程原则和方法,应用于软件的开发、运行和维护。 2) 对1)中方法的理论研究 软件工程 认为:按照工程化的原则和方法组织软件开发工作,是摆脱软件危机的一个主要出
9、路。 主要目标:高效开发高质量软件 两条思路 工业界:参照修改其它工程项目的管理模式如ISO, Six Sigma 学术界:CMM/I,软件开发过程模型,软件开发过程的最简单的模型:瀑布模型 意义 软件的开发,是有不同的阶段的 软件开发,不仅仅是编码,软件开发有自身的规律,软件的生命周期 软件开发模型 瀑布模型 喷泉模型 螺旋模型 软件开发方法 结构化方法 structured method 面向对象方法 object-oriented method 模块化方法 modular method 软件复用 software reuse 软件开发新方法 敏捷软件开发(极限编程XP) 快速软件开发 统
10、一软件开发过程,软件开发过程的标准化,过程决定了一个软件开发的质量 软件开发过程的成熟,是长期积累的结果 如何衡量一个组织具有开发可控软件的能力 ISO9000 CMM,软件开发过程中几个关键的认识,认识软件开发过程的模型 软件开发的过程,不只是编写程序 软件开发的过程是有规律的 软件开发过程模型有很多,认识开发过程的规律很困难 研究和认识软件开发过程的规律,不是玩虚的,这是成功开发软件的基础 开发成本分布 工作量分布 40-20-40规则,软件工程学科的特点,信息化社会需要大批实用型、国际化的软件工程人才 软件工程学科是以计算机科学为基础的新兴交叉学科 具有鲜明的工程特色 与应用领域结合紧密
11、,SE人才培养的基本定位,培养目标- 软件工程师 学生毕业后,应具备软件工程师从事软件工程实践所需要的素质、知识和能力,SE知识结构,SWEBOK的十个领域 软件需求 软件设计 软件构造 软件测试 软件维护 软件配置管理 软件工程管理 软件工程过程 软件工程工具和方法 软件质量,SE知识结构:SE方向三层次知识结构,SE知识结构:SEEK的10个知识领域 494,计算基础 172 数学和工程基础 89 职业实践 35 软件建模与分析 53 软件设计 45 软件验证与确认 42 软件进化 10 软件过程 13 软件质量 16 软件管理 19,SE知识结构:应用知识领域,以网络为中心的系统 信息系统和数据处理 金融和电子商务系统 容错和可存活系统 高安全系统 安全攸关系统 嵌入式和实时系统 生物学系统 科学计算系统 电信系统 航空和交通系统 工业过程控制系统 多媒体、游戏和娱乐系统 小型移动平台系统 基于Agent的系统 中文信息处理 ,SE能力要求,软件工程师的能力和品质 能运用理论、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文五年级下册期中B卷命题导向与复习教学案
- 2026年连云港职业技术学院辅导员招聘笔试备考题库及答案解析
- 外研版八年级英语下册 Modules 45 健康与卡通主题短语整合教案
- 2026年武汉工程科技学院教师招聘考试备考试题及答案解析
- 2026年呼伦贝尔职业技术学院教师招聘考试备考题库及答案解析
- 核心素养导向的初中数学八年级下册《二次根式》单元整体教学设计
- 小学英语四年级下册Unit1 My School读写整合课教案
- 2018年秋人教版高一历史必修一试题单元质量评估2
- 初中八年级物理大概念统领下“透镜”单元教学评一体化设计
- 2026年保密整改跟踪登记表
- 2026年333题库和答案
- 2026上海嘉定区区属国有企业春季招聘笔试参考题库及答案解析
- 家校同心 全力冲刺2026届高三高考冲刺家长会
- 离婚协议书(2026标准版)
- 2026财政部部属单位招聘80人考试备考试题及答案解析
- 水利工程监理工作交底
- 石油化工行业设备维修保养规范(标准版)
- 化学实验室绩效考核制度
- GB/T 4937.10-2025半导体器件机械和气候试验方法第10部分:机械冲击器件和组件
- 增强塑料制品标准与规范手册
- 2026江苏润扬交通工程集团限公司人才招聘10人易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论