软件工程参考2_第1页
软件工程参考2_第2页
软件工程参考2_第3页
软件工程参考2_第4页
软件工程参考2_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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、在项目开发发时选择程序序设计语言通通常考虑哪些

44、些因素?答:通常要考虑虑的因素有:项目的应用用领域、软件件开发的方法法、软件执行行的环境、算算法和数据结结构的复杂性性以及软件开开发人员的知知识等。3、第4代语言言(4GL)有哪些主要要特征?答:4GL的主主要特征是:(1)友好好的用户界面面 (2)兼兼有过程性和和非过程性双双重特性 (3)高效的的程序代码 (4)完备备的数据库 (5)应用用程序生成器器 4、举例说明各各种程序设计计语言的特点点及适用范围围?答:以常常见的一些编编程语言为例例:FORTTRAN语言言,它不仅面面向科学计算算,数据处理理能力也极强强。适用于科科学工程计算算 Pasccal语言,具具有很强的数数据和过程结结构化能力

45、,它它语言简明,数数据类型丰富富,程序结构构严谨。它是是第一个体现现结构化编程程思想的语言言。用于描述述结构化算法法和科学计算算,操作系统统的编写 CC语言:功能能强大,支持持复杂的数据据结构,可大大量运用指针针,具有丰富富灵活的操作作运算符及数数据处理操作作符,它还具具有汇编语言言的某些特征征,使程序运运行效率高。可可用于许多领领域,特别是是在操作系统统等方面有较较大优势。 Coblee语言,它具具有极强的数数据定义能力力,程序说明明与硬件环境境说明分开、数数据描述与算算法描述分开开。结构严谨谨层次分明,广广泛用于商业业数据处理。 SQL:结结构化查询语语言,用于对对数据库进行行存取管理。

46、汇编语言和和Ada语言言,主要用于于实时处理和和编写系统软软件。 Prrolog、LLisp语言言。Lispp是一种函数数型语言,特特别适用于组组合问题中符符号运算和表表处理,用于于定理证明、树树的搜索和其其他问题的求求解。Proolog是一一种逻辑型语语言,它提供供了支持知识识表示的特性性,每一个程程序由一组表表示事实、规规则和推理的的句子组成,比比较接近与自自然语言。这这两种语言主主要用于人工工智能系统开开发。 C+、Javva语言,是是面向对象的的设计语言,用用于面向对象象的方开发软软件。 5、什么是程序序设计风格?为了具有良良好的设计风风格,应注意意哪些方面的的问题?答:程序设计风风格

47、是指一个个人编制程序序时所表现出出来的特点、习习惯、逻辑思思路等。要形形成良好的程程序设计风格格,应从源程程序文档化、数数据说明、语语句构造、输输入输出和追追求效率几个个方面加以注注意。第7章1、软件件测试的目的的是什么?软软件测试中,应应注意哪些原原则?答:软软件测试的目目的是为了发发现软件的错错误。软件测测试中应注意意的原则有:(1)测试试用例应由输输入数据和预预期的输出数数据两部分组组成。这样便便 于对照检检查,做到有有的放矢。 (2)测试试且例不仅选选用合理输入入数据,还要要选择不合理理的输入数据据。这样能更更多地发现错错误,提高程程序的可靠性性。对于不合合理的输入数数据,程序应应拒绝

48、接受,并并给出相应的的提示。 (3)除了检检查程序是否否做了它应该该做的事,还还应该检查程程序是否做了了它不应该做做的事。 (4)应制定定测试计划并并严格执行,排排除随意性。 (5)长期期保留测试用用例。 (66)对发现错错误较多的程程序段,应进进行更深入的的测试。 (7)程序员员应避免测试试自己的程序序。测试是一一种挑剔性性的行为,心心理状态是测测试自己程序序的障碍。 2、什么是白盒盒测试法?有有哪些覆盖标标准?试对他他们的检错能能力进行比较较?答:白盒盒法测试法把把测试对象看看作一个打开开的盒子,测测试人员须了了解程序内部部结构和处理理过程,以检检查处理过程程的细节为基基础,对程序序中尽可

49、能多多的逻辑路径径进行测试,检检验内部控制制结构和数据据结构是否有有错,实际的的运行状态与与预期的状态态是否一致。白盒法有下列几种覆盖标准:语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。3、什么是黑盒盒测试法?采采用黑盒技术术测试用例有有哪几种方法法?这些方法法各有什么特特点?答:黑黑盒测试法把把被测试对象象看成是一相相黑盒子,测测试人员完全全不考虑程序序的内部结

50、构构和处理过程程,只在软件件接口处进行行测试,依据据需求规格说说明书,检查查程序是否满满足功能要求求。采用黑盒盒技术测试用用例的方法有有:等价类的的划分、边界界值分析、错错误推测和因因果图。等价价类的划分,是是将输入数据据按有效的或或无效的(也也称合理的或或不合理的)划分成若干干个等价类,测测试每个等价价类的代表值值就等于对该该类其他值的的测试。这样样就把漫无边边迹的随机测测试改为有针针对性的等价价类测试,用用少量有代表表性的例子代代替大量测试试目的相同的的例子,能有有效地提高测测试效率。但但这个方法的的缺点是没有有注意选择某某些高效的、能能够发现更多多错误的测试试用例。边界界值分析法一一般与

51、等价类类划分结合起起来。但它不不是从一个等等价类中任选选一个例子做做代表,而是是将测试边界界情况作为重重点目标,选选取正好等于于、刚刚大于于和刚刚小于于边界值的测测试数据。(边界情况是是指输入等价价类和输入等等价类边界上上的情况。)这种方法可可以查出更多多的错误,因因为在程序中中往往在处理理边界情况时时易发生错误误。错误推测测法是在测试试程序时,人人们根据经验验或直觉推测测程序中可能能存在的错误误,从而有针针对性地编写写检查这些错错误的测试用用例。因果图图能够有效地地检测输入条条件的各种组组合可能会引引起的错误。它它的基本原理理是通过画因因果图,把用用自然语言描描述的功能说说明转换为判判定表,

52、最后后为判定表的的每一列设计计一个测试用用例。这几种种方法都不能能提供一组完完整的测试用用例,在实际际测试中应把把各种方法结结合起来使用用。综合策略略:就是联合合使用上述几几种测试方法法,尽可能多多地发现程序序中的错误。4、软件测试要要经过哪些步步骤?这些测测试与软件开开发各阶段之之间有什么关关系?答:软软件测试要经经过的步骤是是:单元测试试集成测试确认测试系统测试。单单元测试对源源程序中每一一个程序单元元进行测试,检检查各个模块块是否正确实实现规定的功功能,从而发发现模块在编编码中或算法法中的错误。该该阶段涉及编编码和详细设设计文档。集集成测试是为为了检查与设设计相关的软软件体系结构构的有关

53、问题题,也就是检检查概要设计计是否合理有有效。确认测测试主要是检检查已实现的的软件是否满满足需求规格格说明书中确确定了的各种种需求。系统统测试是把已已确认的软件件与其他系统统元素(如硬硬件、其他支支持软件、数数据、人工等等)结合在一一起进行测试试。以确定软软件是否可以以支付使用。5、单元测试有有哪些内容?测试中采用用什么方法?答:单元测测试主要针对对模块的以下下五个基本特特征进行测试试:(1)模模块接口 (2)局部数数据结构 (3)重要的的执行路径 (4)错误误处理 (55)边界条件件 测试的方方法是为被测测试模块编写写驱动模块和和桩模块来实实现被测试单单元的可运行行。通过驱动动模块来模拟拟被

54、测试模块块的上级调用用模块,以上上级模块调用用被测模块的的格式驱动被被测模块,接接收被测模块块的测试结构构并输出。桩桩模块则用来来代替被测试试模块所调用用的模块。它它的作用是返返回被测模块块所需的信息息。6、什么是集成成测试?非渐渐增式测试与与渐增式测试试有什么区别别? 渐增式式测试如何组组装模块?答答:集成测试试是指在单元元测试的基础础上,将所有有模块按照设设计要求组装装成一个完整整的系统进行行的测试。非非渐增式测试试是指首先对对每个模块分分别进行单元元测试,再把把所有模块组组装成一个完完整的系统进进行的测试。而而渐增式测试试就是逐个把把未经测试的的模块组装到到已经过测试试的模块上去去进行集

55、成测测试,每加入入一个新模块块进行一次集集成测试,重重复此过程直直到程序组装装完毕。渐增增式测试有两两种不同的组组装方法:自自顶向下和自自底向上结合合。两者区别别是:(1)非渐增式方方法把单元测测试和集成测测试分成两个个不同的阶段段,前一阶段段完成模块的的单元测试,后后一阶段完成成集成测试。而而渐增式测试试往往把单元元测试和集成成测试合在一一起,同时完完成。(2)非渐增式需需要更多的工工作量,因为为每个模块都都需要驱动模模块和桩模块块,而渐增式式利用已测试试过的模块作作为驱动模块块或桩模块,因因此工作量少少。(3)渐渐增式可以较较早地发现接接口之间的错错误,非渐增增式最后组装装时才发现。(4)

56、渐增式有利于排错,发生错误往往和最近新加入的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。(5)渐增式比较彻底,已测试的模块和新的模块再测试。(6)渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。(7)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。7、什么是确认认测试?该阶阶段有哪些工工作?答:确确认测试又称称有效性测试试。它的任务务是检查软件件的功能与性性能是否与需需求规格说明明书中确定的的指标相符合合。因而需求求说明是确认认测试的基础础。确认测试试阶段有两项项工作:进行行确认测试与与软件配置审审查。8、调试的目的的

57、是什么?调调试有哪些技技术手段?答答:调试则是是在进行了成成功的测试之之后才开始的的工作。调试试的目的是确确定错误的原原因和位置,并并改正错误,因因此调试也称称为纠错(DDebug)。调试的技技术手段有简简单的调试方方法、归纳法法、演绎法和和回溯法等。9、将正确答案的编号填入题目空白处:在白盒测试用例中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等,其中(A)是最强的覆盖准则。为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。若X,Y是两个变量,可供选择的测试数据组共有I,II,III,IV四组(如表中给出),则实现语句覆盖至少应采用的测试数据组是(B);实现条件覆盖至少应采用的测试数据

58、组是(C);实现路径覆盖至少应采用的测试数据组是(D)或(E)。可供选择的答案:A:(1)语句覆盖 (2)条件覆盖 (3)判定覆盖 (4)路径覆盖BE:(1)I和II组 (2)II和III级 (3)III和IV组 (4)I和IV组 (5)I、II和III组 (6)II,III和IV组 (7)I,III和IV组 (8)I、II和IV组答:A:(4) B:(1) C:(4) D:(5) E:(8)10、请对第55章习题第55题(2)判定三角形形类别程序序算法用等价价类划分和边边界值分析法法设计测试用用例,并检查查逻辑覆盖标标准。解:先先划分等价类类并编号:为为合理等价类类设计测试用用例,对于表表中

59、对应的四四个合理等价价类,用三个个测试用例覆覆盖。为每一一个不合理等等价类设计一一个测试用例例:用边界值值法设计测试试用例:第8章1、软件件维护有哪些些内容? 答:(1)校校正性维护。在在软件交付使使用后,一些些隐含的错误误在某些特定定的使用环境境下会暴露出出来。为了识识别和纠正错错误,修改软软件性能上的的缺陷,应进进行确定和修修改错误的过过程,这个过过程就称为校校正性维护。 (2)适应应性维护。为为了使应用软软件适应计算算机硬件、软软件环境及数数据环境的不不断发生的变变化而修改软软件的过程称称为适应性维维护。 (33)完善性维维护。为增加加软件功能、增增强软件性能能、提高软件件运行效率而而进

60、行的维护护活动称为完完善性维护。 (4)预防防性维护。为为了提高软件件的可维护性性和可靠性而而对软件进行行的修改称为为预防性维护护。 2、 软件维护护的特点是什什么? 答:主要体体现在三个方方面: (11) 非结构构化维护和结结构化维护。软软件的开发过过程对软件的的维护有很大大的影响。若若不采用软件件工程的方法法开发软件,则则软件只有程程序而无文档档,维护工作作非常困难,这这是一种非结结构化的维护护。若采用软软件工程的方方法开发软件件,则各阶段段都有相应的的文档,容易易进行维护工工作,这是一一种结构化的的维护。 (22) 维护的的困难性。软软件维护的困困难性是由于于软件需求分分析和开发方方法的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论