除了概要设计说明书之外ppt课件.ppt

除了概要设计说明书之外ppt课件.ppt

ID:58648933

大小:1.73 MB

页数:72页

时间:2020-10-05

除了概要设计说明书之外ppt课件.ppt_第1页
除了概要设计说明书之外ppt课件.ppt_第2页
除了概要设计说明书之外ppt课件.ppt_第3页
除了概要设计说明书之外ppt课件.ppt_第4页
除了概要设计说明书之外ppt课件.ppt_第5页
资源描述:

《除了概要设计说明书之外ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件设计概述3.1软件设计的任务3.2软件设计的步骤3.3软件设计的模块化思想3.4软件设计的原则3.5软件设计文档主要内容开发阶段的信息流3.1软件设计的任务软件设计的任务,就是把需求阶段产生的软件需求说明、逻辑系统转换为计算机可以实现的软件系统描述。软件需求解决“做什么”软件设计解决“怎么做”从软件需求规格说明书出发,形成软件的具体设计方案。实际问题现实的处理方法逻辑模型抽象和逻辑计算机软件的处理方法实际问题解决方案1逻辑模型解决方案3解决方案2针对同一问题的不同形式的处理方法同一逻辑模型的不同的计算机解决方案软件设计实际工作中的误区1,软件设计阶段,开发人员不

2、清楚某个系统功能2,忽略软件设计过程,直接进入代码编写阶段3,想的太多,导致软件实现复杂4,意图鱼和熊掌兼得5,一味迎合客户软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构1,两种设计思路由底向上(Bottom-updesign)选择关键部分先设计从局部开始扩展到整个系统自顶向下顶层开始逐步分解3.2软件设计步骤软件的设计阶段是软件开发时期中最富有活力、最需要发挥创造精神的阶段。软件设计分为三个步骤:(1)概要设计(Preliminarydesign)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。(2)详细设计(D

3、etaildesign)确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。(3)设计复审(Designreview)通过复审指出的错误和测试指出的错误有同等重要的效果。开发中较早发现错误,可减少错误扩大的机会。2.概要设计(preliminarydesign)概要设计指基于功能层次结构,确定软件总体结构,制定测试计划,形成概要设计说明书。从工程管理的角度来看,软件设计分为概要设计和详细设计概要设计说明书由模块结构图、模块说明和测试计划构成数据设计侧重于数据结构的定义。系统结构设计定义软件系统各主要成份之间的关系。过程设计则是把结构成份转换成软件的过程性

4、描述。在编码步骤,根据这种过程性描述,生成源程序代码,然后通过测试最终得到完整有效的软件。从技术角度来看,软件设计分为数据设计、系统设计和过程设计2.详细设计(detaildesign)其结果决定了最终的程序代码质量。详细设计说明书由每一模块的详细数据结构设计、详细流程设计和每一模块的测试实例组成。其结果决定了最终的程序代码质量。确定每一个模块内所采用的数据结构和处理算法,同时还要设计完成测试实例,形成详细设计说明书。采取自顶向下、逐步求精的方法。3.设计复审(designreview)复审概要设计和详细设计的所有文档,以完成设计阶段工作。正式复审(FormalRe

5、view)非正式复审(informalreview)设计文档也需要复审复审的方式分为设计复审的目的在于及早发现设计中的缺陷和错误复审的经济效益对比3.3软件设计的模块化思想软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。把问题/子问题的分解与软件开发中的系统/子系统或系统/模块对应起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。模块是具有一定功能的可以用名词调用的程序语句集合。3.3.1,模块化(Modularity)模块化是好的软件设计的一个基本准则。高层模块从整体上把

6、握问题,隐蔽细节复杂问题较小问题分解可减小解题所需的总的工作分解分解、信息隐藏和模块独立性,是实现模块化设计的重要指导思想。例:将问题(P1+P2)分解为问题P1,问题P2设函数C(x)定义问题x的复杂程度函数E(x)确定解决问题x需要的工作量对问题P1和P2,如果:C(P1)>C(P2)显然:E(P1)>E(P2)试验发现:C(P1+P2)>C(P1)+C(P2)E(P1+P2)>E(P1)+E(P2)"各个击破"理论模块数与开发工作量的关系成本或工作量模块数量软件总成本集成成本成本/模块M最小成本区域模块划分得越小成本越低,但是集成成本却随着模块划分得越小成本越

7、高。如何确定模块化分的最小成本区,并保证模块的最佳性能,是设计活动中的主要任务之一。3.3.2抽象化(Abstraction)软件系统进行模块设计时,可有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。在较低的抽象层次上,则采用过程化的方法。(1)过程的抽象在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。在软件需求分析阶段,用“问题所处环境的为大家所熟悉的术语”来描述软件的解决方法。在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序时到达最低抽象层次。例:开发一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。