《软件工程》 教案全套 第1--10章 软件工程概述---软件项目管理.doc

《软件工程》 教案全套 第1--10章 软件工程概述---软件项目管理.doc

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《软件工程》教案全套

PAGE PAGE 86 《软件工程》教案 第一周:第1章 软件工程概述(3学时) 重点:掌握软件危机产生的原因与软件工程的概念、掌握软件生存期的阶段划分和各阶段的任务,瀑布模型、增量模型 难点:理解软件工程的概念,掌握瀑布模型、增量模型 课程导入:软件就是程序吗? 课程内容: 1.1 软件危机和软件工程 20 世纪60年代以前,软件设计往往只是为了特定的应用在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,通常也不存在文档资料,很少使用系统化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、个人使用、自给自足的私人化的软件生产方式。 60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大;高级语言的出现、操作系统的发展和第一代数据库管理系统的诞生,使得软件系统规模越来越大、软件可靠性问题也越来越突出,私人化的软件生产方式不能满足社会日益增长的软件需求。 软件的发展速度远远滞后于硬件的发展速度,60年代末软件危机爆发。 1.1.1 软件危机爆发的原因 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度地存在这些问题。 软件危机主要表现,如:对软件开发成本和进度估计不准确、软件产品的质量靠不住、用户对“已完成的”软件系统不满意、软件开发速度跟不上、软件不可维护以及没有适当的文档资料等等。 软件危机爆发的主要原因有: (1)软件,作为计算机系统的逻辑部件,很难检验开发的正确性且开发的质量。一旦在软件维护阶段发现错误,常意味着要修改原来的设计,维护的费用十分惊人。 (2) 软件开发的过程是多人分工、分阶段完成的,人员之间的沟通和配合十分重要。但是,由于在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术,这是造成软件危机的主要原因。 (3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。 (4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。 没有完整、一致的文档资料;资金分配混乱,人员组织不合理,进度安排无序等等。 (5) 在软件的开发和维护关系问题上存在错误的观念。 软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。 在软件开发的不同阶段进行修改需要付出的代价是很不相同的。必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。 1.1.2 软件工程的概念 Fritz Bauer对软件工程的定义是:“软件工程就是为了经济地获得可靠的且能在实际机器上有效运行的软件,而建立和使用的完善的工程原理。” 著名的软件工程专家B.W.Boehm综合了学者们的意见并总结了TRW公司多年开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理。 软件工程的七条基本原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 (6)开发小组的人员应该少而精 (7)承认不断改进软件工程实践的必要性 软件工程可以给出这样一个解释:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来,从而经济地开发出高质量的软件并有效地维护它,这就是软件工程。 1.2 软件生存期 软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。 软件生命周期:软件定义、软件开发和软件维护三个时期。 软件定义时期:确定软件开发必须完成的总目标和可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。 软件定义时期分成三个阶段:问题定义、可行性研究和需求分析。 开发时期:具体设计和实现在前一个时期定义的软件,通常包括四个阶段:总体设计、详细设计、编码、测试。 维护时期:使软件持久地满足用户的需要。主要包括:改正错误;改进软件适应新的环境或满足用户的新需要。 1.问题定义 回答的关键问题是:“要解决的问题是什么?” 2.可行性研究 回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?” 3.需求分析 这个阶段准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。 4.总体设计 回答的关键问题是:“概括地说明,应该如何解决这个问题?” 5.详细设计 回答的关键问题:“应该怎样具体地实现这个系统呢?” 6.编码和单元测试 关键任务是写出正确的

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档