哈工大软件工程期末复习题
软件工程复习题
一:问答题:
1. 结构化系统开发方法的基本思想是什么?
结构化分析建模是根据结构化分析准则,在需求分析过程中建立的3种模型:
(1)数据模型:用实体-联系图描绘数据对象及数据对象之间的关系,以建立系统的数据模型。
(2)功能模型:用数据流图描绘当数据在软件系统中移动时被变换的逻辑过程,以指名系统具有的变换数据的功能,因此,数据流图即建立系统的功能模型。
(3)行为模型:用状态转换图指名作为外部事件结果的系统行为,即状态转换图描绘了系统的各种行为模式和在不同状态间转换的方式,因此,状态转换图即建立系统的行为模型。
2. 名词解释:软件工程,软件危机,软件开发模型,软件测试,软件项目的质量管理,软件;成本/效益分析,软件生命周期;
软件工程:1:将系统的,规范的,可定量的方法用到软件的开发、运行、维护之中;2对1中的方法的研究。三要素:工具、过程、方法
软件危机:在软件的开发和维护过程中遇到的一系列严重问题
软件开发模型:瀑布,快速原型,增量,螺旋,形式化方法,基于组件的开发模型
软件测试:广义:对软件生存周期内的所有检查;狭义:对软件产品的质量的检查和评价。就是找出软件的错误
软件项目的质量管理: 制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。。
软件:按照特定顺序组织的计算机指令和数据的集合 成本/效益分析:通过成本效益分析来评估项目价值的方法
软件生命周期:从软件的问题定义一直到该软件被淘汰
3. 什么是软件危机?软件危机的表现是什么?其产生的原因是什么?
软件危机:计算机软件在它的开发和维护过程中所遇到的一系列严重问题
表现:质量无法保证;开发进度和成本无法评估;对已完成的软件的不满意太多;不容易维护;没有合适的文档。
原因:项目变大;复杂度变高;理论水平不够;用户需求不明确;人员流动和沟通不好
4. 软件质量保证应做好哪几方面的工作?
软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:
(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。
(2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。
(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。
(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。
(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。
(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。
5. 原型法需要什么环境支持,它有哪些局限? 原型法:就是迅速构建一个软件原型,由用户对软件进行评价,确定用户的需求,然后对原型进一步修改,从而开发出客户满意的产品。因此:原型法需要同客户不断交流来支持,若是一旦没了沟通,构造的原型就没有意义。缺陷:由于软件是不断修改而成的,因此所选用的开发技术和工具往往不一定符合主流的发展,从而可能会使软件质量降低。
6. 面向对象建模技术主要包括那些模型?
功能模型,分析对象模型,动态模型
7. 系统设计的内容是什么?
系统设计:选择合适的解决方案,并将系统划分为若干子系统,从而建立整个系统的体系结构
详细设计:细化原有的分析对象,确定一些新对象,对每一个子系统接口和类进行详细的说明
8. 请简述编码原则?书上有 唯一确定。。。
编码原则可以理解为编码规范。以前的代码只需要机器能够编译就可以了。而现在,则是将代码的可读性作为影响软件质量的一个重要因素。因此,在团队中制定统一的编码原则是非常重要的。可以从以下几个方面考虑:文件的命名和组织;要注意代码的版式:空行和空格,缩进;命名规则,声明变量和函数;尽量少使用全局变量;for里面不要调用函数;指针,数组要初始化;数组要注意越界问题;内存分配要注意回收;注释格式等。
9. 数据字典的作用是什么?数据字典中包含了哪些信
数据字典是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库和程序元数据修改时DBMS自动更新数据字典,被动则是需要手动更新。客户和开发人员使用一致的定义和术语,从而可以使客户和开发人员在需求上达成共识。数据字典包括:数据项,数据结构,数据流,数据存储,处理过程。
10. 选择程序设计语言应考虑哪些因素?
每一种语言都有自己的特长和不足,选择程序设计语言时应注意,要针对项目的特点,并且是程序员熟悉的语言来选,从而保证项目又快又好的开发出来。
11. 什么是白盒测试法?
是根据软件的内部工作过程,通过运行程序进行测试,以证实每一种内部操作是否符合设计规格要求,所有内部成分是否已经检查过。允许测试人员利用代码的内部结构设计测试用例。
12. 什么是黑盒测试法?
根据软件产品的功能设计规格说明,通过运行程序进行测试,证实每个功能是否已经实现和满足设计要求。黑盒测试不考虑软件的内部结构,只根据功能说明书来测试。 二:分析题
1、 某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。请用DFD,IDEF0描绘该功能的需求,并建立相应数据字典。
取款单、结算单和付款信息的数据字典如下:
①、数据流名称:取款单
别名:无
简述:顾客取款时填写的单据
来源:顾客
去向:核查
数据流量:200份/天
组成:日期+[取|存款金额]+姓名+地址+[存/取款类型]+密码+{账号}
②、数据流名称:结算单
别名:无
简述:顾客取款时得到的利率清单
来源:银行储蓄系统
去向:顾客
数据流量:200份/天
组成:取款日期+取款金额+储户姓名+储户地址+存款类型+利息+总金额+操作员
③、数据流名称:付款信息
别名:无
简述:存储系统处理的取款信息
来源:银行储蓄系统
去向:付款处理
数据流量:200份/天
组成:日期+取款金额+储户姓名+储户地址+存款类型+账号+利息+总金额+操作员 2、某图书管理系统有以下功能:
⑴借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。)
⑵还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。否则,修改库存目录与借书文件。
⑶查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。
请画出系统功能结构图,
3、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
(1)结构化语言:
IF 重量<=30
行李费 = 0
ELSE
IF 头等舱 THEN IF 国内乘客
THEN IF 残疾乘客
THEN 行李费 = (w – 30)* 2
ELSE
THEN 行李费 = (w – 30)* 4
ELSE
THEN IF 残疾乘客
THEN 行李费 = (w – 30)* 4
ELSE
THEN 行李费 = (w – 30)* 8
ELSE
THEN IF 国内乘客
THEN IF 残疾乘客
THEN 行李费 = (w – 30)* 3
ELSE
THEN 行李费 = (w – 30)* 6
ELSE
THEN IF 残疾乘客
THEN 行李费 = (w – 30)* 6
ELSE
THEN 行李费 = (w – 30)* 12
(2)判定表如下表所示:
1 2 3 4 5 6 7 8 9
国内乘客 T T T T F F F F
头等舱 T F T F T F T F
残疾乘客 F F T T F F T T
W≤30kg T F F F F F F F F
免费 ×
(w-30)*2 ×
(w-30)*3 ×
(w-30)*4 × ×
(w-30)*6 × ×
(w-30)*8 ×
(w-30)*12 ×
判定树如下:
4、下面是一项货运收费策略:铁路运费,若收货地点在本省以内,快件每公斤1.5 元,慢件每公斤1 元。若收货地点在外省,重量小于或等于20 公斤,快件每公斤2 元,慢件每公斤1 元,若重量大于20 公斤,超重部分每公斤0.2 元。分别用决策树,决策表和结构语言表达。
5、一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。
顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币
请设计对象图和状态转换图
饮料自动售货机系统对象图
金额计算器
金额
累加
找零
重置 贩卖机
饮料号码
价格 投币-接受
饮料掉出
金额显示
按纽
退币杆
售完显示
退币杆
退币杆状态
拉动 顾客
姓名
硬币
投币-置入
拿取饮料 选择钮
选择钮状态
灯亮
灯熄
售完灯亮
按钮 存量计算器
饮料号码
存量
递减
售完显示
重置
被拉动 选取 属于
属于 属于
属于
2022年哈尔滨工业大学软件工程专业《数据库原理》科目期末试卷A(有答案)
2022年哈尔滨工业大学软件工程专业《数据库原理》科目期末试卷A(有答案)
一、填空题
1、如果多个事务依次执行,则称事务是执行______;如果利用分时的方法,同时处理多个事务,则称事务是执行______。
2、在RDBMS中,通过某种代价模型计算各种查询的执行代价。在集中式数据库中,查询的执行开销主要包括______和______代价。在多用户数据库中,还应考虑查询的内存代价开销。
3、DBMS的完整性控制机制应具备三个功能:定义功能,即______;检查功能,即______;最后若发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
4、SQL语言的数据定义功能包括______、______、______和______。
5、如图所示的关系R的候选码为;R中的函数依赖有;R属于范式。
一个关系R
6、若事务T对数据对象A加了S锁,则其他事务只能对数据A再加______,不能加______,直到事务T释放A上的锁。
7、完整性约束条件作用的对象有属性、______和______三种。
8、关系模型由______________、______________和______________组成。
9、视图是一个虚表,它是从______导出的表。在数据库中,只存放视图的______,不存放视图对应的______。 10、在SQL Server 2000中,某数据库用户User在此数据库中具有对T 表数据的查询和更改权限。现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。_____UPDATE ON T FROM User;
二、判断题
11、一个数据表只能有一个唯一索引。( )
12、在第一个事务以S锁方式读数据R时,第二个事务可以进行对数据R加S锁并写数据的操作。( )
13、在关系数据库中,属性的排列顺序是可以颠倒的。( )
14、文件系统的缺点是数据不能长期存储。( )
《软件工程》期末考试题及答案
《软件工程》期末考试题及答案
一、选择题(每题2分,共20分)
1. 以下哪项不是软件工程的三个主要目标?
A. 可维护性
B. 可用性
C. 可靠性
D. 高成本
答案:D
2. 以下哪个不属于软件工程的五大过程?
A. 需求分析
B. 设计
C. 编码
D. 测试
答案:D
3. 下列哪种编程范式主要用于降低软件复杂性?
A. 面向对象编程
B. 过程式编程
C. 函数式编程 D. 逻辑编程
答案:A
4. 以下哪个不是软件设计的主要阶段?
A. 模块设计
B. 数据设计
C. 界面设计
D. 测试设计
答案:D
5. 以下哪个不属于软件测试的级别?
A. 单元测试
B. 集成测试
C. 系统测试
D. 验收测试
答案:D
6. 以下哪个不属于软件维护的类型?
A. 更正性维护
B. 适应性维护
C. 完善性维护
D. 预防性维护 答案:D
7. 以下哪个不属于软件项目管理的主要内容?
A. 进度管理
B. 成本管理
C. 质量管理
D. 知识管理
答案:D
8. 以下哪个不是敏捷开发的典型方法?
A. Scrum
B. Kanban
C. 极限编程
D. 水晶方法
答案:D
9. 以下哪个不属于软件需求分析的方法?
A. 用例分析
B. 数据流图
C. 类图
D. 状态图
答案:C 10. 以下哪个不属于软件工程的七大原则?
A. 模块化
B. 信息隐藏
C. 抽象
D. 重用
答案:D
二、填空题(每题2分,共20分)
1. 软件工程的三个主要目标是______、______、______。
答案:可维护性、可用性、可靠性
2. 软件工程的五大过程是需求分析、______、编码、测试、______。
答案:设计、维护
3. 软件设计的主要阶段包括模块设计、______、______。
答案:数据设计、界面设计
4. 软件测试的四个级别是单元测试、______、系统测试、______。
答案:集成测试、验收测试
2022年哈尔滨工程大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)
2022年哈尔滨工程大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)
一、选择题
1、某机器的主存储器共32KB,由16片16K×l位(内部采用128×128存储阵列)的DRAM芯片字和位同时扩展构成。若采用集中式刷新方式,且刷新周期为2ms,那么所有存储单元刷新一遍需要( )个存储周期。
A.128B.256C.1024D.16384
2、下列存储器中,在工作期间需要周期性刷新的是( )。
A. SRAM B. SDRAM C.ROM D. FLASH
3、在计算机系统中,表明系统运行状态的部件是( )。
A.程序计数器
B.指令寄存器
C.程序状态字
D.累加寄存器
4、在计算机系统中,作为硬件与应用软件之间的界面是( )。
A.操作系统
B.编译程序
C.指令系统
D.以上都不是
5、CPU中的译码器要用( )。
A.地址译码人 B.指令译码 C.数据译码1 D.控制信号译码 6、下列关于总线说法中,正确的是( )
I.使用总线结构减少了信息传输量
II.使用总线的优点是数据信息和地址信息可以同时传送
III.使用总结结构可以提高信息的传输速度
IV.使用总线结构可以减少信息传输线的条数
A.I,II,III B.II,III,IV C.III,IV D.只有I
7、某同步总线的时钟频率为100MHz,宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发)传输方式,则一次“主存写”总线事务传输128位数据所需要的时间至少是( )。
A.20ns B.40ns C.50ns D.80ns
8、流水线计算机中,下列语句发生的数据相关类型是( )。
ADD R1,R2,R3;(R2)+(R3)→RI
软件工程期末样卷(试题+答案)
班级: 学号: 姓名:
装
订
线
第1页 共4页 第2页 共4页
一、选择题(共30分 每题2分)
1、下面不属于软件工程的3个要素是( D )
A)工具 B)过程 C)方法 D)环境
2、下列工具中为需求分析常用工具是( D )
A)PAD B)PFD C)N-S D)DFD
3、 软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及( B )
A)用户 B)需求审评 C)总结 D)都不正确
4、在E-R模型中,包含以下基本成分(D )
A)数据、对象、实体 B)控制、联系、对象
C)实体、联接、属性 D)实体、属性、联系
5、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)
A)数据耦合 B)公共耦合 C)标记耦合 D)内容耦合
6、( C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A)多态性 B)继承 C)封装 D)消息
7、软件危机是指(B )。
A)软件遭到严重破坏 B)软件开发和维护过程中遇到的严重问题
C)软件维护出现困难 D)软件不能正常运行的系列严重问题
8、判定树和判定表示用于描述结构化分析方法中的(B )环节的工具。 A)功能说明 B)数据加工 C)流程描述 D)性能说明
9、 软件评审是保证软件质量的重要措施,它是对软件开发阶段成果的复审。下
列(A )是复审的必须内容。
软件工程期末样卷(试题+答案)1
装
订
线
第1页 共4页 一、选择题(共30分 每题2分)
1、下面不属于软件工程的3个要素是( D )
A)工具 B)过程 C)方法 D)环境
2、下列工具中为需求分析常用工具是( D )
A)PAD B)PFD C)N-S D)DFD
3、 软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及( B )
A)用户 B)需求审评 C)总结 D)都不正确
4、在E-R模型中,包含以下基本成分(D )
A)数据、对象、实体 B)控制、联系、对象
C)实体、联接、属性 D)实体、属性、联系
5、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)
A)数据耦合 B)公共耦合 C)标记耦合 D)内容耦合
6、( C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A)多态性 B)继承 C)封装 D)消息
7、软件危机是指(B )。
A)软件遭到严重破坏 B)软件开发和维护过程中遇到的严重问题
C)软件维护出现困难 D)软件不能正常运行的系列严重问题
8、判定树和判定表示用于描述结构化分析方法中的(B )环节的工具。
A)功能说明 B)数据加工 C)流程描述 D)性能说明
9、 软件评审是保证软件质量的重要措施,它是对软件开发阶段成果的复审。下 列(A )是复审的必须内容。
Ⅰ需求复审 Ⅱ总体设计复审 Ⅲ详细设计复审 Ⅳ程序复审
A)Ⅰ、Ⅱ、Ⅲ B)Ⅱ、Ⅲ、Ⅳ C)Ⅰ、Ⅲ、Ⅳ D)全部
哈工大软件工程期末复习题
软件工程复习题
一:问答题:
1. 结构化系统开发方法的基本思想是什么?
结构化分析建模是根据结构化分析准则,在需求分析过程中建立的3种模型:
(1)数据模型:用实体-联系图描绘数据对象及数据对象之间的关系,以建立系统的数据模型。
(2)功能模型:用数据流图描绘当数据在软件系统中移动时被变换的逻辑过程,以指名系统具有的变换数据的功能,因此,数据流图即建立系统的功能模型。
(3)行为模型:用状态转换图指名作为外部事件结果的系统行为,即状态转换图描绘了系统的各种行为模式和在不同状态间转换的方式,因此,状态转换图即建立系统的行为模型。
2. 名词解释:软件工程,软件危机,软件开发模型,软件测试,软件项目的质量管理,软件;成本/效益分析,软件生命周期;
软件工程:1:将系统的,规范的,可定量的方法用到软件的开发、运行、维护之中;2对1中的方法的研究。三要素:工具、过程、方法
软件危机:在软件的开发和维护过程中遇到的一系列严重问题
软件开发模型:瀑布,快速原型,增量,螺旋,形式化方法,基于组件的开发模型
软件测试:广义:对软件生存周期内的所有检查;狭义:对软件产品的质量的检查和评价。就是找出软件的错误
软件项目的质量管理: 制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。。
软件:按照特定顺序组织的计算机指令和数据的集合
成本/效益分析:通过成本效益分析来评估项目价值的方法
软件生命周期:从软件的问题定义一直到该软件被淘汰
3. 什么是软件危机?软件危机的表现是什么?其产生的原因是什么?
软件危机:计算机软件在它的开发和维护过程中所遇到的一系列严重问题 表现:质量无法保证;开发进度和成本无法评估;对已完成的软件的不满意太多;不容易维护;没有合适的文档。
原因:项目变大;复杂度变高;理论水平不够;用户需求不明确;人员流动和沟通不好
哈工大《软件工程》模拟试卷
《软件工程》模拟试卷
一、单项选择题
1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )
A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性
2、软件维护产生的副作用,是指( )
A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作
3、软件详细设计的主要任务是确定每个模块的( )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程
4、为了提高模块的独立性,模块内部最好是( )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚
5、软件是一种( )
A、程序 B、数据 C、逻辑产品 D、物理产品
6. 为了把握软件开发各个环节的正确性和协调性,人们需要进行(A)和(B工作。(A)的目的是想证明在以给定的外部环境中软件的逻辑正确性,它包括(C)和(D)。而(B)则试图证明在软件生存各个阶段,以及阶段间的逻辑(E)、(F)和正确性。
A, B: ①操作 ②确认 ③验证
④测试 ⑤调试
C,D: ①用户的确认 ②需求规格说明的确认
③程序的确认 ④测试的 ⑤确认
E,F: ①可靠性 ②独立性 ③协调性
④完备性 ⑤可靠性
A: B: C: D: E: F:
二、名词解释
1、数据流图
三、简答题
1、简述软件结构设计的启发式原则。
四、论述题
1、你认为“软件就是程序”这一个观点正确吗?如果不正确,请批驳之。
《软件工程》模拟试卷一参考答案
软件工程期末复习题
软件⼯程期末复习题
软件⼯程期末复习试题
⼀、填空题1.软件⼯程学的内容可包括(理论)、结构、(⽅法)、(⼯具)、环境、管理、
规范等。2. 软件⽣存周期⼀般可分为问题定义、(可⾏性研究)、(需求分析)、设计、(编码)、测试、运⾏与维护阶段。
3. 系统流程图是(描述物理系统)的传统⼯具。
4. 需求分析的基本任务是准确的回答(系统必须做什么)。
5. 数据字典的内容包括六项:(数据流)、(数据项)、(数据结构)、
数据存储、处理逻辑、外部实体。6. 在需求分析阶段常⽤的图形⼯具有(层次⽅框图)、( warnier图)、
( IPO图)。7. 模块独⽴的概念是(模块化)、(抽象)、(信息隐蔽)和局部化概
念的直接结果。8. HIPO图是由⼀组( IPO )图和⼀张( HC )图组成。
9. UML的定义包括( UML语义)和( UML表⽰法)两个部分。
10. 软件测试的⽅法有(分析⽅法)和(⾮分析⽅法)。
11. 软件=(程序)+(⽂档)。
三、多项选择题1.关于数据字典正确的描述是( ABCD )。
A.数据字典最重要的⽤途是作为分析阶段的⼯具。
B.实现数据字典三种常见的⽅法有全⼈⼯过程、全⾃动过程、混合过程。
C.数据字典应该容易更新和修改。
D.可以采⽤卡⽚形式书写数据字典。
2.( ABCD )可以作为模块。
A.过程
B.⼦程序
C.函数
D.宏
3.耦合的强弱取决于( ABC )。
A.模块间接⼝的复杂程度。
B.调⽤模块的⽅式。
C.通过接⼝的信息。
D.模块内部各个元素彼此之间的紧密结合程度。
4.编码风格包括( ABCD )。A.源程序⽂档化
B.数据说明⽅法
C.语句结构
D.输⼊/输出⽅法
5.
6.
7.软件测试主要包括( ABC )⽅⾯的差错和纠错。
A.软件计划
B.软件设计
C.软件编码
D.软件价格
⼀、填空题1.软件是计算机系统中与硬件相互依存的另⼀部分,它是包括(程序)、(数据)及其(相关⽂档)
完整集合。其中,(程序)是按事先设汁的功能和性能要求执⾏的指令序列,(数据)是使程序能够正确操纵信息的数据结构,(相关⽂档)是与程序开发、维护和使⽤有关的图⽂资料.2.软件危机是指计算机软件的(开发)和(维护)过程中所遇到的⼀系列严重问题。
软件工程期末复习题 2
软件工程期末复习题
第一篇:软件工程期末复习题
1、软件定义:问题定义、可行性研究,需求分析
2、软件开发:总体设计,详细设计,编码和单元测试,综合测试
3、软件维护:改正性维护、适应性维护、完善性维护、预防性维护
4、软件过程:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,Rational统一过程,敏捷过程与极限编程,微软过程
5、从3个方面研究每种解决的可行性:技术可行性、经济可行性、操作可行性
6、软件需求分析阶段的工作:可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及需求分析评审
7、设计原理:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立性(耦合、内聚)
8、决定软件可维护性的因素:可理解性、可测试性、可修改性、可移植性、可重用性
一、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪些软件生命周期模型?请说明你作出选择的理由。
答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了
二、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?。 答:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪些模型有助于加快产品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,改公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。综上所述,采用增量模型来完成这个项目比较恰当。
软件工程概论期末复习题精修订
软件工程概论期末复习题
集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#
期末总复习
1. 选择、判断、简答
2. 判定树和判定表
3. 用例图、类图、对象模型、顺序图等
4. McCabe环路复杂性度量;
5. 黑盒测试和白盒测试
6. 数据流图
7. 成本效益分析
习题
一、判定树和判定表
1. 请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
2. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
二、McCabe环路复杂性度量
某程序的描述如下:
if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a;
else k = b;
1) 画出单个条件的嵌套的分支结构; (5分)
2) 计算该结构的McCabe环路复杂性度量; (5分)
3) 为完成基本路径测试,求它的一组独立的路径。(5分)
三、测试:
变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。
四、数据流图
某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:
1)查询成绩:查询成绩以及从名次表中得到名次信息。
