《软件工程参考241817.docx》由会员分享,可在线阅读,更多相关《软件工程参考241817.docx(133页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章1软件产品的特性是什么?产品特性: 是一种逻辑产品,与物质产品有很大的区别。软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。软件产品不会用坏,不存在磨损,消耗。 生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是定做的开发软件的费用不断增加,致使生产成本相当昂贵。2软件生产有几个阶段?各有何特征?程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。软件工程时代:这个阶段生产方式是工程化的
2、生产,使用数据库开发工具开发环境网络分布式面向对象技术来开发软件。3什么是软件危机?产生原因是什么?软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因: 软件规模越来越大,结构越来越复杂。 软件开发管理困难而复杂。 软件包开发费用不断增加。 软件开发技术落后。 生产方式落后,仍采用手工方式。 开发工具落后,生产率提高缓慢。4什么是软件件工程?它目目标和内容是是什么?软件件工程就是用用科学的知识识程和技术原原理来定义,开开发,维护软软件的一门学学科。软件工工程目标:付付出较低开发发成本;达到到要求的功能能;取得较好
3、好的性能;开开发的软件易易于移植;只只需较低的维维护费用;能能按时完成开开发任务,及及时交付使用用;开发的软软件可靠性高高。软件工程程内容:研究究内容包括开开发技术和开开发管理两个个方面。开发发技术主要研研究:软件开开发方法,开开发过程,开开发工具和环环境。开发管管理主要研究究:软件管理理学,软件经经济学,软件件心理学。5软件工程面面临的问题是是什么?软件件工程需要解解决的问题:软件的费用用,可靠性,可可维护性,软软件生产率和和软件的重用用。6什么是软件件生存周期?它有哪几个个活动?软件件生存周期:一个软件从从提出开发要要求开始直到到该软件报废废为止的整个个时期。包括括:可行性分分析和项目开开
4、发计划,需需求分析,概概要设计,详详细设计,编编码,测试,维维护。7什么是软件件生存周期模模型?有哪些些主要模型?生存周期模模型:描述软软件开发过程程中各种活动动如何执行的的模型。对软软件开发提供供强有力的支支持,为开发发过程中的活活动提供统一一的政策保证证,为参与开开发的人员提提供帮助和指指导,是软件件生存周期模模型化技术的的基础,也是是建立软件开开发环境的核核心。主要有有:瀑布模型型,增量模型型,螺旋模型型,喷泉模型型,基于知识识的模型,变变换模型。8什么是软件件开发方法?有哪些主要要方法?使用用早已定义好好的技术集及及符号表示习习惯来组织软软件生产的过过程。通过使使用成功的软软件开发方法
5、法,在规定的的投资和时间间内,开发出出符合用户需需求的高质量量的软件。软软件开发方法法是克服软件件危机的重要要方面之一,对对软件工程及及软件包产业业的发展起了了不可估量的的作用。主要要有:结构化化方法,JAACKSONN方法,维也也纳开发方法法VDM,面向对象象开发方法。第二章1.可行行性研究的任任务是什么?可行研究的的任务:首先先需要进行概概要的分析研研究,初步确确定项目的规规模,目标,约约束和限制。分分析员再进行行简要的需求求分析,抽象象出项目的逻逻辑结构,建建立逻辑模型型。从逻辑模模型出发,经经过压缩的设设计,探索出出若干种可供供选择的解决决方法,对每每种解决方法法都要研究它它的可行性。
6、主要从三个方面考虑:.技术可行性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;.经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。.社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度人员素质操作方式是否可行。2.可行性研究究有哪些步骤骤?.确定项目目规模和目标标;.研究正在在运行的系统统;收集研究分析现有系系统的文档资资料,实地考考察系统访问问有关人员,然然后描绘现有有系统的高层层系统流程图图。.建立新系系统的高层逻逻辑模型;使使用数据流图图和数据字典典描述
7、数据在在系统中的流流动和处理情情况。 .导出和评评价各种方案案;导出若干干较高层次的的物理解决方方法,根据技技术可行性经济可行性性社会可行性性进行评估,得得到可行的解解决方法。.推荐可行行方案;进行行成本效益益分析,决定定该项目是否否值得开发,若若值得开发那那么解决方案案是什么,并并且说明该方方案可行的原原因和理由。.编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。3.可行性研究究报告有哪些些主要内容?.引言:编编写本文档的的目的;项目目名称背景;本文文档用到的专专门术语和参参考资料。.可行性研研究前提:说说明开发项目目的功能性能和基本本要求;达到到的目标;各各种限制
8、条件件;可行性研研究方法和决决定可行性的的主要因素。.对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。.所建议的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优越性;采用所建议系统对用户的影响;对各种设备现有软件开发环境运行环境的影响;对经费支出的影响;对技术可行性的评价。.所建议系统的经济可行性分析:说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。.社会因素可行性分析:说明法律因素,对合同责任侵犯专利权侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行
9、政管理工作制度人吧素质的要求。.其它可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。.结论意见:说明项目是否能开发;还需什么条件才能开发;对项目目标有何变动等。4.成本-效效益分析可用用哪些指标进进行度量?.投资回收收率:通常把把建立系统若若干年后能取取得的收益折折算成现在的的价值和开发发系统所需的的费用进行比比较得出投资资回收率。.投资回收收期:就是使使累计的经济济效益等于最最初的投资费费用所需的时时间。.纯收入:整个生存周周期之内的累累计经济效益益(折成现在在值)与投资资之差。5.项目开发计计划有哪些内内容?.项目概述述:说明项目目的各项主要要工作;说明明软件的功能能性能;
10、为完完成项目应具具有的条件;用户及合同同承包者承担担的工作完成成的期限及其其他条件限制制;应交付的的程序名称;所使用的语语言及程储形形式;应交付付的文档。.实施计划划:说明任务务的划分,各各任务责任人人,项目开发发进度,项目目的预算,各各阶段的费用用支出,各阶阶段应完成的的任务,用图图表说明每项项任务的开始始和完成时间间。.人员组织织及分工:所所需人员类型型数量组成结构。.交付期限限:最后完工工日期。第三章什么是是需求分析?需求分析阶阶段的基本任任务是什么? 需求分析:开发人员准准确地理解用用户的要求,进进行细致的调调查分析,将将用户非形式式的需求陈述述转化为完整整的需求定义义,再由需求求定义
11、转换到到相应的需求求规格说明的的过程。 基基本任务: 问题识别:双方确定对对问题的综合合需求,这些些需求包括功功能需求,性性能需求,环环境需求,用用户界面需求求。 分析与综合合,导出软件件的逻辑模型型 编写文档:包括编写需求规格说说明书,初步用户使使用手册,确认测试试计划,修改完善软软件开发计划划 什么是结构构分析方法?该方法使用用什么描述工工具? 结构化分析析:简称SAA,面向数据据流进行数据据分析的方法法。采用自顶顶向下逐层分分解的分析策策略。顶层抽抽象地描述整整个系统,底底层具体地画画出系统工程程的每个细节节。中间层则则是从抽象到到具体的过渡渡。使用数据据流图,数据据字典,作为为描述工具
12、,使使用结构化语语言,判定表表,判定树描描述加工逻辑辑。 结构化分析方方法通过哪些些步骤来实现现? 了解当前系系统的工作流流程,获得当当前系统的物物理模型。 抽象出当前前系统的逻辑辑模型。 建立目标系系统的逻辑模模型。 作进一步补补充和优化。 什么是数据流流图?其作用用是什么?其其中的基本符符号各表示什什么含义? 数据流图(DDFD):以以图形的方式式描述数据在在系统中流动动和处理的过过程。只反映映系统必须完完成的逻辑功功能,是一种种功能模型。画数据流图应应注意什么事事项? 命名名: 不能使使用缺乏具体体含义的名字字,加工名应应能反映出处处理的功能。 画数据流而而不是控制流流。 数据流流名称只
13、能是是名词或名词词短语,整个个图中不反映映加工的执行行顺序。 一一般不画物质质流。 每个个加工至少有有一个输入数数据流和一个个输出数据流流,反映出此此加工数据的的来源与加工工的结果 。 编号: 某某个加工分解解成加一张数数据流图时,上上层图为父图图,下层图为为子图。子图图应编号子图图上的所有加加工也应编号号,子图的编编号应与父图图的编号相对对应。 父图图与子图的平平衡:子图的的输入输出 数据流同父父图相应加工工的输入输出出数据流必须须一致 局部部数据存储:当某慨数据据流图中的数数据存储不是是父图中相应应加工的外部部接口,而只只是本图中某某些加工之间间的数据接口口,则称这些些数据存储为为局部数据
14、存存储。 注意意数据流图的的易理解性。 什么是数据字字典?其作用用是什么?共共有哪些条目目? 数据字字典(DD)用用来定义数据据流图中的各各个成分的具具体含义。有有以下四类条条目:数据流流,数据项,数数据存储,基基本加工。具具体条目内容容及举例如下下: 数据流条条目 数据流流名称:订单单 别名:无无 简述:顾顾客订货时填填写的项目 来源:顾客客 去向:加加工1检验验订单 数数据流量:11000份/每周(单位位时间内的传传输次数) 组成:编号号+订货日期期+顾客编号号+地址+电电话+银行帐帐号+货物名名称+规格+数量 数据存储条目 数据存储名名称:库存记记录 别名:无 简述:存放库存所所有可供货
15、物物的信息 组组成:货物名名称+编号+生产厂家+单价+库存存量 组织方方式:索引文文件,以货物物编号为关键键字 查询要要求:要求能能立即查询 数据条目 数据据项名称:货货物编号 别别名:G-NNo,G-nnum,Gooods-NNo 简述:本公司所有有货物的编号号 类型:字字符串 长度度:10 取取值范围及含含义: 第一一位:进口/国产 第22-4位:类类别 第5-7位:规格格 第8-110位:品名名编号 加工条目 加工工名:查阅库库存 编号:12 激发条件件:接收到合合格订单时 优先级:普普通 输入:合格合格订订单 输出:可供货订单单,缺货订单单 加工逻辑辑:根据库存存记录 IFF 订单项目
16、目数量该项项目库存量临临界值 THHEN 可供供货处理 EELSE 此此订单缺货,登登录,待进货货后再处理 ENDIFF 描述加工逻辑辑有哪些工具具? 加工逻辑的的描述:一般般用结构化语语言,判定表表,判定树 结构化语言言是介于自然然语言和形式式语言之间的的一种半形式式化语言。它它的结构可分分里层和内层层 外层:用来来描述控制结结构,采用顺顺序,选择,重重复三种基本本结构。 顺序结构:是一组祈使使语句,选择择语句,重复复语句的顺序序排列 选择结构:一般用IFF-THENN-ELASSE-ENDDIF,CAASE-OFF-ENDCCASE等关关键词。 重复结构:一般用DOO-WHILLE-END
17、DDO,REEPEAT-UNTILL等关键词。 内层:一般般采用祈使语语句的自然语语言短语,使使用数据字典典中的名词和和有限的自定定义词,其 动词含义要要具体,尽量量不使用形容容词和副词来来修饰。 例例:加工逻辑辑描述为,如如果申请者的的年龄在211岁以下,要要额外收费;如果申请者者是21岁以以上并是266岁以下的女女性,适用于于A类保险;如果申请者者是26岁以以下的已婚男男性,或者是是26岁以上上的男性,适适用于B类保保险;如果申申请者是211岁以下的女女性或是266岁以下的单单身C类保险险。附此之外外的其他申请请者都适用于于A类保险。什么是IDEEF方法?IIDEF0方方法有哪些特特点?
18、IDEF方方法是美国空空军针对计算算机辅助制造造工程项目中中用于进行复复杂系统分析析和设计的方方法,是在结结构化分析方方法基础上提提出来的。 包括: IDDEF0描述述系统的功能能活动及联系系,建立系统统的功能模型型。即反映系系统做什么么折功能。 IDEF11描述系统的的信息及联系系,建立系统统的信息模型型。 IDEEF2进行系系统模拟,建建立系统的动动态模型。 IDEF00特点: 采用方框和和箭头等简单单图形符号描描述系统的活活动和数据流流,描述活动动所受的约束束条件及实现现机制。 如如下图描述,其其中输入为完完成某活动时时所需的数据据,输出指执执行活动产生生时的数据,控控制活动指所所受到的
19、约束束条件,机制制是指活动由由谁来完成。 采用严格的的自顶向下逐层分解的的方式建立系系统功能模型型。 简述SA方法法的优缺点。 SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化工具表达需求,简明,易读,也易于使用。但也存在一些弱点,表现如下: SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。 SA方法使用DFD在分析与描述数据要求方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。 DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统
20、。 SA方法要与形式化方法结合起来,才能更精确地描述软件需求。 要借助需求分析工具,提高需求分析的质量及效率。 某银行的计算算机储蓄系统统功能是:将将储户的存户户填写的存款款单或存款单单输入系统,如如果是存款,系系统记录存款款人姓名住址存款类型存款日期利率等信息息,并打印出出存款单给储储户;如果是是取款,系统统计算清单给给储户。请用用DFD,IIDEF0描描绘该功能的的需求,并建建立相应数据据字典。 答: 数据流名称:取取款单、存款款单别名:无无简述:顾客客存/取款时时填写的单据据来源:顾客客去向:核查查数据流量:200份/天组成:日日期取|存款金额姓名地地址存/取款类型+密码账号 数据流名名
21、称:存款凭凭证别名:无无简述:顾客客存款后得到到的凭据来源源:银行存款款系统去向:顾客数据流流量:2000份/天组成成:日期存存款金额储储户姓名储储户地址存存款类型账账号利率操作员 数据流名名称:结算单单别名:无简述述:顾客取款款时得到的利利率清单来源源:银行储蓄蓄系统去向:顾客数据流流量:2000份/天组成成:取款日期期取款金额额储户姓名名储户地址址存款类型型+利息总总金额操作作员数据流名称:存存/取款信息息别名:无简述述:系统检查查确认后得到到的存/取信信息来源:银银行储蓄系统统去向:登录录数据流量:200份/天组成:日日期存|取款金额储户姓名名储户地址址存款类型型+账号利利率密码操作员数
22、据流名称:付付款信息别名名:无简述:存储系统处处理的取款信信息来源:银银行储蓄系统统去向:付款款处理数据流流量:2000份/天组成成:日期取取款金额储储户姓名储储户地址存存款类型+账账号利息总金额操操作员数据存储名称:账卡别名:无简述:存存放用户信息息及存取款情情况组成:储储户姓名储储户地址账账号|日期期|存/取款金额+存款类型型利率密密码操作员员组织方式:数据文件,以以储户姓名或或账号为关键键字进行索引引查询要求:要求能立即即查询并修改改 数据项名称:存存款类型别名名:无简述:国家规定的的几类存款方方式类型:字字符串长度:2位取值范范围及含义:00:定期期; 01:零存整取;10:活期期;1
23、1:定定/活两便 加工名名:核查编号号:激发条件件:接受存款款单或取款单单输入:存款款单或取款单单输出:认定定的合格的村村/取款信息息加工逻辑:根据账卡及及用户存/取取款单据iff 单据存存款单 thhen 存款单据是是否填写规范范,是否与现现金一致ellse 审核是否否为有效取款款单,取款金金额不得超出出存款金额,密密码是否正确确 某图书管理理系统有以下下功能: 借书:输入入读者借书证证。系统首先先检查借书证证是否有效,若若有效,对于于第一次借书书的读者,在在借书证上建建立档案。否否则,查阅借借书文件,检检查该读者所所借图书是否否超过10本本,若已达110,拒借,末末达10本,办办理借书(检
24、检查库存,修修改库存目录录并将读者借借书情况录入入借书文件。) 还书:从借借书文件中读读出与读者有有关的记录,查查阅所借日期期,如超期(33个月)作罚罚款处理。否否则,修改库库存目录与借借书文件。 查询:通过过借书文件,库库存目录文件件查询读者情情况图书借阅及及库存情况,打打印统计表。 解:数据字典典数据流名称称:借书别名名:借书单简简述:读者借借书时填写的的单据来源:读者去向:审核借书数数据流量:2250份/天天组成:借书书证编号借借阅日期书书名借阅方方式密码借阅人 数据流名称:还还书别名:无无简述:读者者还书时附带带的数据来源源:读者去向向:审核还书书数据流量:250份/天组成:借借书证编
25、号借阅日期书名借阅阅方式数据存储名称:借书文件别别名:无简述述:借书证编编号借阅日日期书名借阅方式密码借阅阅人操作员员查询要求:要求能立即即查询并修改改数据存储名称:库存文件别别名:无简述述:存放图书书出/入库信信息组成:书书名出版社社作者出出版日期入入库数据总总数量(内内容简介)当前库存量量组织方式:数据文件,以以书名为关键键字进行索引引查询要求:要求能立即即查询并修改改加工名:审核借借书证编号:1.1激发发条件:接受受到借书证输输入:借书证证输出:认定定合格的借书书证加工逻辑辑:根据借书书文件及读者者借书证iff 借书证编编号在借书文文件存在 aand 未过过期 andd 密码正确确 th
26、enn 借书证证有效elsse 借书证证无效 某厂对部分分职工重新分分配工作的政政策是:年龄龄在20岁以以下者,初中中文化程度脱脱产学习,高高中文化程度度当电工。220岁至400岁之间,中中学文化程度度,男性当钳钳工,女性当当车工,大学学文化程度都都当技术员。年年龄在40岁岁以上者,中中学文化程度度当材料员,大大学文化程度度当技术员。请请用结构化语语言判定表或判判定树描述上上述问题的加加工逻辑。 结构化语言言: CASSE 年龄20 CASE 文化程度 初中 分配工工种 脱产学学习 CCASE 文文化程度 高高中 分配工工种 电工EENDCASSECASEE 年龄=220 CCASE 文文化程
27、度 初初中.OR.高中 CASE 性别 男 分配配工种 钳工工 CASEE 性别 女女 分配配工种 车工工 ENDCCASE ENDCCASE CASSE 文化程程度 大学 分配工工种 技术员员 ENNDCASEEENDCAASECASSE 年龄40 CASE 文化程度 初中.ORR.高中 分配工工种 材料员员 CAASE 文化化程度 大学学 分配工工种 技术员员 ENNDCASEEENDCAASE 第4章1. 什什么是软件概概要设计?该该阶段的基本本任务是什么么?把一个软软件需求转换换为软件表示示时,首先设设计出软件总总的体系结构构。称为概要要设计或结构构设计。基本本任务:设计软件系系统结构
28、,具具体为:采用用某种设计方方法,将一个个复杂的系统统按功能划分分为模块。确确定每个模块块的功能。 确定模块之之间的调用关关系。 确定定模块之间的的接口(模块块之间传递的的信息) 评评价模块的结结构质量 进行数据结结构及数据库库的设计编写概要设设计的文档 主要内容有有:概要设计计说明书,数数据库说明书书(DBMSS的简介,概概念模型,逻逻辑设计,结结果)用户手手册,修订测测试计划(测测试的策略方法步骤)评审:是否否完整地实现现了规定的功功能性能要求。设设计方案是否否可行。关键键的处理及内内部接口定义义的正确性,有有效性,各部部分的一致性性。2软件设设计的基本原原理包括哪些些内容?模块化:模模块
29、是软件的的组成部分,是是具有独立功功能且可命名名的一段程序序,所有模块块组成 整体体,可以满足足问题的要求求。模块化即即按照一定的的原则,将软软件划分成若若干个模块,每每个模块完成成一个特定的的功能,然后后把这些模块块按照某种方方法组装成一一个软件系统统。(可降低低复杂度、减减少工作量)模块具有以下几种特性:接口:模块的输入输出。 功能:指模块实现什么功能。逻辑:描述模块内部如何实现要求及所需的数据。 状态:该模块的运行环境,模块间调用与被调用关系。 抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。 信息隐蔽:将模块实现自身功
30、能的细节与数据隐蔽起来。模块间仅交换为完成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。 3衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 4模块的耦合性有哪几种?各表示什么含义?内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入 另一模块公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用 控制耦合:模块之间通过传递控制信息相互作用标记耦
31、合:两个模块之间通过传递公共指针或地址相互作用的耦合数据耦合:模块之间通过传递数据交换信息 无耦合:模块间无任何关系,独立工作 5模块的内聚性有哪几种?各表示什么含义? 偶然内聚:一个模块各个成分之间毫无关系 逻辑内聚:将几个逻辑上相关的功能放在同一个模块中 时间内聚:一个模块完成的功能在同一时间执行 过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行通信内聚:一个模块的所有成分都集中在同一个数据结构上 顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)6什么是软件结构?
32、简述软件结构设计的优化准则。 改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。模块的规模应该适中模块结构的深度、宽度、扇出和扇入应适中 深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好) 扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4个为宜,不超过9个,顶层扇出较高,中间扇出较少,底层模块高扇入多一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合 模块的控制域:这个模块本身以及所有
33、直接或间接从属于它的模块的集合7什么是模块的影响范围?什么是软件的控制范围?它们之间应建立什么关系?模块的影响范围(作用域):受该模块内一个判定影响的所有模块的集合模块的控制范围(控制域):这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。 8什么样是事物流?什么是变换流?试将相应形式的数据流图转换为软件结构图数据流图(DFD)一般可分为变换流,事物流两种。变换流:由输入输出变换(或称处理)三部分组成,是一顺序结构。事物流:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这
34、人加工称为事务处理中心)9试述变换分析事务分析设计步骤。变换分析设计步骤:确定变换中心,逻辑输入和输出。 设计软件结构的顶层和第一层-变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能) 第一层至少有三种功能模块:输入输出和变换模块 设计中下层模块,对第一层的模块自顶向下分解。 输入模块由两部分组成:接收数据转换成调用模块所需信息。 输出模块由两部分组成:将数据转换成下属模块所需的形式 发送数据变换模块:对每个基本加工建立一功能模块 设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出
35、部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。 事务分析的设计步骤:确定事务中心和加工路径 设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。 中下层模块的设计优化工作与变换结构相同。 事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并 。 10.图是某系系学籍管理的的一部分,(a),(bb)分别是同同一模块A的的两个不同设设计方案,你你认为哪一个个设计方案较较好?请陈述述理由。答:我认为为(b)方案案较好。要评评价一个软件件结构设计,主主要看模块的的
36、独立性,要要从软件结构构的耦合性和和内聚性两个个方面来衡量量。对于(aa)方案,模模块A与模块块B之间形成成了控制耦合合,因此独立立性不高,而而在B模块内内部,有两个个不同的功能能被放在一起起,形成的是是逻辑内聚,内内聚性不高。对对于(b)方方案,模块AA与B1和BB2之间是数数据耦合,独独立性较强,在在B1和B22内部,只完完成单一的功功能,是功能能内聚,因此此内聚性高,可可维护性好,因因此相比而言言(b)方案案比(a)方方案更好些。11.请将图4-16的DFD转换为软件结构图。(注:图中表示或者)解:我们可以看出主图是变换型DFD,而子图是事务型DFD。根据结构设计的方法,得到的结构图如下
37、:12.将第3章习题中的第10题、第11题设计成相应的软件结构图(SC)和HIPO图。某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名住址存款类型存款日期利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。某图书管理系统有以下功能:借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。)还书:从借书文件中读出与读者有关的记录,查阅所借日期
38、,如超期(3个月)作罚款处理。否则,修改库存目录与借书文件。(3)查询:通过借书文件,库存目录文件查询读者情况图书借阅及库存情况,打印统计表。把上面数据流程图转换为软件结构图和IPO图第5章1、详细细设计的基本本任务是什么么,有哪几种种描述方法?答:详细设设计的基本任任务包括:11、为每个模模块进行详细细的算法设计计 2、为模模块内的数据据结构进行设设计 3、对对数据库进行行物理设计 4、其他设设计 5、编编写详细设计计说明书 66、评审 详详细设计的描描述方法有图图形、表格和和语言,其中中图形常用结结构化程序流流程图、盒图图和PAD(问题分析图图)为描述工工具,语言常常用过程设计计语言(PD
39、DL)来作为为工具。2、结构化程序序设计的基本本要点是什么么?答:主要要有三个:(11)采用自顶顶向下、逐步步求精的程序序设计方法 (2)使用用三种基本控控制结构构造造程序。任何何程序都可以以由顺序、选选择、重复(循环)三种种基本控制结结构构造,这这三种基本结结构的共同点点是单入口、单单出口。 (33)主程序员员组的组织形形式。 3、简述Jacckson方方法的设计步步骤。答:JJacksoon方法的设设计步骤如下下:(1)分分析并确定输输入数据和输输出数据的逻逻辑结构,并并用Jackkson结构构图表示这些些数据结构。 (2)找出出输入数据结结构和输出数数据结构中有有对应关系的的数据单元。
40、(3)按一一定的规则由由输入、输出出的数据结构构导出程序结结构。 (44)列出基本本操作与条件件,并把它们们分配到程序序结构图的适适当位置。 (5)用伪伪码写出程序序。 4、请使用流程程图、PADD图和PDLL语言描述下下列程序的算算法。(1)在数据A(1)A(10)中求求最大数和次次大数。解:如图所示:PDL语言言描述:GET(aa1,aa2,.a110)max=a1;max22=a2;FOR i=2 TTO 10IF aimaxmaax2=maax;max=ai;ELSSE IF aaimmax2maxx2=aii;ENDIIFENDDIFENDFFORPUT(max,mmax2)END(
41、2)输入三个正正整数作为边边长,判断该该三条边构成成的三角形是是等边、等腰腰还是一般三三角形。解:如图:PDDL语言描述述如下:GET(aa,b,c)IF (a+bcc and b+caa and c+abb)IF (a=b)IFF (a=cc)PUT(等边三角角形)ELSSEPUT(等腰三角角形)ENDDIFELSE IFF(a=c)PUT(等腰三角形形)ELSEEIF (bb=c)PUUT(等腰腰三角形)ELSEPPUT(一一般三角形)ENDIIFENDIFFENDDIFELSEEPUTT (这不不是一个三角角形)ENDIFF5、用PAD图图描述下面问问题的控制结结构。有一个个表A(1)、
42、A(2)、.AA(n),按按递增顺序排排列。给定一一个Key值值,在表中用用折半法查找找。若找到,将将表位置i送送入x,否则则将零送到xx,同时将kkey值插入入表中。算法法: (1)置初值值H=1(表表头),T=N(表尾)。 (2)置i=(H+TT)/2(取整)。 (3)若Key=A(i),则则找到,i送送到x;若KKeyA(i),则KKey在表的的后半部分,ii+1送入HH;若KeyyT为止。 (4)查不到时,将将A(i),.A(N)移到AA(i+1).A(N+1),Key值送送入A(i)中。 解:如图所示:6、一个正文文文件由若干记记录组成,每每个记录是一一个字符串,要要求统计每个个记录
43、中空格格字符的个数数及文件中空空格字符的总总个数。要求求输出数据格格式是每复制制一行字符串串后,另起一一行打印出这这个字符串中中的空格数,最最后打印出文文件空格的总总个数,用JJacksoon方法设计计该程序结构构。第6章1、程序序语言有哪些些共同特征?答:程序语语言的共同特特征(似为特特性更符合题题意)是指程程序设计语言言的语言特性性,包括心理理特性、工程程特性和技术术特性三个方方面。语言的的心理特性对对人机通信的的质量有主要要的影响;语语言的工程特特性对软件开开发成功一否否有重要的影影响,此外,语语言的技术特特性也会影响响软件设计的的质量。2、在项目开发发时选择程序序设计语言通通常考虑哪些些因素?答:通常要考虑虑的因素有:项目的应用用领域、软件件开发的方法法、软件执行行的环境、算算法和数据结结构的复杂性性以及软件开开发人员的知知识等。3、第4代语言言(4GL)有哪些主要要特征?答:4GL的主主要特征是:(1)友好好的用户界面面 (2)兼兼有过程性和和非过程性双双重特性 (3)高效的的程序代码 (4)完备备的数据库 (5)应用