




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
chapter 0 1 长江大学计算机科学学院余华云 软件工程 教材和参考书 教材 RogerSPressman著 软件工程 实践者的研究方法 第7版 梅宏译 北京 机械工业出版社 2011主要参考书 SoftwareEngineering Eighthedition 作者Sommerville软件工程案例教程韩万江机械工业出版社 2010年7月StephenR Schach著 面向对象与传统软件工程 统一过程的理论与实践 原书第6版 机械工业出版社 2006年第1版卡耐基 梅隆大学软件工程研究所编著 能力成熟度模型 CMM 软件过程改进指南 刘孟仁等译 北京 电子工业出版社 2001IvarJacobson GradyBooch JamesRumbaugh著 统一开发软件工程 周伯生 冯学民 樊东平译 北京 机械工业出版社 2002ScottWAmbler著 敏捷建模 极限编程和统一过程的有效实现 张嘉路等译 北京 机械工业出版社 2003IBM大学站点 Questions 为什么学习本课程 希望从中学到什么 对本课程有些什么了解 诸如 软件开发方面有什么体会 什么是软件 什么是工程 如何有效进行软件开发 软件就是程序吗 怎么学 chapter 0 3 课程目标 是什么 了解 软件工程 学科的形成和发展 思想精髓为什么 软件危机怎么办 学习 软件工程规范 掌握与大型软件系统相关的规划 分析 设计 实现 测试与维护等概念 原理 方法 工具与过程 掌握 软件工程 的基本管理方法 培养团队合作精神 训练实际软件工程动手的能力 chapter 0 4 课程内容目录 第一部分软件过程第一章软件工程概述 2学时 第二章软件过程 6学时 第二部分建模第三章需求建模与分析 6学时 第四章系统设计 4学时 第五章用户界面设计第六章详细设计 4学时 第三部分质量管理第七章项目编码 2学时 第八章项目测试 6学时 第九章软件项目管理与质量保障 4学时 chapter 0 5 考核方式 期末成绩 50 平时 50 课堂讨论 发言 15分 课后阅读材料 查阅情况 奖励5 10分 项目完成质量 文档 程序 按时程度 15分 小组长适当加分 管理质量 课堂作业与考勤 10分 chapter 0 6 关于本课程 项目选择1 电脑公司在线购物系统2 音像商店租售系统3 学生信息管理系统4 资料室图书管理系统5 航空机票预订系统6 教材购销系统7 企业人事信息管理系统8 高校工资管理系统9 小型旅行社业务管理系统10 零售药店管理系统11 小型超市管理系统 chapter 0 7 关于本课程 说明与要求 项目规模 小型 每组5 8人 1个小组长 一个题目最多2个组 不得抄袭 分阶段进行验收 超时没有成绩 教学方法讲解自习 阅读讨论 chapter 0 8 第一章软件工程概述 HeBeiNormalUniversityofScience Technology 软件工程概述 软件的概念 特性和分类软件危机与软件工程系统工程的目标软件工程三要素软件工程知识体系及知识域 HeBeiNormalUniversityofScience Technology 1 1软件概述 软件的概述及特点软件的分类 典型helloworld程序 太简单 不要设计 includeintmain printf helloworld 输出helloworld return0 图书馆图书信息管理软件 复杂 需要设计 图书馆信息管理系统 需求分析 图书馆信息管理系统 功能设计 图书馆信息管理系统 物理模型设计 图书馆信息管理系统 部分逻辑模型设计 图书馆信息管理系统 数据设计 过程设计 图书馆信息管理系统 界面设计 软件的概述及特点 计算机软件 与计算机系统操作有关的程序 规程 规则及任何与之有关的文档和数据 软件程序及有关数据 机器可执行 文档 与软件开发 运行 维护 使用 培训有关 不可执行 程序 program 用程序设计语言描述的 适合于计算机处理的语句序列 软件的概述及特点 软件是逻辑产品 硬件是物理产品 特点 1 软件开发更依赖于开发人员的业务素质 智力 人员的组织 合作和管理 软件开发 设计几乎都是从头开始 成本和进度很难估计 2 软件存在潜伏错误 硬件错误一般能排除 3 软件开发成功后 只需对原版进行复制 4 软件在使用过程中维护复杂 5 软件不会磨损和老化 软件的概述及特点 文档 document 一种数据媒体和其上所记录的数据 文档记录软件开发活动和阶段成果 具有永久性 可供人或机器阅读 文档可用于专业人员和用户之间的通信和交流 软件开发过程的管理 运行阶段的维护 软件的概述及特点 图1 1硬件失效曲线图 软件的概述及特点 图1 2软件失效曲线图 软件的分类 图1 3软件的分类 1 2软件危机 软件危机的表现与原因软件危机的启示 HeBeiNormalUniversityofScience Technology 软件危机的表现与原因 软件危机暴发于上个世纪六十年代末 主要表现为 软件的发展速度远远滞后于硬件的发展速度 不能满足社会日益增长的软件需求 软件开发周期长 成本高 质量差 维护困难 软件危机 软件危机的表现与原因 具体来说 软件危机主要有以下一些典型表现 对软件开发成本和进度的估计常常很不准确 用户对 已完成的 软件系统不满意的现象经常发生 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升 软件开发生产率提高的速度 既跟不上硬件的发展速度 也远远跟不上计算机应用迅速普及深入的趋势 除了软件本身的特点 软件危机发生的主要原因有 缺乏软件开发的经验和有关软件开发数据的积累 使得开发工作的计划很难制定 软件人员与用户的交流存在障碍 使得获取的需求不充分或存在错误 软件开发过程不规范 如 没有真正了解用户的需求就开始编程序 随着软件规模的增大 其复杂性往往会呈指数级升高 需要很多人分工协作 不仅涉及技术问题 更重要的是必须有科学严格的管理 缺少有效的软件评测手段 提交用户的软件质量不能完全保证 软件危机的表现与原因 软件危机的启示 彻底消除 软件就是程序 的错误观念 充分认识到软件开发应该是一种组织良好 管理严密 各类人员协同配合 共同完成的工程项目 推广和使用在实践中总结出来的开发软件的成功技术 方法和工具 按工程化的原则和方法组织软件开发工作 如何摆脱软件危机 1 3软件工程 软件工程概念软件工程发展软件工程目标和原则软件工程知识体 软件工程概念 为了克服软件危机 1968年10月在北大西洋公约组织 NATO 召开的计算机科学会议上 FritzBauer首次提出 软件工程 的概念 试图将工程化方法应用于软件开发 在NATO会议上 FritzBauer对软件工程的定义是 软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件 而建立和使用完善的工程原理 软件工程概念 1993年IEEE InstituteofElectrical ElectronicEngineers 电气与电子工程师协会 给出的定义 软件工程是 把系统的 规范的 可度量的途径应用于软件开发 运行和维护过程 也就是把工程应用于软件 研究 中提到的途径 软件工程概念 图1 4软件工程层次图 软件工程概念 软件工程是指导计算机软件开发和维护的一门工程学科 采用工程的概念 原理 技术和方法来开发和维护软件 把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来 以经济地开发出高质量的软件并有效地维护它 这就是软件工程 软件工程目标和原则 软件工程要达到的基本目标包括 达到要求的软件功能 取得较好的软件性能 开发出高质量的软件 付出较低的开发成本 需要较低的维护费用 能按时完成开发工作 及时交付使用 软件工程目标和原则 1 按软件生存周期分阶段制订计划并认真实施 2 坚持进行阶段评审 3 坚持严格的产品控制 4 使用现代软件开发技术 5 明确责任 6 用人少而精 7 不断改进开发过程 软件工程目标和原则 为了达到上述目标 软件工程设计 工程支持以及工程管理在软件开发过程中必须遵循一些基本原则 著名软件工程专家B Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验 提出了软件工程的七条基本原则 用分阶段的生存周期计划进行严格的管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术软件工程结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性B Boehm指出 遵循前六条基本原则 能够实现软件的工程化生产 按照第七条原则 不仅要积极主动地采纳新的软件技术 而且要注意不断总结经验 一些不正确的观念 观点之一我们拥有一套讲述如何开发软件的书籍 书中充满了标准与示例 可以帮助我们解决软件开发中遇到的任何问题 观点之二如果我们已经落后于计划 可以增加更多的程序员来赶上进度 观点之三有了对目标的一般描述就足以开始写程序了 我们以后可以再补充细节 观点之四一旦我们写出了程序并使其正常运行 我们的工作就结束了 人们有时认为 只有差的软件产品才需要维护 1 4软件工程的三个要素 Softwareengineeringlayers 软件工程三个要素 方法 工具 过程 2020年4月19日星期日 41 1 软件工程方法 软件工程方法为软件开发提供了 如何做 的技术 包括 系统模型 标记法 规则 设计忠告和过程指南等 如SADT Jackson UML等 常见的软件开发方法包括 结构化方法面向数据结构方法面向对象方法形式化方法从工程方法看 是一种软件开发的结构化方法 其目的在于使高质量软件的生产性价比较高 从产品生产组织 管理 方式看 包括对软件过程的建议 使用的标记法 进行系统描述的规则和设计指南 方法的构成 系统的模型 规则 建议 过程指南 2 软件工程工具 软件工程的工具对软件工程中的过程和方法提供自动的或半自动的支持 可以帮助软件开发人员方便 简捷 高效地进行软件的分析 设计 开发 测试 维护和管理等工作 有效地利用工具软件可以提高软件开发的质量 减少成本 缩短工期 方便软件项目的管理 如各种支持软件开发的各种CASE Computer AidedSoftwareEngineerring 工具 软件工程工具 软件工程工具通常有三种分类标准 按照功能划分 功能是对软件进行分类的最常用的标准 按照功能划分 软件工程工具可分为可视化建模工具 程序开发工具 自动化测试工具 文档编辑工具 配置管理工具 项目管理工具等 按照支持的过程划分 根据支持的过程 软件工程工具可分为设计工具 编程工具 维护工具等 按照支持的范围划分 根据支持的范围 软件工程工具可以分为窄支持 较宽支持和一般支持工具 窄支持工具支持软件工程过程中的特定任务 一般将其称之为工具 较宽支持支持特定的过程阶段 一般由多个工具集合而成 称之为工作台 一般支持支持覆盖软件过程的全部或大部分阶段 包含多个不同的工作台 称之为环境 软件工程工具 具体的说 在实际软件工程项目执行过程中 经常会使用到的软件工程工具包括 分析设计工具程序开发工具测试工具配置管理工具项目管理工具 2020年4月19日星期日 信息工程学院软件工程教研室 45 CASE工具举例 IBMRational公司产品 分析设计工具 1 MicrosoftVisio 2 RationalRose 3 Together 4 PowerDesigner 5 CASEStudio 程序开发工具 1 MicrosoftVisualStudio 2 Eclipse 3 NetBeans 4 Delphi 5 DevC 测试工具 1 LoadRunner 2 WinRnnner 3 Segue 配置管理工具 1 MicrosoftVisualSourcesafeMicrosoftVisualSourceSafe是微软公司出品的版本控制系统 简称VSS 软件支持Windows系统所支持的所有文件格式 通常与微软公司的VisualStudio产品同时发布 并且高度集成 包括服务器和通过网络可以连接服务器的客户端 VSS提供了基本的认证安全和版本控制机制 提供历史版本对比 适合于个人程序开发的版本管理 2 ClearCaseClearCase是Rational公司开发的配置管理工具 可以与Windows资源管理器集成使用 并且还可以与很多开发工具集成在一起使用 ClearCase主要应用于复杂的产品发放 分布式团队合作 并行的开发和维护任务 包括支持当今流行软件开发环境Client Server网络结构 它包含了一套完整的软件配置管理工具而且结构透明 界面可亲 项目管理工具 1 MicrosoftProject 2 CA SuperProject 3 TimeLine 2020年4月19日星期日 信息工程学院软件工程教研室 51 3 软件过程 软件过程模型 软件过程模型是从一个特定的角度提出软件过程的简化描述 1 工作流 2 数据流或活动 3 角色 动作 4 瀑布型开发方法 5 进化型开发方法 6 形式化转换 7 基于可复用的组件的系统组合 1 5软件工程知识体系及知识域 软件工程知识体软件工程已从计算机科学与技术中脱离出来 逐渐形成了一门独立
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度地质勘探测量劳务合同书
- 2025版企业投融资法律顾问聘请合同
- 海南省屯昌县2025年上半年公开招聘城市协管员试题含答案分析
- 海南省陵水黎族自治县2025年上半年事业单位公开遴选试题含答案分析
- 2025版燃油行业法律法规咨询服务合同
- 2025年度软件测试与质量保证服务合同范本
- 海南省昌江黎族自治县2025年上半年公开招聘城市协管员试题含答案分析
- 海南省白沙黎族自治县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年单位保密教育与培训服务合同
- 2025版跨境电商租赁代售及物流服务合同
- 常减压装置仿真操作正常停车石油炼制装置操作02课件
- 2025年科技创新企业财务工作总结及计划
- 餐饮店食品经营操作流程4篇
- 国防科普活动方案
- 2025年黑龙江、吉林、辽宁、内蒙古高考生物真题试卷(解析版)
- 药物治疗监测试题及答案
- GB/T 45654-2025网络安全技术生成式人工智能服务安全基本要求
- T/CAPA 009-2023面部埋线提升技术操作规范
- 塑胶料品质协议书
- 2025届江苏省苏州市高三9月期初阳光调研-语文试卷(含答案)
- 旅行地接协议书
评论
0/150
提交评论