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

下载本文档

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

文档简介

1、第一章1、软件产品的特性是什么?产品特性:是一种逻辑产品,与物质产品有很大的区别。软件产品的生产主要是研制, 生产成本主要在开发和研制, 开发研制完成后, 通过复制就 产生了大量软件产品。软件产品不会用坏,不存在磨损,消耗。生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是”定做"的开发软件的费用不断增加,致使生产成本相当昂贵。2、软件生产有几个阶段?各有何特征?程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言, 汇编语言。程序系统时代: 这个阶段生产方式是小集团合作生产, 使用的生产工具是高级 语言,开发方法仍依靠个人技巧,但开始提出结构化方法。软件工程时

2、代: 这个阶段生产方式是工程化的生产, 使用数据库、开发工具、 开发环境、网络、分布式、面向对象技术来开发软件。3、什么是软件危机?产生原因是什么? 软件开发技术的进步未能满足发展的要求。 在软件开发中遇到的问题找不到解决 的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因 : 软件规模越来越大,结构越来越复杂。 软件开发管理困难而复杂。 软件包开发费用不断增加。 软件开发技术落后。 生产方式落后,仍采用手工方式。 开发工具落后,生产率提高缓慢。4、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开

3、发成本;达到要求的功能;取得较好的性能;开发的 软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开 发的软件可靠性高。软件工程内容:研究内容包括开发技术和开发管理两个方面。 开发技术主要研究:软件开发方法,开发过程,开发工具和环境。 开发管理主要研究: 软件管理学,软件经济学,软件心理学。5、软件工程面临的问题是什么? 软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件 的重用。6、什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码

4、,测 试,维护。7、什么是软件生存周期模型?有哪些主要模型?生存周期模型: 描述软件开发过程中各种活动如何执行的模型。 对软件开发提供 强有力的支持, 为开发过程中的活动提供统一的政策保证, 为参与开发的人员提 供帮助和指导, 是软件生存周期模型化技术的基础, 也是建立软件开发环境的核 心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模 型。8、什么是软件开发方法?有哪些主要方法? 使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。 通过使用成功 的软件开发方法,在规定的投资和时间内, 开发出符合用户需求的高质量的软件。 软件开发方法是克服软件危机的重要方面之一

5、, 对软件工程及软件包产业的发展 起了不可估量的作用。主要有:结构化方法,JACKSON方法,维也纳开发方法(VDM),面向对象开 发方法。第二章1. 可行性研究的任务是什么 ? 可行研究的任务 :首先需要进行概要的分析研究,初步确定项目的规模,目标, 约束和限制。 分析员再进行简要的需求分析, 抽象出项目的逻辑结构, 建立逻辑 模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法, 对每种解决方法都要研究它的可行性。主要从三个方面考虑 : .技术可行性: 一般要考虑的情况包括 开发的风险即设计出的系统能否达到要 求的功能和性能 ;资源的有效性 ;相关技术的发展是否支持 ; .

6、经济可行性:进行开发成本的估算以及了解取得效益的评估 ,确定要开发的项 目是否值得投资。 .社会可行性:要开发的项目是否存在任何侵权问题 ,运行方式在用户组织内是 否可行 ,现有管理制度、人员素质、操作方式是否可行。2. 可行性研究有哪些步骤 ?.确定项目规模和目标; .研究正在运行的系统;收集、研究、分析现有系统的文档资料,实地考察系 统访问有关人员,然后描绘现有系统的高层系统流程图。.建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的 流动和处理情况。导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性、经济可行性、社会可行性进行评估,得到可行的解决方法。推荐

7、可行方案;进行成本效益分析,决定该项目是否值得开发,若值得开 发那么解决方案是什么,并且说明该方案可行的原因和理由。.编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研 究报告。3. 可行性研究报告有哪些主要内容 ?.引言:编写本文档的目的;项目名称、背景;本文档用到的专门术语和参考 资料。.可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各 种限制条件;可行性研究方法和决定可行性的主要因素。.对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项 费用支出; 所需各类专业技术人吧和数量; 所需各种设备; 向有系统存在什么问 题。.所建议的技术可行性

8、分析:所建议系统的简要说明;处理流程和数据流程; 与现有系统比较的优越性; 采用所建议系统对用户的影响; 对各种设备、现有软 件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。.所建议系统的经济可行性分析:说明建议系统的确良各种支出,各种效益; 收益投资比;投资顺收周期。.社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权 等问题的分析; 说明用户使用可行性, 是否满足用户行政管理、工作制度、人吧 素质的要求。.其它可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。 .结论意见:说明项目是否能开发;还需什么条件才能开发;对项目目标有何 变动等。4

9、. 成本-效益分析可用哪些指标进行度量? .投资回收率 :通常把建立系统若干年后能取得的收益折算成现在的价值和开发 系统所需的费用进行比较得出投资回收率。.投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。.纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。5. 项目开发计划有哪些内容 ?.项目概述:说明项目的各项主要工作;说明软件的功能、性能;为完成项目 应具有的条件; 用户及合同承包者承担的工作完成的期限及其他条件限制; 应交 付的程序名称;所使用的语言及程储形式;应交付的文档。.实施计划:说明任务的划分,各任务责任人,项目开发进度,项目的预算, 各阶段的费用支出

10、, 各阶段应完成的任务, 用图表说明每项任务的开始和完成时 间。 .人员组织及分工:所需人员类型、数量、组成结构。 .交付期限:最后完工日期。第三章1什么是需求分析?需求分析阶段的基本任务是什么?需求分析: 开发人员准确地理解用户的要求, 进行细致的调查分析, 将用户非形 式的需求陈述转化为完整的需求定义, 再由需求定义转换到相应的需求规格说明 的过程。基本任务:冋题识别:双方确定对冋题的综合需求,这些需求包括功能需求,性能需求, 环境需求,用户界面需求。分析与综合,导出软件的逻辑模型编写文档:包括编写"需求规格说明书","初步用户使用手册","

11、;确认测试计划"," 修改完善软件开发计划"2什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分 解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。 中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使 用结构化语言,判定表,判定树描述加工逻辑。3结构化分析方法通过哪些步骤来实现?了解当前系统的工作流程,获得当前系统的物理模型。抽象出当前系统的逻辑模型。建立目标系统的逻辑模型。 作进一步补充和优化。4什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

12、数据流图(DFD):以图形的方式描述数据在系统中流动和处理的过程。只反映 系统必须完成的逻辑功能,是一种功能模型。箭头,丧示敢据流数据流是数据在荼统内倍播的路径,由一组 成分固定:的数据项组成.O圆或椭圆,表示加工对数据进疔某些操作或变範每个加工也要 有名字,週常是动词短语,擢述完成册加工版杠,表示数据存储指暂时保存的教据.方框,数据源亘或缪点轨件系妊外褓坏境的实悴,为帮助理解系统 搀口界而而引入,且出现在层图中.袁示数据流,只能水平或垂直画“表示加工義示颈据存储5画数据流图应注意什么事项?命名:不能使用缺之具体含义的名字,加工名应能反映出处理的功能。画数据流而不是控制流。数据流名称只能是名词

13、或名词短语,整个图中不反映加工的执行顺序。一般不画物质流。每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。编号:某个加工分解成加一张数据流图时,上层图为父图,下层图为子图。子 图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。父图与子图的平衡:子图的输入输出 数据流同父图相应加工的输入输出数据流 必须一致局部数据存储:当某慨数据流图中的数据存储不是父图中相应加工的外部接口, 而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。 注意数据流图的易理解性。6什么是数据字典?其作用是什么?共有哪些条目?数据字典(DD)用来定义数据流图

14、中的各个成分的具体含义。有以下四类条目: 数据流,数据项,数据存储,基本加工。r含义例及说朋=祓定义为+与表乔藍由可和b组成-I-前表示XSa或彷纽成X熹示x由D或昜个a遇旋flX-2(a)5表乔X中叢少出现2 fit乩嚴多出现5袂釦£ 2为量复次数的上下原,(可选XY耳表丁 m可在天中出现.也可不出现.聲畀数据元素示X是取值为宇符a的教据充臺. >连接苻X=l9耒不X可取1到9中任意一个值具体条目内容及举例如下:数据流条目数据流名称:订单别名:无简述:顾客订货时填写的项目来源:顾客去向:加工1"检验订单"数据流量:1000份/每周(单位时间内的传输次数)组

15、成:编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量数据存储条目数据存储名称:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量 组织方式:索引文件,以货物编号为关键字 查询要求:要求能立即查询数据条目数据项名称:货物编号别名:G-No,G-num,Goods-No简述:本公司所有货物的编号类型:字符串长度:10取值范围及含义:第一位:进口 /国产第2-4位:类别第5-7位:规格第8-10位:品名编号加工条目加工名:查阅库存编号:1 2激发条件:接收到合格订单时优先级:普通输入:合格合格订单输出:可供货订单,缺货订单加工逻辑:根据库

16、存记录IF订单项目数量 该项目库存量临界值THEN可供货处理ELSE此订单缺货,登录,待进货后再处理ENDIF7描述加工逻辑有哪些工具?加工逻辑的描述:一般用结构化语言,判定表,判定树结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。 顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列 选择结构:一般用 IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE 等关键词。 重复结构:一般用 DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。内层:一般采用祈使语句的自然语言短语

17、, 使用数据字典中的名词和有限的自 定义词,其动词含义要具体,尽量不使用形容词和副词来修饰。判宦羨由四个部分鋁应1条件定义条件取值的组合动作定义在各种取值的堀合下应执疔的动作例:加工逻辑描述为,如果申请者的年龄在 21岁以下,要额外收费;如果申请 者是21岁以上并是26岁以下的女性,适用于 A类保险;如果申请者是26岁以 下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21 岁以下的女性或是26岁以下的单身C类保险。附此之外的其他申请者都适用于 A类保险。表 取 件 案件寮值CYLmf2M姻s S-CC女 未已s E123456739ID1112年龄CC1 CCY JYYYL

18、LL 1L性别FFMMFFMFFMM蜡姻SESLSESESESEA类保险JJ77B粪保险4p匚JC类保险r/Vr瓢外收费7判写表能在什么条件下系统应徴什么动作淮确无误地表示出来'但不能盾环册处理持 性,循环处理匠需结构化语言.8什么是IDEF方法? IDEFO方法有哪些特点?IDEF方法是美国空军针对计算机辅助制造工程项目中用于进行复杂系统分析和 设计的方法,是在结构化分析方法基础上提出来的。包括:IDEFO描述系统的功能活动及联系,建立系统的功能模型。即反映系统"做什么"折功能。IDEF1描述系统的信息及联系,建立系统的信息模型。IDEF2进行系统模拟,建立系统的

19、动态模型。IDEFO特点:采用方框和箭头等简单图形符号描述系统的活动和数据流,描述活动所受的约 束条件及实现机制。如下图描述,其中输入为完成某活动时所需的数据, 输出指执行活动产生时的数 据,控制活动指所受到的约束条件,机制是指活动由谁来完成。(控弹)输入 j输出 $采用严格的自顶向下、逐层分解的方式建立系统功能模型9简述SA方法的优缺点。SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构 化分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化 工具表达需求,简明,易读,也易于使用。但也存在一些弱点,表现如下: SA方法仅是一个静态模型,没有反映处理的顺序,

20、即控制流程。SA方法使用DFD在分析与描述"数据要求"方面是有局限的,只有与数据库技 术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。SA方法要与形式化方法结合起来,才能更精确地描述软件需求。要借助需求分析工具,提高需求分析的质量及效率。10某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入 系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率 等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。请用DFD, IDEF0描绘该功能的需求,并建立相

21、应数据字典。答:诸蓄系统的DFD图存款单一3A取款业理”二"-忖款处f结款单存诸第门I®行储菖系统A0廻数据流名称:取款单、存款单别名:无简述:顾客存/取款时填写的单据来源:顾客去向:核查数据流量:200份/天组成:日期+ 取存款金额+姓名+地址+ 存/取款类型+密码+账号数据流名称:存款凭证别名:无简述:顾客存款后得到的凭据来源:银行存款系统去向:顾客数据流量:200份/天组成:日期+存款金额+储户姓名+储户地址+存款类型+账号+利率+操作员 数据流名称:结算单别名:无简述:顾客取款时得到的利率清单来源:银行储蓄系统去向:顾客数据流量:200份/天组成:取款日期+取款金额

22、+储户姓名+储户地址+存款类型+利息+总金额+操作员数据流名称:存 /取款信息别名:无 简述:系统检查确认后得到的存 /取信息 来源:银行储蓄系统去向:登录数据流量: 200 份/天组成:日期 存|取款金额 储户姓名储户地址存款类型 +账号利率密 码操作员 数据流名称:付款信息 别名:无 简述:存储系统处理的取款信息 来源:银行储蓄系统 去向:付款处理 数据流量: 200 份/天 组成:日期取款金额储户姓名储户地址存款类型 +账号利息总金额 操作员 数据存储名称:账卡别名:无简述:存放用户信息及存取款情况组成:储户姓名储户地址账号 |日期|存/取款金额 +存款类型利率密 码操作员组织方式:数据

23、文件,以储户姓名或账号为关键字进行索引 查询要求:要求能立即查询并修改数据项名称:存款类型别名:无简述:国家规定的几类存款方式类型:字符串长度: 2 位取值范围及含义: 00:定期; 01:零存整取; 10:活期; 11:定 /活两便加工名:核查 编号: 激发条件:接受存款单或取款单 输入:存款单或取款单 输出:认定的合格的村 / 取款信息 加工逻辑:根据账卡及用户存 /取款单据if单据=存款单then 存款单据是否填写规范,是否与现金一致else 审核是否为有效取款单,取款金额不得超出存款金额,密码是否正确11某图书管理系统有以下功能:借书:输入读者借书证。系统首先检查借书证是否有效,若有效

24、,对于第一 次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借 图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修 改库存目录并将读者借书情况录入借书文件。)还书:从借书文件中读出与读者有关的记录, 查阅所借日期,如超期(3个月) 作罚款处理。否则,修改库存目录与借书文件。查询:通过借书文件,库存目录文件查询读者情况、图书借阅及库存情况, 打印统计表。1展图庠存文件僧书文件数据字典数据流名称:借书别名:借书单简述:读者借书时填写的单据来源:读者去向:审核借书数据流量:250份/天组成:借书证编号+借阅日期+书名+借阅方式+密码+借阅人数据流名称:还书别名

25、:无简述:读者还书时附带的数据来源:读者去向:审核还书数据流量:250份/天组成:借书证编号+借阅日期+书名+借阅方式数据存储名称:借书文件别名:无简述:借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员 查询要求:要求能立即查询并修改数据存储名称:库存文件别名:无简述:存放图书出/入库信息组成:书名出版社作者出版日期入库数据总数量 (内容简介) 当 前库存量组织方式:数据文件,以书名为关键字进行索引 查询要求:要求能立即查询并修改加工名:审核借书证编号: 1.1激发条件:接受到借书证输入:借书证输出:认定合格的借书证 加工逻辑:根据借书文件及读者借书证 if 借书证编号在借书文件存在

26、 and 未过期 and 密码正确 then 借书证有效else 借书证无效12某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。 20 岁至 40 岁之间,中学文化程度,男性当钳 工,女性当车工,大学文化程度都当技术员。年龄在 40 岁以上者,中学文化程 度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述 上述问题的加工逻辑 。结构化语言:CASE 年龄 <20CASE 文化程度 初中分配工种 脱产学习CASE 文化程度 高中分配工种 电工ENDCASECASE 年龄 <=40.AND.>=20CASE文化程

27、度初中.OR.高中CASE 性别 男分配工种 钳工CASE 性别 女分配工种 车工ENDCASEENDCASECASE 文化程度 大学分配工种 技术员ENDCASEENDCASECASE 年龄 >40CASE文化程度初中.OR.高中分配工种 材料员CASE 文化程度 大学分配工种 技术员ENDCASEENDCASE取備表条件名取值苻号取值較年馭2020盂年的二帅 锄A40C VLMl<-3性别卑 立MFM2-2文化程度初申 高中J8UM3.-31234568010111213IS16171«年龄CCCCCCYyyYYYLLLLLL性别MMMFFFMMMFFFMMIAFFF

28、JSUJSUJSUJSMJSUJSU股产孚习7/71/电工47J/钳工/Jj车工/irV7技术员/VdJW8/V"判定树年龄锁初中文化程匿脱产学习匚高中交ft程度一电工分配工种勇性一钳工L女性一車工一大学文化種屢技术员一初中或鬲中文化程度料员丄大苧文化程度技术员口話年韵芒毗-Q初中戴高中文化理度年龄MQ1.什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时, 首先设计出软件总的体系结构。 称为概要设 计或结构设计。基本任务:设计软件系统结构,具体为: 采用某种设计方法,将一个复杂的系统按功能划分为模块。 确定每个模块的功能。确定模块之间的调用关系。 确定模块之

29、间的接口(模块之间传递的信息) 评价模块的结构质量进行数据结构及数据库的设计 编写概要设计的文档 主要内容有:概要设计说明书,数据库说明书( DBMS 的简介,概念模型,逻辑 设计,结果)用户手册,修订测试计划(测试的策略、方法、步骤)评审:是否完整地实现了规定的功能、性能要求。 设计方案是否可行。关键的 处理及内部接口定义的正确性,有效性,各部分的一致性。2软件设计的基本原理包括哪些内容?模块化: 模块是软件的组成部分, 是具有独立功能且可命名的一段程序, 所有 模块组成整体,可以满足问题的要求。 模块化即按照一定的原则, 将软件划分成若干个模 块,每个模块完成一个特定的功能, 然后把这些模

30、块按照某种方法组装成一个软 件系统。(可降低复杂度、减少工作量)模块具有以下几种特性: 接口:模块的输入输出。功能:指模块实现什么功能。 逻辑:描述模块内部如何实现要求及所需的数据。 状态:该模块的运行环境,模块间调用与被调用关系。抽象: 认识复杂现象过程所使用权的工具, 只考虑事物本质的共同特性, 忽略 细节和其它因素。通过抽象确定组成软件的过程实体。信息隐蔽:将模块实现自身功能的细节与数据 "隐蔽"起来。模块间仅交换为完 成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。3衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合内聚:又称为块

31、内联系, 指模块内部各成分之间相互关联的程度, 以高内聚为设 计目标。耦合:也称块间联系, 模块之间相互联系程度的度量, 联系越紧密, 耦合性越强, 独立性越差,以低耦合为设计目标。4模块的耦合性有哪几种?各表示什么含义?内容耦合: 一个模块直接操作或修改另一模块的数据, 或者不通过正常入口直 接转入 另一模块公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用控制耦合:模块之间通过传递控制信息相互作用标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合数据耦合:模块之间通过传递数据交换信息无耦合:模块间无任何关系,独立工作5模块的内聚性有哪几种?各表示什么含义?偶然内聚:一个模

32、块各个成分之间毫无关系逻辑内聚:将几个逻辑上相关的功能放在同一个模块中时间内聚:一个模块完成的功能在同一时间执行过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行通信内聚:一个模块的所有成分都集中在同一个数据结构上顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出, 作为另外一个成分的输入功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)6什么是软件结构?简述软件结构设计的优化准则。改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通 过模块分解或合并,力求降低耦合提高内聚。模块的规模应该适中模块结构的深度、宽度、扇出和扇入应适

33、中 深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好) 扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3, 4 个为宜,不超过 9 个,"顶层扇出较高,中间扇出较少,底层模块高扇入多 "一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合 模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合7什么是模块的影响范围?什么是软件的控制范围?它们之间应建立什么关 系? 模块的影响范围(作用域):受该模块内一个判定影响的所有

34、模块的集合 模块的控制范围 (控制域) :这个模块本身以及所有直接或间接从属于它的模块 的集合 一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域) 内。8什么样是 " 事物流 " ?什么是 " 变换流 " ?试将相应形式的数据流图转换为软件 结构图数据流图(DFD) 般可分为"变换流","事物流"两种。"变换流":由输入、输出、变换(或称处理)三部分组成,是一顺序结构。 "事物流 ":它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且 根据输入值

35、选择其中一个路径来执行。(这人加工称为事务处理中心)9 试述"变换分析"、"事务分析"设计步骤。 变换分析设计步骤:确定变换中心,逻辑输入和输出。设计软件结构的顶层和第一层-变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能) 第一层至少有三种功能模块:输入、输出和变换模块 设计中、下层模块,对第一层的模块自顶向下分解。 输入模块由两部分组成:接收数据、转换成调用模块所需信息。 输出模块由两部分组成:将数据转换成下属模块所需的形式、发送数据变换模块:对每个基本加工建立一功能模块设计的优化:输入部分求精,每个物理输入设置专门模

36、块,以体现系统的外 部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。 变换部分求精:根据设计准则,对模块适当合并。事务分析的设计步骤:确定事务中心和加工路径设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务 类型调动相应处理模块。中下层模块的设计、优化工作与变换结构相同。事务型软件结构包括两部分:接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并 。10.图是某系学籍管理的一部分,(a),(b)分别是同一模块A的两个不同设计方案, 你认为哪一个设计方案较好?请陈述理由。答:我认为(b

37、)方案较好。要评价一个软件结构设计,主要看模块的独立性,要 从软件结构的耦合性和内聚性两个方面来衡量。对于(a)方案,模块A与模块B之间形成了控制耦合,因此独立性不高,而在B模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。对于(b)方案,模块A与B1和B2之间是数据耦合,独立性较强,在 B1和B2内部,只完成单一的功能,是功 能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。11请将图4-16的DFD转换为软件结构图。(注:图中表示或者)i®.£3解:我们可以看出主图是变换型 DFD,而子图是事务型DFD。根据结构设计的 方法,

38、得到的结构图如下:A2<3K412.将第3章习题中的第10题、第11题设计成相应的软件结构图(SC)和HIPO 图。某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系 统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等 信息,并打印出存款单给储户;如果是取款,系统计算清单给储户 。某图书管理系统有以下功能:借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次 借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书 是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库 存目录并将读者借书情况录入借书文件

39、。)还书:从借书文件中读出与读者有关的记录, 查阅所借日期,如超期(3个月)作罚款处理。否则,修改库存目录与借书文件。(3)查询:通过借书文件,库存目录文件查询读者情况、图书借阅及库存情况, 打印统计表。把上面数据流程图转换为软件结构图和IPO图计迫机情茜系蜿存獣单观款单打即荐蕨单*rst&9计算机牺蓄乘统-“输入取歎信息笄檯验”的ifo團系斷名:计算机曙蕃系纸设计人:檬块名;输入取款信曲检脸日則;複块褊号:上展调用穆块:取款穆块下层调用模块:丈件名:账卡立件全局吏呈:输入数据:账号H储存數量L输岀数露:密同M取戳数量X外理:ifHaiulM不嗨合 皿瑰(退出取款处理)else iTX

40、=L (退出取款处理) 吐鸟C鑑续执行取款处理)檢条件查询还书处理惜书处理1修军1?检索库存笳入书名違亠蒂书僭案更屯首吹昔书TA d5图书管理系统的H图系统名:计篦机储蓄系统设计人;模块名:确走是否借书日期:模块編号:上层调用模块:借节处理下层调用旗块:文件名:库存文件.借书文件全局变星:輸入数据:书名Name库存数量L输出数据:已借本数S处理:IfS>9 tLen (拒绝惜书)Else If库存书目无Name (拒绝惜书) ElseifL=O (扌目绝借书)Else (调用.办埋借书手续刀) &<注释:主图圉书营理茶统类别读借书证读键盘惜书2查询4还书1审核借书3揄入书兔

41、算计舅子图1还书外理、记库登入处理超 期罚款查渤昔书 文 件子图2借书处理修改库修改借存文件书文件1、详细设计的基本任务是什么,有哪几种描述方法 ? 答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6评审详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、 图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具2、结构化程序设计的基本要点是什么?答:主要有三个:(1) 采用自顶向下、逐步求精的程序设计方法(2) 使用三种基本控制结构构造程序。任何程序都可以由

42、顺序、选择、重复(循 环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。(3) 主程序员组的组织形式。3、简述Jackson方法的设计步骤。答:Jackson方法的设计步骤如下:(1) 分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数 据结构。(2) 找出输入数据结构和输出数据结构中有对应关系的数据单元。(3) 按一定的规则由输入、输出的数据结构导出程序结构。(4) 列出基本操作与条件,并把它们分配到程序结构图的适当位置。(5) 用伪码写出程序。4、请使用流程图、PAD图和PDL语言描述下列程序的算法。(1) 在数据A(1)A(10)中求最大数和次大数

43、。解:如图所示:防£流程團开玉输入数2【1】到乳16max a. 1J;1for i= Z to 10简4x2简max ;mwc2=*ij输出拮 束PDL语言描述:GET(a1,a2,.a10)max=a1;max2=a2;FOR i=2 TO 10IF ai>maxmax2=max;max=ai;ELSEIF ai>max2max2=ai;ENDIFENDIFENDFORPUT(max,max2)END(2) 输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是 般三角形。解:如图:GET(a,b,c)IF (a+b>c and b+c>a an

44、d c+a>b)IF (a=b)IF (a=c)PUT("等边三角形")ELSEPUT("等腰三角形")ENDIFELSEIF(a=c)PUT("等腰三角形")ELSEIF (b=c)PUT("等腰三角形")ELSEPUT("一般三角形")ENDIFENDIFENDIFELSEPUT ("这不是一个三角形")ENDIF 5、用PAD图描述下面问题的控制结构。有一个表A(1)、A(2)、A(n),按递增顺序排列。给定一个 Key值,在表中用折 半法查找。若找到,将表位置i

45、送入x,否则将零送到x,同时将key值插入表 中。算法:(1) 置初值H=1(表头),T=N(表尾)。置 i=(H+T)/2(取整)。(3) 若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1 送入H;若KeyvA(i),则Key在表的前半部分,i-1送入T,重复第2步查找直到 H>T为止。查不到时,将 A(i),.A(N)移到 A(i+1).A(N+1),Key 值送入 A(i)中。解:如图所示:刀题 5.5PAD1輸入迄卅T)吃TT=i-1Key<AiJ <whilf srul (H'C-T)F+ lTi=Qf+T)V&

46、#163;Key=Aix=0FKi=Keynrhile6 个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录 中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一 行字符串后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,用Jackson方法设计该程序结构。精入對据錯构翅输岀數据结构圉习题厅-&E)1、程序语言有哪些共同特征?答:程序语言的共同特征(似为特性更符合题意)是指程序设计语言的语言特性, 包括心理特性、工程特性和技术特性三个方面。语言的心理特性对人机通信的质 量有主要的影响;语言的工程特性对软件开发成功一否有重要的影响,此外,语

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

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

49、g、Lisp 语言。 Lisp 是一种函数型语言 ,特别适用于组合问题中符号运算和表 处理,用于定理证明、树的搜索和其他问题的求解。 ProIog 是一种逻辑型语言, 它提供了支持知识表示的特性, 每一个程序由一组表示事实、 规则和推理的句子 组成,比较接近与自然语言。这两种语言主要用于人工智能系统开发。C+、Java语言,是面向对象的设计语言,用于面向对象的方开发软件。5、什么是程序设计风格 ?为了具有良好的设计风格,应注意哪些方面的问题 ? 答:程序设计风格是指一个人编制程序时所表现出来的特点、 习惯、逻辑思路等。 要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输 出

50、和追求效率几个方面加以注意。第71、软件测试的目的是什么 ?软件测试中,应注意哪些原则 ? 答:软件测试的目的是为了发现软件的错误。软件测试中应注意的原则有:(1) 测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查,做到有的放矢。(2) 测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多 地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并 给出相应的提示。(3) 除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做 的事。(4) 应制定测试计划并严格执行,排除随意性。(5) 长期保留测试用例。(6) 对发现错误较多的程序段,应进

51、行更深入的测试。(7) 程序员应避免测试自己的程序。 测试是一种 "挑剔性 "的行为,心理状态是测试 自己程序的障碍。2、什么是白盒测试法 ?有哪些覆盖标准 ?试对他们的检错能力进行比较 ? 答:白盒法测试法把测试对象看作一个打开的盒子, 测试人员须了解程序内部结 构和处理过程, 以检查处理过程的细节为基础, 对程序中尽可能多的逻辑路径进 行测试,检验内部控制结构和数据结构是否有错, 实际的运行状态与预期的状态 是否一致。白盒法有下列几种覆盖标准:语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错

52、误的能力较 强,凡满足其标准的测试用例, 也必然满足前四种覆盖标准。 在实际的逻辑测试 中,一般以条件组合覆盖为主设计测试用例, 然后再补充部分用例来达到路径覆 盖的测试标准。3、什么是黑盒测试法 ?采用黑盒技术测试用例有哪几种方法 ?这些方法各有什么 特点 ?答:黑盒测试法把被测试对象看成是一相黑盒子, 测试人员完全不考虑程序的内 部结构和处理过程, 只在软件接口处进行测试, 依据需求规格说明书, 检查程序 是否满足功能要求。采用黑盒技术测试用例的方法有: 等价类的划分、 边界值分析、 错误推测和因果 图。等价类的划分,是将输入数据按有效的或无效的 (也称合理的或不合理的 )划分成 若干个等价类, 测试每个等价类的代表值就等于对该类其他值的测试。 这样就把 漫无边迹的随机测试改为有针对性的等价类测试, 用少量有代表性的例子代替大 量测试目的相同的例子, 能有效地提高测试效率。 但这个方法的缺点是没有注意 选择某些高效的、能够发现更多错误的测试用例。 边界值分析法一般与等价类划分结合起来。 但它不是从一个等价类中任选一个例 子做代表

温馨提示

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

评论

0/150

提交评论