- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件基础二-5软件工程基础-辅助
第1章 软件工程 1.1 软件工程概述 二、 软件发展的三个阶段 1.程序设计阶段(1946年 ~ 1956年) (1)生产方式:个体手工生产。 (2)使用工具:机器语言、汇编语言。 (3)开发特点:过多追求时间、空间效率和编程技巧,可读性差。 2.程序系统阶段(1956年 ~ 1968年) (1)生产方式:小集团合作生产。 (2)生产工具:高级语言。 (3)开发特点:依靠个人技巧,开发人员素质较差、开发技术落后。 软件发展的三个阶段 3.软件工程阶段(1968年至今) (1)生产方式:工程化生产。 (2)生产工具:面向对象语言、高级语言,各种开 发环境及工具。 (3)开发特点:网络化、分布式处理。 三、 软件危机 1.软件危机的产生 来源:计算机软件的规模越来越大,结构越来越复杂。 定义: 指在软件开发和维护过程中所遇到的一系列严重问题,几乎所有的软件都不同程度地具有这些问题。(1968年,北大西洋公约组织计算机科学家在德国召开国际会议,正式提出“软件危机”这个名词) 软件开发人员随心所欲地进行编程,缺乏系统的、科学的开发方法的指导。 轻视软件维护工作,致使维护费用占软件总费用的55%到70%。 许多软件错误在运行之前难以发现,且软件规模庞大需要多人合作完成。 软件危机的表现 难以正确估计软件开发成本和进度; 难以确保软件系统的功能和性能最终能满足用户的要求,常常开发出的软件不能满足用户的实际要求; 难以确保软件的质量尤其是可靠性,软件质量往往存在问题; 软件没有配置适当的文档、这常常使团队开发和软件维护很困难,因此软件可维护性差; 软件发展的速度跟不上硬件的发展,软件在计算机系统中所占的成本逐年上升,生产效率却无法满足市场的需求。 1.1.2 软件工程 (1)降低软件费用。 (2)提高软件的质量。 (3)提高软件的可维护性。 (4)提高软件的生产效率。 (5)提高软件的可重用性 。 1. 每个阶段都必须提供完整的文档,以作为该阶段工作结束的标志。 2. 每个阶段结束前都应对所完成的文档进行评审,以便尽早发现问题,改正错误。每个阶段的文档既是前一阶段的工作总结,又是下一阶段工作开始的依据。只有经过认真评审的文档,才能集思广益,保证该阶段工作的正确性。 1.2 软件定义阶段 主要任务: 确定系统要解决的关键问题。 实现方法: 1.用户提出项目性质,工程目标和规模等初步要求。 2 .系统分析员对用户深入调查,对其进行补充完善。 3 .经过会议评审方式沟通双方对此项目的技术用语、性质、功能、性能、限制和约束等。 需要交付的文档: 项目任务书。 1.2.2 可行性研究 主要任务 用最小的代价在尽可能短的时间内确定问题是否能够解决。 实现方法: 1. 复查项目任务书,消除一切含混不清的问题。 2. 搞清楚现有系统的功能及缺陷。 3. 导出新系统的高层逻辑模型 数据流图和数据字典是描述数据系统逻辑模型的有力工具。 可行性研究 1.3? 需求分析 需求分析的方法步骤 实现方法: 1.沿数据流图回溯 看所有的输出能否从当前的输入及运算数据中得到。 2.用户复审 请用户复审前一步的工作结果,看是否准确、全面。 3.细化数据流图 反复进行前两步,把数据流图细化到最底层。 4.修正开发计划 随着工作的深入、分析员能制定出更详细、准确的开发计划。 5.审查 召开评审会议对需求分析阶段的工作成果进行正式的审查。 1. 4 系统设计 主要任务:把系统分析阶段确定的逻辑模型向物理模型(在计算机上的实现方法)转化。 系统设计阶段分为: 概要设计和详细设计两个阶段。 概要设计的任务 1.将系统划分成模块(最重要的任务); 2.决定每个模块的功能; 3.决定模块的调用关系; 4.决定模块间的接口; 5.进行数据库逻辑设计; 模块的划分 模块独立性的两个度量标准:耦合性和内聚性。 内聚性 内聚性:是指模块内部各成分之间联系的强弱。内聚性越好,模块内部各成分的联系强度越大,会增加可理解性、可维护性和可靠性。内聚可分为低、中、高三类: 内聚性 内聚性:是指模块内部各成分之间联系的强弱。内聚性越好,模块内部各成分的联系强度越大,会增加可理解性、可维护性和可靠性。内聚可分为低、中、高三类: 描述系统结构采用的图形工具 2.HIPO图 结构图 1.4.3 模块设计的准则 模块设计的准则 1.5 详细设计 结构化程序设计的优点: 测试步骤 主要任务 确定每个模块的具体实现算法。 经常采用的方法: 结构化程序设计方法(简称S
文档评论(0)