软件工程概论画图题

软件工程概论画图题
软件工程概论画图题

储户

取款单

打印利息清单

利息清单

储户

核对密码

5

3

存款单

打印存款单

存款存单

计算利息

2

4

D1 存款信息 存款信息

记录存款信息

存款信息

存款信息

存款信息

利息值

1

为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。请画出此系统的数据流图。

ER 图

– 本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N )关系。

– 储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。

判定树 – 讲课课时津贴计算

一般授课

教授 副教授 讲师 30 25 20

● 判定表

– 讲课课时津贴计算

某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。

请用定义数据字典的方法,定义上述的电话号码。

● 电话号码=[校内电话号码|校外电话号码]

● 校内电话号码=非零数字+ 3 位数字 //后面继续定义 ● 校外电话号码=[本市号码|外地号码] ● 本市号码=数字零+8位数字

● 外地号码=数字零+3位数字+8位数字 ● 非零数字=[1|2|3|4|5|6|7|8|9] ● 数字零=0

● 3位数字=3{数字}3 //3至3个数字 ● 8位数字=非零数字+7位数字 ● 7位数字=7{数字}7

● 数字=[0|1|2|3|4|5|6|7|8|9]

复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命

令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。

1 2 3 4 5 教授 T F F F 副教授 F T F F 讲师 F F T F 助教 F F F T 讲座 T F F F F 50 × 30 × 25 × 20 × 15

×

某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。

Jackson 设计方法的步骤(5步)P122

高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。

操作:(1)停止;

(2)打开两个输入文件; (3)建立输出文件。

(4)从输入文件中各读一条记录。

(5)生成一条新记录。

(6)将新记录写入输出文件。

(7)关闭全部文件。 条件:I (1)文件结束。

请为某仓库的管理设计一个ER 模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。

● 本问题中共有三类实体,分别是“零件”、“工程项目”和“供应商”。

● 一种零件可供应多个工程项目,一个工程项目需要使用多种零件,因此,零件与工程项目之间的联系“供应”,是多

对多( M ' N )联系;类似地,零件与供应商之间的联系“订购”,也是多对多( M ' N )联系。

● 实体类型“零件”的主要属性是:零件编号,零件名称,颜色,重量。实体类型“工程项目”的属性主要是:项目编号,

项目名称,开工日期。实体类型“供应商”的属性主要有:供应商编号,供应商名称,地址。联系类型“供应”的属性是,向某工程项目供应的某种零件的数量。联系类型“订购”的属性是,向某供应商订购的某种零件的数量

考生新文件

考生记录*

准考证号 姓名 通讯地址 考分 考生情况文件 考生记录* 准考证号 姓名 通讯地址 考分文件 考生记录* 准考证号 考分 I

I (a) 输入数据结构 (b) 输出数据结构 I

产生新文件 处理考生记录* 分析考生记录 产生准考证号 产生姓名 产生通讯地址 产生考分 I(1)

3 2

4 7 1

6 5 4

开始p

q

g

停止

T

F

F

T

画出下列伪码程序的程序流程图和盒图

START

IF p THEN

WHILE q DO

f

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STOP

下图给出的程序流程图代表一个非结构化的程序,请问:

(1)为什么说它是非结构化的?

(2)设计一个等价的结构化程序。

(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;

若用了,再设计一个不用flag的程序

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。

图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是

非结构化的程序。

(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。

(3)不使用flag把该程序改造为等价的结构化程序的方法如图所示。

盒图(N-S图)

程序流程图

基本路径测试

(1)流图 (2)计算流图的环形复杂度 方法一:5 方法二:E-N+2=15-12+2=5 方法三:P+1=4+1=5 (3)确定线性独立路径的基本集合(路径数=环形复杂度) 路径1:1-2-5-6-7-9-11-12

路径2:1-2-3-5-6-7-9-11-12 路径3:1-2-3-4-6-7-9-11-12 路径4:1-2-3-4-6-7-8-9-11-12

路径5:1-2-3-4-6-7-8-10-11-12

(4)设计可执行每条独立路径的测试用例

1、执行路径1(第一个判断表达式为假,第二个判断表达式为真)

输入:A=0,B=1(任意),C=2,D=0(任意) 预期输出:X= -1,Y=2 2、执行路径2:(第一个判断表达式为假,第二个为真)

输入:A=1,B=0,C=2,D=0(任意) 预期输出:X=1,Y=2 3、执行路径3:(两个判断表达式都为真)

输入:A=1,B=1,C=2,D=2(任意) 预期输出:X=2,Y=0

4、执行路径4:(两个判断表达式全为真)

输入:A=1,B=1,C=0,D=-1 预期输出:X=2,Y=1 5、执行路径5:(第一个判断表达式为真,第二个为假)

输入:A=1,B=1,C=0,D=2 预期输出:X=2,Y=2

划分范式:(学号,系名,住处,课程号,成绩),系名——>住处

学号、课程号、成绩

学号、课程号、成绩 2NF 3NF

学号、系名 学号、系名、住处 系名、住处

(消除部分依赖) (消除传递依赖)

(功能内聚)(上层模块调用下层模块)

1 2 3 5 4

6

7 9 8 11 10

12

计算多个地点的月平均温度 初始化变量sum

并打开文件 (偶然内聚)

创建新的温度记录(功能内聚)

存储温度记录 (功能内聚)

关闭文件并打印平均温度 (偶然内聚)

JACKSON 图

描绘下述的火车的构成。

火车

前车头 硬座 硬卧 餐车 软卧 后车头

车头 ——

内燃

电汽

内燃 电汽

1

节硬座

1

节硬卧

1

节软卧

第二种方法

火车

1个车头

2个车头

车头

硬座 硬卧 软卧 餐车 硬座 硬卧 软卧

餐车

内燃

电气

1

节硬座

1

节硬卧

1

节软卧

内燃 电汽

S

1

节硬座

1

节硬卧

1

节软卧

车头

第一种方法

基本路径测试

设计下列伪码程序:语句覆盖和路径覆盖测试用例; 2路径覆盖测试用例 Start

Input (A ,B ,C ) IF A>5

THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15

THEN Z=30 ELSE Z=3 END IF

PRINF (X,Y ,Z) stop

1,语句覆盖测试用例

1)三个条判定表达式全为真

测试数据:A=6,B=11,C=16 预期输出:X=10,Y=20,Z=30 2)三个判定表达式全为假

测试数据:A=4,B=9,C=14 预期输出:X=1,Y=2,Z=3 1: START

INPUT (A,B,C,D) 2: IF (A>0)

3: AND (B>0)

4: THEN X=A+B 5: ELSE X=A-B 6: END IF 7: IF C>A

8: OR (D

12: PRINT (X,Y) STOP

路径1:1-2-3-4-6-7-9-11-12 路径2:1-2-5-6-7-9-11-12 路径3:1-2-3-5-6-7-9-11-12 路径4:1-2-3-4-6-7-8-9-11-12 路径5:1-2-3-4-6-7-8-10-11-12

测试用例:

执行路径1(两个判定表达式之值全为真)

输入:A=1, B=1, C=2, D=2(任意) 预期输出:X=2, Y=0 执行路径2(两个判定表达式之值为假、真)

输入: A=0, B=1(任意), C=2, D=0(任意) 预期输出:X= -1, Y=2 执行路径3(两个判定表达式之值为假、真)

输入: A=1, B=0, C=2, D=0(任意) 预期输出:X=1, Y=2 执行路径4(两个判定表达式之值全为真)

输入: A=1, B=1, C=0, D=-1 预期输出:X=2, Y=1 执行路径5(两个判定表达式之值为真、假)

输入: A=1, B=1, C=0, D=2 预期输出:X=2, Y=2

()

11 9 j

F 7 Y=2 X,Y ,

d

4 e

L

T 12 i

8 m

15

h

g

f

F 5 6

13 X=

C

F 3

T 10

k

b

2

STAR A,B,C a 1

A>X=10

Y=20 B>10 Z=3

T 14

Z=30 C>15 STOP

数据字典卡片

名字:定货报表

别名:定货信息

描述(说明):每天一次送给采购员的需要定货的零件表

定义:定货报表=零件编号+零件名称+定货数量+目前价格+

主要供应者+次要供应者

位置:输出到打印机名字:零件编号

别名:

描述(说明):唯一地标识库存清单中一个特定零件的关

键域

定义:零件编号=8{字符}8

位置:定货报表

定货信息

库存清单

事务

IPO图

系统:作者:模块:编号:被调用(上级模块名称):

调用(下级模块名称):

输入:(数据流图)数据流

输出:(数据流图)数据流

处理:数据处理过程

局部数据元素:(可删除)

备注:

工程制图试题

《工程制图》课程考试试卷(A卷) 专业工程造价命题教师 年级层次学号姓名 注意:1、本试卷共1 页;2、考试时间: 120 分钟; 3、姓名、学号必须写在指定地方。 一、填空:(一空一分)30分 1、建筑剖面一般应标出剖切到部分的__________尺寸和____________。在建筑剖面图中应补充标注出房屋内部的一些标高,如__________________________ ___________________________________________________________等。 2、结构平面图是表示建筑物__________________________________________的图样。楼层结构平面图是采用楼面上方的一个_____________________来表示。 3、基础的形式一般取决于上部承重构件的形式,如墙下的基础做成________基础;柱下的基础做成________基础。 4、钢筋混凝土是由_______________________________复合材料。钢筋的特点是__________________________________,而混凝土的抗拉强度低、抗压强度高,在钢筋混凝土结构中,钢筋主要承受______________,混凝土主要承受____________。 5、尺寸一般标注在图样轮廓线之外,不可与________、_______及符号相交。当需要标注若干互相平行的尺寸时,应使短尺寸离轮廓线最_____,尺寸线离最外轮廓线的距离一般不小于______。 6、有些物体内部形状复杂或层次较多,可用____________________________ 剖切。对建筑物多层构造的部分可采用______剖切。 7、_________的水封将隔绝和防止有害、易燃气体及虫类通过卫生器具泄水口侵入室内。 8、在系统图中标注标高,对于建筑物,应标注____________________________ 等部位的标高;对于给水管道,要标注___________标高,通常还要标注横管、___________和_________等部位的标高。7、楼层结构平面图中各承重构件的表达方法:习惯上把楼板下的不可见墙身线和门窗洞位置线画成____________线;用________线表示各种梁的中心线位置;预制楼板的布置不必按实际投影分块画出,而简化为一条________线来表示楼板的布置范围,并沿对角线方向注出预制楼板的__________。 9、基础的形式一般取决于上部承重构件的形式,如墙下的基础做成________基础;柱下的基础做成________基础。 10、标注坡度应加坡度符号,该符号为________,也可用___________的形式标注。

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。 14.软件工程三要素包括_方法_、__工具___和__过程___,其中, _过程_支持软件开发的各个环节的控制和管理。 15.类构件的重用方式有_实力重用__、__继承重用______和_ 多态重用__三种。16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。 2.判断题 1. 向滞后的项目中增加人手会使得项目更加滞后。(T)

软件工程课后习题参考答案

1.简述软件开发的本质。 答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19 2.简述实施软件开发的基本途径。 答:实施软件开发的基本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。P19 3.简述何谓模型以及软件开发中所涉及的模型。 答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。 软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。 4.简述软件开发所涉及的两大类技术。 答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。 5、简述需求与需求规约的基本性质。 答:需求的基本性质:1) 必要的,该需求是用户所要求的。2)无歧义的,该需求只能用一种方式解释。3)可测的,该需求是可进行测试的。4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。5)可测量的,该需求是可测量的。 需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。 3)完整的:没有被遗漏的需求。4)一致的:不存在互斥的需求。 6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可 7、举例说明功能需求和非功能需求之间的基本关系。 答: 非功能需求可作用于一个或多个功能需求,例如 非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。P24 8、有哪几种常用的初始需求发现技术 答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。P26 9、简述需求规约的3种基本形式。 (1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。(2) 半形式化的需求规约。半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。(3)形式化的需求规约。形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。 P29 10、简述软件需求规约的内容和作用。 答:软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。P28 需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求规约是一个管理控制点。3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。4)需求规约是创建产品验收测试计划和用户指南的基础。P31 11、简述需求规约在项目开发中的基本作用。 答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求

软件工程概论课后答案解析

第1章软件与软件工程的概念 1、1 举出您所知道的应用软件的例子。 办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。 1、2 认为“软件就就是程序,软件开发就就是编程序。”这种观点就是否正确?为什么? 认为“软件就就是程序,软件开发就就是编程序。”这种观点就是错误的。 首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。 1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么? 可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。 1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。 典型表现: (1)对软件开发成本与进度的估计常常很不准确。 (2)用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常就是不可维护的。 (5)软件通常没有适当的文档资料。 (6)软件成本在计算机系统总成本中所占的比例逐年上升。 (7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅 速普及深入的趋势。 产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面: (1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。 (2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。 (3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 (4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技 术问题,更重要的就是必须有科学严格的管理。 (5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。

工程制图习题及答案

1.工整、清楚、均匀、整齐。 2.图形、实物。 3.尺寸数字、尺寸界线、尺寸线、尺寸线终端。 4.定形尺寸。 5.定位尺寸。 6.数值、无关。 7.豪米。 1.完工。2一次、清晰。3定形、定位。 4上方、中断、向上。5平行。6圆心。7顶、水平。8A0、A1、A2、A3、A4。9徒手。 10计算机。11圆规、分规、三角板、丁字尺。12相切。 1.x. 2.z. 3.x、z. 4.一般位置直线、投影面平行线、投影面垂直线。 5.投影。 6.中心投影、平行投影。 二(2)1中心投影。2平行投影。3斜投影法、正投影法。4唯一、位置、形状。5实长、实行。6点。7直线。 二(3)1.直线、类似形。2.水平、正立、侧立。3.第一分角。4.主、俯、左。5.粗实线、虚线。6.长、高、长、宽、高、宽。 二(4)1铅垂、正垂、侧垂。2一般位置直线。 3投影面平行线、水平、正平、侧平。4平面。5该平面。6同面。7不变。 二(5)1平行、相交、交叉。2平行、平行。3交叉。4实长、倾角、平行、实长。5点、实长、垂直。 二(6)1一般位置平面、投影面平行面、投影面垂直面。2一般位置平面。3垂直面。4直线、倾角。5平行面。6实形、直线、平行。 1. 中心投影法和平行投影法。 2. 正投影法和斜投影法。 3.多面正投影图。 4.①正面投影与点的水平投影。 ②正面投影与点的侧面投影。 ③水平投影到OX轴的距离等于点的侧面投影。 5. 一般位置直线、投影面平行线和_ 投影面垂直线。 1 平行、相交、交叉三种。 2. 同面投影也一定平行。 3. 同面投影也一定相交,同面投影。 4.也反映直角。 5.一般位置平面、投影面垂直面和投影面平行面。 1. 取点,取线,取线,取点。 2. _平行__、相交_和_垂直___。 3. 积聚性法和辅助线法。 4. _平行__、相交_和_垂直。 5. 积聚性法线面交点法和辅助平面法。 1.(1) 将已知的各投影联系起来阅读 (2) 运用形体分析读图 (3) 运用线面分析读图 第九章 3、装配图中所有零、部件均须编写序号,相同规格尺寸的零、部件应另编一个序号.编号时,在零、部件可见轮廓内画一小实心圆,用细实线引出到该视图最外端轮廓线的外面,终端画一横线或圆圈(采用细实线),序号填写在指引线的横线上或圆圈内,序号数字要比尺寸数字大一号,在较大幅面的图样中,编号的字高可比其尺寸数字高度大两号.若零件很薄(或已涂黑)不便画圆点时,可用箭头代替,另外也可以不画水平线和圆,在指引线另一端附近注写序号,序号字高比尺寸数字大两号;指引线尽量分布均匀,不要彼此相交,也不要过长.当通过有剖面线的区域时,指引

软件工程导论部分课后习题答案

第一章 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发 螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。螺旋模型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力时间引起无谓消耗;3成于风险分析,败于风险分析。适用于内部开发的大规模软件项目。 1-8:为什么说喷泉模型叫好的体现了面向对象软件开发过程无缝和迭代的特性?

软件工程导论课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经 常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 五、1-5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=×(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=×(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

软件工程导论课后题

1-5、根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算: (1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少? (2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。

2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。 医院对患者8监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。 系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。 此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。 为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。

软件工程课后习题答案第五版

软件工程课后习题答案第五版 《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

软件工程概述习题及答案

第一章软件工程概述 一. 填空题 1. 软件的发展过程, , , . 2. 基于软件的工作方式,软件可以划分为, , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境. 4. 在计算机系统中,软件是, 而硬件是. 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,,. 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤, , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型, , , , , . 14. 软件工程面临的问题有, , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和. 16.基于软件的功能划分可以把软件划分为, ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则:, ,和, 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

工程制图题库

工程制图题库 1、图纸的基本幅面有哪几种?每种的长、宽各是什么? 图纸的基本幅面有五种,代号分别为:A0、A1、A2、A3、A4。幅面大小:A0(841×1189)、A1(594×841)、A2(420×594)、A3(297×420)、A4(210×297)。 2、1:2和2:1哪一个是放大比例?哪一个是缩小比例? 2:1是放大比例,1:2是缩小比例。 3、图样中,尺寸的默认单位是什么?尺寸数字注写时应注意什么? 图样中,尺寸的默认单位是毫米。 尺寸数字标注规则如下: (1)机件的真实大小应以图样上所注的尺寸数值为依据,与图形的大小及绘图的准确度无关。 (2)图样中的尺寸数字,以毫米(mm)为单位时,不需标注计量单位的代号或名称,即尺寸的默认单位是mm,如采用其他单位,则必须注明。本书文字和插图中的数字,如没有特别注明,也一律以mm为单位。 (3)图样中所注尺寸是该图样所示机件最后完工时的尺寸,否则应另加说明。(4)机件的每一尺寸,一般只标注一次,并应标注在反映该结构最清晰的图形上。 4、什么是斜度?什么是锥度? 斜度是指一直线或平面对另一直线或平面的倾斜程度。其大小用倾斜角的正切值来表示,并把比值写成1: n的形式,即:斜度=tanα=H:L=1:n。锥度是指圆锥的底圆直径D与高度H之比,通常,锥度也要写成1: n的形式,即锥度=2 tan α=D/L:l=1:n。

5、尺规绘图的一般步骤是什么? 一幅完整图样的绘制步骤具体如下: (1)将绘制各类图线的铅笔及圆规准备好;图板、丁字尺、三角板擦拭干净。(2)根据所画图形的大小、多少,选取比例,确定图纸幅面。 (3)用丁字尺找正后,用胶带纸把图纸固定在图板上。 (4)用细实线画出图框和标题栏。 (5)将所画图形均匀地布置在图框内,根据投影关系,画出各图形的基准线,再画出图形的主要轮廓线,最后绘制细节。 (6)检查、修改已画出的图形,并清理作图线。 (7)按先曲线后直线、从上到下、从左到右的顺序加深图线。使同一类图线的粗细、浓淡一致。 (8)绘制尺寸界线、尺寸线及箭头,注写尺寸数字,书写其他文字、符号,最后填写标题栏。 (9)全面检查,修改错误,清除污迹,完成全图。 6、什么是草图?一般在什么情况下使用? 徒手绘图是指徒手(不用尺规及绘图仪器)用铅笔绘制图形。徒手绘制的图形即为草图。 在技术交流、机器测绘及讨论设计方案时,常常需要先绘制出草图,然后再整理成正规图。徒手绘制草图能够快速捕捉设计灵感,帮助形成和拓展思路,且便于现场测绘,节约作图时间。 7、.三视图的投影规律是什么?试举例说明。 三视图的投影规律为:主、俯视图长对正,主、左视图高平齐,俯、左视图宽相等。在绘制三视图时要符合这一投影规律(简称“三等”规律)。如图所示:

软件工程概论课后习题答案

软件工程概论郑人杰等版 第1章软件与软件工程的概念 1.1 举出你所知道的应用软件的例子。 办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。 1.2 认为“软件就是程序,软件开发就是编程序。”这种观点是否正确?为什么? 认为“软件就是程序,软件开发就是编程序。”这种观点是错误的。 首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。 1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么? 可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。 1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现: (1)对软件开发成本和进度的估计常常很不准确。 (2)用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6)软件成本在计算机系统总成本中所占的比例逐年上升。 (7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用 迅速普及深入的趋势。 产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面: (1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。 (2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。 (3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 (4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及 技术问题,更重要的是必须有科学严格的管理。

软件工程期末考试最后大题参考答案(beta版)

最后大题参考答案(beta版) 欢迎参加修改并共享 本答案仅供参考,最终考试题目请咨询赵会群老师。 六、一个网络教学系统的功能需求内容: 1)学生通过客户端根据学号和密码进入选课界面,在这里学生可以进行查 询已选课程、指定自己的选修课程以及对自己基本信息的查询; 2)学生可以登录本系统中学习模块,浏览课程信息、选择和查找自己所需 要学习课程的课件并进行下载; 3)教师可以登录本系统,在网站上输入课程介绍、上传课程的课件、发布、 更新和修改消息; 4)系统管理员可以对本系统进行维护和批准用户申请注册等操作。对课程 信息进行维护,包括:添加、删除和修改课程信息;对学生基本信息进 行维护,包括:添加、修改、查询和删除;对教师信息进行维护,包括: 添加、修改、查询和删除等操作。 试完成系统的分析与设计工作。具体要求如下: 画出系统的数据流程图(此题可以进行细化,根据相关功能所需数据进行细化。)

画出系统E-R图(此图可根据题目对联系添加属性)

●画出系统状态转换图(根据系统的状态变化画图) ●画出系统功能的模块结构图(此图是根据该系统的功能从顶层逐步向下 细化得到,是各个功能模块的组合)

给出模块结构图中学生选课并下载课件的算法的伪代码(每问4分,共20分) 答:(说明:每个模块都可以写伪代码,考试可能会是其他模块,学会举一反三。)DO 登录 IF 密码&&用户名正确THEN IF 选择学生选课THEN DO 选课 ELSE 选择下载课件 DO 下载课件 ENDIF ELSE DO RETURN 密码||用户名错误 RETURN 登录界面

工程制图试题

临沂大学2011—2012学年度第一学期 《工程图学及设计》试题(A 卷) (适用于2010级土木工程专业本科学生,闭卷考试 ,时间120分钟) 1.物体在水平投影面上反映的方向是( )。 A .上下、左右 B .前后、左右 C .上下、前后 D .上下、左右 2.正面斜二测Y 轴的轴向变形系数为( )。 A .1 B .0.5 C .0.94 D .0.82 3.正等测的轴间角是( )。 A .120° B .135° C .150° D .90° 4.在画斜二测圆的投影时所采用的方法是( )。 A .坐标法 B .八点投影法 C .同心圆法 D .四心近似圆弧法 5.吊车梁的代号是( )。 A .DCL B .CL C .L D . DL 6.在建筑平面图中,位于2和3轴线之间的第一根分轴线的正确表达为( )。 A B C D 1.一条直线既平行于V 面,又平行于W 面,则这条直线是 线 。 2.点的正投影到OX 轴的距离,等于点到 投影面的距离。 3.在建筑施工图中,标高单位以 计。 4.φ6@200表示的含义是 。 5.同一个物体的三个投影图间具有的“三等”关系指 _________、_________、_________。 6.实际尺寸为3600mm 的线段,用1∶50绘图时,图上线段长度应为_________mm 。 8.读图,完成下列填空 ①可判断该平面图为_____________层平面图。 ②该住宅楼为砖混结构,室内地面标高为____________ ,室外为____________,楼梯间为____________。____________沿外墙四周布置,宽为600m 。 ③房屋的定位轴线均通过墙体中心线,横向定位轴线从___________至____________,纵向定位轴线从____________至____________。 ④该建筑东西向总长____________,南北向总长____________。卫生间的开间尺寸为____________,进深尺寸为____________。外墙厚度____________mm 。 ⑤试一一列举该图所显示的窗有____________、____________、____________;M5表示__________门,M7表示_________门。 ⑥1-1,2-2,分别为剖视图的剖切位置,在设计中,剖切位置一般选在____________的位置。

软件工程期末考试题及答案

15、31重复 16. 34. 重复

18. 19.

33.

20. 请就以下需求建立用例图、类图 用时序图描述病人病情异常时系统的情况,其他情况从略 在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。

21.OOA模型有哪些元素组成? 22. 现在要对一个自动取款机(A TM)密码功能软件进行黑盒测试,该软件的规格说明如下: 插入ATM机有效银行卡,机器界面显示“请输入六位密码”;若密码正确机器显示“查询、取款等功能界面”;若密码错误显示“密码错误”;若密码错误三次机器吞卡;若插入非银行卡或消磁卡机器显示“无效卡,退出”。有效测试卡的密码是112233。 请用等价类和边界值方法设计测试该软件功能的全部测试用例。 25. 假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份: (a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。 你将选取哪两份文档?为什么这样选取?你打算怎样完成交给你的任务? 26. 什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题? 27. 软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系? 28. 某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。 按照路径覆盖法设计测试用例。

软件工程导论第六章课后答案

计算机科学与技术 第六章习题答案 4、图6.18给出的程序流程图代表一个非结构化的程序,问: (1)为什么说它是非结构化的? (2)设计一个等价的结构化程序。 (3)在(2)题的设计中使用附加的标志变量flag了吗?若没有,再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。 图6.18 一个非结构化程序 答:(1)图示程序的循环控制结构有两个出口,不符合结构程序的定义,因此是非结构化的程序。 (2)设计的等价结构化程序盒图如下所示:

(3)在第(2)题中没有使用标志变量flag,设计使用附加的标志变量flag,将上述程序改成等价的结构化程序,如下盒图所示: 7、某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,则等于手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。要求:(1)用判定表表示手续费的计算方法。(2)用判定树表示手续费的计算方法。答:(1)用判定表表示手续费的计算方法如下所

软件工程(自编教材) 习题答案

《软件工程》习题参考答案 周兵 1.1教材:《软件工程》方木云主编,清华大学出版社,2016 1.2参考书目: 1.《Software engineering》8th Edition Ian Sommervile,Pearson Education, 机械工业出版社,2006 2. 《软件工程》,王忠群主编,中国科学技术大学出版社,2009 3. 《软件工程导论》(第4版), 张海藩编着, 清华大学出版社, 2007 4、《Software engineering : a practitioner's approach》Roger S. Pressman. 6th ed. Pressman, Roger S. China Machine Press,2008 1.3说明: 斜体部分是可选讲授内容, 带星号的习题为可选。

第1章软件工程学概述 1.1习题 A.1什么是软件软件可以分为哪些类p11 答:软件是程序、数据及相关文档的完整集合。软件可分为通用软件和定制软件。 A.2*什么是软件危机及其表现p11 答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 具体地说,软件危机主要有以下一些典型表现。 (1) 对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 A.3什么是软件工程p11 答:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 A.4什么是软件过程p20 答:软件过程由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。

软件工程概论课后答案

第1章软件与软件工程的概念 1.1举出你所知道的应用软件的例子。 办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。 1.2认为“软件就是程序,软件开发就是编程序。”这种观点是否正确?为什么? 认为“软件就是程序,软件开发就是编程序。”这种观点是错误的。 首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程 的一个阶段。 1.3如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么? 可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。 1.4什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现: (1) 对软件开发成本和进度的估计常常很不准确。 (2) 用户对已完成的”软件系统不满意的现象经常发生。 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速 普及深入的趋势。 产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面: (1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。 (2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。 (3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 (4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及 技术问题,更重要的是必须有科学严格的管理。 (5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。 1.5什么是软件工程? 软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方

相关文档
最新文档