分享
分销 收藏 举报 申诉 / 5
播放页_导航下方通栏广告

类型软件设计.pdf

  • 上传人:xrp****65
  • 文档编号:6022387
  • 上传时间:2024-11-25
  • 格式:PDF
  • 页数:5
  • 大小:44.41KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件设计
    资源描述:
    1软件设计 一、复习要求 1.了解软件概要设计的原则和过程。2.掌握模块划分的评价准则模块独立性的判别。3.掌握结构化设计方法。4.了解 Jackson 系统开发方法和 Jackson 程序设计方法。5.了解数据设计和文件设计的原则。6.掌握常用的详细设计的表达方法。6.了解软件设计规格说明和设计评审的主要内容。二、例题分析 【例1】从下列有关系统结构图的叙述中选出正确的叙述。(1)系统结构图中反映的是程序中数据流的情况。(2)系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。(3)一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。(4)在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。答案:(4)分析:系统结构图反映的是系统中模块的调用关系和层次关系,谁调用谁,有一个先后次序(时序)关系。所以系统结构图既不同于数据流图,也不同与程序流程图。数据流图仅描述数据在系统中如何流动,如何处理和存储,它不考虑时序关系。图中的有向线段表示了数据流。程序流程图描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所依赖的条件,图中的有向线段(流线)表示的是控制流,从一个处理走到下一个处理。但在系统结构图中的有向线段表示调用时程序的控制从调用模块移到被调用模块,并隐含了当调用结束时控制将交回给调用模块。如果一个模块有多个下属模块,这些下属模块的左右位置可能与它们的调用次序有关。例如,在用结构化设计方法依据数据流图建立起来的变换型系统结构图中,主模块的所有下属模块按逻辑输入、中心变换、逻辑输出的次序自左向右一字排开,左右位置不是无关紧要的。所以只有最后的一个叙述是正确的。【例2】软件的开发工作经过需求分析阶段,进入(A )以后,就开始着手解决“怎么做”的问题。常用的软件设计方法有(B )、(C )、(D )和(E )等方法。供选择的答案:A B 程序设计 设计阶段 总体设计 定义阶段 SD 方法 SP 方法 C.Jackson 方法 瀑布法 快速原型法 回溯法 D E.LCP(Wanier)方法 递归法 Parnas 方法 自下而上修正 逐步求精法 检测校正法 2答案:A.,B.,C.,D.,E.。其中,D 与 E 的答案可互换。分析:进入设计阶段之后,就开始着手解决“怎么做”的问题。一般把设计阶段的工作分成两步:即概要设计和详细设计。在概要设计阶段应着重解决实现需求的程序模块划分问题,在详细设计阶段则要决定每个模块的具体算法。常见的软件概要设计方法有三大类:?以数据流图为基础构造模块结构的结构化设计方法(SD);?以数据结构为基础构造模块结构的 Jackson 方法和 LCP(Wanier)逻辑构造方法;?以对象、类、继承和通信为基础的面向对象设计方法(OOD)。此外,以信息隐蔽为原则的 Parnas 方法虽然没有给出系统化的设计方法,但它提出了一组原则,要求预先估计未来生存周期中可能发生的种种情况,并采取相应措施以提高软件系统的可维护性和可靠性。这里对面向数据结构的 Jackson 方法和 LCP 方法再多说几句。Jackson 方法是一种典型的面向面向数据结构开发软件的方法。它的基本思想是首先根据实际问题,给出处理问题所需要和产生的数据结构,一旦搞清了问题的输入输出数据结构,就可以以简单的方式直接导出程序的处理结构,然后应用 Jackson 的描述符号,将这个处理结构转换为程序的过程性描述。LCP 方法是另一种面向数据结构的方法,它也要先给出用 Wanier 图表示的处理问题所需要和产生的数据结构,再在 Wanier 图上直接将数据结构转换为加工处理的形式化表示,最后生成描述加工过程的伪代码,进行验证和优化。【例3】请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来。内容耦合 控制耦合 非直接耦合 标记耦合 数据耦合 外部耦合 公共耦合 答案:、分析:参看“内容提要”中有关模块独立性的介绍。【例4】请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。巧合内聚 时间内聚 功能内聚 通信内聚 逻辑内聚 信息内聚 过程内聚 答案:、分析:在状态迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。实际会迁移到哪一个状态,是由更详细的内部状态和更详细的事件信息来决定的,此时在状态迁移图中可能需要使用加进判断框和处理框的记法。状态迁移图的优点:第一,状态之间的关系能够直观地捕捉到,这样用眼睛就能看到是否所有可能的状态迁移都已纳入图中,是否存在不必要的状态等。第二,由于状态迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具。【例5】在结构化分析方法中,用实体关系图表达系统中的对象及其关系。在实体关系图中,表达对象的实例之间的关联有三种类型:一对一联系、()联系、多对多联系。供选择的答案:A.多对一 B.一对多 答案:B 分析:使用实体关系图,可以建立系统中各个数据对象及对象之间的关系。对象的实例间的关联称为“基数”,共有 3 种类型的基数:一对一,一对多,多对多。它反映了现实世界中实体之间的联系,多对一的情况可以归入一对多的关联中去。【例 6】软件需求分析的任务不应包括(A )。进行需求分析可使用多种工具,但(B )是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(C )。需求规 3格说明书的内容不应当包括(D )。该文档在软件开发中具有重要的作用,但其作用不应当包括(E )。供选择的答案:A.问题分析 信息域分析 结构化程序设计 确定逻辑模型 B.数据流图 判定表 PAD 图 数据词典 C.要让软件做什么 要给该软件提供哪些信息 要求软件工作效率如何 要让软件具有什么样的结构 D.对重要功能的描述 对算法的详细过程性描述 软件确认准则 软件的性能 E.软件设计的依据 用户和开发人员对软件要“做什么”的共同理解 软件验收的依据 软件可行性分析的依据 答案:A.B.C.D.E.分析:软件需求分析的任务是通过与用户的合作,了解用户对待开发系统的要求;根据对用户要求的系统所在的信息域的调查、分析,确定系统的逻辑模型;并对求解的问题做适当的分解,使之适合于计算机求解。需求分析的结果是软件需求规格说明书。结构化程序设计是在详细设计和编码阶段所采用的技术,而不是需求分析阶段要采用的技术。在需求分析阶段,分析人员可以用数据流图描述系统的数据流的变换和流向,用数据词典定义在数据流图中出现的数据流、数据文件、加工或处理,用判定表表示复杂条件和动作组合的情况。但 PAD 图是在详细设计阶段使用的描述加工逻辑的工具,不适用于需求分析。此外,软件需求分析阶段只确定软件系统要“做什么”,完成对重要功能、性能、确认准则的描述,至于“怎么做”由后续的设计阶段完成,对算法的详细过程性描述也是在设计阶段给出。软件可行性分析应在需求分析之前,所以需求分析规格说明不能成为可行性分析的依据。【例 7】原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。它从用户界面的开发入手,首先形成(B ),用户(C ),并就(D )提出意见,它是一种(E )型的设计过程。供选择的答案:A.需求不确定性高的 需求确定的 管理信息 决策支持 B.用户界面使用手册 用户界面需求分析说明书 系统界面原型 完善的用户界面 C.改进用户界面的设计 阅读文档资料 模拟用户界面的运行 运行用户界面原型 D.同意什么和不同意什么 使用和不使用哪一种编程语言 程序的结构 执行速度是否满足要求 E.自外向内 自顶向下 自内向外 自底向上 答案:A.,B.,C.,D.,E.分析:通常,原型是指模拟某种产品的原始模型。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。使用原型的原型化方法特别适用于需求不确定性较高的软件系统的开发。它的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的可执行的模型,满足用户的基本要求,这就是系统界面原型。让用户计算机上实际运行这个用户界面原型,在试用的过程中得到亲身感受和受到启发,做出反应和评价,提出同意什么和不同意什么。然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高了最终产品的质量。它是一种自外向内型的设计过程。4 三、习题 【3-1】逐步求精、分层过程与抽象等概念之间的相互关系如何?【3-2】完成良好的软件设计应遵循哪些原则?【3-3】如何理解模块独立性?用什么指标来衡量模块独立性?【3-4】模块独立性与信息隐蔽(反映模块化有效程度的属性)有何关系?【3-5】模块的内聚性程度与该模块在分层结构中的位置有关系吗?说明你的论据。【3-6】耦合性的概念和软件的可移植性有什么关系?请举例说明你的论述。【3-7】从供选择的答案中选出正确的答案填入下列叙述中的()内。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A )的。(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是(B )的。(3)模块中所有成分引用共同的数据,该模块的内聚性是(C )的。(4)模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(D )的。(5)模块中所有成份结合起来完全一项任务,该模块的内聚性是(E )的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。供选择的答案:A E:功能内聚 信息内聚 通信内聚 过程内聚 巧合内聚 时间内聚 逻辑内聚【3-8】从供选择的答案中选出正确的答案填入下面的()中。块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的(A )等因素决定了块间联系的大小。在块内联系中,(B )的块内联系最强。SD 方法的总的原则是使每个模块执行(C )功能,模块间传送(D )参数,模块通过(E )语句调用其它模块,而且模块间传送的参数应尽量(F )。此外,SD 方法还提出了判定的作用范围和模块的控制范围等概念。SD 方法认为,(G )应该是(H )的子集。供选择的答案:A:友好性 健壮性 简单性 安全性 B:巧合内聚 功能内聚 通信内聚 信息内聚 C:一个 多个 D:数据型 控制型 混合型 E:直接引用 标准调用 中断 宏调用 F:少 多 G H:作用范围 控制范围【3-9】从供选择的答案中选出应该填入下列关于软件设计的叙述的()内的正确答案。在众多的设计方法中,SD 方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(A )方法及编程阶段的(B )方法前后衔接,SD 方法是考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准块间联系和块内联系。SD 方法的最终目标是(C ),用于表示模块间调用关系的图叫(D )。5另一种比较著名的设计方法是以信息隐蔽为原则划分模块,这种方法叫(E )方法。供选择的答案:A B:Jackson SA SC Parnas SP C:块间联系大,块内联系大 块间联系大,块内联系小 块间联系小,块内联系大 块间联系小,块内联系小 D:PAD HCP SC SADT HIPO NS E:Jackson Parnas Turing Wirth Dijkstra【3-10】递归模块(即自己调用自己的模块)的概念如何能够与本章所介绍的设计原理与方法相适应?【3-11】举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗?【3-12】软件详细设计工具可分为三类,即:图示工具、设计语言和表格工具。图示工具中,(A )简单而应用广泛、(B )表示法中,每一个处理过程用一个盒子表示,盒子可以嵌套。(C )可以纵横延伸,图形的空间效果好。(D )是一种设计和描述程序的语言,它是一种面向(E )的语言。供选择的答案:A C:NS 图 流程图 HIPO 图 PAD 图 D:C PDL RPOLOG PASCAL E:人 机器 数据结构 对象【3-13】如何用 PDL 语言来实施逐步求精的设计原理?【3-14】从供选择的答案中选出应该填入下列关于软件设计的叙述的()内的正确答案。在完成软件概要设计,并编写出相关文档之后,应当组织对概要设计工作的评审。评审的内容包括:分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成份是否可(A )到某一项需求。分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足(B )和(C )的要求。模块(D )是否在其(E )之内。供选择的答案 A:覆盖 演化 追溯 等同 连接 B:多功能 高内聚 高耦合 高效率 可读性 C:多入口 低内聚 低耦合 低复杂度 低强度 D E:作用范围 高内聚 低内聚 取值范围 控制范围
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:软件设计.pdf
    链接地址:https://www.zixin.com.cn/doc/6022387.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork