软件系统工程课件_第1页
软件系统工程课件_第2页
软件系统工程课件_第3页
软件系统工程课件_第4页
软件系统工程课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程导论(第4版),普通高校本科计算机专业特色教材精选,张海藩 编著,授课教师:殷 锋 西南民族大学计算机科学与技术学院,授课教师简介,殷锋,男,侗族,博士,副教授。34岁,贵州榕江县人。计算机软件工程教研室主任,四川省计算机用户协会理事,中国计算机学会高级会员。 1993年参加工作,曾被四川省人民政府授予教学成果奖1项,西南民族大学科研成果奖3项。近年来主要从事计算机数据挖掘、中间件、分布式计算、软件测试等方向的研究工作,曾主持和参与校级科研项目二十余项,主持完成省级课题1项、参与完成2项。于2004年度获得“四川省青年软件创新基金”资助。已在中文核心期刊及相关学术杂志上发表学术论文40

2、余篇,多篇被美国权威索引“EI”检索。长期担任“软件工程”、“计算机科学与技术”专业多门专业课、跨系专业课等的教学工作。系我校首批应用电子课件进行教学和首批实施“双语”教学的教师。2007年被评为 “西南民族大学青年优秀骨干教师”。,E-mail:yf_ 作业提交FTP:/22(用户名:yfstu 密码:yfstu),考勤:10 平时作业:20 期末:70,考核标准,总 目 录,第1章 软件工程学概述 第2章 可行性研究 第3章 需求分析 第4章 形式化说明技术 第5章 总体设计 第6章 详细设计 第7章 实现,总 目 录,第8章 维护 第9章 面向对象方法学引论 第1

3、0章 面向对象分析 第11章 面向对象设计 第12章 面向对象实现 第13章 软件项目管理,第1章 软件工程学概述,1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 1.5 小结 习题,1.1 软件危机,1.1.1 软件危机介绍 1968年由NATO (北大西洋公约组织)在德国Garmish召开的学术会议上,Fritz Bauer首先提出了“软件工程”概念。,软件技术面临的问题,复杂性 生产率,例:Windows95有1000万行代码 Windows2000有5000万行代码 Exchange2000和 Windows2000开发人员结构,软件危机的主要特征,软件开发

4、周期大大超过规定 日期; 软件开发成本严重超标; 软件质量难于保证。,衡量一个软件成功的标准在于:,用户在用 用户可很容易地做完要做的事 失败的根本原因: 开发人员写出的东西达不到用户的要求(人的问题.技术问题),处在十字路口的中国软件产业,主权大国必须建立基于自主技术的、 完整的软件产业体系。 软件本国提供率:中国1/3左右,美国97% “印度模式”还是“中国模式”(1)、(2) 软件人才结构不合理,缺乏中高级软 件人才;此外,软件人员缺乏软件工程化的概念也是问题之一。,1.1.2 产生软件危机的原因,在软件开发和维护的过程中存在这么多严重问题,原因主要在于: 一方面与软件本身的特点有关 另

5、一方面也和软件开发与维护的方法不正确有关,1.1.3 消除软件危机的途径,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。,第1章 软件工程学概述,1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 1.5 小结 习题,1.2.1 软件工程的介绍,Fritz Bauer在NATO会议上给出的定义: “软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。”,软件工程的定义,IEEE【IEE83】给出的软件工程定义: “软件

6、工程是开发、运行、维护和修复软件的系统方法。”,IEEE【IEE93】给出了一个更加综合的定义: “将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。”,综合以上得软件工程的定义为:,软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。,软件工程是一门交叉学科,软件工程的主要研究内容 软件开发技术: 软件开发方法学 软件开发过程 软件工具和软件工程环境 软件工程管理: 软件管理学 软件经济学 软件心理学 软件工程所包含的内容不是一成不变的, 随着人们对软件系统的研制开发和生产的理解。 应

7、该用发展的眼光来看待它。,软件工程的本质特性,1. 软件工程关注于大型程序的构造 2. 软件工程的中心课题是控制复杂性 3. 软件经常变化 4. 开发软件的效率非常重要 5. 和谐地合作是开发软件的关键 6. 软件必须有效地支持它的用户 7. 在软件工程领域中是用具有一种文化背景的人的思维去取代具有另一种文化背景的人的工作方式,1.2.2 软件工程的基本原理,1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性,1.2.3 软件工程方法

8、学,软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。,软件工程 一种层次化技术,工具,方法,过程,质量焦点,Software engineering layers,软件工程三个要素:方法、工具、过程,软件工程框架,可,用,性,性,性,确,正,合,算,选取适宜的开发模型,采用合适的设计方法,提供高质量的工程支持,重视软件工程的管理,基本过程,原则,目标,过,程,支 持 过 程,组 织 过 程,软件工程与一般工程的差异,软件是逻辑产品而不是实物产品 软件的功能依赖于硬件和软件的运行环境以及人们对它的操作 软件设计的复杂性 软件特征

9、: 功能的多样性 实现的多样性 能见度低 软件结构合理性差 智力密集及知识产权保护,软件工程知识结构,软件需求 软件设计 软件构造 软件测试 软件维护 软件配置管理 软件工程管理 软件工程过程 软件工程工具和方法 软件质量,“软件工程”课程 与其它软件专业课的区别,(1) 立足于系统的整体。 (2) 讲授系统分析、系统设计、 测试及维护的理论和方法。 (3) 构筑一个软件系统,实践 软件开发全过程。,“软件工程”课程教学与实践的目标,转变对软件的认识: 上升 程序 系统 转变思维定式: 上升 程序员 系统工程师 (系统分析员) 工程化训练,“一个好的工业,应有一套良好的标准来配套”,软件的工业

10、化生产过程应具备的特点: 明确的工作步骤 详细具体的规范化文档 明确的质量评价标准,软件工程技术的两个明显特点:,软件产品的标准化,软件开发过程的标准化,第1章 软件工程学概述,1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 1.5 小结 习题,1.3 软件生命周期(Software Life Cycle) 软件产品或软件系统从设计、投入使用到被淘汰的全过程。,软件生存期的阶段划分,(1)可行性研究与计划 (2)需求分析 (3)总体设计 上游 (4)详细设计 (5)实现 (6)集成测试 (7)确认测试 下游 (8)使用和维护 (根据国标计算机软件开发规范),只考虑

11、编写程序,涉及整个 软件生存 周期,扩展到,软件工作的范围,第1章 软件工程学概述,1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 1.5 小结 习题,1.4 软件过程,软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件开发模型也常称为: 软件过程模型 软件生存期模型 软件工程范型,1. 瀑布模型 (线形顺序模型),可行性研究与计划,需求分析,设计,编码,运行维护,测试,定义 阶段,开 发 阶 段

12、,维护阶段,按照传统瀑布模型开发软件的特点,1.阶段间具有顺序性和依赖性。 2.推迟实现的观点。 3.每个阶段必须完成规定的文档; 每个阶段结束前完成文档审查, 及早改正错误。,2. 原型模型(快速成型模型),建造/修改 原型,用户测试 运行原型,听取用 户意见,原型范型,采用原型模型的软件生存周期,分析定义 系统需求,生成 原型,系统 设计,程序 设计,编码,测试,运 行 和维护,原型化,含原型化的 软件生存期,1.4.3 增量模型(递增模型),先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应作出设想。,分析,增量模型,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论