软件工程参考2govz.docx
Evaluation Warning: The document was created with Spire.Doc for .NET.第一章1软件产品品的特性是是什么?产产品特性: 是一种逻逻辑产品,与与物质产品品有很大的的区别。软件产品品的生产主主要是研制制,生产成成本主要在在开发和研研制,开发发研制完成成后,通过过复制就产产生了大量量软件产品品。软件产品品不会用坏坏,不存在在磨损,消消耗。 生产主要要是脑力劳劳动,还末末完全摆脱脱手工开发发方式,大大部分产品品是"定做做"的开发软件件的费用不不断增加,致致使生产成成本相当昂昂贵。2软件生生产有几个个阶段?各各有何特征征?程序设计计时代:这这个阶段生生产方式是是个体劳动动,使用的的生产工具具是机器语语言,汇编编语言。程序系统统时代:这这个阶段生生产方式是是小集团合合作生产,使使用的生产产工具是高高级语言,开开发方法仍仍依靠个人人技巧,但但开始提出出结构化方方法。软件工程程时代:这这个阶段生生产方式是是工程化的的生产,使使用数据库库开发工具具开发环境境网络分布式面向对象象技术来开开发软件。3什么是是软件危机机?产生原原因是什么么?软件开开发技术的的进步未能能满足发展展的要求。在软件开开发中遇到到的问题找找不到解决决的办法,问问题积累起起来,形态态尖锐的矛矛盾,导致致了软件危危机。产生生原因: 软件规规模越来越越大,结构构越来越复复杂。 软件开开发管理困困难而复杂杂。 软件包包开发费用用不断增加加。 软件开开发技术落落后。 生产方方式落后,仍仍采用手工工方式。 开发工工具落后,生生产率提高高缓慢。4什么是是软件工程程?它目标标和内容是是什么?软软件工程就就是用科学学的知识程程和技术原原理来定义义,开发,维维护软件的的一门学科科。软件工工程目标:付出较低低开发成本本;达到要要求的功能能;取得较较好的性能能;开发的的软件易于于移植;只只需较低的的维护费用用;能按时时完成开发发任务,及及时交付使使用;开发发的软件可可靠性高。软件工程程内容:研研究内容包包括开发技技术和开发发管理两个个方面。开开发技术主主要研究:软件开发发方法,开开发过程,开开发工具和和环境。开开发管理主主要研究:软件管理理学,软件件经济学,软软件心理学学。5软件工工程面临的的问题是什什么?软件件工程需要要解决的问问题:软件件的费用,可可靠性,可可维护性,软软件生产率率和软件的的重用。6什么是是软件生存存周期?它它有哪几个个活动?软软件生存周周期:一个个软件从提提出开发要要求开始直直到该软件件报废为止止的整个时时期。包括括:可行性性分析和项项目开发计计划,需求求分析,概概要设计,详详细设计,编编码,测试试,维护。7什么是是软件生存存周期模型型?有哪些些主要模型型?生存周周期模型:描述软件件开发过程程中各种活活动如何执执行的模型型。对软件件开发提供供强有力的的支持,为为开发过程程中的活动动提供统一一的政策保保证,为参参与开发的的人员提供供帮助和指指导,是软软件生存周周期模型化化技术的基基础,也是是建立软件件开发环境境的核心。主要有:瀑布模型型,增量模模型,螺旋旋模型,喷喷泉模型,基基于知识的的模型,变变换模型。8什么是是软件开发发方法?有有哪些主要要方法?使使用早已定定义好的技技术集及符符号表示习习惯来组织织软件生产产的过程。通过使用用成功的软软件开发方方法,在规规定的投资资和时间内内,开发出出符合用户户需求的高高质量的软软件。软件件开发方法法是克服软软件危机的的重要方面面之一,对对软件工程程及软件包包产业的发发展起了不不可估量的的作用。主主要有:结结构化方法法,JACCKSONN方法,维维也纳开发发方法VDM,面向对对象开发方方法。第二章1.可行性研研究的任务务是什么?可行研究究的任务:首先需要要进行概要要的分析研研究,初步步确定项目目的规模,目目标,约束束和限制。分析员再再进行简要要的需求分分析,抽象象出项目的的逻辑结构构,建立逻逻辑模型。从逻辑模模型出发,经经过压缩的的设计,探探索出若干干种可供选选择的解决决方法,对对每种解决决方法都要要研究它的的可行性。主要从三三个方面考考虑:.技术可可行性:一一般要考虑虑的情况包包括 开发发的风险即即设计出的的系统能否否达到要求求的功能和和性能;资资源的有效效性;相关关技术的发发展是否支支持;.经济可可行性:进进行开发成成本的估算算以及了解解取得效益益的评估,确定要开开发的项目目是否值得得投资。.社会可可行性:要要开发的项项目是否存存在任何侵侵权问题,运行方式式在用户组组织内是否否可行,现现有管理制制度人员素质质操作方式式是否可行行。2.可行性性研究有哪哪些步骤?.确定项项目规模和和目标;.研究正正在运行的的系统;收收集研究分析现有有系统的文文档资料,实实地考察系系统访问有有关人员,然然后描绘现现有系统的的高层系统统流程图。.建立新新系统的高高层逻辑模模型;使用用数据流图图和数据字字典描述数数据在系统统中的流动动和处理情情况。 .导出和和评价各种种方案;导导出若干较较高层次的的物理解决决方法,根根据技术可可行性经济可行行性社会可行行性进行评评估,得到到可行的解解决方法。.推荐可可行方案;进行成本本效益分分析,决定定该项目是是否值得开开发,若值值得开发那那么解决方方案是什么么,并且说说明该方案案可行的原原因和理由由。.编写可可行性研究究报告;将将上述可行行性过程的的结果写成成相应文档档,即可行行性研究报报告。3.可行性性研究报告告有哪些主主要内容?.引言:编写本文文档的目的的;项目名名称背景;本本文档用到到的专门术术语和参考考资料。.可行性性研究前提提:说明开开发项目的的功能性能和基基本要求;达到的目目标;各种种限制条件件;可行性性研究方法法和决定可可行性的主主要因素。.对现有有系统的分分析:说明明现有系统统的处理流流程和数据据流程;工工作负荷;各项费用用支出;所所需各类专专业技术人人吧和数量量;所需各各种设备;向有系统统存在什么么问题。.所建议议的技术可可行性分析析:所建议议系统的简简要说明;处理流程程和数据流流程;与现现有系统比比较的优越越性;采用用所建议系系统对用户户的影响;对各种设设备现有软件件开发环境境运行环境境的影响;对经费支支出的影响响;对技术术可行性的的评价。.所建议议系统的经经济可行性性分析:说说明建议系系统的确良良各种支出出,各种效效益;收益益投资比;投资顺收收周期。.社会因因素可行性性分析:说说明法律因因素,对合合同责任侵犯专利利权侵犯版权权等问题的的分析;说说明用户使使用可行性性,是否满满足用户行行政管理工作制度度人吧素质质的要求。.其它可可供选择方方案:逐一一说明其他他可供选择择的方案,并并说明未被被推荐的理理由。.结论意意见:说明明项目是否否能开发;还需什么么条件才能能开发;对对项目目标标有何变动动等。4.成本-效益分分析可用哪哪些指标进进行度量?.投资回回收率:通通常把建立立系统若干干年后能取取得的收益益折算成现现在的价值值和开发系系统所需的的费用进行行比较得出出投资回收收率。.投资回回收期:就就是使累计计的经济效效益等于最最初的投资资费用所需需的时间。.纯收入入:整个生生存周期之之内的累计计经济效益益(折成现现在值)与与投资之差差。5.项目开开发计划有有哪些内容容?.项目概概述:说明明项目的各各项主要工工作;说明明软件的功功能性能;为为完成项目目应具有的的条件;用用户及合同同承包者承承担的工作作完成的期期限及其他他条件限制制;应交付付的程序名名称;所使使用的语言言及程储形形式;应交交付的文档档。.实施计计划:说明明任务的划划分,各任任务责任人人,项目开开发进度,项项目的预算算,各阶段段的费用支支出,各阶阶段应完成成的任务,用用图表说明明每项任务务的开始和和完成时间间。.人员组组织及分工工:所需人人员类型数量组成结构构。.交付期期限:最后后完工日期期。第三章什什么是需求求分析?需需求分析阶阶段的基本本任务是什什么? 需求分析析:开发人人员准确地地理解用户户的要求,进进行细致的的调查分析析,将用户户非形式的的需求陈述述转化为完完整的需求求定义,再再由需求定定义转换到到相应的需需求规格说说明的过程程。 基本本任务: 问题识别别:双方确确定对问题题的综合需需求,这些些需求包括括功能需求求,性能需需求,环境境需求,用用户界面需需求。 分析与综综合,导出出软件的逻逻辑模型 编写文档档:包括编编写"需求求规格说明明书",""初步用户户使用手册册","确确认测试计计划",""修改完善善软件开发发计划" 什么是结结构分析方方法?该方方法使用什什么描述工工具? 结构化分分析:简称称SA,面面向数据流流进行数据据分析的方方法。采用用自顶向下下逐层分解解的分析策策略。顶层层抽象地描描述整个系系统,底层层具体地画画出系统工工程的每个个细节。中中间层则是是从抽象到到具体的过过渡。使用用数据流图图,数据字字典,作为为描述工具具,使用结结构化语言言,判定表表,判定树树描述加工工逻辑。 结构化分分析方法通通过哪些步步骤来实现现? 了解当前前系统的工工作流程,获获得当前系系统的物理理模型。 抽象出当当前系统的的逻辑模型型。 建立目标标系统的逻逻辑模型。 作进一步步补充和优优化。 什么是数数据流图?其作用是是什么?其其中的基本本符号各表表示什么含含义? 数数据流图(DDFD):以图形的的方式描述述数据在系系统中流动动和处理的的过程。只只反映系统统必须完成成的逻辑功功能,是一一种功能模模型。画数据流流图应注意意什么事项项? 命名名: 不能能使用缺乏乏具体含义义的名字,加加工名应能能反映出处处理的功能能。 画数数据流而不不是控制流流。 数据据流名称只只能是名词词或名词短短语,整个个图中不反反映加工的的执行顺序序。 一般般不画物质质流。 每每个加工至至少有一个个输入数据据流和一个个输出数据据流,反映映出此加工工数据的来来源与加工工的结果 。 编号号: 某个个加工分解解成加一张张数据流图图时,上层层图为父图图,下层图图为子图。子图应编编号子图上上的所有加加工也应编编号,子图图的编号应应与父图的的编号相对对应。 父父图与子图图的平衡:子图的输输入输出 数据流同同父图相应应加工的输输入输出数数据流必须须一致 局局部数据存存储:当某某慨数据流流图中的数数据存储不不是父图中中相应加工工的外部接接口,而只只是本图中中某些加工工之间的数数据接口,则则称这些数数据存储为为局部数据据存储。 注意数据据流图的易易理解性。 什么是数数据字典?其作用是是什么?共共有哪些条条目? 数数据字典(DDD)用来来定义数据据流图中的的各个成分分的具体含含义。有以以下四类条条目:数据据流,数据据项,数据据存储,基基本加工。具体条目目内容及举举例如下: 数据流流条目 数数据流名称称:订单 别名:无无 简述:顾客订货货时填写的的项目 来来源:顾客客 去向:加工1""检验订单单" 数据据流量:11000份份/每周(单单位时间内内的传输次次数) 组组成:编号号+订货日日期+顾客客编号+地地址+电话话+银行帐帐号+货物物名称+规规格+数量量 数据存储条条目 数据存储储名称:库库存记录 别名:无无 简述:存放库存存所有可供供货物的信信息 组成成:货物名名称+编号号+生产厂厂家+单价价+库存量量 组织方方式:索引引文件,以以货物编号号为关键字字 查询要要求:要求求能立即查查询 数据条目 数据项名名称:货物物编号 别别名:G-No,GG-numm,Gooods-NNo 简述述:本公司司所有货物物的编号 类型:字字符串 长长度:100 取值范范围及含义义: 第一一位:进口口/国产 第2-44位:类别别 第5-7位:规规格 第88-10位位:品名编编号 加工条目 加工名:查阅库存存 编号:12 激发条条件:接收收到合格订订单时 优优先级:普普通 输入入:合格合合格订单 输出:可可供货订单单,缺货订订单 加工工逻辑:根根据库存记记录 IFF 订单项项目数量<<该项目库库存量临界界值 THHEN 可可供货处理理 ELSSE 此订订单缺货,登登录,待进进货后再处处理 ENNDIF 描述加工工逻辑有哪哪些工具? 加工逻辑辑的描述:一般用结结构化语言言,判定表表,判定树树 结构化化语言是介介于自然语语言和形式式语言之间间的一种半半形式化语语言。它的的结构可分分里层和内内层 外层:用用来描述控控制结构,采采用顺序,选选择,重复复三种基本本结构。 顺序结构构:是一组组祈使语句句,选择语语句,重复复语句的顺顺序排列 选择结构构:一般用用IF-TTHEN-ELASSE-ENNDIF,CCASE-OF-EENDCAASE等关关键词。 重复结构构:一般用用DO-WWHILEE-ENDDDO,RREPEAAT-UNNTIL等等关键词。 内层:一一般采用祈祈使语句的的自然语言言短语,使使用数据字字典中的名名词和有限限的自定义义词,其 动词含义义要具体,尽尽量不使用用形容词和和副词来修修饰。 例例:加工逻逻辑描述为为,如果申申请者的年年龄在211岁以下,要要额外收费费;如果申申请者是221岁以上上并是266岁以下的的女性,适适用于A类类保险;如如果申请者者是26岁岁以下的已已婚男性,或或者是266岁以上的的男性,适适用于B类类保险;如如果申请者者是21岁岁以下的女女性或是226岁以下下的单身CC类保险。附此之外外的其他申申请者都适适用于A类类保险。什么是IIDEF方方法?IDDEF0方方法有哪些些特点? IDEFF方法是美美国空军针针对计算机机辅助制造造工程项目目中用于进进行复杂系系统分析和和设计的方方法,是在在结构化分分析方法基基础上提出出来的。 包括: IDEFF0描述系系统的功能能活动及联联系,建立立系统的功功能模型。即反映系系统"做什什么"折功功能。 IIDEF11描述系统统的信息及及联系,建建立系统的的信息模型型。 IDDEF2进进行系统模模拟,建立立系统的动动态模型。 IDEEF0特点点: 采用方框框和箭头等等简单图形形符号描述述系统的活活动和数据据流,描述述活动所受受的约束条条件及实现现机制。 如下图描描述,其中中输入为完完成某活动动时所需的的数据,输输出指执行行活动产生生时的数据据,控制活活动指所受受到的约束束条件,机机制是指活活动由谁来来完成。 采用严格格的自顶向向下逐层分解解的方式建建立系统功功能模型。 简述SAA方法的优优缺点。 SA方法法是软件需需求分析中中公认的,有有成效的,技技术成熟,使使用广泛的的一种结构构化分析方方法。较适适用于开发发数据处理理类型软件件的需求分分析。利用用图形等半半形式化工工具表达需需求,简明明,易读,也也易于使用用。但也存存在一些弱弱点,表现现如下: SA方法法仅是一个个静态模型型,没有反反映处理的的顺序,即即控制流程程。 SA方法法使用DFFD在分析析与描述""数据要求求"方面是是有局限的的,只有与与数据库技技术中的实实体联系图图(ER图图)结合起起来,才能能较完整地地描述用户户对系统的的需求。 DFD不不适合描述述人机界面面系统的要要求,一些些人机交互互较频繁的的软件系统统。 SA方法法要与形式式化方法结结合起来,才才能更精确确地描述软软件需求。 要借助需需求分析工工具,提高高需求分析析的质量及及效率。 某银行的的计算机储储蓄系统功功能是:将将储户的存存户填写的的存款单或或存款单输输入系统,如如果是存款款,系统记记录存款人人姓名住址存款类型型存款日期期利率等信信息,并打打印出存款款单给储户户;如果是是取款,系系统计算清清单给储户户。请用DDFD,IIDEF00描绘该功功能的需求求,并建立立相应数据据字典。 答: 数据流名称称:取款单单、存款单单别名:无无简述:顾顾客存/取取款时填写写的单据来来源:顾客客去向:核核查数据流流量:2000份/天天组成:日日期取取|存款金金额姓姓名地址址存/取款类型型+密码码账号号 数据流名名称:存款款凭证别名名:无简述述:顾客存存款后得到到的凭据来来源:银行行存款系统统去向:顾顾客数据流流量:2000份/天天组成:日日期存款款金额储储户姓名储户地址址存款类类型账号号利率操作员 数据据流名称:结算单别别名:无简简述:顾客客取款时得得到的利率率清单来源源:银行储储蓄系统去去向:顾客客数据流量量:2000份/天组组成:取款款日期取取款金额储户姓名名储户地地址存款款类型+利利息总金金额操作作员数据流名称称:存/取取款信息别别名:无简简述:系统统检查确认认后得到的的存/取信信息来源:银行储蓄蓄系统去向向:登录数数据流量:200份份/天组成成:日期存|取取款金额储户姓姓名储户户地址存存款类型+账号利利率密码码操作员员数据流名称称:付款信信息别名:无简述:存储系统统处理的取取款信息来来源:银行行储蓄系统统去向:付付款处理数数据流量:200份份/天组成成:日期取款金额额储户姓姓名储户户地址存存款类型+账号利利息总金金额操作作员数据存储名名称:账卡卡别名:无无简述:存存放用户信信息及存取取款情况组组成:储户户姓名储储户地址账号|日期|存/取取款金额+存款类类型利率率密码操作员组组织方式:数据文件件,以储户户姓名或账账号为关键键字进行索索引查询要要求:要求求能立即查查询并修改改 数据项名称称:存款类类型别名:无简述:国家规定定的几类存存款方式类类型:字符符串长度:2位取值值范围及含含义:000:定期; 01:零存整取取;10:活期;111:定/活两便 加工工名:核查查编号:激发发条件:接接受存款单单或取款单单输入:存存款单或取取款单输出出:认定的的合格的村村/取款信信息加工逻逻辑:根据据账卡及用用户存/取取款单据iif 单据据存款单单 theen 存款单据据是否填写写规范,是是否与现金金一致ellse 审核核是否为有有效取款单单,取款金金额不得超超出存款金金额,密码码是否正确确 某图书管管理系统有有以下功能能: 借书:输输入读者借借书证。系系统首先检检查借书证证是否有效效,若有效效,对于第第一次借书书的读者,在在借书证上上建立档案案。否则,查查阅借书文文件,检查查该读者所所借图书是是否超过110本,若若已达100,拒借,末末达10本本,办理借借书(检查查库存,修修改库存目目录并将读读者借书情情况录入借借书文件。) 还书:从从借书文件件中读出与与读者有关关的记录,查查阅所借日日期,如超超期(3个个月)作罚罚款处理。否则,修修改库存目目录与借书书文件。 查询:通通过借书文文件,库存存目录文件件查询读者者情况图书借阅阅及库存情情况,打印印统计表。 解:数据字字典数据流流名称:借借书别名:借书单简简述:读者者借书时填填写的单据据来源:读读者去向:审核借书书数据流量量:2500份/天组组成:借书书证编号借阅日期期书名借阅方式式密码借阅人 数据流名称称:还书别别名:无简简述:读者者还书时附附带的数据据来源:读读者去向:审核还书书数据流量量:2500份/天组组成:借书书证编号借阅日期期书名借阅方式式数据存储名名称:借书书文件别名名:无简述述:借书证证编号借借阅日期书名借借阅方式密码借借阅人操操作员查询询要求:要要求能立即即查询并修修改数据存储名名称:库存存文件别名名:无简述述:存放图图书出/入入库信息组组成:书名名出版社社作者出版日期期入库数数据总数数量(内内容简介)当前库存存量组织方方式:数据据文件,以以书名为关关键字进行行索引查询询要求:要要求能立即即查询并修修改加工名:审审核借书证证编号:11.1激发发条件:接接受到借书书证输入:借书证输输出:认定定合格的借借书证加工工逻辑:根根据借书文文件及读者者借书证iif 借书书证编号在在借书文件件存在 aand 未未过期 aand 密密码正确 thenn 借书证证有效ellse 借借书证无效效 某厂对部部分职工重重新分配工工作的政策策是:年龄龄在20岁岁以下者,初初中文化程程度脱产学学习,高中中文化程度度当电工。20岁至至40岁之之间,中学学文化程度度,男性当当钳工,女女性当车工工,大学文文化程度都都当技术员员。年龄在在40岁以以上者,中中学文化程程度当材料料员,大学学文化程度度当技术员员。请用结结构化语言言判定表或或判定树描描述上述问问题的加工工逻辑。 结构化语语言: CCASE 年龄<220 CASEE 文化程程度 初中中 分配配工种 脱脱产学习 CAASE 文文化程度 高中 分配工工种 电工工ENDCCASECCASE 年龄<=40.AAND.>>=20 CAASE 文文化程度 初中.OOR.高中中 CASSE 性别别 男 分分配工种 钳工 CASSE 性别别 女 分分配工种 车工 ENDDCASEE EENDCAASE CAASE 文文化程度 大学 分配配工种 技技术员 ENDDCASEEENDCCASECCASE 年龄>440 CASEE 文化程程度 初中中.OR.高中 分配配工种 材材料员 CASSE 文化化程度 大大学 分配配工种 技技术员 ENDDCASEEENDCCASE 第4章1. 什么是是软件概要要设计?该该阶段的基基本任务是是什么?把把一个软件件需求转换换为软件表表示时,首首先设计出出软件总的的体系结构构。称为概概要设计或或结构设计计。基本任任务:设计软件件系统结构构,具体为为:采用某某种设计方方法,将一一个复杂的的系统按功功能划分为为模块。确确定每个模模块的功能能。 确定定模块之间间的调用关关系。 确确定模块之之间的接口口(模块之之间传递的的信息) 评价模块块的结构质质量 进行数据据结构及数数据库的设设计编写概要要设计的文文档 主要要内容有:概要设计计说明书,数数据库说明明书(DBBMS的简简介,概念念模型,逻逻辑设计,结结果)用户户手册,修修订测试计计划(测试试的策略方法步骤)评审:是是否完整地地实现了规规定的功能能性能要求求。设计方方案是否可可行。关键键的处理及及内部接口口定义的正正确性,有有效性,各各部分的一一致性。 2软件件设计的基基本原理包包括哪些内内容?模块化:模块是软软件的组成成部分,是是具有独立立功能且可可命名的一一段程序,所所有模块组组成 整体体,可以满满足问题的的要求。模模块化即按按照一定的的原则,将将软件划分分成若干个个模块,每每个模块完完成一个特特定的功能能,然后把把这些模块块按照某种种方法组装装成一个软软件系统。(可降低低复杂度、减少工作作量)模块块具有以下下几种特性性:接口:模块的输输入输出。 功能:指模块实实现什么功功能。逻辑辑:描述模模块内部如如何实现要要求及所需需的数据。 状态:该模块的的运行环境境,模块间间调用与被被调用关系系。 抽象:认认识复杂现现象过程所所使用权的的工具,只只考虑事物物本质的共共同特性,忽忽略细节和和其它因素素。通过抽抽象确定组组成软件的的过程实体体。 信息隐蔽蔽:将模块块实现自身身功能的细细节与数据据"隐蔽""起来。模模块间仅交交换为完成成系统功能能所必须的的信息。模块独立立性:每个个模块只完完成系统要要求的独立立的子功能能。 3衡量量模块独立立性的两个个标准是什什么?各表表示什么含含义? 内聚和耦耦合 内聚聚:又称为为块内联系系,指模块块内部各成成分之间相相互关联的的程度,以以高内聚为为设计目标标。 耦合合:也称块块间联系,模模块之间相相互联系程程度的度量量,联系越越紧密,耦耦合性越强强,独立性性越差,以以低耦合为为设计目标标。 4模块块的耦合性性有哪几种种?各表示示什么含义义?内容耦合合:一个模模块直接操操作或修改改另一模块块的数据,或或者不通过过正常入口口直接转入入 另一模模块公共耦合合:两个或或多个模块块通过共同同引用一个个全局数据据环境相互互作用 控制耦合合:模块之之间通过传传递控制信信息相互作作用标记耦合合:两个模模块之间通通过传递公公共指针或或地址相互互作用的耦耦合数据耦合合:模块之之间通过传传递数据交交换信息 无耦合:模块间无无任何关系系,独立工工作 5模块块的内聚性性有哪几种种?各表示示什么含义义? 偶然内聚聚:一个模模块各个成成分之间毫毫无关系 逻辑内聚聚:将几个个逻辑上相相关的功能能放在同一一个模块中中 时间内聚聚:一个模模块完成的的功能在同同一时间执执行 过程内聚聚:一个模模块内部的的处理成分分是相关的的,而且必必须以特定定的次序执执行通信内聚聚:一个模模块的所有有成分都集集中在同一一个数据结结构上 顺序内聚聚:一个模模块的各个个成分同一一个功能密密切相关,而而且一个成成分的输出出,作为另另外一个成成分的输入入功能内聚聚:模块内内的所有成成分属于一一个整体,完完成单一的的功能。(内内聚最高) 6什么是软件结构?简述软件结构设计的优化准则。 改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。模块的规模应该适中模块结构的深度、宽度、扇出和扇入应适中 深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好) 扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4个为宜,不超过9个,"顶层扇出较高,中间扇出较少,底层模块高扇入多"一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合 模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合 7什么是模块的影响范围?什么是软件的控制范围?它们之间应建立什么关系?模块的影响范围(作用域):受该模块内一个判定影响的所有模块的集合模块的控制范围(控制域):这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。 8什么样是"事物流"?什么是"变换流"?试将相应形式的数据流图转换为软件结构图数据流图(DFD)一般可分为"变换流","事物流"两种。"变换流":由输入输出变换(或称处理)三部分组成,是一顺序结构。"事物流":它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心) 9试述"变换分析""事务分析"设计步骤。变换分析设计步骤:确定变换中心,逻辑输入和输出。 设计软件结构的顶层和第一层-变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能) 第一层至少有三种功能模块:输入输出和变换模块 设计中下层模块,对第一层的模块自顶向下分解。 输入模块由两部分组成:接收数据转换成调用模块所需信息。 输出模块由两部分组成:将数据转换成下属模块所需的形式 发送数据变换模块:对每个基本加工建立一功能模块 设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。 事务分析的设计步骤:确定事务中心和加工路径 设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。 中下层模块的设计优化工作与变换结构相同。 事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并 。 10.图是是某系学籍籍管理的一一部分,(a),(b)分别别是同一模模块A的两两个不同设设计方案,你你认为哪一一个设计方方案较好?请陈述理理由。答:我认认为(b)方案较好好。要评价价一个软件件结构设计计,主要看看模块的独独立性,要要从软件结结构的耦合合性和内聚聚性两个方方面来衡量量。对于(a)方案案,模块AA与模块BB之间形成成了控制耦耦合,因此此独立性不不高,而在在B模块内内部,有两两个不同的的功能被放放在一起,形形成的是逻逻辑内聚,内内聚性不高高。对于(b)方案案,模块AA与B1和和B2之间间是数据耦耦合,独立立性较强,在在B1和BB2内部,只只完成单一一的功能,是是功能内聚聚,因此内内聚性高,可可维护性好好,因此相相比而言(b)方案案比(a)方案更好好些。 11.请请将图4-16的DDFD转换换为软件结结构图。(注:图中中表示或者者)解:我我们可以看看出主图是是变换型DDFD,而而子图是事事务型DFFD。根据据结构设计计的方法,得得到的结构构图如下: 12.将将第3章习习题中的第第10题、第11题题设计成相相应的软件件结构图(SSC)和HHIPO图图。某银行行的计算机机储蓄系统统功能是:将储户的的存户填写写的存款单单或存款单单输入系统统,如果是是存款,系系统记录存存款人姓名名住址存款类型型存款日期期利率等信信息,并打打印出存款款单给储户户;如果是是取款,系系统计算清清单给储户户。某图书管管理系统有有以下功能能:借书:输输入读者借借书证。系系统首先检检查借书证证是否有效效,若有效效,对于第第一次借书书的读者,在在借书证上上建立档案案。否则,查查阅借书文文件,检查查该读者所所借图书是是否超过110本,若若已达100,拒借,末末达10本本,办理借借书(检查查库存,修修改库存目目录并将读读者借书情情况录入借借书文件。)还书:从从借书文件件中读出与与读者有关关的记录,查查阅所借日日期,如超超期(3个个月)作罚罚款处理。否则,修修改库存目目录与借书书文件。(3)查询询:通过借借书文件,库库存目录文文件查询读读者情况图书借阅阅及库存情情况,打印印统计表。把上面数数据流程图图转换为软软件结构图图和IPOO图第5章1、详细设计计的基本任任务是什么么,有哪几几种描述方方法?答:详细设计计的基本任任务包括:1、为每每个模块进进行详细的的算法设计计 2、为为模块内的的数据结构构进行设计计 3、对对数据库进进行物理设设计 4、其他设计计 5、编编写详细设设计说明书书 6、评评审 详细细设计的描描述方法有有图形、表表格和语言言,其中图图形常用结结构化程序序流程图、盒图和PPAD(问问题分析图图)为描述述工具,语语言常用过过程设计语语言(PDDL)来作作为工具。2、结构化化程序设计计的基本要要点是什么么?答:主主要有三个个:(1)采采用自顶向向下、逐步步求精的程程序设计方方法 (22)使用三三种基本控控制结构构构造程序。任何程序序都可以由由顺序、选选择、重复复(循环)三种基本本控制结构构构造,这这三种基本本结构的共共同点是单单入口、单单出口。 (3)主主程序员组组的组织形形式。 3、简述JJacksson方法法的设计步步骤。答:Jackkson方方法的设计计步骤如下下:(1)分析并确确定输入数数据和输出出数据的逻逻辑结构,并并用Jaccksonn结构图表表示这些数数据结构。 (2)找出输入入数据结构构和输出数数据结构中中有对应关关系的数据据单元。 (3)按按一定的规规则由输入入、输出的的数据结构构导出程序序结构。 (4)列列出基本操操作与条件件,并把它它们分配到到程序结构构图的适当当位置。 (5)用用伪码写出出程序。 4、请使用用流程图、PAD图图和PDLL语言描述述下列程序序的算法。(1)在在数据A(1)AA(10)中求最大大数和次大大数。解:如图所示示:PDLL语言描述述: GETT(a11,a2,.a10) maxx=a11; max22=a22; FOR i=2 TO 110 IF aai>>max max22=maxx; maxx=aii; ELSSE IFF aii>maax2 maax2=aai; ENDIIF ENDIIF ENDDFOR PUTT(maxx,maxx2) END(22)输入三三个正整数数作为边长长,判断该该三条边构构成的三角角形是等边边、等腰还还是一般三三角形。解解:如图:PDL语语言描述如如下: GET(a,b,c) IF (a+b>>c annd b+c>a and c+a>>b) IF (a=bb) IF (a=cc) PUUT("等等边三角形形") ELLSE PPUT(""等腰三角角形") EENDIFF ELLSE IIF(a=c) PPUT(""等腰三角角形") EELSE