- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软 件 工 程 软件工程的研究范围 ?软件开发技术 研究开发方法、开发过程、开发工具和开发环境 教学目的 第一章 软件危机与软件工程 软件危机 软件工程 软件生命周期 软件过程 需要重点掌握的: 软件工程的基本原理 软件生命周期 1.1 软件危机 1.1.1 软件危机的介绍 软件危机: 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机的主要表现 1. 对软件开发成本和进度的估计不准确。 2. 软件质量、可靠性差,用户难以满意。 3. 缺乏文档,软件可维护性差。 4. 软件开发生产率低下,产品供不应求。 5. 软件产品成本昂贵。 1.1.2 产生软件危机的原因 1.软件是逻辑部件,开发管理困难 2.软件的规模庞大,结构复杂 3.软件开发技术、工具落后 4.采用错误的开发方法 软件生命周期: 1.1.3 解决软件危机的途径 1.2 软件工程 概括的说,软件工程是指导计算机软件开发和维护的一门工程学科。 即:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 软件工程的特性 1.关注于大型程序(系统)的构造 2.中心课题是控制复杂性 3.软件经常变化 4.开发软件的效率非常重要 5.和谐的合作是开发软件的关键 6.软件必须有效的支持它的用户 7.由不同文化背景的人创造产品 1.2.2 软件工程的基本原理 1.用分阶段的生命周期计划严格管理 2.坚持阶段评审 3.实行严格的产品控制 4.采用现代化程序设计技术 5.结果应能清楚地审查 6.开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性 1.2.2 软件工程方法学 三个要素:方法、工具、过程 方法:完成各项任务的技术方法。 工具:为运用方法而提供的支撑环境。 过程:完成一系列任务的框架(工作步骤)。 1.传统方法学的4个要点 (1)采用结构化技术完成软件开发的各项任务。 包括:SA、SD 、SP方法。 (结构化分析 、设计 、程序设计) (2)把软件生命周期划分为若干阶段,按顺序完成个阶段的任务。 (3)每个阶段的开始和结束都有严格的标准。 (4)每个阶段结束之前必须进行严格的技术审查和管理复审。 2.面向对象方法学的4个要点: (1)可理解性好 1.3 软件生命周期 各时期的主要任务 1.问题的定义 关键问题: 要解决的问题是什么。 要确定问题的性质、工程目标和规模,写书面报告。一般只需要一天或更少的时间。 关键问题:有可行的解决办法吗? 对上一阶段提出的问题能否解决?是否值得去解? 需要多少费用?需要多少资源?需要多少时间?更准确、更具体的确定工程规模和目标。 进行仔细的成本/效益分析。 占整个开发阶段所需要使用人力的5%。 3.需求分析 关键问题:系统必须做什么。 对开发软件提出的需求进行分析,编写需求说明书。 4.总体设计(概要设计) 关键问题:概括地说应如何解决这个问题。 两项任务: 系统设计 确定系统的具体实现方案。 结构设计 确定软件结构。 5.详细设计 关键问题:怎样具体实现这个系统。 把概要设计中模块功能描述转变为精确的结构化的过程描述。 总体设计和详细设计共占整个开发阶段所需要使用人力的25%。 6.编码和单元测试 关键任务: 写出正确的程序模块。 编码:把详细设计的结果翻译成选定的语言书写的的程序。 单元测试:查找各模块在功能和结构上存在的问题。 占整个开发阶段所需要使用人力的20%。 7.综合测试 关键任务:通过各种类型的测试,使软件达到预定的要求。 8.软件维护 关键任务:持久地满足用户需要的软件。 1.4 软件过程 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 通常使用软件生命周期模型简洁地描述软件过程。 1.4.1 瀑布模型 (2)推迟实现的观点 1.4 .2 快速原型模型 快速原型模型:就是快速建立起来的可以实际运行的模型,它所能完成的功能只是最终产品的一个子集(展示了目标系统的关键功能)。 开发过程:首先建立一个原型并且让用户在计算机上试用它。然后,用户使用原型,提出意见,开发人员按照用户的意见快速地修改原型,重复这一过程,直到用户不再提出意见为止。 1.4 .3 增量模型 优点: ? 能在较短的时间内向用户提交部分产品。 ? 逐步增加产品的功能,使用户容易接受。 1.4 .4 螺旋模型 ? 支持对现有软件的
文档评论(0)