




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程导论 课程说明 教学计划与课时安排本课程的学习方法考核方式与成绩的构成 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的概念及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 软件的概念 特点及分类 软件是计算机系统中与硬件相互依存的另一部分 它是包括程序 数据及其相关文档的完整集合 软件是什么 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发 维护和使用有关的图文材料 软件的特点 软件是一种逻辑实体 而不是具体的物理实体 因而它具有抽象性软件的生产与硬件不同 在它的开发过程中没有明显的制造过程在软件的运行和使用期间 没有硬件那样的机械磨损 老化问题 软件的概念 特点及分类 软件的概念 特点及分类 软件的概念 特点及分类 软件的开发和运行常受到计算机系统的限制 对计算机系统有着不同程度的依赖性软件开发至今尚未完全摆脱手工艺的开发方式软件本身是复杂的实际问题的复杂性程序逻辑结构的复杂性软件成本相当昂贵相当多的软件工作涉及到社会因素 软件的概念 特点及分类 软件的分类 一 按软件的功能进行划分系统软件操作系统数据库管理系统设备驱动程序通信处理程序等 软件的分类 支撑软件文本编辑程序文件格式化程序磁盘和磁带向数据传输的程序支持需求分析 设计 实现 测试和支持管理的软件 软件的分类 应用软件商业数据处理软件工程与科学计算软件计算机辅助设计 制造软件系统仿真软件智能产品嵌入软件医疗 制药软件事务管理 办公自动化软件计算机辅助教学软件 软件的分类 二 按软件规模进行划分类别参加人员数研制期限源程序行数微型11 4周0 5k小型11 6月1k 2k中型2 51 2年5k 50k大型5 202 3年50k 100k甚大型100 10004 5年1M 1000k 极大型2000 50005 10年1M 10M 软件的分类 三 按软件工作方式划分实时处理软件分时软件交互式软件批处理软件四 按软件服务对象的范围划分项目软件产品软件 软件的分类 五 按使用的频度进行划分一次使用频繁使用六 按软件失效的影响进行划分高可靠性软件一般可靠性软件 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的概念及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 软件的发展与软件危机 程序设计阶段 50至60年代程序系统阶段 60至70年代软件工程阶段 70年代以后 自20世纪40年代中出现了世界上第一台计算机以后 就有了程序的概念 其后经历了几十年的发展 计算机软件经历了三个发展阶段 程序设计阶段 50至60年代 软件的开发方式是个体手工劳动 手工作坊方式 使用的工具是机器语言 汇编语言 开发的方法追求编程技巧和程序执行效率 程序难读 难懂 难修改 软件的特征是只有程序 不重视程序的设计方法 软件的发展与软件危机 程序系统阶段 60至70年代 该阶段的生产方式是作坊式的小集团合作 生产工具是高级语言 开发方法仍旧靠个人技巧 但开始提出了结构化方法 大量的软件需求已提出 软件从业人员开始增加 但开发技术没有新的突破 它们不适应规模大 结构复杂的软件开发 因此产生了尖锐的矛盾 从而导致了软件危机的产生 软件的发展与软件危机 软件工程阶段 70年代以后 软件工程阶段的生产方式是工程化生产 并使用数据库 开发工具 开发环境 网络 分布式 面向对象技术来开发软件 软件的开发技术有很大的进步 但软件成本仍居高不下 并没有完全摆脱软件危机 软件的发展与软件危机 早期第二阶段第三阶段第四阶段 面向批处理 多用户 分布式系统 强大的桌面系统 有限的分布 实时 嵌入 智能 面向对象技术 自定义软件 数据库 低成本硬件 专家系统 软件产品 人工神经网络 并行计算 网络计算机 1960 1970 1980 1990 2000 软件的发展与软件危机 什么是软件危机 软件危机是指在计算机软件开发和维护过程中遇到的一系列严重问题 概括地说 软件危机包括两方面的问题 如何开发软件 怎样满足对软件的日益增长需求 如何维护数量不断膨胀的已有软件 软件的发展与软件危机 例 Windows95有1000万行代码Windows2000有5000万行代码Exchange2000和Windows2000开发人员结构 软件的发展与软件危机 软件危机的表现 产品不符合用户的需要软件的生产率低 不能满足客观需要软件产品的质量差对软件开发成本和进度的估计常常不准确软件的可维护性差软件文档资料通常既不完整也不合格软件的价格昂贵 其成本在计算机系统成本所占的比例逐年上升 软件的发展与软件危机 1968年由NATO 北大西洋公约组织 在德国召开的国际学术会议上 FeitzBauer首先提出了 软件工程 概念 标志着软件开发进入了软件工程阶段 软件的发展与软件危机 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的定义及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 软件工程的定义及其要素 软件工程的定义 Boehm 运用现代科学技术知识来设计并构造计算机程序及为开发 运行和维护这些程序所必需的相关文件资料IEEE 软件工程是开发 运行 维护和修复软件的系统方法FritzBauer 建立并使用完善的工程化原则 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法 软件工程的定义及其要素 软件工程的定义 软件工程是应用计算机科学 数学及管理科学等原理开发软件的工程 它借鉴传统工程的原则 方法 以提高质量 降低成本为目的 软件工程与计算机科学的关系图 软件工程的定义及其要素 软件开发技术软件开发方法学 软件开发过程 软件工具和软件工程环境软件工程管理软件管理学 软件经济学 软件心理学软件工程所包含的内容不是一成不变的 随着人们对软件系统的研制开发和生产的理解 应用发展的眼光看待它 软件工程是一门交叉学科 软件工程的主要研究内容有 软件工程的定义及其要素 软件工程三要素 方法 工具和过程 软件工程方法为软件开发提供了 如何做 的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境 软件工程过程定义的内容方法使用的顺序要求交付的文档资料为保证质量和适应变化所需要的管理软件开发各个阶段完成的里程碑 软件工程的定义及其要素 工具 方法 过程 质量焦点 Softwareengineeringlayers 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的定义及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 软件工程的重要性 学习软件工程是保证软件质量 满足用户的需要学习软件工程是提高软件生产率的需要软件工程思想有助于的集体合作开发 是适应软件开发日趋 社会化大生产 专业化分工 的要求软件规范化开发的需要 有助于形成软件开发单位的企业文化更新观念 上升层次是培养我国高层次软件人才的需要 工具 软件工程技术的两个明显特点 强调规范化强调文档化 软件工程的重要性 软件工程的重要性 一个好的工业 应有一套良好的标准来配套 软件的工业化生产过程应具备的特点 明确的工作步骤详细具体的规范化文档明确的质量评价标准 软件工程的重要性 转变思维定式 更新观念 提高认识 上升层次 转变对软件的认识 系统工程师 程序员 上升 系统分析员 软件工程的重要性 处在字路口的中国软件产业 主权大国必须建立基于自主技术的 完整的软件产业体系软件本国提供率 中国1 3左右 美国97 印度模式 还是 中国模式 软件人才结构不合理 缺乏中高级软件人才软件人员缺乏软件工程化的概念 信息产业关键是软件 十 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的定义及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 有关软件工程观念讨论 观念之一 我们拥有一套讲述如何开发软件工程的书籍 书中充满了标准与示例 可以帮助我们解决软件开发中遇到的任何问题 观念之二 我们拥有最好的开发工具 最好的计算机 一定能做出优秀的软件 观念之三 如果我们落后于计划 可以增加更多的程序员来解决 观念之四 既然需求分析很困难 不管三七二十一先把软件做了再说 反正软件是灵活的 随时可以修改 有关软件工程观念讨论 需求分析 结构设计 详细设计 编码 集成测试 系统测试 现场 改正一个问题的估计费用 改正一个问题估计的工作量 20 200 2000 1000 5 0 2 5 0 05 0 5 美元 人天 如果软件运行较慢 是换一台更快的计算机 还是设计一种更快的算法 我们是买现成的程序 还是彻底自己开发 有最好的软件工程方法 最好的编程语言吗 编程时是否应该多使用技巧 软件中的错误是否可按严重程度分等级 有关软件工程观念讨论 程序员升为经理后是否还要编程 一级严重 错误导致软件崩溃 二级严重 错误导致一个特性不能运行并且没有替代方案 三级严重 错误导致一个特性不能运行但有替代方案 四级严重 错误是表面化的或是微小的 软件中的错误是否可按严重程度分等级 微软的一些开发小组将错误分成四个等级 有关软件工程观念讨论 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的定义及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 软件工程中的角色开发队伍中的角色二个重要的角色程序经理程序员 实施软件工程的角色 程序员诚实简单 实用主义爱憎分明工作单调但不乏味 实施软件工程的角色 程序经理技术水平是程序员队伍中的最高级别能做最多且最难的工作有人格魅力 聪明人一定反应敏捷 善于接受新事物 他能迅速进入一个新领域 给你一个头头是道的解释 他提出的问题往往一针见血 击中要害 他能及时掌握所学知识 并且博闻强记 他能把本来认为互不相干的领域联系在一起使问题得到解决 他富有创新精神与合作精神 实施软件工程的角色 程序经理一般就是程序员队伍中最聪明的那个家伙 比尔 盖茨曾这样描述聪明人 第一章软件工程概论 软件的概念 特点及分类软件的发展与软件危机软件工程的定义及其要素软件工程的重要性有关软件工程的观念讨论实施软件工程的角色软件工程的目标和原则结束语 软件工程的目标和原则 软件工程项目的基本目标 付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作 及时交付使用 软件工程的目标是提高软件的质量与生产率 最终实现软件的工业化生产 软件工程目标之间的关系 软件工程的目标和原则 抽象 抽取事物最基本的特性和行为 忽略非基本的细节 信息隐蔽 将模块设计成 黑箱 实现的细节隐藏在模块内部 不让模块的使用者直接访问 模块化 模块是程序中逻辑上相对独立的成分 是独立的编程单位 应有良好的接口定义 局部化 要求在一个物理模块内集中逻辑上相互关联的计算机资源 保证模块之间具有松散的耦合 模块内部具有较强的内聚 确定性 软件开发过程中所有概念的表达应是确定的 无歧义性的 规范的 软件工程的目标和原则 软件工程的原则 软件工程的定义及其要素 一致性 整个软件系统 包括程序 文档和数据 的各个模块应使用一致的概念 符号和术语 程序内部接口应保持一致 完备性 软件系统不丢失任何重要成分 可以完全实现系统所要求功能的程度 可验证性 开发大型的软件系统需要对系统自顶向下 逐层分解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司因公招待管理制度
- 培训费用扣款管理制度
- 医院宣传分级管理制度
- 厂里男女员工管理制度
- 公司寄出样品管理制度
- 医院新来病患管理制度
- 厂区清洁收费管理制度
- 公司内部群组管理制度
- 公司会议议事管理制度
- 加强医疗制度管理制度
- 法律文化-形考作业1-国开(ZJ)-参考资料
- 描绘人间温情-怎样刻画人物 课件-2023-2024学年高中美术人美版(2019)选择性必修1 绘画
- 职业技术学校中医康复技术专业人才培养方案
- 辽宁省名校联盟2025年高考模拟卷押题卷数学(三)
- 《人口与资源关系》课件
- 期末测试卷(A卷) 2024-2025学年人教精通版英语五年级下册(含答案含听力原文无音频)
- 药品理化检验培训
- 腹部带蒂皮瓣护理
- 甘肃省2025年甘肃高三月考试卷(四4月)(甘肃二诊)(物理试题+答案)
- 汽车维修工电子燃油喷射系统试题及答案
- 浙江首考2025年1月普通高等学校招生全国统一考试 地理 含答案
评论
0/150
提交评论