河北工业大学软件工程期末复习
- 格式:docx
- 大小:1.21 MB
- 文档页数:16
1什么是软件工程?基本原理有哪些?32成本_效益分析可用哪些指标进行度量?(写出公式)33什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。
34非渐增式测试与渐增式测试有什么区别?35试从基本符号和设计方法分析HC图与JACKSON图异同点36软件测试的目的是什么?37结构化程序设计的思想是什么?48请解释极限编程和自适应软件开发,并说明其异同?49需求工程的起始阶段,需求工程师的主要工作是?410请画出“在餐厅使用信用卡付费”这一活动的完整用例图?411分析说明结构化分析和面向对象分析的区别?412 请简要给出评价软件设计质量的标准?513 一个良好的设计类需要满足四个特点,请详细描述这四个特点?514软件项目估算容与步骤515面向对象设计的准则是什么?有哪5个层次和4个部分?516简述软件工程目标和面临的主要问题。
517简述软件工程过程。
618简述模块独立性的原则。
619简述结构化程序设计方法的基本要点620简述软件生命周期开发方法的基本过程及每个阶段的任务。
621复印机的工作流程大致如下:722简述文档在软件工程中的作用。
723简述软件项目管理过程。
824简述系统分析员应该具备的主要知识结构和基本素质。
825简述何谓软件开发方法?请列举四种主要方法。
826简述单元测试的基本容。
827什么是软件生存周期模型?请至少列举四种主要模型?928衡量模块独立的两个标准是什么?它们各表示什么含义?(网上)929简述白盒测试的思想,并列举两种典型的测试技术。
930简述CMM(软件能力成熟度模型)5个等级的含义931简述软件维护的定义1032简述软件测试的定义1033 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?1034什么是字据字典?其作用是什么?它有哪些条目?1035软件工程的两大型分别是什么?它们有什么不同?1036如何画分层数据流图?1137面向对象程序设计有哪些优点?1138在软件测试中,应注意哪些原则?1139程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
《软件工程》期末考试试题一、填空题(10分,每空1分)1.1实体联系(ER)图的基本要素为、和。
1.2一个软件模块完成的功能越单一,其越强,模块的独立性就越。
1.3软件测试技术主要包括白盒测试和黑盒测试技术。
其中,在白盒测试中,主要的方法有、和等。
在黑盒测试中,主要的方法有和。
二、选择题(20分,每题2分)2.1与计算机科学的理论研究不同,软件工程是一门学科。
A. 理论性B. 工程性C. 原理性D. 艺术性2.2 是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A. 软件过程B. 软件工具C. 软件产品D. 软件工程2.3 软件开发的螺旋模型是。
A. 适用于需求被清晰定义的情况B. 一种需要快速构造核心产品的好方法C. 可以很好的和客户沟通需求D. 可以很好的处理风险2.4 在各种不同的软件需求中,是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A. 业务需求B. 功能需求C. 非功能需求D. 用户需求2.5状态-迁移图。
A. 描述了数据对象之间的关系B. 描述了转换数据流的功能C. 描述了现实世界实体之间交换的事件序列D. 在单个模型中描述一组事件踪迹2.6开发人员使用可以将用例的行为分配到所识别的分析类中。
A. 用例图B. 顺序图C. 类图D. 状态图2.7 对每个模块内部采用的数据结构和算法进行设计。
A. 概要设计B. 数据库设计C. 详细设计设计D. 用户界面设计2.8 投资回报率(ROI) 用来度量。
A. 产品的质量B. 过程的质量C. 商业环境下的质量D. 以上均不对2.9 以下四种耦合中,程度最低的是。
A. 数据B. 标记C. 控制D. 公共2.10下列UML类图表示的是设计模式。
A. 备忘录B. 策略C. 状态D.观察者三、判断题(20分,每题2分)3.1 软件不能按时交付,软件质量低是软件危机的两个重要体现。
软件工程期末复习简答题1、试从软件的特点出发分析软件危机产生的原因。
2、一个程序片段如下,请设计符合条件组合覆盖的测试用例。
if (a>=4) && (b<0) (c=a+b;elsec=a-b;if (03) || (c<l)printf(u c不在计算区域\n”)elseprintf("%d\n", c);3、面向对象的分析通常要建立三个模型,请问三个模型的作用?4、软件工程为什么要强调规范化和文档化?5、读懂下面的程序,调整格式,使其更容易理解,并添加注释。
int main(){int a[10];for (int i =0;i〈10;i++)scanf( "%d" , a[i]);int max=a[O], min=a[l];for (int j = 0;j<10;j++)(max=(max>a[j]?max:a[j]);min=(min<a[j]?min:a[j]);}printf(〃max二%d〃,max);printf(〃min= %d〃, min);printf(〃\n〃);return 0;}6、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与用户需求的区别?7、一个程序片段如下,请设计符合判定覆盖的测试用例。
if (a>=5) && (b<0) (c=a+b;elsec=a-b;if(c>5) || (c<l)printf(u c 不在计算区域\n”)elseprintf("%d\n", c);8、请说明对象模型的作用是什么?9、 请说明IPO 图的作用,并给出一个IPO 图的模板。
10、 什么是耦合?什么是内聚?请画图说明软件工程的层次化结构,并详细分析中间两层的内容。
int main() int a,b,c,x,y,z;scanf("d%,d%,d%),&a,&b,&c);if a>5 x=10 else x=l;if b>10 y=20 else y=2;if 015 z=30 else z=3;prin 顷"d%,d%,d%\n",x,y,z)13、请说明快速原型化模型的基本思想。
2022年河北工业大学软件工程专业《计算机系统结构》科目期末试卷B(有答案)一、选择题1、Cache存贮器常用的地址映象方式是( )。
A.全相联映象B.页表法映象C.组相联映象D.段页表映象2、CRAY-I的流水线是( )A.多条单功能流水线B.一条单功能流水线C.多条多功能流水线D.一条多功能流水线3、最能确保提高虚拟存贮器访主存的命中率的改进途径是( )A.增大辅存容量B.采用FIFO替换算法并增大页面C.改用LRU替换算法并增大页面D.改用LRU替换算法并增大页面数4、若输入流水线的指令既无局部性相关,也不存在全局性相关,则()。
A.可获得高的吞吐率和效率B.流水线的效率和吞吐率恶化C.出现瓶颈D.可靠性提高5、从计算机系统结构上讲,机器语言程序员所看到的机器属性是( )。
A.计算机软件所要完成的功能B.计算机硬件的全部组成C.编程要用到的硬件组织D.计算机各部件的硬件实现6、属计算机系统结构考虑的是()A.主存采用MOS还是TTLB.主存采用多体交叉还是单体C.主存容量和编址方式D.主存频宽的确定7、输入输出系统硬件的功能对()是透明的。
A.操作系统程序员B.应用程序员C.系统结构设计人员D.机器语言程序设计员8、在操作系统机器级,一般用()程序()作业控制语句。
A.汇编程序,翻译B.汇编程序,解释C.机器语言,解释D.机器语言,翻译9、推出系列机的新机器,不能更改的是( )A.原有指令的寻址方式和操作码B.系统总线的组成C.数据通路宽度D.存贮芯片的集成度10、IBM360/91对指令中断的处理方法是()A.不精确断点法B.精确断点法C.指令复执法D.对流水线重新调度二、填空题11、段式存储管理是指________,为此每道程序在系统中都有一个________12、软件和硬件成本由________和________组成。
13、寻径的基本原则是:________或________14、Cache存贮器采用组相联的映象规则是组间________映象,组内各块间________映象。
软件工程概论期末复习题集团标准化工作小组 #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)查询成绩:查询成绩以及从名次表中得到名次信息。
2)学籍管理:根据学生总成绩确定名次信息。
3)成绩处理:处理单科成绩并输入成绩表中。
就以上系统功能画出0层,1层的DFD图。
1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。
这个时期的工作通常又称为系统分析,由系统分析员负责完成。
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
7.维护时期的主要任务是使软件持久地满足用户的需要。
8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。
9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。
a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。
①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
c)质量保证的观点:软件工程的基本目标是优质、高产。
为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
《软件工程》期末复习重点第一章软件工程1.什么是软件工程。
A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。
2. 软件工程的三要素:方法、工具和过程。
第二章软件过程1.软件生命周期分为哪几个阶段?每个阶段的基本任务是什么?a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。
概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。
c.运行维护:修正错误,使软件持久地满足用户需要。
改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2.常用的过程模型有哪些?各自的特点及不足。
如:瀑布模型的不足是不能适应需求的动态变更。
A.瀑布模型特点:可强迫开发人员采用规范化的方法。
严格地规定了每个阶段必须提交的文档。
要求每个阶段交出的所有产品都必须是经过验证(评审)的。
缺点:太理想化,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格与用户需求之间有差异,就会发生这种情况。
只适用于项目开始时需求已确定的情况。
B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。
降低了规格说明文档变化的可能性。
减少了后续阶段错误的可能性。
c.增量模型优点:人员分配灵活,刚开始不用投入大量人力资源。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
增量能够有计划地管理技术风险。
缺点:要求构件具备开放式的体系结构。
易退化为边做边改模型,从而使软件过程的控制失去整体性。
北方工业大学软件工程期末复习题(含答案)北方工业大学《软件工程》课程期末复习题A 卷 2014年春季学期开课学院:信息工程学院考试方式:闭卷 考试时间:120 分钟班级 姓名 学号 题 号 一二三四五六七八九十总 分得 分阅卷人一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。
答:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理、技术和方法来开发和维护软件;把证明正确的管理技术和最好技术综合运用到软件开发中;研究经济地开发出高质量的软件方法和技术; 研究有效维护软件的方法和技术。
(2) 简述软件危机的原因。
答:序号 订线装缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。
软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。
(4) 画出软件生存周期的增量模型的示意图,并简述其优点。
优点: 可强迫开发人员采用规范化的方法。
严格地规定了每个阶段必须提交的文档。
要求每个阶段交出的所有产品都必须是经过验证的。
1-2 瀑布模型示能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。
逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲(5) 画出D.Ross提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。
答:(6) 举例说明变换型和事务型流图的特点。
答:变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。
如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。
页眉软件工程试题A卷:一、填空题(每空2分,20空,共40分)1.软件定义时期包括两个阶段,它们是“1】可行性研究)和(【2】需求分析)两个阶段。
2.数据流图有“3】4)种基本符号,数据流图中,箭头表示“4】数据流)。
3.数据流图有变换型结构和“5】事务)型结构两种类型。
4. 4个人之间的通信量是“6】6)5.评定模块的独立性的标准是耦合和内聚。
“7】耦合)是对软件内部块间联系的度量,按照由弱到强的顺序,可以把它分为“8】7)类。
其中,最弱的是“9】非直接耦合),最强的是“10】内容耦合)6.程序结构的复杂性度量值V(G)取决于程序控制流的复杂程度。
顺序结构的V(G)值为“11】1),选择结构的为“12】2)。
7.在模块结构图中,“13】扇入)是指直接调用该模块的模块数8.模块的独立性可用耦合和内聚的高低来评定,设计较好的模块要求“14】内聚)高、耦合“15】低)。
9.语句覆盖测试技术是“16】白盒测试)方法的一种10.等价类划分技术是属于“17】黑盒测试)方法的11.按维护的起因,可以将维护活动分为4类:“18】改正性维护)、“19】适应性维护)、完善性维护和预防性维护。
完善性维护占总维护量的“20】50%以上)。
二、名词解释(每题4分,5题,共20分)1.软件的可靠性:是指在给定的时间间隔内,程序成功运行的概率。
2.内聚:标志一个模块内各个元素被此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。
3.模块化:把一个程序划分成若干个模块,每个模块完成一个子功能,将这些模块组装成一个整体,即可完成该程序指定的功能。
4.改正(纠错)性维护:为改正软件系统中潜藏的错误而进行的活动5.对象:对象是客观世界事物和个体的抽象表示。
是它的属性和相关操作的统一封装体。
三、简述题(每题10分,4题,共40分)1.软件是什么?其特点有那些?答:软件(2分)是计算机程序及其说明程序的各种文档,软件=程序+文档(+数据)特点(8分,每个2分,答出4个即可)(1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
河北⼯业⼤学软件⼯程期末复习软件⼯程期末复习总结第⼀讲概述(选择U填空U简答)1.1 软件⼯程的研究内容软件⼯程要考虑专业软件开发所需要的理论、⽅法和⼯具----⼯程技术问题软件⼯程要考虑如何有效的在软件开发中利⽤有限的成本资源----⼯程管理的问题1.2 什么是软件?软件包括:---软件的内涵①能够提供客户所需功能与性能的计算机程序;②使程序能够适当的操作信息的数据结构;③⽤以描述程序开发过程及使⽤的⽂档。
软件产品可以为⼀个特定的⽤户设计开发,也可以为某⼀类通⽤的市场设计开发。
软件产品可以分成:⼀个新的软件并不⼀定是全新开发,可以由现有软件或可复⽤软件成分配置形成。
1.3 什么是软件⼯程?软件⼯程是涉及软件⽣产各个⽅⾯的⼀门⼯程学科软件⼯程涉及软件⽣命周期的各个⽅⾯,从软件需求的确定到软件退役。
软件⼯程:(1)将系统化的、规范的、可度量的⽅法应⽤于软件的开发、运⾏和维护的过程,即将⼯程化应⽤于软件;(2)研究(1)中的⽅法.——IEEE[IEE93]1.4 什么是成功的软件项⽬⼀个成功软件项⽬的三个要素包括:按时交付不超预算满⾜⽤户要求。
1.5 软件过程与软件⽣命周期的相关概念软件过程是指开发或制作软件产品的⼀系列活动及其成果.所有的软件过程中都包括四个基本活动:(填空)1. 描述( Specification)- 系统应该提供的功能及其开发约束;2. 开发( Development)- 软件产品的⽣产过程;3. 有效性验证(Validation )- 检验软件产品是否满⾜了客户的需要;4. 进化( Evolution )- 按照⽤户的变更要求不断的改进软件。
软件⽣命周期是软件过程的另⼀种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。
1.6什么是优良软件的属性? P8 (填空U选择)优良的软件应能交付相应的功能与性能,⽽且应具有良好的可维护性、可依赖性、有效性和可⽤性:(选择题,考法内涵匹配)可维护性(Maintainability)Software must evolve to meet changing needs;可依赖性(Dependability)Software must be trustworthy;有效性(Efficiency)Software should not make wasteful use of system resources;可接受性(Acceptability)Software must be accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.第⼆讲软件过程(画法+特点+结构+缺点+适⽤场合)2.1 瀑布模型(顺序模型)(特点:变更少)(画法+特点+结构+缺点+适⽤场合)1.需求分析和定义2.系统和软件设计3.实现和单元测试4.集成和系统测试5.运⾏和维护(中⽂解释)瀑布模型的缺点和适⽤情况这种模型⽣硬的把⼀个软件过程划分成⼏个界限清晰的阶段,⽽且这些阶段前后有严格的顺序,这导致它很难对⽤户的需求变更做出及时的调整;因此,瀑布模型只适合需求⾮常清楚和需求变更被严格限制的情况下。
河北工业大学java期末考试复习题(部分答案)一、选择题1.Java语言与其它语言相比,独有的特点是(C)A、面向对象B、多线程C、平台无关D、可扩展性2.下面哪个不是Java语言的关键字()A、defaultB、numberC、abstractD、package3.下面语句正确的是()A、x+1=5B、i++=1C、a++b=1D、x+=14、设A为已知定义的类名,下列声明A类的对象a的语句A、float A aB、public a=A()C、A a=new int ()D、A a=new A()5、如果类的方法没有返回值,该方法的返回类型应是:A、voidB、nullC、abstractD、default6、下列对继承的说法,正确的是()A、子类能继承父类的所有方法和状态B、子类继承父类的非私有方法和状态C、子类只能继承父类的public方法和状态D、子类只能继承父类的方法7、能单独和finally语句一起使用的块是A、tryB、catchC、throwD、throws8、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()A、ArithmeticExceptionB、NumberFormatExceptionC、ExceptionD、ArrayIndexOutOfBoundException9、以下对选择语句描述错误的是A、根据某一条件重复执行一部分代码直到满足终止条件为止B、可以根据条件控制程序流程,改变程序执行的顺序C、选择语句可以嵌套使用D、当条件满足时就会执行相应的语句10、为初始化其成员变量,每个类都定义的方法是A、方法B、main()方法C、构造方法D、对象11、为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为A、、static void method()B、public void methodC、、protected void method()D、abstract void method()12、下面是findSum(int m.int n)方法的定义,方法调用findSum(1,5)的返回结果是Int findSum(int m.int n)Int sum=0;For(int i=m;i<=n;i++)Sum+=i;A、1B、5C、10D、1513、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以A、让该类不使用任何关键字。
2022年河北工业大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、下列选项中,会导致用户进程从用户态切换到内核态的操作是()I.整数除以零 II.sin函数调用 III.read系统调用A.仅I、IIB.仅I、IIIC.仅II、IIID. I、II和II2、假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是()。
A.DIV R0,R1;(R0)/(R1)→ROB.INT n;产生软中断C.NOT RO;寄存器R0的内容取非D.MOV RO,addr;把地址 addr处的内存数据放入寄存器RO中3、设有n个进程共用一个相同的程序段,若每次最多允许m个进程(mSn)同时进入,临界区,则信号量的初值为()。
A.nB.mC.m-nD.-m4、下列选项中,降低进程优先权级的合理时机是()。
A.进程的时间片用完B.进程刚完成I/O,进入就绪队列C.进程长期处于就绪队列D.进程从就绪状态转为执行状态5、一次性分配所有资源的方法可以预防死锁的发生,这种方法破坏的是产生死锁的4个必要条件中的()。
A.互斥条件B.占有并请求C.不剥夺条件D.循环等待6、如果I/O设备与存储设备间的数据交换不经过CPU来完成,则这种数据交换方式是()。
A.程序查询方式B.中断方式C.DMA方式D.外部总线方式7、系统管理设备是通过一些数据结构来进行的,下前的()不属于设备管理数据结构。
A.FCBB.DCTC.SDTD.COCT8、现代操作系统中,文件系统都有效地解决了重名(即允许不同用户的文件可以具有相同的文件名)问题。
系统是通过()来实现这一功能的。
A.重名翻译结构B.建立索引表C.树形目录结构D.建立指针9、文件系统中设立打开(open)系统调用的卡要目的是()。
A.把文件从辅存读到内存B.把文件的控制信息从辅存读到内存C.把文件的FAT表信息从辅存读到内存D.把磁盘文件系统的控制管理信息从辅存读到内存10、假设一个“按需调页”虚拟存储空间,页表由寄存器保存。
软件工程主要知识点串讲第一讲概述1 如何理解软件工程及其研究内容:软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;(2)研究(1)中的方法。
软件工程是一门旨在指导生产无缺陷软件的学科,既指导如何生产能够及时交付、成本不超预算并且满足用户需求的软件产品。
软件工程研究内容包括两个方面:(1)要考虑专业软件开发所需要的理论、方法和工具----工程技术问题;(2)软件工程要考虑如何有效的在软件开发中利用有限的成本资源----工程管理的问题2软件的内涵:软件包括:①能够提供客户所需功能与性能的计算机程序;②能够使程序得以处理信息的数据结构;③用以描述程序开发过程及使用的文档。
3 软件产品的两种类型包括:通用软件和定制软件(多数),前者是为某一类通用的市场设计开发的,后者是为一个特定的用户设计开发。
4 一个成功软件项目的三个要素包括:按时交付,不超预算和满足用户要求。
5软件过程与软件生命周期的相关概念:●软件过程是指开发或制作软件产品的一系列活动及其成果.●所有的软件过程中都包括四个基本活动:1.描述( Specification)- 系统应该提供的功能及其开发约束;2.开发( Development)- 软件产品的生产过程;3.有效性验证(Validation )- 检验软件产品是否满足了客户的需要;4.进化( Evolution )- 按照用户的变更要求不断的改进软件。
●软件生命周期是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。
6 优良软件的属性包括可维护性、可依赖性、有效性、可接受性。
7 CASE是一些用于支持软件过程活动的自动化、半自动化的软件系统。
(计算机扶助软件工程)第二讲软件过程1一个软件过程模型是软件过程的一种抽象表示,它通常是对软件过程某一特定方面的抽象描述。
2 瀑布模型的图形表示及其特点:1)这种模型把软件过程划分成几个顺序的阶段。
软件工程期末复习第一章概述1、软件工程方法学的三个要素:方法、工具和过程2、目前广泛使用的软件工程方法学是传统方法学(结构化范型)和面向对象方法学3、软件生命周期分成哪几个阶段?软件定义、软件开发、运行维护(软件维护)3个时期软件定义分为3各阶段:问题定义、可行性研究和需求分析软件开发:总体设计、详细设计、编码和单元测试、综合测试(系统设计和系统分析)4、典型的生命周期模型包括瀑布模型、快速原型模型、螺旋模型、喷泉模型、RUP等第二章可行性研究1、可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决3种解法的可行性:技术可行性、经济可行性、操作可行性2、什么是系统流程图?它包括哪些符号?基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。
处理(能改变数据值或数据位置的加工或部件)输入输出(表示输入或输出)连接换页连接数据流3、什么是数据流图?它包括哪些符号?(符号:正方形、圆角矩形、开口矩形、箭头)4、数据流图为什么要分层?在一张数据流图中包含多少个元素合适?一般来说,如果一张数据流图中包含的处理多于9个,人们就难于领会它的含义,因此数据流图应该分层,并且在功能级数据流图细化后得到的处理超过9个时,应该采用画分图的方法,也就是把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。
5、什么是数据字典?它的用途是什么?它包括哪四类元素的定义?(元素定义:数据流、数据流分量(即数据元素)、数据存储、处理)6、成本估计的三种技术代码行技术、任务分解技术、自动估计成本技术第三章需求分析1、需求分析的基本任务是什么?主要包括哪几项?(任务是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题)主要包括:确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统开发计划。
软件测试的重点第一章P4 软件缺陷:它是计算机系统或者程序中存在的任何一种破坏正常运行能力的问题,错误,或者隐藏的功能缺陷,瑕疵。
注:软件缺陷出现最多的阶段是需求规格说明书。
P9软件测试的定义:软件测试为了发现程序中的错误而执行程序的过程。
{软件测试的目的:就在于在软件投入运行之前,尽可能多地发现软件中的错误.===测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。
}实现此目的的核心是测试用例的设计。
判断软件测试的成功与失败:一个好的测试用例在于发现还未曾发现的错误,成功的测试是发现了错误的测试.软件测试的目标是为了检验软件系统是否满足用户的需求。
调试和测试的区别:首先调试是由程序员编试的,且调试是在测试之前。
/////调试是一个随机的、不可重复的过程,目的是寻找错误的原因和具体的位置,并修复错误。
调试一般在测试前进行.4。
优秀的软件测试员应具备的素质:1 软件测试人员是群探索者。
2 软件测试人员是故障排除员。
3 软件测试人员不放过任何蛛丝马迹。
4 软件测试人员具有创造性。
5 软件测试人员是群追求完美者。
6人员判断准确.7 软件测试人员注重策略和外交.8 软件测试人员善于说服。
5. P12软件测试的分类:1.从是否需要执行被测软件的角度(程序是否运行的角度):软件测试可分为静态测试和动态测试。
其中静态测试可分为(1)代码检查法(2)静态结构分析法(3)代码度量质量法其中动态测试分为(1)黑盒测试和白盒测试###二者的区别:静态测试不实际执行程序,而是利用人工手段及静态测试工具完成对程序的静态测试。
主要目的是检查软件的表示与描述是否一致,没有冲突和歧义.而动态测试则是实际运行测试用例,以发现软件中的错误。
###静态测试和动态测试的时序关系:一般可先进行静态测试,即代码检查法、静态结构分析法、代码质量度量法等进行测试;然后进行动态测试,即逻辑覆盖法、基本路径测试法、程序插桩等进行测试.2。
软件工程期末复习要点归纳总结软件工程是指在软件开发的全过程中,应用工程的原理、方法和经验对软件进行开发、运行和维护的过程。
在软件工程这个学科中,包括了软件需求、软件设计、软件构建、软件测试、软件维护等多个阶段和技术。
下面是软件工程期末复习的要点归纳总结:1.软件开发过程模型-瀑布模型:各个阶段按顺序进行,每个阶段完成后不可回溯。
-增量模型:将软件划分为多个增量,每个增量独立进行开发。
-螺旋模型:将软件开发过程分为多个循环,每个循环都包括需求分析、设计、开发和测试。
-迭代模型:将软件开发过程分为多个迭代,每个迭代包括需求分析、设计、开发和测试。
2.软件需求工程-需求获取:通过需求采集、用户访谈、问卷调查等方式获取需求。
-需求分析:对需求进行整理、分类、抽象和规范化,得出系统需求。
-需求规格说明:将需求规格化为需求文档,包括用例、用例图、领域模型等。
-需求验证:通过评审、原型验证等方式验证需求的正确性和完整性。
3.软件设计-结构化设计:通过模块化、自顶向下、逐步求精的方式进行软件设计。
-面向对象设计:通过类、继承、多态等面向对象的概念进行软件设计。
-架构设计:设计软件的整体框架和组件之间的关系。
-接口设计:设计软件的各个组件之间的接口。
4.软件构建-编码:根据设计文档进行编码,可以使用编程语言、集成开发环境等工具。
-调试:通过调试工具,对程序进行调试,找出存在的问题并进行修复。
-集成:将各个模块集成到一起,进行整体测试,确保功能的正确性。
-部署:将软件部署到目标环境中,确保软件能够正常运行。
5.软件测试-单元测试:对软件的最小单元进行测试,如函数、方法等。
-集成测试:对软件的各个模块进行整合测试,确保模块之间的协调性。
-系统测试:对整个系统进行测试,确保系统满足用户需求。
-验收测试:由用户对软件进行测试,验证软件是否满足用户需求。
6.软件维护-改正性维护:修复软件中的错误。
-适应性维护:根据用户需求,对软件进行功能扩展。
软件工程复习题库带答案完整版1、白盒测试法是通过分析程序的内部逻辑来设计测试用例的。
2、风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果。
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。
4、等价分类法的关键是划分等价类。
5、下列不属于黑盒测试的技术是程序段或语句的功能。
6、为了提高模块的独立性,模块之间最好是数据耦合。
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。
8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。
9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。
11、软件危机的主要原因是软件本身特点与开发方法。
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。
13、软件工程管理是对软件项目的开发管理。
具体地说,就是对整个软件生存期的一切活动进行管理。
14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。
A.白盒测试B.黑盒测试C.灰盒测试D.集成测试15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。
因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。
16、有形性与可控性不是软件的特征。
软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。
17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。
18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。
软件工程期末复习总结第一讲概述(选择U填空U简答)1.1 软件工程的研究内容软件工程要考虑专业软件开发所需要的理论、方法和工具----工程技术问题软件工程要考虑如何有效的在软件开发中利用有限的成本资源----工程管理的问题1.2 什么是软件?软件包括:---软件的内涵①能够提供客户所需功能与性能的计算机程序;②使程序能够适当的操作信息的数据结构;③用以描述程序开发过程及使用的文档。
软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。
软件产品可以分成:一个新的软件并不一定是全新开发,可以由现有软件或可复用软件成分配置形成。
1.3 什么是软件工程?软件工程是涉及软件生产各个方面的一门工程学科软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。
软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;(2)研究(1)中的方法.——IEEE[IEE93]1.4 什么是成功的软件项目一个成功软件项目的三个要素包括:按时交付不超预算满足用户要求。
1.5 软件过程与软件生命周期的相关概念软件过程是指开发或制作软件产品的一系列活动及其成果.所有的软件过程中都包括四个基本活动:(填空)1. 描述( Specification)- 系统应该提供的功能及其开发约束;2. 开发( Development)- 软件产品的生产过程;3. 有效性验证(Validation )- 检验软件产品是否满足了客户的需要;4. 进化( Evolution )- 按照用户的变更要求不断的改进软件。
软件生命周期是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。
1.6什么是优良软件的属性? P8 (填空U选择)优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性和可用性:(选择题,考法内涵匹配)可维护性(Maintainability)Software must evolve to meet changing needs;可依赖性(Dependability)Software must be trustworthy;有效性(Efficiency)Software should not make wasteful use of system resources;可接受性(Acceptability)Software must be accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.第二讲软件过程(画法+特点+结构+缺点+适用场合)2.1 瀑布模型(顺序模型)(特点:变更少)(画法+特点+结构+缺点+适用场合)1.需求分析和定义2.系统和软件设计3.实现和单元测试4.集成和系统测试5.运行和维护(中文解释)瀑布模型的缺点和适用情况这种模型生硬的把一个软件过程划分成几个界限清晰的阶段,而且这些阶段前后有严格的顺序,这导致它很难对用户的需求变更做出及时的调整;因此,瀑布模型只适合需求非常清楚和需求变更被严格限制的情况下。
实际的软件开发过程中,几乎没有多少业务系统具有稳定的需求。
瀑布模型反映了工程设计的基本思想。
2.2 进化式开发模型(画法+特点+结构+缺点+适用场合)基本思想:通过开发系统原型和用户反复交互,以明确需求,使系统在不断调整与修改中得以进化成熟。
又叫做原型式开发方法。
两种基本类型:探索式开发;抛弃式原型法.2.2进化式开发模型问题缺乏过程可见性;系统结构通常会很差;需要一些特别的技术(如原型快速开发技术),通常与主流技术不兼容.适用情况适合中小规模的交互系统;可用于大型系统的局部开发(如系统界面),可以和瀑布模型混合使用;生命周期较短的系统2.3 基于过程反复的过程模型对于大型项目而言,系统需求的变更是无法避免的,因此开发过程的反复是软件开发的必要手段;过程反复可以和任何一种一般过程模型结合使用。
两种支持过程反复的过程模型:增量式开发;螺旋式开发。
2.3增量式开发增量式开发的特点在这种开发方式中,系统不是作为一个整体交付,而是被分解成若干个增量,每个增量交付系统的部分功能。
用户的需求按优先级排队,优先级最高的需求被放入最早交付的增量中。
这样,优先级最高的系统功能就得到最多的测试,系统的可靠性较高。
由于每个增量可以交付部分系统功能,因此软件可以较早的交付用户使用(部分功能);早期交付的增量可以作为后期增量的原型帮助后期需求的确定;项目总体的失败率较低;优先级最高的系统功能得到最多的测试。
螺旋式开发这种模型用螺旋线表示软件过程,而不是采用一系列活动及活动间的反馈;螺旋中的每个回路表示软件过程中的一个阶段;这种模型充分考虑了软件开发所面临的风险,并贯穿软件过程始终。
螺旋线划分成四部分目标设置、风险评估和规避、开发与有效性验证、规划2.4 基于构件的软件工程软件复用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素(通常称为可复用构件、组件或软部件)的过程。
软构件是标准的、可以互换的、经过装配可随时使用的软件模块。
在UML中,软构件被定义为系统中某一定型化的、可配置的和可替换的部件,该部件封装了实现并暴露一系列的接口。
软件复用的意义软件复用的出发点是使软件系统的开发不再“一切从零开始”,能够充分利用已有的知识和经验。
软件复用能够在软件开发中避免重复劳动,充分利用已有的开发成果,,提高开发效率,降低开发成本。
软件复用还可以避免全新开发可能引入的错误,从而提高软件的开发质量。
构件的基本概念构件是为组装服务的!软件构件是指可以独立生产、获取和部署的、可以被组装到一个功能性系统中去的可执行单元。
软构件是标准的、可以互换的、经过装配可随时使用的软件模块。
基于构件的软件工程第三讲需求工程(概念+综合分析(面向对象建模UML+分析))3.1 需求工程过程需求工程过程并不具有唯一的模型,在所有的过程中都会涉及一些共同的活动,它们是:可行性研究(必不可少);需求导出与分析;需求描述;需求有效性验证;需求管理。
(填空U选择)3.2 可行性研究可行性研究要决定被提议的系统是否值得去做。
进行可行性研究包括信息评估、信息汇总和书写报告三部分工作。
3.3 需求的两个不同层次的描述用户需求从客户的角度,采用自然语言配合以图表对目标系统应提供的服务以及系统操作要受到的约束进行的声明。
系统需求系统需求是一种结构化文档,要运用一些专业的模型详细的描述系统的功能及其约束。
系统需求文档有时也称为功能描述,应该是精确的,它可以成为双方之间合同的重要内容,同时作为开发工作的依据3.4 功能需求与非功能需求功能需求对系统应提供的功能,系统在特定的输入下做出的反应及特定条件下的行为的描述。
某些情况下还要包括系统不应做什么。
非功能需求(全局的)对系统提供服务或功能时收到的约束进行描述。
如时间约束、开发过程约束和标准等。
领域需求这种需求来自于系统的应用领域,反映领域特征。
可能是功能需求也可能是非功能需求。
功能性需求与非功能性需求相比较,非功能需求往往更为关键,因为非功能需求表示的是系统的整体特征,而功能性需求描述的则是局部功能。
(参看课本例子加强理解)功能需求功能需求描述系统所应提供的功能或服务。
取决于待开发软件的类型、未来的用户以及开发的系统类型。
功能性的用户需求只需要对系统应提供的服务迚行高层一般描述,对于系统需求,则应该详细的描述系统功能、输入输出及异常。
非功能性需求非功能需求不直接和功能相关,但定义了实现系统功能受到的约束与系统特性。
如可靠性、响应时间、存储空间、I/O设备能力等。
非功能需求还常与系统的开发过程有关,表现为过程需求。
如设计必须实用的特定CASE工具集、设计语言和开发方法。
领域需求领域需求来自于应用领域,描述的是反映领域特点的系统特性与特征。
领域需求可能是新的功能需求,也可能是对现有需求的约束或定义一个特别的计算。
领域需求非常重要,如果领域需求不能满足,可能会使整个系统无法运转。
需求的全面性和一致性原则上,功能性需求描述应该具备全面性和一致性。
全面性:包括了所有用户要求的服务。
一致性:在系统服务的描述中没有冲突和矛盾需求的两个不同层次的描述用户需求:用户需求是从用户角度来描述的系统功能需求与非功能需求,这样的描述可以使不具备专业技术知识的用户能够看明白。
用户需求使用任何人都看得懂的自然语言、图表和直观的图形来描述。
系统需求:相对于用户需求,系统需求是对系统功能、服务及约束的更详尽的描述。
系统需求是系统实现的基本依据,会被写入合同中。
因此系统需求是一个完全的、一致的系统描述,是设计的起点。
系统需求可以用系统模型来定义与说明。
3.7 需求导出与分析这个阶段在可行性研究之后进行,通常与需求描述交叉进行。
需求导出的过程活动包括:需求发现、需求的分类与组织、优先排序和冲突解决、需求文档化。
需求的发现与识别是整个过程中最为关键的活动,负责收集目标系统级现存系统的相关信息并从这些信息中提炼出用户需求和系统需求。
信息的来源包括已有的文件,系统的信息持有者(stakeholders)以及相近系统的规约描述。
需求要从多个视点进行分析视点用来表述不同角度的需求来源(信息持有者、其它相关系统及领域)。
每一个视点代表系统需求的一个子集。
从多视点对系统迚行分析是十分重要的,因为没有那一种单一的途径能够诠释整个系统需求视点的类型:交互者视点、间接视点、领域视点3.8 结构化分析(SA)建模(概念)结构化分析方法是一种面向数据流的系统建模技术,它从数据加工的角度对系统进行规格描述;SA帮助分析者理解系统的功能,并采用模型与用户进行交流;不同的模型从不同的角度对系统进行描述。
结构化分析建模结构化分析方法建立的分析模型结构如下图:结构化分析模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。
围绕着这个核心的有三种图:实体—关系图(ERD)描述数据对象及数据对象之间的关系;数据流图(DFD)描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能);状态—迁移图(STD)描述系统对外部事件如何响应,如何动作。
因此,ERD用于数据建模,DFD用于功能建模,STD用于行为建模。
(考试用英文)3.9 UML与面向对象分析方法(分析+设计+面向对象建模)3.9.1 理解UMLUML是一种标准的图形化建模语言,它为不同领域的人们提供一种统一的交流标准,这种标准使得系统构造者能够用标准的、易于理解的方式建立能表达出他们想象力的系统蓝图,并使客户、分析员、设计人员、程序员和系统其它涉及者能够相互理解和达成一致,从而能够有效地共享和交流设计结果。