(0010)软件工程复习思考题

合集下载

软件工程复习思考题

软件工程复习思考题

软件工程复习思考题1.试述软件工程的基本原理。

⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。

模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。

(可降低复杂度、减少工作量)模块具有以下几种特性:接口:模块的输入输出。

功能:指模块实现什么功能。

逻辑:描述模块内部如何实现要求及所需的数据。

状态:该模块的运行环境,模块间调用与被调用关系。

⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。

通过抽象确定组成软件的过程实体。

⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。

模块间仅交换为完成系统功能所必须的信息。

⑷模块独立性:每个模块只完成系统要求的独立的子功能。

2.软件项目管理的职能有哪些?3.试述总体设计的原则。

4.试述面向对象设计的启发规则。

P2611.设计结果应该清晰易懂2一般—特殊结构的深度应适当3.设计简单的类4.使用简单的协议5.使用简单的服务6.把设计变动减至最小5.为了具有良好的程序设计风格,应注意哪些方面的问题?程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。

6.试比较程序流程图与PAD图的特点。

程序流程图是一种用规定的图形,指向线及文字说明来准确表示算法的图形,具有直观、形象的特点,能清楚地展现算法的逻辑结构.画程序框图的规则:使用标准的框图符号;框图一般按从上到下,从左到右的方向画;除判断框外,大多数程序框图的符号只有一个进入点和一个退出点,而判断框是具有超过一个退出点的唯一符号.PAD所描述程序的层次关系表现在纵线上。

每条纵线表示了一个层次。

把PAD图从左到右展开。

随着程序层次的增加,PAD逐渐向右展开。

软件工程思考题答案

软件工程思考题答案

第一章基本概念1.软件的特点是什么?软件的定义:软件=程序+数据+文档软件的特点:1)软件是逻辑实体;具有抽象性;软件的形态不可见;--必须通过观察、分析、思考、判断来了解其功能、性能和其它特性。

2)软件是人脑思维的产物,其生产过程与硬件不同。

--开发过程的质量控制及软件产品保护问题。

3)软件的开发和运行受计算机系统限制。

--软件移植问题。

4)软件的开发技术落后,手工开发方式仍占统治地位。

--开发效率低。

2.2006年发布的国家分类标准是什么?1)按功能:系统软件、支撑软件、应用软件2)按规模:微型软件、小型软件、大型软件、甚大型软件、极大型软件3)按工作方式:实时处理软件、分时软件、交互式软件、批处理软件4)按服务对象:项目软件、产品软件5)按使用频度:使用频度低、使用频度高6)按失效影响:不良影响、严重影响3.软件危机的表现有哪些?1)软件开发进度难以预测2)软件开发成本难以控制3)用户对产品功能难以满足4)软件产品质量无法保证5)软件产品难以维护4.产生软件危机的原因?1)用户需求不明确2)缺乏正确的理论指导3)软件开发规模越来越大4)软件开发复杂度越来越高5.什么是软件工程三要素?软件工程的三要素:方法、工具和过程。

6.软件工程的基本目标是什么?①付出较低的开发成本②达到要求的软件功能③取得较好的软件性能④开发的软件易于移植⑤需要较低的维护费用⑥能按时完成开发工作,及时交付使用7软件工程的基本原则是什么?①抽象:采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性。

②信息隐蔽:将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。

这就是信息封装,使用与实现分离的原则。

③模块化:如C语言程序中的函数过程,C++ 语言程序中的类。

模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。

④局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。

西南大学网络教育《软件工程》大作业0010期末考试复习题及答案

西南大学网络教育《软件工程》大作业0010期末考试复习题及答案

借书数

置:借阅文件
问题三:
主模块
图书编码、借书
查询模块
输出查询结果
查 查查 询 询询 图 借读 书 阅者 文 文文
件 件件
所对 查借 图书 书证 是验 否证 可结
借果
借书事务处
提更 交新 书数 籍据 给库 借 书 人
问题四:
开始 输入图书编码、借书卡号
查询图书文件
Z←图书文件=1

借书失败
查询读者文件
的证件 的证件
号!” 号!”
测试方法二:白盒测试 因为程序中有四个判断,所以测试数据围绕这个四个判断展开,令 “Z←图书文件=1”为 X,“Z←图书文件=1”为 Y,“X←借阅文件>5” 为 W,“Today()-BD←借阅文件>40”为 Z。 为达到条件覆盖,需要 16 组测试数据: (X=true,Y=true,W=true,Z=true) (X=true,Y=true,W=true,Z=false) (X=true,Y=true,W= false,Z=true) (X=true,Y= false,W=true,Z=true) (X= false,Y=true,W=true,Z=true) (X= false,Y= false,W=true,Z=true) (X= false,Y=true,W= false,Z=true) (X= false,Y=true,W=true,Z= false) (X=true,Y= false,W= false,Z=true) (X=true,Y= false,W=true,Z= false) (X=true,Y=true,W= false,Z= false) (X= false,Y= false,W= false,Z=true) (X= false,Y=true,W= false,Z= false) (X= false,Y= false,W=true,Z= false) (X=true,Y= false,W= false,Z= false) (X= false,Y= false,W= false,Z= false)

软件工程思考题答案(精)

软件工程思考题答案(精)

1、一个软件公司许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品。

每个部门由部门名字唯一确定。

该公司有许多员工,员工分为经理,工作人员和开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。

每位经理可主持多个开发项目。

建立该软件公司的对象模型。

2、某教务中心准备开发一个成人自学考试系统考务管理系统,经过调研该系统有如下功能: (1对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站。

(2给合格的考生制作通知单,将考试科目、时间、地点安排告诉考生。

(3对阅卷站送来的成绩进行登记;按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书。

(4对成绩进行分类(按地区、年龄、职业、专业、科目等分类产生相应统计表(5查询考生可按准考证号随时查询自己的各科成绩试根据要求画出系统的用例图3、某图书馆借阅系统有以下功能:(1借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案,超过规定数量者不予借阅。

对于第一次借阅者则直接办理借阅手续。

(2还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。

请对以上问题,画出数据流图4、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下: (1报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

(2报社下属多个发行站,每个站负责收集登陆订单,打印收款凭证等事务。

(3报社负责分类并统计各个发行站送来的报刊订阅信息。

请就比需求建立对象模型,并画出系统的用例图。

(完整word版)计算机软件技术基础复习题和思考题答案

(完整word版)计算机软件技术基础复习题和思考题答案

计算机软件技术基础复习题和思考题答案1。

5.1 复习题1。

解释计算机程序的概念。

计算机程序(computer programs),简称程序,是指计算机的指令序列.2. 什么是源代码程序?源代码是指以程序设计语言编写的、可读的语句和声明的集合,程序设计人员的工作就是使用程序设计语言编写源代码,源代码经过编译后转变为计算机可以执行的程序。

3. 什么是可执行程序?可执行程序是指包含了计算机可以直接执行的指令的文件。

为了与源代码相区别,可执行程序又被称为二进制代码。

4。

什么是计算机软件技术?计算机软件技术是与软件的设计、实施和使用相关的多种技术的统称。

软件的设计与实施涉及到程序设计语言、算法和数据结构、数据库系统、多媒体、软件工程等技术,软件的使用涉及到质量、可靠性、专利、知识产权、道德、法律等管理和技术。

5. 如何对软件进行分类?可以根据软件的功能进行分类,也可以根据软件的不同开发方式进行划分,还可以从软件的使用方式进行分类。

根据软件的功能来划分是一种主要的分类方式,可以把软件分为系统软件、编程软件和应用软件3大类型。

6. 什么是系统软件?系统软件(system software)指管理和控制计算机硬件、使计算机工作的软件。

系统软件是一种非常重要的软件类型,它为用户提供了一种操作计算机硬件的便捷方法,为其他程序提供了运行的基础。

7. 常见的系统软件有哪些?根据系统软件的功能特点,可以继续划分为操作系统、设备驱动程序、实用工具以及其他系统软件。

8. 什么是操作系统?操作系统(operating system,OS)是位于计算机系统中的硬件和软件之间的接口,负责管理和协调计算机硬件的操作和计算机有限资源的共享。

9. 列出3个典型的操作系统。

主要的操作系统包括微软公司的Windows系列操作系统、Unix和类Unix操作系统、苹果公司的Mac OS X 操作系统、Linux操作系统等。

任意列出3个即可.10. 什么是编程软件?编程软件(programming software)又称为编程工具(programming tool)或软件开发工具(software development tool),是一种软件开发人员用于创建、调试、维护其他程序和应用软件的软件工具。

《软件工程》-经典考试例题复习题,重点知识点(含答案)

《软件工程》-经典考试例题复习题,重点知识点(含答案)

1.某旅馆的电话服务如下:可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据流条目的定义即组成。

电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。

(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。

(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。

或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。

人们往往根据天气情况决定出门时的行装。

天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。

如果天气要下雨,出门时带上雨伞;如果天气变冷,4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。

(0010)《软件工程》复习思考题及参考答案

(0010)《软件工程》复习思考题及参考答案

(0010)《软件工程》复习思考题模拟试卷一(开卷)“商场管理信息系统”问题描述:库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

问题1:画出尽可能详细的“商场管理信息系统”数据流图。

问题2:按照软件工程的规范写出“商品入/出库信息”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“销售模块”的IPO表如下,请画出该模块的程序流程图。

问题5说明你采用了什么测试方法。

模拟试卷二(开卷)“报刊订阅系统”问题描述:系统保存所有通过邮局发行的报刊的与发行有关的信息;接受订阅者的订阅和付款,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;接受顾客的查询服务;统计各报刊的各阶段的总订阅数,并输出各报社、各杂志社的订单汇总表。

问题1:画出尽可能详细的“报刊订阅系统”数据流图。

问题2:按照软件工程的规范写出“报刊订单”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4问题5:请至少设计出两组测试数据,用于测试问题4中你设计的程序,并说明你采用了什么测试方法和目的。

(0010)《软件工程》复习思考题答案模拟试卷一“商场管理信息系统”问题描述:库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

软件工程思考题答案

软件工程思考题答案

《软件工程》思考题答案2、软件工程是什么时候提出来的?它主要包括哪些方面?软件工程的提出:伴随着软件危机的出现以及解决过程中软件工程学的主要内容是软件开发技术和软件工程管理:软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学5、面向对象系统设计的特点面向对象分析设计界限不明显面向对象分析和设计通常采用迭代方法和传统的设计方法类似,面向对象设计也是基于模块化和功能独立等方法之上6、需求分析的主要任务建立分析模型,完成用户需求报告:分析模型是一组描述软件需求的模型;编写软件需求规格说明(SRS)需求分析的特点:用户需求具有动态性用户需求具有模糊性用户与设计者在对需求的认识和理解上存在偏差对需求分析,用户和设计者应共同承担责任需求规格说明书内容:一、概述二、目标系统描述三、目标系统功能需求四、目标系统性能需求五、目标系统界面与接口需求六、目标系统其他需求七、目标系统假设与约束需求分析重要:●需求分析工作对于整个系统的成败影响最大●用户需求报告是第一个最重要的文档,是用户、软件开发人员和项目管理人员三者必须遵守的一根基线●需求分析中的错误对后续工作影响较大●需求分析时期的工作量约占整个开发系统工作量的1/47、●数据流图DFD、数据字典DD和加工说明PSPEC●控制流图CFD、控制状态说明CSPEC和状态变迁图STD●关系实体图E-R图1.8、概要设计的主要任务是什么?它与需求分析有什么关系?主要任务:1.设计软件系统结构(简称软件结构)2.数据结构及数据库设计3.编写概要设计文档4.评审关系需求分析--产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。

不涉及具体实现方法。

用户能看得明白,开发人员也可据此进行下面的工作(概要设计)概要设计--产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。

并且需要指出关键技术难点等。

软工大纲思考题

软工大纲思考题

软工大纲思考题(1~10题)作者:zxh 出自:同等学力申请硕士学位(数学+网络+软工)浏览/评论:560/0 日期:2005年4月26日 17:45软工大纲思考题(1~10题)1、何谓软件?并结合一个具体的软件开发,说明软件的基本构成。

答:软件=程序+数据+文档。

例如在开发一个教师招聘管理信息系统的过程中,首先要有计划,要进行可行性分析,这就产生了最终软件的文档部分中的第一部分项目计划书;如果获得了项目的开发权,接下要进行的是需求分析和设计,这又必须产生需求规格说明书、概要设计说明书和、详细设计说明书,这也是软件文档的一部分。

同时还要进行数据设计,这就包含了软件的另一个组成部分——数据;然后进行编码,编码主要的产品是程序,但程序中也应该有必要的注释,以提高程序的可读性;随后是测试,测试要有测试计划、测试用例设计、测试结果等相关文档;交付用户之前还要编写用户说明书、培训资料等文档。

在运行期间,进行的维护工作也要产生相应的维护记录。

2、软件工程的概念与图1所示的软件工程框架之间的关系。

答:按照IEEE1993年的定义,软件工程是将系统的化的、规范化的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。

软件工程框架:也就是说,软件工程的目标是开发可用的、正确的和合算的软件;为了达到这个目标,在包括基本过程、支持过程和组织过程软件过程中,必须坚持“选取适宜的开发范型原则、采用合适的设计方法、提供高质量的工程支持和重视软件工程管理”的原则。

4、如何理解ISO12207标准中的“软件过程”这一术语?答:软件过程是一组活动的集合,而活动是任务的集合,任务是把输入变成输出的一组操作。

5、按参与软件开发(生产)的人之职责来划分软件过程,形成三大类:基本过程、组织过程和支持过程,简述它们的含义以及每一过程所包含的活动。

答:基本过程是与软件开发直接相关的过程,包括获取过程、供应过程、开发过程、运行过程和维护过程。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

《软件工程》复习思考题全解

《软件工程》复习思考题全解

《软件⼯程》复习思考题全解《软件⼯程》复习知识点及思考题1需求分析是由分析员经过了解⽤户的要求,认真细致地调研、分析,最终建⽴⽬标系统的逻辑模型,并写出软件规格说明书。

2结构化程序设计主要强调程序的可读性。

3软件设计包括四个既独⽴⼜相互联系的活动,分别为体系结构设计、接⼝设计、数据设计和过程设计。

4 ⽤来辅助软件开发、运⾏、维护、管理、⽀持等过程中的活动的软件称为软件开发⼯具,通常称为CASE⼯具。

5系统调查的主要内容有哪些?(管理业务状况)6在系统分析的基础上,进⾏系统的总体设计和具体物理设计所依据的模型是什么模型。

(逻辑模型)7⽤原型法开发系统时,使⽤、评价系统原型阶段的主要任务是什么?(征求⽤户对系统原型的评价和改进意见。

)8⽤于描述系统⽬标及其与功能模块关系的图称为什么图?(功能结构图)9与设计测试数据⽆关的⽂档是哪个⽂档?(项⽬开发计划)10PAD(Problem Analysis Diagram)图是⼀种什么⼯具?(详细设计)11 系统设计阶段的主要⼯作内容之⼀是定义处理过程。

CMM是软件能⼒成熟度模型的中⽂宿写。

数据字典的建⽴应在系统分析阶段进⾏。

我国的软件⼯程标准可分为四类,即基础标准、开发标准、⽂档标准和管理标准。

12 设计⾼质量的软件是软件设计追求的重要⽬标。

可移植性、可维护性、可靠性、效率、可理解性和可使⽤性等都是评价软件质量的重要⽅⾯。

可移植性是反映出把⼀个原先在某种硬件或软件环境下正常运⾏的软件移植到另⼀个硬件或软件环境下,使该软件也能正确地运⾏的难易程序。

为了提⾼软件的可移植性,应注意提⾼软件的设备不依赖性。

可维护性通常包括可理解性、可修改性和可测试性。

通常认为,软件维护⼯作包括改正性维护、完善性维护和适应性维护。

其中完善性维护维护则是了为扩充软件的功能或提⾼原有软件的性能⽽进⾏的维护活动。

健壮性是指当系统万⼀遇到未预料的情况时,能够按照预定的⽅式作合适的处理。

13 软件设计中划分模块的⼀个准则是⾼内聚低耦合。

(建筑工程管理)软件工程导论期末思考题解答

(建筑工程管理)软件工程导论期末思考题解答

(建筑工程管理)软件工程导论期末思考题解答《软件工程》期末思考题(计算机科学和技术专业)什么是软件?软件的特点有哪些?概念:软件是产品,由满足壹定要求的,具有可用性、可靠性的程序系统和和之相匹配的文档资料所组成。

特点:不可见(难以管理、控制开发过程)、不磨损、难维护(维护即修改原有设计)、复杂(复杂性随规模指数增加)、开发而成、手工定做、成本高。

什么是软件危机?软件危机的表现是什么?是指:软件开发、维护过程中遇到的壹系列严重问题。

如何开发软件,以满足对软件日益增长的需求。

如何维护数量不断膨胀的已有软件。

表现:估、满、靠、维、文、比、率。

开发成本、进度估计不准确。

用户对“已完成”的软件不满意。

质量不可靠。

不可维护。

没有适当文档资料。

软件成本于计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高速度跟不上计算机普及速度。

软件危机产生的原因是什么?原因:软件自身特点:不可见(难以管理、控制开发过程)、难维护(维护即修改原有设计)、规模大(复杂性随规模指数增加)。

软件开发、维护方法不正确:忽视需求分析(定义时期)、轻视软件维护。

什么是软件工程?软件工程的基本内容有哪俩个方面?概念:采用工程的概念、原理、技术和方法来开发和维护软件,把正确的管理和最好的技术结合起来,以经济地开发出高质量的软件且有效地维护它。

俩方面:管理(开发、经济)、技术(方法、工具、过程)软件工程三个要素是什么?方法:开发技术方法。

工具:为运用方法提供的支撑环境。

过程:任务框架、工作步骤。

你知道的软件工程过程模型有哪些?瀑布模型原型模型螺旋模型迭代模型什么是软件生命周期?它有哪几个阶段?概念:软件从定义、开发、使用和维护,知道被废弃的过程。

阶段:定、性、需、概、详、变蛋、综、维问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试软件维护可行性研究的任务是什么?了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究且论证本软件项目的可行性,编写可行性研究方案,制定初步项目开发计划。

2020年春西南大学继续教育[0010]《软件工程》作业答案

2020年春西南大学继续教育[0010]《软件工程》作业答案

1、在人工智能领域,目前最广泛使用的高级语言是( )。

1.LISP2. Ada3. FORTRAN4. COBOL2、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()1. B. 前者属于动态测试,后者属于静态测试2.都属于静态测试3.都属于动态测试4.前者属于静态测试,后者属于动态测试3、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是()。

1.引入新技术提高空间利用率2.硬软件结合使系统面向应用3.用较少的投资获得高质量的软件4.缩短研制周期扩大软件功能4、下列叙述中,()不属于数据字典的作用。

1.用户中系统的直接使用者2.用户和软件人员的中间人3.软件的编程人员4.用户和软件人员的领导5、软件设计中划分模块的一个准则是()。

1.低内聚高耦合2.高内聚低耦合3.低内聚低耦合4.高内聚高耦合6、提高程序可读性的有力手段是()。

1.给程序加注释2.选好一种程序设计语言3.显示说明一切变量4.使用三种标准控制语句7、SA法的主要描述手段有()1.系统流程图和模块图2. DFD图、数据词典、加工说明3.功能结构图、加工说明4.软件结构图、加工说明8、结构化分析,简称()1. SC2. CASE3. SA4. SD9、模块内聚度越高,说明模块内各成分彼此结合的程度越()。

1.无法判断2.松散3.紧密4.相等10、PDL是()语言。

1.高级程序设计语言2.中级程序设计语言3.伪码式4.低级程序设计语言11、采用甘特图表示软件项目进度安排,下列说法中正确的是()。

1.能够反映多个人物之间的复杂关系2.能够直观表示任务之间相互依赖的制约关系3.能够表示哪些任务是关键任务4.能够表示字人物之间的并行和串行关系12、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()1.软件开发工具和软件开发的环境2.软件开发环境3.硬件环境4.开发人员的素质13、软件产品的生产主要()1.研制2.生产3.再生产4.开发14、数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。

软件工程复习题及答案

软件工程复习题及答案

软件工程复习题及答案软件工程是计算机科学与工程学科中的一门重要领域,它研究如何通过系统化的、规范化的方法来开发、维护和管理软件。

在软件工程的学习和实践中,复习题是一种常见的学习方式。

本文将为您提供一些常见的软件工程复习题及答案,希望对您的学习和备考有所帮助。

1. 什么是软件工程?答:软件工程是应用科学和技术原理,通过系统化、规范化、可量化的方法开发、维护和管理软件的学科。

2. 请列举并解释软件工程的七个基本原则。

答:软件工程的七个基本原则包括:(1)适应性:软件工程方法和工具必须适应不同的项目需求和开发环境。

(2)抽象性:软件工程应用抽象方法来构建可理解和可管理的软件系统。

(3)稳健性:软件工程应用适当的管理和技术手段,以确保软件的稳定性和可靠性。

(4)可重用性:软件工程应鼓励和推广软件组件的重用,提高软件开发效率。

(5)可测量性:软件工程应通过度量和分析,提供对软件开发过程和产品的量化评估。

(6)可理解性:软件工程应采用清晰、可理解的文档和代码来促进沟通和理解。

(7)可管理性:软件工程应提供有效的管理方法和工具,以确保项目的顺利进行和交付。

3. 请列举并解释软件生命周期的五个阶段。

答:软件生命周期的五个阶段包括:(1)需求分析阶段:明确和解释软件系统的需求和约束条件。

(2)设计阶段:定义软件系统的体系结构、组件和模块,并描述其功能和关系。

(3)编码阶段:根据设计阶段的要求,编写软件系统的源代码。

(4)测试阶段:对软件系统进行测试,确保其功能的正确性和质量的可控性。

(5)维护阶段:修复软件系统中的漏洞和缺陷,并根据用户需求进行功能改进。

4. 请解释结构化编程的概念及其主要原则。

答:结构化编程是一种程序设计方法,强调程序应该由顺序、选择和循环这三种基本结构组成。

其主要原则包括:(1)顺序原则:程序应该按照自上而下、顺序执行的方式组织。

(2)选择原则:程序应该通过条件判断来进行选择,实现不同的分支执行路径。

软件工程思考题

软件工程思考题

软件工程思考题姓名:班级:学号:日期:第一章1.查阅资料,看看还有哪些软件开发的方法和模型。

它们的基本思想是什么,有什么特点。

软件开发方法:一、Parnas方法信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。

第二条原则是在软件设计时应对可能发生的种种意外故障采取措施。

二、SASD方法用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程(SP)。

三、面向数据结构的软件开发方法1、Jackson方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。

该方法也可与其它方法结合,用于模块的详细设计。

Jackson方法有时也称为面向数据结构的软件设计方法。

2、Warnier方法Warnier方法与Jackson方法类似。

差别有三点:一是它们使用的图形工具不同,分别使用Warnier图和Jackson图;另一个差别是使用的伪码不同;最主要的差别是在构造程序框架时,Warnier方法仅考虑输入数据结构,而Jackson方法不仅考虑输入数据结构,而且还考虑输出数据结构。

四、问题分析法考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。

这一方法的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。

五、面向对象的软件开发方法这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。

OO技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破,彻底地解决了在这些方面存在的严重问题,从而宣告了软件危机末日的来临。

1、自底向上的归纳OMT从问题的陈述入手,构造系统模型。

从。

在自底向上的归纳过程中,为使子类能更合理地继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。

西南大学网络教育《软件工程》大作业0010期末考试复习题及答案

西南大学网络教育《软件工程》大作业0010期末考试复习题及答案

条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达 式中的每个条件都取到各种可能的结果。 为达到判定覆盖,需要四组测试数据: (X=true,Y=true,W=true,Z=true) (X=true,Y= false,W=true,Z=true) (X=true,Y=true,W= false,Z=true) (X=true,Y=true,W= true,Z= false)

y←读者文件=1
否 查询借阅文件
X←借阅文件>5


Today()-BD←借阅文件 >40

否 办理借书事务,更新数据库
问题五: 测试方法一:黑盒测试(读者信息管理单元)
序号 测试内容 测试数据 期望结果 测试结果 测试结论
1
该读者记 00000000 王明
王明
正确
录中无止 00001 0借阅文件
问题三:
主模块
图书编码、借书
查询模块
输出查询结果
查 查查 询 询询 图 借读 书 阅者 文 文文
件 件件
所对 查借 图书 书证 是验 否证 可结
借果
借书事务处
提更 交新 书数 籍据 给库 借 书 人
问题四:
开始 输入图书编码、借书卡号
查询图书文件
Z←图书文件=1

借书失败
查询读者文件
的证件 的证件
号!” 号!”
测试方法二:白盒测试 因为程序中有四个判断,所以测试数据围绕这个四个判断展开,令 “Z←图书文件=1”为 X,“Z←图书文件=1”为 Y,“X←借阅文件>5” 为 W,“Today()-BD←借阅文件>40”为 Z。 为达到条件覆盖,需要 16 组测试数据: (X=true,Y=true,W=true,Z=true) (X=true,Y=true,W=true,Z=false) (X=true,Y=true,W= false,Z=true) (X=true,Y= false,W=true,Z=true) (X= false,Y=true,W=true,Z=true) (X= false,Y= false,W=true,Z=true) (X= false,Y=true,W= false,Z=true) (X= false,Y=true,W=true,Z= false) (X=true,Y= false,W= false,Z=true) (X=true,Y= false,W=true,Z= false) (X=true,Y=true,W= false,Z= false) (X= false,Y= false,W= false,Z=true) (X= false,Y=true,W= false,Z= false) (X= false,Y= false,W=true,Z= false) (X=true,Y= false,W= false,Z= false) (X= false,Y= false,W= false,Z= false)

软件工程思考题

软件工程思考题

软件工程思考题1.什么是软件危机?软件工程的目标是什么?软件危机指,随着计算机工业的发展,在软件开发过程中逐渐形成了一些矛盾。

比如:软件开发没有计划性;软件前期需求分析不足;软件开发过程没有规范等等。

这些矛盾表现在软件开发中导致了一系列问题,如开发计划无法顺利执行,成本昂贵,开发的软件错误百出等等。

正是这种软件危机才促使人们寻求解决方法,也就产生了软件工程。

软件工程的目标:软件工程是一门工程性学科,目的是成功地建造一个大型软件系统。

所谓成功,是要达到以下几个目标:1:付出较低的开发成本;2:达到要求的软件功能;3:取得较好的软件性能;4:开发的软件易于移植;5:需要较低的维护费用;6:能按时完成开发任务,及时完成开发任务,及时交付费用;7:开发的软件可靠性高2.什么是软件生存周期?它有哪几个活动?一个软件从开始计划起,到废弃不用止,称为软件生存周期。

一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。

计划时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。

开发时期要完成设计和实现两大任务具体。

具体分为需求分析、概要设计、详细设计、编码、测试。

其中编码和测试是软件开发期的最后两个阶段。

运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。

3.可行性研究的任务是什么?从技术、效益、社会因素等方面分析一个软件项目是否可以开发研究一下项目可不可行,技术上,时间上,人力上,成本上,能不能盈利4.什么是需求分析?什么是非功能需求?需求分析阶段的基本任务是什么?所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。

可以说,“需求分析”就是确定要计算机“做什么”。

非功能需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

《软件工程》复习思考题解析

《软件工程》复习思考题解析

《软件工程》复习知识点及思考题1需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型,并写出软件规格说明书。

2结构化程序设计主要强调程序的可读性。

3软件设计包括四个既独立又相互联系的活动,分别为体系结构设计、接口设计、数据设计和过程设计。

4 用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常称为CASE工具。

5系统调查的主要内容有哪些?(管理业务状况)6在系统分析的基础上,进行系统的总体设计和具体物理设计所依据的模型是什么模型。

(逻辑模型)7用原型法开发系统时,使用、评价系统原型阶段的主要任务是什么?(征求用户对系统原型的评价和改进意见。

)8用于描述系统目标及其与功能模块关系的图称为什么图?(功能结构图)9与设计测试数据无关的文档是哪个文档?(项目开发计划)10PAD(Problem Analysis Diagram)图是一种什么工具?(详细设计)11 系统设计阶段的主要工作内容之一是定义处理过程。

CMM是软件能力成熟度模型的中文宿写。

数据字典的建立应在系统分析阶段进行。

我国的软件工程标准可分为四类,即基础标准、开发标准、文档标准和管理标准。

12 设计高质量的软件是软件设计追求的重要目标。

可移植性、可维护性、可靠性、效率、可理解性和可使用性等都是评价软件质量的重要方面。

可移植性是反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬件或软件环境下,使该软件也能正确地运行的难易程序。

为了提高软件的可移植性,应注意提高软件的设备不依赖性。

可维护性通常包括可理解性、可修改性和可测试性。

通常认为,软件维护工作包括改正性维护、完善性维护和适应性维护。

其中完善性维护维护则是了为扩充软件的功能或提高原有软件的性能而进行的维护活动。

健壮性是指当系统万一遇到未预料的情况时,能够按照预定的方式作合适的处理。

13 软件设计中划分模块的一个准则是高内聚低耦合。

《软件工程》期末思考题

《软件工程》期末思考题

《软件工程》期末思考题(计算机科学与技术专业)1.什么是软件?软件的特点有哪些?2.什么是软件危机?软件危机的表现是什么?3.软件危机产生的原因是什么?4.什么是软件工程?软件工程的基本内容有哪两个方面?5.软件工程三个要素是什么?6.你知道的软件工程过程模型有哪些?7.什么是软件生命周期?它有哪几个阶段?8.可行性研究的任务是什么?9.需求包括的内容有哪些?10.需求分析的步骤11.什么是业务模型12.什么是功能模型13.什么是DFD,它包括几种基本符号?其作用是什么?14.画出你所做项目的0层数据流图15.画出你所做项目的1层数据流图16.说出画数据流图的原则,至少5条17.什么是数据字典,它与DFD有什么关系18.需求分析阶段产生的主要文档?19.什么是软件概要设计,该阶段的基本任务是什么?20.概要设计包括哪些内容?21.什么是模块独立性?衡量模块独立程度的标准是什么?22.什么是耦合,包括哪些种类?23.什么是内聚,包括哪些种类?24.简述软件结构优化的启发原则。

25.画出你所做项目的软件结构图26.画出你所做项目的软件ER图27.用户界面设计准则有哪些?28.概要设计阶段产生的主要文档?29.什么是详细设计?内容?30.描述算法的工具有哪些?31.说说程序流程图的优缺点32.详细设计阶段产生的主要文档?33.你认为编码时要注意的问题有哪些?34.什么是软件测试?35.应该由谁去测试?36.软件测试的目标是什么?软件调试的目的是什么?37.什么是白盒测试,设计白盒测试方案的技术是什么?38.白盒测试的逻辑覆盖有几种?39.什么是黑盒测试,黑盒测试的主要方法是什么?40.软件测试的步骤是什么?41.什么是单元测试?测试哪些内容?42.什么是集成测试?集成测试的目标是什么?43.什么是确认测试?44.有了“黑盒”测试为什么还要“白盒”测试?45.软件系统的主要测试内容有哪些?46.什么是测试用例?包括什么内容?47.你对你所做项目作了什么测试?举例说明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(0010)《软件工程》复习思考题
模拟试卷一(开卷)
“商场管理信息系统”问题描述:
库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

问题1:画出尽可能详细的“商场管理信息系统”数据流图。

问题2:按照软件工程的规范写出“商品入/出库信息”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“销售模块”的IPO表如下,请画出该模块的程序流程图。

问题5:请至少用两种测试方法设计出两套测试数据,用于测试问题4中你设计的程序,并说明你采用了什么测试方法。

模拟试卷二(开卷)
“报刊订阅系统”问题描述:
系统保存所有通过邮局发行的报刊的与发行有关的信息;接受订阅者的订阅和付款,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;接受顾客的查询服务;统计各报刊的各阶段的总订阅数,并输出各报社、各杂志社的订单汇总表。

问题1:画出尽可能详细的“报刊订阅系统”数据流图。

问题2:按照软件工程的规范写出“报刊订单”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“订阅模块”的IPO表如下,请画出该模块的程序流程图。

问题5:请至少设计出两组测试数据,用于测试问题4中你设计的程序,并说明你采用了什么测试方法和目的。

(0010)《软件工程》复习思考题答案
模拟试卷一
“商场管理信息系统”问题描述:
库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

问题1:画出尽可能详细的“商场管理信息系统”数据流图。

问题2:按照软件工程的规范写出“商品入/出库信息”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“销售模块”的IPO表如下,请画出该模块的程序流程图。

问题5:请至少用两种测试方法设计出两套测试数据,用于测试问题4中你设计的程序,并
说明你采用了什么测试方法。

参考答案 问题1.
问题2. 商品入/出库信息={品名+编号+生产厂家+数量+单价+入/出库日期+经手人}
品名=20{ 字符 }20 编号=10{ 数字} 10 数量=10{ 数字} 10
生产厂家=20{ 字符 }20
单价=5{ 数字} 5+”.”+2{ 数字} 2 入/出库日期=10{ 数字 }10
经手人=
10{ 字符 }10 问题3.
问题4:
问题5
由于流程图只有一个判断语句,且判断语句中的变量(ng)只有一个,而临界值是一个常数10,所以测试数据的选取只与ng有关。

1、取ng=10,可对该程序进行边界值测试法,这属于黑盒测试,测试目的在于测试程序能不能处理商品数量刚好等于临界值的情况。

2、取:ng =11,
ng=8
可对该程序进行语句覆盖或判定覆盖测试,属于白盒测试。

语句覆盖的测试目的在于将程序的每条语句都执行到,以判断语句有无错误;判定覆盖测试目的在于
通过测试将程序中判定的真假分支都执行一遍,以观察判定的每个分支有无错误产
生。

模拟试卷二
“报刊订阅系统”问题描述:
系统保存所有通过邮局发行的报刊的与发行有关的信息;接受订阅者的订阅和付款,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;接受顾客的查询服务;统计各报刊的各阶段的总订阅数,并输出各报社、各杂志社的订单汇总表。

问题1:画出尽可能详细的“报刊订阅系统”数据流图。

问题2:按照软件工程的规范写出“报刊订单”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“订阅模块”的IPO表如下,请画出该模块的程序流程图。

问题5:请至少设计出两组测试数据,用于测试问题4中你设计的程序,并说明你采用了什么测试方法和目的。

参考答案:
问题1.
说明:绘制数据流图可以采用分层的方法,即先绘制出顶层数据流图,用于说明整个系统的概貌,然后再分块绘制下层数据流图。

本题答案给出的是顶层数据流图,大家可自行绘
制“订阅,付费”,“订单统计”等下层数据流图。

问题 2.
问题 3.
问题 4
问题5:
因为程序中有两个判断,所以测试数据围绕这两个判断展开,令“存在该报刊”为X,“付款”为Y,则
为达到条件覆盖,需要四组测试数据:
(X=true,Y=true)
(X=true,Y=false)
(X=false,Y=true)
(X=false,Y=false)
条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条
件都取到各种可能的结果。

为达到判定覆盖,需要三组测试数据:
(X=true,Y=true)
(X=true,Y=false)
(X=false,Y=true或false)
判定覆盖又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每
个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至
少执行一次。

相关文档
最新文档