欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程考点例题整理41850.docx

    • 资源ID:62760241       资源大小:195.38KB        全文页数:63页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程考点例题整理41850.docx

    软件工程概述软件软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件的特点1Logiccal raather than physiical(软软件是一种逻逻辑实体,而而非具体的物物理实体)2Develloped or Enngineeered, not mmanufaactureed in the cclassiical ssense(在在研制、开发发活动中被创创造出来,但但不能按传统统的生产含义义加以理解)3Doesnn't weear ouut(在软件件的运行和使使用期间,没没有磨损、老老化问题)软件的发展软件的发展可以以分为这样三三个阶段:1程序设计阶阶段,约为550至60年年代2程序系统阶阶段,约为660至70年年代3软件工程阶阶段,约为770年代以后后时期特点程序设计程序系统软件工程软件所指程序程序及说明书程序、文档及数数据主要程序设计语语言汇编及机器语言言高级语言软件语言*软件工作范围程序编写包括设计和测试试软件生存期需求者程序设计者本人人少数用户市场用户开发软件的组织织个人开发小组开发小组及大、中中型软件开发发机构软件规模小型中、小型大、中、小型决定质量的因素素个人程序设计技技术小组技术水平管理水平开发技术和手段段子程序、程序库库结构化程序设计计数据库,开发工工具,开发环环境,工程化化开发方法,标标准和规范,网网络和分布式式开发,面向向对象技术,软软件过程与过过程改进维护责任者程序设计者开发小组专职维护人员硬件特征价格高,存储容容量小,工作作可靠性差降价,速度、存存储容量及工工作可靠性有有明显提高向超高速、大容容量、微型化化及网络化方方向发展软件特征完全不受重视软件技术的发展展不能满足需需求,出现软软件危机开发技术有进步步,但未获突突破性进展,价价格高,未完完全摆脱软件件危机软件危机*软件需求增长长得不到满足足;*软件生产成本本高,价格昂昂贵;*软件生产进度度无法控制;*软件需求定义义不准确,易易偏离用户需需求;*软件质量不易易保证;*软件可维护性性差等等软件工程采用工程的概念念、原理、技技术和方法来来开发与维护护软件,把经经过时间考验验而证明正确确的管理技术术和当前能够够得到的最好好的技术方法法结合起来,这这就是软件工工程。Boehm曾为为软件工程下下了定义:运运用现代科学学技术知识来来设计并构造造计算机程序序及为开发、运运行和维护这这些程序所必必需的相关文文件资料。Fritz BBauer: The estabblishmment aand usse of soundd engiineeriing prrincipples iin ordder too obtaain ecconomiicallyy softtware that is reeliablle andd workks effficienntly oon reaal macchiness.软件工程程是建立和使使用一系列完完善的工程化化原则以便经经济地获得能能够在实际机机器上有效运运行的可靠软软件。1983年,IIEEE(IInstittute oof Eleectriccal & Electtronicc Engiineerss,电气和电电子工程师学学会)做出的的定义是“软件工程是是开发、运行行、维护和修修复软件的系系统方法。”它的核心内容是是“以工程化的的方式组织软软件的开发”,其中涉及及软件计划、开开发和维护各各个阶段。软件工程三个要要素:方法、工工具和过程。1) 软件工程方法为为软件开发提提供了“如何做”的技术。2) 软件工具为软件件工程方法提提供自动的或或半自动的软软件支撑环境境。3) 软件工程过程指指将软件工程程的方法和工工具综合起来来,以达到合合理、及时地地进行计算机机软件开发的的目的。软件工程过程(SSoftwaare Enngineeering Proceess)软件工程过程是是指为了获得得软件产品,在在软件工具支支持下由软件件工程师采用用软件工程方方法完成的一一系列软件工工程活动。软件工程的七条条原理著名的软件工程程专家B.WW.Boehhm于19883年在一篇篇论文中提出出了软件工程程的七条基本本原理。他认认为这七条原原理是确保软软件产品质量量和开发效率率的原理的最最小集合。1 分阶段的生命周周期计划严格格管理2 坚持进行阶段评评审3 实行严格的产品品控制4 采用现代程序设设计技术5 结果应能清楚地地审查6 开发小组的人员员应少而精7 承认不断改进软软件工程实践践的必要性软件工程的目标标组织实施软件工工程项目是为为了获得项目目的成功,即即达到以下几几个主要的目目标:1 出较低的开发成成本2 到预期的软件功功能3 取得较好的软件件性能4 使开发的软件易易于移植5 需要较低的维护护费用6 能按时完成开发发工作,及时时交付使用概括地说,基本本目标,四个个字:优质、高高效。即质量量高、效率高高。软件工程的原则则软件工程基本本目标适用于于所有软件工工程项目。为为达到这些目目标,在软件件开发过程中中必须遵循下下列软件工程程原则。1抽象2信息隐蔽3模块化4局部化5确定性6一致性7完备性8验证性使用一致性、完完备性和可验验证性的原则则可以帮助开开发者设计一一个正确的系系统。软件生命周期(llife ccycle)同其它事物一样样,软件也有有孕育、诞生生、成长、成成熟、衰亡的的生存过程,称称为软件的生生命周期。包包括六阶段内内容:1 制定计划2 需求分析3 系统设计4 程序编写5 软件测试6 运行和维护软件生命周期经经典模型瀑布模型软件生命周期模模型是从软件件项目需求定定义直至软件件经使用后废废弃为止,跨跨越整个生存存期的系统开开发、运作和和维护所实施施的全部过程程、活动和任任务的结构框框架。软件开发模型瀑布模型:按照照软件生命周周期经典模型型-瀑布模型型的各个阶段段实施开发工工作优点:1提供了软件件开发的基本本框架,优于于“手工作坊”式的开发方方法2有利于大型型软件开发过过程中人员的的组织、管理理3有利于软件件开发方法和和工具的研究究与使用,从从而提高了大大型软件项目目开发的质量量和效率缺点:1在软件开发发的初始阶段段指明软件系系统的全部需需求是困难的的,有时甚至至是不现实的的2需求确定后后,用户和软软件项目负责责人要等相当当长的时间(经经过设计、编编码、测试、运运行)才能得得到一份软件件的最初版本本。如果用户户对这个软件件提出比较大大的修改意见见,那么整个个软件项目将将会蒙受巨大大的人力、财财力、时间方方面的损失。渐进模型(演化化模型、原型型模型)原型模型在克服服瀑布模型缺缺点、减少由由于软件需求求不明确而给给开发工作带带来风险方面面,确实有着着显著的效果果原型化方法是用用户和软件开开发人员之间间进行的一种种交互过程,适适用于需求不不确定性高的的系统螺旋模型它是生命周期模模型与原型模模型的结合,不不仅体现了两两个模型的优优点,还增加加了新的成分分风险分析析螺旋模型是支持持大型软件开开发并具有广广泛应用前景景的模型例题1开发软件时时,对于提高高软件开发人人员工作效率率至关重要的的是(A)。软软件工程中描描述软件生存存周期的瀑布布模型一般包包括计划、(BB)、设计、编编码、测试、维维护等几个阶阶段。其中,设设计阶段在管管理上又可以以依次分成(CC)和(D)两两个步骤。供选答案:A: 程程序开发环境境 操作系统的的资源管理功功能开发程序人员员数量 计算机的并并行处理能力力B: 需需求分析 需求调查可行性分析 问题定义C、D:方案案设计代码设计概要设计 数据设计运行设计详细设计故障处理设设计 软件体系结结构设计答案:A. B. C. D. 2有人将软件件的发展过程程划分为4个个阶段:第一阶段(200世纪50年年代)称为“程序设计的的原始时期”。这时既没没有(A),也也没有(B),程程序员只能用用机器指令编编写程序。第二阶段(200世纪60年年代)称为“基本软件期期”。出现了(AA),并逐渐渐普及。随着着(B)的发发展,编译技技术也有较大大的发展。第三阶段(200世纪60年年代末-700年代中)称称为“程序设计方方法时代”。这一时期期,与硬件价价格下降相反反,软件开发发费用急剧上上升。人们提提出了(C)和和(D)等程程序设计方法法,设法降低低软件的开发发费用。第四阶段(200世纪70年年代中期至今今)称为“软件工程时时期”,软件开发发技术不再仅仅仅是程序设设计技术,而而是包括了与与软件开发的的各个阶段,如如(E)、(FF)、编码、单单元测试、综综合测试、(GG)及其整体体有关的各种种管理技术。供选择的答案:AD:汇编编语言 操作系统 虚拟存储器器概念 高级语言结构化程序设设计 数据库概念念 固件 模块化程序序设计EG:使用用和维护 兼容性的确确认 完整性的确确认 设计需求定义 图象处理答案:A. B. C. D. E. F. G.问题定义关于问题性质、工工程目标和规规模的书面报报告可行性研究(也也称可行性分分析,Feaasibillity AAnalyssis)目的就是要用最最小的代价在在尽可能短的的时间内确定定问题是否能能够解决。具体任务:1进一步分析析和澄清问题题定义。2导出系统的的高层逻辑模模型。从系统统逻辑模型出出发,探索若若干种可供选选择的主要解解法(即系统统实现方案)。对对每种解法都都应该至少从从下述几方面面研究其可行行性:Economiic feaasibillity,经经济可行性。这这个系统的经经济效益能超超过它的开发发成本吗? Techniccal feeasibiility,技技术可行性。使使用现有的技技术能实现这这个系统吗?Legal ffeasibbilityy,法律可行行性。确定系系统开发可能能导致的任何何侵权行为、妨妨碍性后果和和责任。Operatiional feasiibilitty,操作可可行性。系统统的操作方式式在这个用户户组织内行得得通吗?3、对以后的行行动方针提出出建议。基于计算机系统统的成本效益分析是是可行性研究究的重要内容容,它用于评评估计算机系系统的经济合合理性。给出出系统开发的的成本论证,并并将估算的成成本与预期的的利润进行对对比。成本软件开发成本主主要表现为人人力消耗(乘乘以平均工资资则得到开发发费用)。一般来说,基于于计算机系统统的成本由四四个部分组成成:1购置并安装装软硬件及有有关设备的费费用2系统开发费费用3系统安装、运运行和维护费费用4人员培训费费用1、代码行技术术代码行技术是比比较简单的定定量估算方法法,也是一种种自底向上的的估算方法。它它把开发每个个软件功能的的成本和实现现这个功能需需要用的源代代码行数联系系起来。通常常根据经验和和历史数据估估计实现一个个功能需要的的源程序行数数。一旦估计出源代代码行数以后后,用每行代代码的平均成成本乘以行数数即可确定软软件的成本。每每行代码的平平均成本主要要取决于软件件的复杂程度度和开发小组组的工资水平平。大致分如下两步步: 对要求设计计的系统进行行功能分解,直直到可以对为为实现该功能能所要求的源源代码行数做做出可靠的估估算为止。根根据经验和历历史数据,对对每个功能块块估计一个最最有利的、最最可能的和最最不利的LOOC值。设最最有利的LOOC值为a,最最可能的LOOC值为m,最最不利的LOOC值为b,则则代码行的期期望(平均)值值L 再根据历史史数据和经验验,选择每个个软件功能块块的LOC价价格计算每个功能块块的价格及工工作量,并确确定该软件项项目总的估算算价格和工作作量。可行性论证的提提纲大致包括如下内内容:1、 背景情况。问题题描述,市场场需求等2、 系统描述。简略略的范围描述述,计划目标标和阶段目标标等3、 候选方案。候选选方案的配置置,选择最终终方案的准则则等4、 价格利益分析。经经费概算和预预期经济效益益5、 技术冒险评价。包包括技术实力力、设备条件件和已有工作作基础6、 操作可行性。用用户组织对操操作方式的希希望7、 法律可行性。系系统开发可能能导致的侵权权、违法等8、 其它与项目有关关的问题。可可能的未来变变化9、 结论。需求分析所谓软件需求是是指用户对目目标软件系统统在功能、行行为、性能、设设计约束等方方面的期望。需求分析具体任任务:1、 确定对系统的综综合要求1) 系统功能要求2) 系统性能要求3) 运行要求4) 将来可能提出的的要求2、 分析系统的数据据要求(需求求分析的本质质就是对数据据和加工进行行分析)3、 导出系统的逻辑辑模型4、 修正系统开发计计划5、 开发原型系统(可可选)需求获取技术1、 访谈与会议2、 书面调查法3、 观察用户工作流流程4、 用户和开发人员员共同组成联联合小组需求调查主要包括四部分分内容:1、 组织概况2、 组织的业务活动动:1) 组织的业务状态态2) 业务的详细内容容3) 输入输出信息从从六个方面着着手:*信息流向*信息种类*利用的目的*信息的使用者者和制造者*输入和输出地地点*输入和输出信信息量3、 存在问题、约束束条件4、 未来要求结构化分析方法法(SA方法法)就是面向向数据流自顶顶向下逐步求求精进行需求求分析的方法法。分析的过程:面面向数据流,采采用自顶向下下、分支分层层、逐步分解解、逐步细化化、逐步求精精,最后落实实到具体加工工、基本加工工、简单加工工。用逐步求求解的方法控控制系统的复复杂度,使得得复杂系统简简单化、抽象象系统具体化化。数据流图(DFFD)数据流图描绘系系统的逻辑模模型,或者说说描绘信息在在系统中流动动和处理的情情况。基本系统模型数据流分析将系系统模型视作作一种数据变变换,它接受受各种形式的的输入,通过过变换产生各各种形式的输输出。例,下图是一个个飞机机票预预定系统的基基本系统模型型 数据流图的成分分下图是机票预定定系统的DFFD。可以看出,数据据流图是由以以下四个基本本成分组成的的:1、 数据流(用箭头头表示)2、 加工(用圆圈表表示)3、 文件(用单线或或双线表示)4、 数据源点和终点点(用方框表表示)几点说明:1、 一个加工并不一一定是一个程程序。2、 一个数据存储也也不等同于一一个文件。3、 数据存储和数据据流都是数据据,但所处状状态不同。自顶向下逐层画画DFD的步步骤如下:1) 把基本系统模型型加上源点和和终点作为顶顶层DFD。2) 画出各层DFDD,逐层画DDFD的过程程也就是逐层层分解的过程程。为便于管理,要要对分层DFFD和图中的的加工进行编编号。A、 子图的图号就是是分解的父图图中相应加工工的编号。B、 子图中的加工编编号是由子图图号、小数点点、局部顺序序号组成。3) 画出总的DFDD。(可选)画DFD时要注注意的几个问问题:1、 画DFD不是画画流程图。DDFD只描述述“做什么”,不描述“怎么做”和做的顺序序。而流程图图表示对数据据进行加工的的次序和细节节。2、 父图和子图的平平衡。父图某某加工的输入入输出和分解解这个加工的的子图的输入入输出必须完完全一致。3、 局部文件。文件件总是局部于于分层DFDD的某一层或或某几层。4、 分解的深度与层层次。逐层分分解要求分解解到加工成为为足够简单、易易于理解的基基本加工为止止。所谓基本本加工就是加加工的意义明明确、操作单单一。但是究究竟分解的层层次多少合适适,应当根据据问题的复杂杂程度来确定定。一般来说说,可参考以以下准则:1) 一个加工的分解解,最多不要要超过7个子子加工。若超超过7个时,可可以用增加层层次的办法来来减少子加工工数。2) 分解在逻辑上应应合理、自然然,不能硬性性分割。3) 在保证数据流的的易理解性的的前提下,尽尽量少分解层层次。这样可可以减少层次次的界面。4) 分解要均匀。即即在一张DFFD中,不要要有些加工已已是基本加工工,另一些加加工还要分解解好几层。绝绝对均匀不可可能,但不要要相差太大。数据字典(DDD)数据字典是关于于数据的信息息的集合,也也就是对数据据流图中包含含的系统元素素(所有数据据流、加工、文文件)的定义义的集合。数据流图和数据据字典是需求求规格说明书书的主要组成成部分。1、 数据流条目数据流条目是定定义数据流的的。定义的方方式一般是列列出该数据流流的各组成数数据项。在定定义数据流时时,通常借助助于一些简单单的符号。如如=等价价于(定义为为)+ “与” x=aa+b,x由由a和b组成成|,,“或”x= , ,xx=a|bb x由由a或b组成成重复 xx=a x由0个个或多个a组组成mn重复 如如x=3aa8 表表示x中至少少出现3次aa,至多出现现8次a()可选选(选择)如x=a+(b)+cc b可可以在x中出出现,也可以以不出现“”基基本数据元素素 x=“a” x为取取值为a的数数据元素.连连接符 xx=1.99 x可取取1至9中的的任一值如数据流“存折折”可以定义:存折=户名+所号+帐号号+开户日+性质+(印印密)+1存取行5500000000000999999999户名=2字母母24所号=“0011”“999”帐号=“0000000011”“999999999”开户日=年+月月+日性质=“1”.“6”印密=“0”存取行=日期+(摘要)+支出+存入入+余额+操操作+复核日期=年+月+日年=“00011”.“9999”月=“01”.“12”日=“01”.“31”摘要=1字母母4支出=金额金额=“00000000.01”.“99999999.999”操作=“000001”.“999999”2、 数据文件条目文件条目是定义义文件的,一一般只需列出出文件的组成成数据项,以以及文件的组组织方式如数据文件(数数据存储)“存折”可定义为存折=户名+所号+帐号号+开户日+性质+(印印密)+1存取行5500000000000999999999组织:按帐号次次序从小至大大排列3、 加工条目(小说说明)小说明集中描述述一个加工“做什么”,即加工逻逻辑。所谓加加工逻辑是指指用户对这个个加工的逻辑辑要求,即这这个加工的输输出数据流和和输入数据流流的逻辑关系系。目前用于写小说说明(加工逻逻辑说明)的的工具有结构构化英语、判判定表和判定定树。结构化英语下面是商店业务务处理系统中中“检查发货单单”的例子IF the invoiice exxceedss $5000 THENN(发货单金额额超过$5000)IF thee accoount hhas anny invvoice more than 60 daays ovverduee THENN(欠款超过过60天)the cconfirrmatioon pennding resollutionn of tthe deebt(在偿还欠款款前不予批准准)ELSE (accouunt iss in ggood sstandiing)(欠款未超期期)issuee conffirmattion aand innvoicee(发批准书及及发货单)ENDIFELSE (iinvoicce $5000 or less)(发货单金额额未超过$5500)IF thee accoount hhas anny invvoice more than 60 daays ovverduee THENN(欠款超过660天)issuee conffirmattion, invoiice annd wriite meessagee on ccreditt actiion reeport(发批准书,发发货单及赊欠欠报告)ELSE (accouunt iss in ggood sstandiing)(欠款未超超期)Issuee conffirmattion aand innvoicee(发批准书及及发货单)ENDIF判定表在某些数据处理理问题中,某某数据流图的的加工需要依依赖于多个逻逻辑条件的取取值,就是说说完成这一加加工的一组动动作是由于某某一组条件取取值的组合引引发的。这时时使用判定表表来描述比较较合适。下面面以“检查发货单单”为例,说明明判定表的构构成。1234条件发货单金额>$500>$500$500$500赊欠情况>60天60天>60天60天操作不发出批准书发出批准书发出发货单发出赊欠报告判定表由四个部部分组成,虚虚线分割开的的四部分是:条件茬(Connditioon Stuub)左上部分分条件项(Connditioon Enttry)右上部分分动作茬(Acttion SStub)左下部分分动作项(Acttion EEntry)右下部分分例题 请用判判定表表示下下面描述的耗耗电计费系统统中电费的计计算方法耗电计费系统可可以采用固定定价格收费和和浮动价格收收费两种方式式。若采用固固定价格方式式收费,对每每月耗电1000KWh以下的用用户只征收最最低标准费,超超过100KKWh的用户按按价格表A收收费;若采用用浮动价格方方式收费,则则每月耗电1100KWh以下的用用户按价格表表A收费,超超过100KKWh的用户按按价格表B收收费。答案:条件收费方式固定固定浮动浮动耗电规模>100100>100100操作征收最低标准费费按价格表A收费费按价格表B收费费条件固定固定浮动浮动>100100>100100操作按价格表A收费费征收最低标准费费按价格表B收费费按价格表A收费费判定树判定树也是用来来表达加工逻逻辑的一种工工具,有时它它比判定表更更直观。下面面把前面的“检查发货单单”的例子用判判定树表示。我们用DFD描描述了系统中中数据流动和和加工的状况况,用DD描描述了其中的的一些数据流流、文件和加加工,但是还还不能满足需需求分析阶段段的要求。任任何一个软件件系统都可能能有成千上万万个数据项,仅仅仅描述它们们是不够的,更更重要的是如如何把它们以以最优的方式式组织起来,以以满足系统对对数据的要求求。E-R图(Enntity-Relattionshhip,实体体-关系图)1、实体是现实世界中实实体的数据侧侧面;或者说说,数据对象象是现实世界界中省略了功功能和行为的的实体。2、联系客观世界中的事事物彼此间往往往是有联系系的。同样,应应用问题中的的任何数据对对象都不是孤孤立的,它们们与其它数据据对象一定存存在各种形式式的联系。联系可分为三类类:1) 一对一联系(11:1)2) 一对多联系(11:N)3) 多对多联系(MM:N)3、属性属性是实体或联联系所具有的的性质软件需求规格说说明1. 引言。编写目的的,项目背景景等2. 任务概述。目标标,运行环境境等3. 数据描述。4. 功能需求。5. 性能需求。6. 运行需求。7. 其他需求。例题1软件需求分分析的任务不不应包括(AA)。进行需需求分析可使使用多种工具具,但(B)是是不适用的。在在需求分析中中,分析员要要从用户那里里解决的最重重要的问题是是(C)。需需求规格说明明书的内容不不应当包括(DD)。该文档档在软件开发发中具有重要要的作用,但但其作用不应应当包括(EE)。供选答案:A:问题分分析信息域分析析结构化程序设设计确定逻辑模模型B:数据流流图判定表PAD图数据词典C:要让软软件做那么要给软件提提供哪些信息息要求软件工作作效率如何要让软件具具有什么样的的结构D:对重要要功能的描述述对算法的详详细过程性描描述软件确认准则则软件的性能能E:软件设设计的依据用户和开发发人员对软件件要“做什么”的共同理解解软件验收的依依据软件可行性性分析的依据据答案:A. B. C. D. E.2在结构化分分析方法中,用用以表达系统统内数据的运运动情况的工工具有()。供选答案:A.数据流图 B.数据据词典 CC.结构化英英语 D.判定表与判判定树答案:A一旦软件需求确确认之后,就就进入开发阶阶段。开发阶阶段由3个互互相关联的步步骤组成,即即设计、实现现(编码)和和测试。从工程管理的角角度看,软件件设计可分为为概要设计/总体设计和和详细设计两两大步骤。从技术角度来看看,软件设计计可分为数据据设计、系统统结构设计和和过程设计。现现在越来越多多的人把界面面设计也单独独取出作为一一个方面。概要设计基本目的是用比比较抽象概括括的方式确定定系统如何完完成预定的任任务,即确定定软件系统的的总体结构,给给出系统中各各个组成模块块的功能和模模块间的接口口。涉及的概念主要要有:模块化化,抽象与逐逐步求精,信信息隐藏,模模块独立在进行软件结构构设计时应该该遵循的最重重要的原理是是模块独立原原理。采用模块化原理理的优点:1) 可以使软件结构构清晰,容易易设计、容易易阅读和理解解、容易测试试和调试。2) 提高软件的可靠靠性。3) 易于软件开发工工程的组织管管理。所谓模块的独立立性,是指软软件系统中每每个模块只涉涉及软件要求求的具体的子子功能,而和和软件系统中中其他模块的的接口是简单单的。模块独立性可用用两个定量准准则来度量耦合(couppling):各个模块之之间相互关联联的度量内聚(coheesion):模块内部各各元素之间相相互关联的度度量耦合共分七级非直接耦合、数数据耦合、特特征耦合/标标记耦合、控控制耦合、外外部耦合、公公共耦合、内内容耦合按上述顺序,耦耦合性逐渐升升高,模块独独立性逐渐降降低。内聚共分七级偶然内聚、逻辑辑内聚、时间间内聚、过程程内聚、通信信内聚、顺序序内聚、功能能内聚按上述顺序,内内聚性逐渐加加强,功能趋趋于单一,模模块独立性也也逐渐加强。软件概要设计的的目标是力求求增加模块的的内聚,尽量量减少模块间间的耦合。但但增加内聚比比减少耦合更更重要,应当当把更多的注注意力集中到到提高模块的的内聚程度上上来。系统结构设计的的七条启发式式原则:1) 改进软件结构提提高模块独立立性2) 模块规模应该适适中3) 深度、宽度、扇扇出和扇入都都应适当4) 模块的作用范围围应在控制范范围之内5) 力争降低模块接接口的复杂程程度6) 设计单入口单出出口的模块7) 模块功能应该可可以预测概要设计常用图图形工具有:层次图、HHIPO图、结结构图(SCC图)。常见的软件概要要设计方法有有3大类:1) 以数据流图为基基础构造模块块结构的结构构化设计方法法(SD,SStructtured Desiggn)2) 以数据结构为基基础构造模块块结构的Jaacksonn方法和LCCP(Loggical Consttructiion off Proggrams)(WWanierr)逻辑构造造方法3) 以对象、类、继继承和通信为为基础的面向向对象的设计计方法(OOOD)此外,以信息隐隐藏为原则的的Parnaas方法虽然然没有给出系系统化的设计计方法,但提提出了一组原原则。结构化设计方法法(Struuctureed Dessign,SSD)是基于于模块化、自自顶向下细化化、结构化程程序设计等程程序设计技术术基础而发展展起来的。概要设计的步骤骤:1、 分析/重画DFFD2、 确定DFD的特特点及边界3、 映射为软件结构构4、 细化后,得到初初始结构图5、 获得最终的软件件结构图概要设计说明书书1. 引言。编写目的的,项目背景景等2. 任务概述。目标标,运行环境境,需求概述述,条件与限限制等3. 总体设计。处理理流程,系统统总体结构等等4. 接口设计。外部部接口,内部部接口等5. 数据结构设计6. 运行设计7. 出错处理设计8. 其它问题例题1在众多的设设计方法中,SSD方法是最最受人注意的的,也是最广广泛应用的一一种,这种方方法可以同分分析阶段的(AA)方法及编编程阶段的(BB)方法前后后衔接,SDD方法考虑如如何建立一个个结构良好的的程序结构,它它提出了评价价模块结构质质量的两个具具体标准-块块间联系和块块内联系。SSD方法的最最终目标是(CC),用于表表示模块间调调用关系的图图叫(D)。另一种比较著名名的设计方法法是以信息隐隐藏为原则划划分模块,这这种方法叫(EE)方法。供选择的答案:A-B:JaacksonnSASCParnaasSPC: 块间联联系大,块内内联系小 块间联系大大,块内联系系小块间联系小,块块内联系大 块间联系小小,块内联系系小D: PADDHCPSCSADTHIPONSE: Jacckson Parnaas Turinng Wirthh Dijksstra答案:A. B.C.D.E.2块间联系和和块内联系是是评价程序模模块结构质量量的重要标准准。联系的方方式、共用信信息的作用、共共用信息的数数量和接口的的(A)等因因素决定了块块间联系的大大小。在块内内联系中,(BB)的块内联联系最强。SD方法的总的的原则是使每每个模块执行行(C)功能能,模块间传传送(D)参参数,模块通通过(E)语语句调用其它它模块,而且且模块间传送送的参数应尽尽量(F)。此外,SD方法法还提出了判判定的作用范范围和模块的的控制范围等等概念。SDD方法认为,(GG)应该是(HH)的子集。供选择的答案:A:友好性 健壮性 简单性 安全性B:巧合内聚聚 功能内聚 通信内聚 信息内聚C:一个多个D:数据型 控制型 混合型E:直接引用用标准调用 中断 宏调用F:少多G-H:作用用范围控制范围答案:A. B. C. D. E. F. G. H.3从下列有关关系统结构图图的叙述中选选出正确的叙叙述A系统结构图图中反映的是是程序中数据据流的情况。B系统结构图图是精确表达达程序结构的的图形表示法法。因此,有有时可将系统统结构图当作作程序流程图图使用。C 个模块的多个下下属模块在系系统结构图中中所处的左右右位置是无关关紧要的。D 系统结构图中,上上级模块与其其下属模块之之间的调用关关系用有向线线段表示。这这时,使用斜斜的线段和水水平、垂直的的线段具有相相同的含义。答案:D5在完成软件件概要设计,并并编写出相关关文档之后,应应当组织对概概要设计工作作的评审。评评审的内容包包括:分析该软件的系系统结构、子子系统结构,确确认该软件设设计是否覆盖盖了所有已确确定的软件需需求,软件每每一成分是否否可(A)到到某一项需求求。分析软件各部分分之间的联系系,确认该软软件的内部接接口与外部接接口是否已经经明确定义。模模块是否满足足(B)和(CC)的要求。模模块(D)是是否在其(EE)之内。供选择的答案:A:覆盖 演化 追溯 等同 连接B:多功能 高内聚 高耦合 高效率 可读性C:多入口 低内聚 低耦合 低复杂度 低强度D-E:作用用范围 高内聚 低内聚 取值范围 控制范围答案:A. B. C. D. E.详细设计详细设计就是要要在总体设计计阶段成果的的基础上,考考虑如何实现现定义的软件件系统,直到到对系统中的的每个模块给给出足够详细细的过程描述述。结构化程序设计计技术是进行行详细设计的的逻辑基础。它它采用自顶向向下逐步求精精的设计方法法和单入口单单出口的控制制结构。结构化程序设计计的三种基本本控制结构是是顺序、选择择、循环。详细设计的工具具有程序流程程图、盒图、PAD图、判定表、判定树和PDL语言等。程序复杂性度量量程序复杂性主主要指模块内内程序的复杂杂性。它直接接关联到软件件开发费用的的多少、开发发周期的长短短和软件内部部潜伏错误的的多少等。1) 代码行度量法度量程序的复杂杂性,最简单单的方法就是是统计程序的的源代码行数数。该方法的的基本考虑是是统计一个程程序模块的源源代码行数目目,并以源代代码行数作为为程序复杂性性的度量。Lipow及其其他研究者得得出一个结论论:对于少于于100个语句句的小程序,源源代码行数与与出错率是线线性相关的。随随着程序的增增大,出错率率以非线性方方式增长。2) McCabe度度量法McCabe度度量法是一种种基于程序控控制流的复杂杂性度量方法法。McCaabe定义的的程序复

    注意事项

    本文(软件工程考点例题整理41850.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开