• / 57
  • 下载费用:10 金币  

北京理工大学现代远程教学

关 键 词:
北京理工大学 现代 远程教学
资源描述:
北京理工大学现代远程教学北京理工大学现代远程教学 计算机系教师 朱玉文 课 名 软件工程 教材 软件工程导论 参考教材 1 1 计算机软件工程规范国家标准汇编计算机软件工程规范国家标准汇编 2000 2000 2 2 软件工程软件工程JavaJava语言实现语言实现 3 3 软件工程实践者的研究方法 教学方式 授课 课程设计 课时 60 第一章 软件工程概论 1 1软件工程发展历史 软件工程 术语首次出现 1968年德国照开的 NATO会议上 软件工程 是采用工程的概念 原理 技术和 方法来开发与维护软件 把经过时间考验而 证明正确的管理技术和当前能够得到的最好 的技术方法结合起来 1 1软件工程发展历史 软件是一个担任双重任务的产品 1 它是一个有价值的商品 2 它是一个开发和运行产品的载体 软件从设计 实现 维护和传统工程有 相同的基础 软件的发展可用下面几个阶段来描述 Evolution of software 早期 面向批处理 有限的分布 自定义软件 19501960 Evolution of software 早期 第二阶段 面向批处理 多用户 有限的分布 实时 自定义软件 数据库 软件产品 1950196019701980 Evolution of software 早期 第二阶段 第三阶段 面向批处理 多用户 分布式系统 有限的分布 实时 嵌入 智能 自定义软件 数据库 低成本硬件 软件产品 消费者的影响 19501960197019801990 Evolution of software 早期 第二阶段 第三阶段 第四阶段 面向批处理 多用户 分布式系统 强大的桌面系统 有限的分布 实时 嵌入 智能 面向对象技 术 自定义软件 数据库 低成本硬件 专家系统 软件产品 消费者的影响 人工神经网络 并行计算 网络计算机 195019601970198019902000 软件的特点 软件是一个逻辑的而不是物理的产 品 软件具有与硬件不同的特点 F软件是由开发或工程化而形成的 而 不是传统意义上的制造产生的 F软件不会 磨损 F大多数软件是自定义的 而不是通过 已有构件组装的 F维护不同 硬件 软件生命周期的比较 硬件故障率曲线 软件实际故障率曲线 生 命 初 期 磨 损 后 理想曲线 实际曲线 由于副作用造成 的故障率提高 修 改 故 障 率 故 障 率 时间 时间 软件构件 软件构件要求 标准构件 components 可复用性 Reusability 集成化软件开发环境 ISEE 应用 系统 软件生产过程 软件生产过程 应用构件 提取车间 应用 构件库 领域 1 领域 2 应用 系统 软件生产过程 应用构件 提取车间 应用 构件库 构件生 产车间 领域 1 领域 2 应用 系统 1 2 3 4 1基础构件 2功能构件 3接口构件 4用户界面构件 软件生产过程 应用构件 提取车间 应用 构件库 构件生 产车间 构件库 组装 车间 领域 1 领域 2 应用 系统 1 2 3 4 1基础构件 2功能构件 3接口构件 4用户界面构件 软件技术面临的问题 F 软件复杂性 例 1 Windows95程序超过1000万行 例 2 WWMCCS 军事和控制 花费3500多人拖 了几年 交付后发显出100个错误 最后失 败 例 3 城市银行出纳机程序7 8万行 150人年 F 软件生产率 OO技术 软件IC 软件危机的主要特征 u软件开发周期大大超过规定日期 u软件系统开发成本高 周期长 质量差 满 足不了市场需求 u 软件质量无保证 u软件系统开发人员数量少 质量低 F软件系统维护难度大 F软件开发缺乏合适的工具和方法 F软件的版权问题得不到保证 改正一个问题需付出的代价 需 求 分 析 结 构 设 计 详 细 设 计 编 码 集 成 测 试 系 统 测 试 现 场 改正 一个 问题 的估 计费 用 改正 一个 问题 估计 的工 作量 20 200 2000 1000 5 0 2 5 0 05 0 5 美元 人天 yet Success Hasn t Come Easily 31 53 16 成功 挑战 失败 成功的标准 s用户在使用 s用户使用软件很容易做完要做的事 失败的根本原因 开发人员写出的软件达不到用户要求 F 人的能力问题 F 当前技术发展问题 F 系统平台问题 1 2中国软件产业 挑战与机遇 挑战 P 外国软件打入 J 软件侵权行为 J 软件开发投资力度不足 J 软件人才结构不合理 缺乏高级 系统程序员和项目负责人 软件人员缺乏软件工程化的概念 软件工程 software engineering 软件工程的目标 是应用计算机科软件工程的目标 是应用计算机科 学 数学及管理科学等原理开发软件学 数学及管理科学等原理开发软件 的工程 它借鉴传统工程的原则 方的工程 它借鉴传统工程的原则 方 法 以提高质量 降低成本为目的 法 以提高质量 降低成本为目的 软件工程实施原则 经济地获得可 靠的和能在实际机器上高效运行的软 件而建立合适的 使用效果好的工程 原则规范 软件工程 一种层次化技术 工具 方法 过程 质量焦点 Software engineering layers 软件工程 一种层次化技术 质量焦点质量焦点 支持软件工程的根基就在于对质 量的关注 过程 过程 软件工程的过程将技术层结合在一起 使计算机软件合理和及时开发出来 方法方法 涵盖一系列的任务 需求分析 设计 编程 测试和维护 工具工具 对过程 方法提供自动或半自动的支 持 例CASE集成软件 硬件或一个软件工 程数据库 件工程是一门交叉学科 u软件开发模型 u软件开发方法 u 软件立项到终止的全过程 u 软件开发工具 u 软件开发环境 u 计算机辅助软件工程 CASE u 软件工程管理 u 软件工程经济学 软 件 工 程 的 主 要 研 究 内 容 软件工程框架 可 用 性性性 确 正 合 算 选取适宜的开发模型 采用合适的设计方法 提供高质量的工程支持 重视软件工程的管理 基 本 过 程 原则 目标 过 程 支 持 过 程 组 织 过 程 软件工程 课程的教学与实践 1 1 立足于系统的整体 立足于系统的整体 2 2 讲授系统分析 系统需求 讲授系统分析 系统需求 系统设计 系统实现 系统测试系统设计 系统实现 系统测试 及维护的理论和方法 及维护的理论和方法 3 3 运用所学软件和技术构筑一运用所学软件和技术构筑一 理想的系统 理想的系统 与其它软件专业课的区别 软件工程 课程的教学与实践 u 对软件的认识 上升 程序 系统 u 思维定式 上升 程序员 系统工程师 系统分析员 系统分析员的地位 用户分析员 程序员 一个好的工业 应有一套 良好的标准来配套 软件的工业化生产过程应具备的特点 F明确的工作步骤 F详细具体的规范化文档 F明确的质量评价标准 软件工程技术的两个明显特点 u 强调规范化 u 强调文档化 1 3 软件生存周期 1 3 1 软件生存周期 Software Life Cycle 软件产品或软件系统从设计 投入使用到被淘汰的全过 程 软件系统开发方法软件系统开发方法 F结构化开发方法 瀑布模型 F快速原型方法 F面向对象开发方法 F 方法 1 1 软件工程和软件生命周期软件工程和软件生命周期 为什么称为软件生命周期 为什么称为软件生命周期 软件生命周期 人的生命周期 费用 效 益 费用 贡献 2 软 件 生 存 期 的 步 骤 1 制定计划 2 需求分析和定义 3 软件设计 4 程序编写 5 软件测试 6 运行 维护 软件 生存 期的 阶段 划分 国标 计算机软件开发规范 1 可行性研究与计划 2 需求分析 3 总体设计 上游 4 详细设计 5 实现 6 集成测试 7 确认测试 下游 8 使用和维护 只考虑 编写程序 涉及整个 软件生存 周期 扩展到 软件工作的范围 1 3 2 软件过程模型 软件过程模型是软件开发全部过 程 活动和任务的结构框架 它能直 观表达软件开发全过程 明确规定要 完成的主要活动 任务和开发策略 软件过程模型也常称为 软件开发模型 软件生存期模型 软件工程范型 软件生存期模型可归结为三大类 F 瀑布模型 F 原型模型 F OO模型 1 瀑布模型 线形顺序模型 可行性研究与计划 需求分析 设计 编码 运行维护 测试 定义 阶段 开 发 阶 段 维护阶段 按照传统瀑布模型开发软件的特点 1 阶段间具有顺序性和依赖性 2 推迟实现的观点 3 每个阶段必须完成规定的文档 每个阶段结束前完成文档审查 及早改正错误 按照传统瀑布模型开发软件的原则 瀑布模型是古典的软件开发方法 它的基本开 发原则是 1 承接上一项活动中接收本项活动所需的对象 作为输入 2 利用输入进行本项活动 3 把本项的活动成果传送下一项 4 对本项工作进行评审 若评审正确才能进行 下一项工作 2 原型模型 又称快速成型模型 一般用于最终系统的早期用户评 价 开发工期短 质量有保证 原型范型 听取用 户意见 建造 修改 原型 用户测试 运行原型 原型化软件生存期模型 系统需求 分析定义 生成 原型 系统 设计 程序 设计 编码 测试 运 行 和维护 原型化 含原型化的 软件生存期 3 演化模型 针对事先不能够完整定 义需求的软件项目 建 立起来的开发方法 演化模型一般开发过程 1 根据用户给出的待开发系统的核 心需求 先开发出核心系统 2 用户试用后 提出精化系统 增 强系统能力的需求 开发人员实施 开发的迭代过程 需求 设计 需求 编码 测试 集成 运 行 试 用 核心系统开发 设计 需求 编码 测试 集成 运 行 试 用 第二次迭代 反馈 反馈 演化模型 4 增量模型 递增模型 增殖模型 先完成一个系统子集的开 发 再按同样的开发步骤增加 功能 系统子集 如此递增下 去直至满足全部系统需求 系统的总体设计在初始子集设 计阶段就应作出设想 分析 增量模型 设计 编码测试 分析 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 增量1 增量2 增量3 增量4 交付的 增量1 交付的 增量2 交付的 增量3 交付的 增量4 日历时间 5 螺旋模型 风险 分析 工程 实施 制定 计划 客户 评估 Product Maintenance Projects 产生维护计划 Product Enhancement Projects产生增加计划 New Product Development Projects 新产生发展计划 Concept Development Projects 发展的观点 6 喷泉模型 演化 分析 设计 实现 确认 维护 喷泉模型特点 主要用于支持面向对象开发 过程体现了软件创建所固有的迭 代和无间隙的特征 8 可重用部件组装模型 使用重用技术的软件工程模型 部件 构件 可重用的软件成份 可重用部件组装模型 系统A的 软件构成 系统C的 软件构成 系统B的 软件构成 可重用 部 件 可重用 部 件 1 3 3 软件开发方法 软件开发过程所遵循的方法和步骤 开发过程一般包括 需求 设计 实现 确认等活动 主要针对需求和设计的典型方法 结构化方法 SASD 面向数据结构方法 JSD 面向对象方法 OO
展开阅读全文
  麦档网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:北京理工大学现代远程教学
链接地址:https://www.maidoc.com/p-16408771.html

当前资源信息

L****

编号: 20180920151800736293

类型: 共享资源

格式: PPT

大小: 286.50KB

上传时间: 2020-04-01

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2018-2020 maidoc.com版权所有  文库上传用户QQ群:3303921 

麦档网为“文档C2C模式”,即用户上传的文档所得金币直接给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的金币归上传人(含作者)所有。
备案号:蜀ICP备17040478号-3  
川公网安备:51019002001290号 

本站提供办公文档学习资料考试资料文档下载


收起
展开