软件工程概论参考第四章 软件的设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 软件设计 4.1 软件设计的概述 4.2 软件设计的概念与原理 4.3 软件设计的原则 4.4 结构化设计的方法 4.5 系统包装 4.6 软件详细设计概述 4.7 软件详细设计表示法 学习目标 重点掌握软件设计的工具和方法 正确理解概要设计与详细设计的任务和目标,灵活运用相关的工具和方法 深刻理解软件结构设计的原则及详细设计的规范化 可将软件生命周期分为定义、开发及维护三个阶段。 软件设计的重要性1 软件开发阶段的第一步,其基本任务是回答“如何做?” 它是在对系统信息、功能、行为和各种要求理解的基础上构建未来的系统。 设计的决策影响软件实现的成功与否。 软件设计的重要性2 是软件开发过程中用以保证质量的关键步骤。 是整个软件工程和软件维护的基础。 如果没有设计,只能建立一个不稳定的系统。 软件设计的重要性3 软件需求分析阶段已经完全清楚了软件的 各种需求,较好地解决了要让所开发的软件“做什么”的问题,并已在软件需求规格说明和数据要求规格说明中详尽和充分的阐明了这些需求。下一步就要着手实现软件的需求,即要解决“怎么做”的问题。 软件设计的重要性4 软件设计是开发阶段中重要的步骤,是软件开发过程中用以保证质量的关键步骤。软件设计提供了软件的表示,使软件的质量评价成为可能。 同时,软件设计又是将用户要求准确地转化为最终的软件产品的唯一途径。 软件设计的重要性 软件设计是后续开发步骤几软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统。 如图所示,只要出现一些微小的变动,就会使得软件受创,而且难以测试。 系统分析与需求分析的区别 需求分析是一个项目的开端,也是项目建设的基石。是对用户需求的定义,对软件系统的描述。在以往建设失败的项目中,80%是由于需求分析的不明确而造成的。因此一个项目成功的关键因素之一,就是对需求分析的把握程度。而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用承建方的软件。作为第三方的监理公司,必须提醒承建方、客户方重视需求分析的重要性。 系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。根据开发人员的理论知识和实际的经验,人们会采用各种满足实际情况的系统分析、开发方法、步骤以及文档等等。一般情况下,在系统分析书中应该有以下内容(视项目而定):   1、系统需求说明 说明系统是一个什么样的系统,用市场上现有的系统来类比, 用客户(或是我们自己)需要一个什么样的系统进行说明,力求完整。 2、 系统资源说明 对系统所需要的软件、硬件资源进行说明。描述系统所需要的所有的成本(包括人员、时间、设备、系统、一次性投入资金、持续性投入资金这样的所有资源)。 3、 系统可行性分析 对系统的实施中的资源进行分析,说明投入的合理性和必然性,对其中的所有不可预见性的投入进行合理的量化说明,来说明系统的实施的可行性 。 系统分析阶段就是要全面了解系统的商业需求和处理要求并制作书面文件,详细地定义信息系统的功能。这一阶段的最根本的目的就是解决系统要做什么的问题--- What to do? ?系统分析准备 在进行详细的系统开发前,开发人员必须先理解一些概念,包括方法、模型、工具和技术。 1.模型:是对问题做出的一种抽象,它由一组图示符号和组织这些符号的规则组成。 建模是问题域中定义软件解的一种方法。建模的目的主要是为了减少问题的复杂性。 2. 工具 系统开发工具是一些帮助生成模型或其它组件的软件。系统开发人员常用的是CASE工具,如Microsoft Visio 、 Rational?Rose等。用了CASE工具,开发软件能更加规范,标准化,从而提高软件开发的效率。 3. 技术 技术就是帮助分析员完成系统开发活动或任务的一组方法。有时一种技术适用于整个生命周期。常在开发过程中使用的技术有:项目管理技术、用户面谈技术、数据建模技术、结构化分析技术、软件测试技术、面向对象分析与设计技术等。 4. 系统开发方法 方法是一组完成系统开发生命周期每一阶段活动的技术,它提供了完成每一步的详细指导。常用的方法有结构化方法和面向对象方法。本章主要以结构化方法为例。 20世纪70年代出现了结构化的系统分析设计方法。结构化系统分析(Structured Analysis ,简称SA),是一种简单实用,使用很广的方法。它往往是将一个复杂的系统分解、抽象成为多个简单的子系统;使用自顶向下逐层分解的方式,将一个复杂系统分解,抽象成为多个简单的子系统,如果某个子系统仍然复杂,将其进一步分解。 目前作为针对“软件危机”的最佳对策,面向对象(OO)技术已经引起人们的普遍关注。而许多编程语言(C++、VB、VF、PB、Delphi等)也都推出了支持面向对象的新版本。

文档评论(0)

134****9146 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档