《软件工程》习题解答 黄全舟编写 2008.8 第一章概述 1软件产品的特性是什么? a.软件产品是一种逻辑产品。 b软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完 成后,复制就产生了大量软件产品。 c软件产品不会用坏,不存在磨损、消耗问题 d软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。 e软件费用不断增加,成本相当昂贵。 2软件产品有几个阶段?各有何特征? 阶段A程序设计时代(1946-1956)B程序系统时代(1956-1968)C软件工程时代(1968-今) 生产方式个体手工劳动小集团合作生产工程化的生产 工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象 技术 开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法 硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格 降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方 软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件 开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工 程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产 生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件 危机 3什么是软件危机?其产生的原因是什么 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软 件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导 致了软件危机。主要表现在以下几个方面 a经费预算经常突破,完成时间一再拖延 b开发的软件不通满足用户要求 c开发的软件可维护性差。 d.开发的软件可靠性差 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引 起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂 c软件开发费用不断增加
《软件工程》习题解答 黄全舟 编写 2008.8 第一章 概述 1.软件产品的特性是什么? a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完 成后,复制就产生了大量软件产品。 c.软件产品不会用坏,不存在磨损、消耗问题。 d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。 e.软件费用不断增加,成本相当昂贵。 2.软件产品有几个阶段?各有何特征? 阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今) 生产方式 个体手工劳动 小集团合作生产 工程化的生产 工具 机器语言、汇编 高级语言 数据库、开发工具、开发环境、网络、 分布式、面向对象 技术 开发方法 追求编和技巧,追求程序运行效率 个人技巧,开始提出结构化方法 硬件特征 价格贵、存储容量小、运行可靠性差 速度、容量、工作可靠性有明显提高,价格 降低,销售有爆炸性增长 向超高速、大容量、微型化以及网络化方 软件特征 只有程序、程序设计概念,不重视程序设计方法 程序员数量猛增,已意识到软件 开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工 程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产 生 开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件 危机。 3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软 件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导 致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引 起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加
d软件开发技术落后。 e生产方式落后 f开发工具落后,生产率提高缓慢 4什么是软件工程?它的目标和内容是什么 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科 软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标 a.付出较低的开发成本 b面到要求的软件功能; c取得较好的软件性能; d开发的软件易于移植; e需要较低的维护费用 f能按时完成开发任务,及时交付使用; g开发的软件可靠性高 软件工程的内容 1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境 2)软件开发管理:软件管理学、软件经济学、软件心理学。 5软件工程面临的问题是什么? 软件工程面临的问题: a.软件费用。b软件可靠性。c软件维护。d软件生产率。e软件重用。 6什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期 软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码 测试、维护等 7什么是软件生存周期模型?有哪些主要模型? 软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解 事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、 个程式。) 软件生存周期主要模型:瀑布模型、増量模型、螺旋模型、喷泉模型、变换模型和基于知识 的模型等 9什么是软件开发的方法?有哪些主要方法? 软件开发的方法:是一种使用早己定义好的技术集及符号表示习惯来组织软件生产的过程 主要方法:结构方法、 Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法
d.软件开发技术落后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。 4.什么是软件工程?它的目标和内容是什么? 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标: a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能; d.开发的软件易于移植; e.需要较低的维护费用; f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高; 软件工程的内容: 1) 软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。 2) 软件开发管理:软件管理学、软件经济学、软件心理学。 5.软件工程面临的问题是什么? 软件工程面临的问题: a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。 6.什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、 测试、维护等. 7.什么是软件生存周期模型?有哪些主要模型? 软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解 事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、 一个程式。) 软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识 的模型等 9.什么是软件开发的方法?有哪些主要方法? 软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。 主要方法:结构方法、Jackson 方法、维也纳开发方法(VDM)、面向对象的开发方法
第二章可行性研究 1可行性研究的任务是什么 a.技术可行性: 考虑的因素(1)开发的风险(2)资源的有效性(3)技术(4开发人员在主段技术可行性时,一旦估 计错误,将会出现灾难性后果。 b.经济可行性。 c社会可行性 2、可行性研究有哪些步骤? a.确定项目规模和目标 b.研究正在运行的系统 c.建立新系统的高层逻辑模型 d导出和评价各种方案 e推荐可行的方案 f编写可行性研究报告 3、可行性研究报告有哪些就要内容? a.引言 b.可行性研究前提 c对现有系统的分析 d所建议系统的技术可行性分析 e所建议系统的经济可行性分析 f社会因素可行性分析 g其他可供选择方案 h结论意见 4成本--效益分析可用哪些指标进行度量? 有形效益度量 a.货币的时间价值 b.投资回收期 c纯收入 无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。 通常以有形效益度量作为成本-效益分析的度量。 5项目开发计划有哪些内容? a项目概述b.实施计划c人员组织及分工d交付期限
第二章 可行性研究 1.可行性研究的任务是什么? a.技术可行性: 考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估 计错误,将会出现灾难性后果。 b.经济可行性。 c.社会可行性。 2、可行性研究有哪些步骤? a.确定项目规模和目标 b.研究正在运行的系统 c.建立新系统的高层逻辑模型 d.导出和评价各种方案 e.推荐可行的方案 f.编写可行性研究报告 3、可行性研究报告有哪些就要内容? a.引言 b.可行性研究前提 c.对现有系统的分析 d.所建议系统的技术可行性分析 e.所建议系统的经济可行性分析 f.社会因素可行性分析 g.其他可供选择方案 h.结论意见 4.成本---效益分析可用哪些指标进行度量? 有形效益度量: a.货币的时间价值 b.投资回收期 c.纯收入 无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。 通常以有形效益度量作为成本---效益分析的度量。 5.项目开发计划有哪些内容? a.项目概述 b.实施计划 c.人员组织及分工 d.交付期限
第三章需求分析 1什么是需求分析?需求分析阶段的基本任务是什么 需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需 求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说 明)的过程 需求分析阶段的基本任务是 (1)问题识别:双方对问题的综合需求:a功能需求b性能需求c环境需求d用户界面需求 (2)分析与综合,导出软件的逻辑模型 (3)编写文档 2什么是结构化分析方法?该方法使用什么描述工具 结构化分析方法:是面向数据汉进行需求分析的方法 描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树 3结构化分析方法通过哪些步骤来实现? 结构化分析方法步骤 a了解当前系统的工作流程,获得当前系统的物理模型 b抽象出当前系统的逻辑模型 c.建立上标系统的逻辑模型 d作进一步补充和优化 4什么是数据流图?其作用是什么?其中的基本符号各表示什么含义? 数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种 功能模型。 作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能 基本符号有四种: →箭头,表示数据流;o,圆或椭圆,表示加工;=双杠,表示数据存储;口,方框,表示数据的源点或 终点 5画数据流图应该注意什么事项? 画数据流图注意事项: a.命名不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义 b.画数据流而不是控制流 c.一般不画物质流 d每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结 果 e编号 f父图与子图的平衡. g局部数据存储 h提高数据流图的易理解性 6什么是字据字典?其作用是什么?它有哪些条目? 字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的
第三章 需求分析 1.什么是需求分析?需求分析阶段的基本任务是什么? 需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需 求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说 明)的过程。 需求分析阶段的基本任务是: (1) 问题识别:双方对问题的综合需求:a.功能需求 b.性能需求 c.环境需求 d.用户界面需求. (2) 分析与综合,导出软件的逻辑模型. (3) 编写文档 2.什么是结构化分析方法?该方法使用什么描述工具? 结构化分析方法:是面向数据汉进行需求分析的方法。 描述工具:a、数据流图 b、数据字典 c、描述加工逻辑的结构化语言、判定表、判定树。 3.结构化分析方法通过哪些步骤来实现? 结构化分析方法步骤: a.了解当前系统的工作流程,获得当前系统的物理模型. b.抽象出当前系统的逻辑模型. c.建立上标系统的逻辑模型. d.作进一步补充和优化. 4.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义? 数据流图:简称 DFD,是 SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种 功能模型。 作 用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能. 基本符号有四种: →,箭头,表示数据流; ○,圆或椭圆,表示加工; =,双杠,表示数据存储;□,方框,表示数据的源点或 终点. 5.画数据流图应该注意什么事项? 画数据流图注意事项: a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义. b.画数据流而不是控制流. c.一般不画物质流. d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结 果. e.编号. f.父图与子图的平衡. g.局部数据存储. h.提高数据流图的易理解性. 6.什么是字据字典?其作用是什么?它有哪些条目? 字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\
无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描 述 作用:1)为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述 2)为分析人员查找数据流图中有关名字的详细定义而服务的 3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分 条目:数据流、数据项、数据存储、基本加工 7描述加工逻辑有哪些工具? a,结构化语言b判定表c判定树 8什么是IDEF方法? IDEFO方法有什么特点? IDEF方法:是美国空军在1981年针对集成化计算机辅助制造( Integrated Computer Aided Manufacturing,简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化 分析与设计技术的基础上提出来的 IDEF是 ICAM Definition的缩写 IDEFO方法特点: a.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束及实 现机制。 b采用严格的自顶向下、逐层分解的方式建立系统功能模型。 9、简述SA方法的优缺点 优点: 1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件 的需求分析。 2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、 测试、评价提供了有利条件 缺点 1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统"做什么"的功 能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控 制系统。 2)SA方法在使用DFD在分析与描述”数据要求"方面是有局限的。 3)DFD不适合描述人机界面系统的要求。 4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化, SA方法可与形式方法结合起来 10某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款, 系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户 如果是取款,系统计算清单储户。请用DFD和 IDEFO描绘该功能的需求,并建立相应的数 据字典。 (1)数据流条目 数据流名称:存款单 别名:无 简述:储户存款时填写的项目 来源:储户
无二义 性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描 述. 作 用:1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述. 2)为分析人员查找数据流图中有关名字的详细定义而服务的. 3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分. 条 目:数据流、数据项、数据存储、基本加工。 7.描述加工逻辑有哪些工具? a,结构化语言 b,判定表 c.判定树 8.什么是 IDEF 方法?IDEF0 方法有什么特点? IDEF 方法:是美国空军在 1981 年针对集成化计算机辅助制造(Integrated Computer Aided Manufacturing,简称 ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化 分析与设计技术的基础上提出来的。 IDEF 是 ICAM Definition 的缩写。 IDEF0 方法特点: a.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束及实 现机制。 b.采用严格的自顶向下、逐层分解的方式建立系统功能模型。 9、简述 SA 方法的优缺点。 优点: 1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件 的需求分析。 2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、 测试、 评价提供了有利条件。 缺点: 1)传统的 SA 方法主要用于数据处理方面的问题,主要工具 DFD 体现了系统"做什么"的功 能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控 制系统。 2)SA 方法在使用 DFD 在分析与描述"数据要求"方面是有局限的。 3) DFD 不适合描述人机界面系统的要求。 4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化, SA 方法可与形式方法结合起来。 10.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款, 系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户; 如果是取款,系统计算清单储户。请用 DFD 和 IDEF0 描绘该功能的需求,并建立相应的数 据字典。 (1)数据流条目: 数据流名称:存款单 别 名:无 简 述:储户存款时填写的项目 来 源:储户
去向:记帐 数据流量:未知 组成:姓名+住址+存款类型+存款日期+利率 数据流名称:取款单 别名:无 简述:储户取款时填写的项目 来源:储户 去向:统计 数据流量:未知 组成:姓名+住址+取款类型+取款日期+利率 数据流名称:清单 别名:无 简述:储户取款后得到的项目 来源:记录 去向:储户 数据流量:未知 组成:姓名+住址+取款类型+取款日期+利率+余额 (2)数据存储条目: 数据存储名称:账单 别名:无 简述:存放储户信息及其账目 组成:姓名+住址+余额+存款类型+最后修改日期+利率 组织方式:未知 查询要求:能立即查询 (3)数据项条目 未知 (4)加工条目: 加工名:分类检查 编号:无 激发条件:接收到存/取款单 优先级:优先 输入:存/取款单 输出:存/取款单 加工逻辑:IF存款单THEN把存款单输出到统计 ELSE 把取款单输出到统计 ENDIF 加工名:统计 编号:无 激发条件:取款单 优先级:无
去 向:记帐 数据 流 量:未知 组 成:姓名+住址+存款类型+存款日期+利率 数据流名称:取款单 别 名:无 简 述:储户取款时填写的项目 来 源:储户 去 向:统计 数据 流 量:未知 组 成:姓名+住址+取款类型+取款日期+利率 数据流名称:清单 别 名:无 简 述:储户取款后得到的项目 来 源:记录 去 向:储户 数据 流 量:未知 组 成:姓名+住址+取款类型+取款日期+利率+余额 (2)数据存储条目: 数据存储名称:账单 别 名:无 简 述:存放储户信息及其账目 组 成:姓名+住址+余额+存款类型+最后修改日期+利率 组 织 方 式:未知 查 询 要 求:能立即查询 (3)数据项条目: 未知 (4)加工条目: 加工 名:分类检查 编 号:无 激发条件:接收到存/取款单 优 先 级:优先 输 入:存/取款单 输 出:存/取款单 加工逻辑:IF 存款单 THEN 把存款单输出到统计 ELSE 把取款单输出到统计 ENDIF 加工 名:统计 编 号:无 激发条件:取款单 优 先 级:无
输入:取款单 输出:清单 加工逻辑:根据账单检查此储户是否存在,不存在输出错误{ IF取款数<余额THEN余额=余额取款数 输出清单到储户,输出现金到储户 ELSE 输出错误清单到储户 ENDIF 加工名:记录 编号:无 激发条件:存款单 优先级:无 输入:存款单 输出:存款单 加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{ 余额=余额+存款数 输出存款单到储户 11某图书管理系统工程有以下功能: (1)借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借 书文件建立档案。否则,査阅借书文件,检查该读者所借图书是否超过10本,若已达10 本,拒借,未达10本,办理借书(检査库存、修改库存目录并将读者借书情况登入借书文 件) (2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款 处理。否则,修改库存目录与借书文件。 (3)查询:可通过借书文件、库存目录文件査询读者情况、图书借阅情况及库存情况,打印 各种统计表。请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。 12某厂对部分职工重新分配工作的政策是: 年龄在伙岁以下者,初中文化程度脱产学习。高中文化程度当电工:年龄在20岁到40岁之 间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40 岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用结构化语言、判定表或判 定树描述上述问题的加工逻辑 (1)结构化语言 根据职工年龄和文化程序: REPEAT If初中文化Then脱产学习endf else if高中文化Then电工endf
输 入:取款单 输 出:清单 加工逻辑:根据账单检查此储户是否存在,不存在输出错误{ IF 取款数<余额 THEN 余额=余额-取款数 输出清单到储户,输出现金到储户 ELSE 输出错误清单到储户 ENDIF } 加工 名:记录 编 号:无 激发条件:存款单 优 先 级:无 输 入:存款单 输 出:存款单 加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{ 余额=余额+存款数 输出存款单到储户 } 11.某图书管理系统工程有以下功能: (1)借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借 书文件建立档案。否则,查阅借书文件,检查该读者所借图书是否超过 10 本,若已达 10 本,拒借,未达 10 本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文 件). (2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3 个月)作罚款 处理。否则,修改库存目录与借书文件。 (3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印 各种统计表。请就以上系统功能画出分层的 DFD 图,并建立重要条目的数据字典。 12.某厂对部分职工重新分配工作的政策是: 年龄在伙岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在 20 岁到 40 岁之 间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在 40 岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用结构化语言、判定表或判 定树描述上述问题的加工逻辑。 (1)结构化语言: 根据职工年龄和文化程序: REPEAT If 年龄<=20 If 初中文化 Then 脱产学习 endif else if 高中文化 Then 电工 endif endif
If20=40 If中学文化Then材料员 else if大学文化Then技术员endf Untl没有剩余未分配员工 判定表 123456789101l 年龄 CCDDDDDEEE 文化 GHHGGHIGHI 性别-MMFF 脱产学习√ 电工 钳工√√ 车工√√ 技术员√√ 材料员√√ 条件取值表 条件名取值符号取值数 年龄20,=40E 文化程度中学GM2=3 高中H 大学I 性别男MM3=2 女F
If 20=40 If 中学文化 Then 材料员 else if 大学文化 Then 技术员 endif endif endif Until 没有剩余未分配员工 判定表 1 2 3 4 5 6 7 8 9 10 11 年龄 C C D D D D D E E E 文化 G H H G G H I G H I 性别 -- -- M M F F -- -- -- -- 脱产学习 √ 电工 √ 钳工 √ √ 车工 √ √ 技术员 √ √ 材料员 √ √ 条件取值表 条件名 取值 符号 取值数 年龄 20,=40 E 文化程度 中学 G M2=3 高中 H 大学 I 性别 男 M M3=2 女 F
附加题: 1、自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、性别、 身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报 名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFD图,并写出 数据词典中的数据流条目 2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所 示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出 这三个数据流条目。 运动员名单=队名十运动员号+姓名+{项目} 项目=项目名 项目参加者=项目名+{运动员号} 3、某旅馆的电话服务如下 可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或 长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话 号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是 任意长度为4的数字串。 要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 电话号码=分机号|外线号码 分机号=7201.7299 外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100.300 市话号码=局号+分局号 局号=[455|466|888552] 分局号=4{数字}4
附加题: 1、自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、 性别、 身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报 名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的 DFD 图,并写出 数据词典中的数据流条目。 答: 2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生 “项目参加者”,如下图所 示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出 这三个数据流条目。 答: 运动员名单=队名+运动员号+姓名+{项目} 项目=项目名 项目参加者=项目名+{运动员号} 3、某旅馆的电话服务如下: 可以拨分机号和外线号码。分机号是从 7201 至 7299。外线号码先拨 9,然后是市话号码或 长话号码。长话号码是以区号和市话号码组成。区号是从 100 到 300 中任意的数字串。市话 号码是以局号和分局号组成。局号可以是 455,466,888,552 中任意一个号码。分局号是 任意长度为 4 的数字串。 要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 答: 电话号码=分机号|外线号码 分机号=7201...7299 外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100...300 市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{数字}4
第四章概要设计 什么是软件概要设计?该阶段的基本任务是什么? 软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实 现,即把软件需求转换为软件包表示的过程。 基本任务 (1)设计软件系统结构(简称软件结构) a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分) b.确定模块的功能。(功能) c确定模块之间的调用关系。(调用) d确定模块之间的接口,即模块之间传递的信息。(接口) e.评价模块结构的质量。(质量) (2)数据结构及数据库设计 a.数据结构设计 b数据库设计:(概念设计、逻辑设计、物理设计) (3)编写概要设计文档〔文档主要有:概要设计说明书、数据库设计说明书、用户手册、修 订测试计划) (4)评审 2软件设计的基本原理包括哪些内容? 软件设计的基本原理 (1)模块化(四个属性:接口、功能、逻辑、状态) (2)抽象 (3)信息隐蔽 (4)模块独立性(两个定性的度量标准:耦合性与内聚性) 3.衡量模块独立性的两个标准是什么?它们各表示什么含义? 两个定性的度量标准:耦合与内聚性 耦合性:也称块间联系。指软件系统结枃中各模块间相互联系紧密程度的一种度量。模块之 间联系越紧密,其耦合性就越强,模块的独立性则越差 内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧 密程度的度量。模块内元素联系越紧密,内聚性越高。 4模块间的耦合性有哪几种?它们各表示什么含义? 耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合 无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们 之间不传递任何信息。(无直接关系) 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传 递。(数据值) 标记耦合:指两个模块之间传递的是数据结构。(数据结构) 控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的 值有选择地执行块内某一功能(控制变量) 公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。(一个公式数据环境) 内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块
第四章 概要设计 1.什么是软件概要设计?该阶段的基本任务是什么? 软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实 现,即把软件需求转换为软件包表示的过程。 基本任务: (1)设计软件系统结构(简称软件结构) a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分) b.确定模块的功能。 (功能) c.确定模块之间的调用关系。 (调用) d.确定模块之间的接口,即模块之间传递的信息。 (接口) e.评价模块结构的质量。 (质量) (2)数据结构及数据库设计 a.数据结构设计 b.数据库设计:(概念设计、逻辑设计、物理设计) (3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修 订测试计划) (4)评审 2.软件设计的基本原理包括哪些内容? 软件设计的基本原理: (1)模块化(四个属性:接口、功能、逻辑、状态) (2)抽象 (3)信息隐蔽 (4)模块独立性(两个定性的度量标准:耦合性与内聚性) 3.衡量模块独立性的两个标准是什么?它们各表示什么含义? 两个定性的度量标准:耦合与内聚性 耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之 间联系越紧密,其耦合性就越强,模块的独立性则越差。 内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧 密程度的度量。模块内元素联系越紧密,内聚性越高。 4.模块间的耦合性有哪几种?它们各表示什么含义? 耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合 无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们 之间不传递任何信息。 (无直接关系) 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传 递。 (数据值 ) 标记耦合:指两个模块之间传递的是数据结构。 (数据结构 ) 控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的 值有选择地执行块内某一功能(控制变量 ) 公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。 (一个公式数据环境) 内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块