软件工程复习资料浓缩版

合集下载

软件工程复习资料精选全文完整版

软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。

(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。

(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。

(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。

(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。

(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。

(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。

软件工程整理资料

软件工程整理资料

软件工程复习(总结)题型:一、选择(1´*10=10´)二、填空(1´*20=20´,20个空)三、名词解释(4´*5=20´)四、综合应用(10´*5=50´)几个英文缩写的含义:1.SE——软件工程 5.CASE——计算机辅助软件工程2.SA——结构化分析 6.OOA——面向对象分析3.SD——结构化设计 7.OOD——面向对象设计4.SP——结构化编程 8.OOP——面向对象编程第一章:软件工程学概述1.软件危机(概念、原因及如何消除,P1—P4)概念(P1):软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生软件危机的原因(P3):(1)软件本身的特点造成;(2)软件开发与维护的方法不正确。

其主要表现:○1忽视软件需求分析;○2开发过程没有统一、规范的方法论指导,文档资料不齐全,认为软件开发就是写程序并使之运行;○3轻视软件维护。

消除软件危机的途径(P4):(1)正确认识软件的概念;(2)充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合共同完成的工程项目。

(3)充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,特别要吸取几十年来人类从事计算机软硬件研究和开发的经验教训。

(4)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法;(5)开发和使用更好的软件工具;(6)良好的组织管理措施。

2.生命周期(P3):一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期成为生命周期。

3.软件工程定义(P5):软件工程是指导计算机软件开发与维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和目前能够得到的最有效的技术与方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程基础期末复习资料完整版

软件工程基础期末复习资料完整版

2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。

从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。

文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。

没有文档的软件维护不但不能延长反而会缩短软件寿命。

文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。

3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生的原因是主客观不相适应。

见书图1-2。

●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。

5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。

见图1-4。

(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。

过程定义的活动集合及其序列见第2章。

(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。

如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。

软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。

(4)“工具”为过程和方法提供自动的或半自动的支持。

这些工具既包括软件也有硬件。

软件工具包括编程、建模、管理等开发工具。

通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。

CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。

软件工程复习资料

软件工程复习资料

1、 软件产品的概念、特征P1-3软件就是一个信息转换器,它的功能不外是产生、管理、获取、修改、显示或转换信息。

它是开发和运行产品的载体,是计算机控制(操作系统)、信息通信(网络)的基础,也是创建和控制其他软件(软件工具和开发环境)的基础。

软件产品的特征:(1) 软件是一种逻辑实体,具有抽象性。

(2) 软件的生产与硬件不同。

(3) 软件产品不会“磨损” 2、 软件危机的原因、解决的途经P5-7软件危机的原因:1)它的生产过程和产品都具有明显的“不可视”特征,这就导致在完成编码并且上机运行之前,对于软件开发过程的进展情况较难衡量;2)归于在计算机系统发展的早期,软件开发的“个体化”特点解决的途经:从管理层面上考虑,应当注意推广和使用在实践中总结出来的开发软件的成功的技术和方法,并且探索更好的、更有效的技术和方法,注意积累软件开发过程中的经验数据财富,逐步消除在计算机系统早期发展阶段形成的一些错误概念和做法。

3、 软件工程的定义、要素、基本原则P8-9 软件工程是指导软件开发和维护的工程学科。

将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程。

即将工程化方法应用于软件开发与维护过程中。

软件工程应当包括三个要素:方法、工具和过程。

基本原则:(1) 用分阶段的生命周期计划严格管理软件工程过程。

(2) 坚持在软件工程过程中进行阶段评审。

(3) 实行严格的产品控制。

(4) 采用现代的开发技术进行软件的设计与开发。

(5) 工作结果应当是能够清楚地审查的。

(6) 开发小组的人员应该“少而精”。

(7) 承认不断改进软件工程实践的必要性4、 软件工程过程的层次划分、软件工程的四种基本活动P10-11软件工程过程的层次划分: 软件工程的四种基本活动:(1) 软件规格说明(2) 软件开发(3) 软件确认(4) 软件演进5、 软件工程过程模型的概念及几种常见的软件过程模型P12-18软件工程过程模型的概念:用以覆盖软件开发过程中的基本活动,确定所涉及的过程、方法、工具的策略称为软件工程过程模型。

软件工程 复习资料

软件工程 复习资料

软件工程复习大纲考试主要章节:第一章软件与软件工程第二章软件项目管理第三章计算机系统工程第3.2节第五章面向数据流的分析方法第八章软件设计基础第十四章软件测试其他:上课讲义题型一、选择题(单选或多选)1、软件的主要特性是()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、需求分析的主要目的是(BC)。

A) 系统开发的具体方案B) 进一步确定用户的需求C) 解决系统是“做什么的问题”D) 解决系统是“如何做的问题”7、SA法的主要描述手段有(B)。

A) 系统流程图和模块图B) DFD图、数据词典、加工说明C) 软件结构图、加工说明D) 功能结构图、加工说明8、画分层DFD图的基本原则有(ACD)。

A) 数据守恒原则B) 分解的可靠性原则C) 子、父图平衡的原则D) 数据流封闭的原则9、在E-R模型中,包含以下基本成分(C)。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、联系10、画DFD图的主要目的是(A D)。

A) 作为需求分析阶段用户与开发者之间交流信息的工具B) 对系统的数据结构进行描述C) 对目标系统的层次结构进行描述D) 作为分析和设计的工具11、数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。

国家开放大学《软件工程》复习资料

国家开放大学《软件工程》复习资料

《软件工程》复习资料一、选择题1.软件工程的研究内容具有层次化结构,最底层是质量保证层,中问层是(C),最主.层是工具层。

A过程层 B.方法层C.过程层和方法层 D.系统层2.可行性研究的四大要素是(D)。

A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平巳经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性3.针对需求不确定的软件开发,比较好的模型是(A)。

A.快速原型化模型B.瀑布模型c.软件成熟度模型。

.系统化模型4.下面的哪个选项不是软件工程的宗旨?(D)A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件5.瀑布模型的主要特点是(A)。

A.将开发过程严格地划分为一系列有序活动B.将开发过程分解为阶段c.提供了有效的管理模式D.缺乏灵活性6.软件结构图中没有(D)元素。

A.模块B.调用参数C.返回结果D.判断7.结构化设计方法划分模块的原则是(C)A.模块扇出小于5B.模块扇人小于5c.低搞合,高内聚 D.模块深度小于78.配置视图体现了系统的实现环境,反映系统的(B)。

A.逻辑架构B.物理架构C组成结构 D.体系结构9.角色可以有四种类型:系统的使用者,硬件设备,外部系统和(D)。

A.数据库B.接口C.对象D.时间10.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由(C)实现。

A.场景描述B.活动图和1场景描述C.用例图和场景描述D.交互图和场景描述11.在分析模型内表示协调,}I顶序、事务处理以及控制其他对象的类是(A)。

A.控制类B.组件类C.主函数D.事务类12.而信息隐藏的核心内容是(C)。

A.人把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问13.面向过程的方法最关心的是过程,而过程实施的对象是作为过程(A)传递的。

02333自考 软件工程复习资料

02333自考 软件工程复习资料

一,第一章1.软件工程→1968年的NATO会议上提出解决“软件危机”2.倡导工程原理,原则,方法进行软件开发,以期解决“软危”3.软件工程:用计算机科学理论和技术和工程管理原则方法,按预算,进度满足用户要求的软件产品工程。

4.软工两时间:1. 60-80年代,系统规模,复杂性,关键领域应用,提出了waterfall, C, Pascal, Ada; Jackson方法,结构化方法。

2. 80年代后大量软件的实践,过程支持,软件生产技术,复用技术,生产管理。

《软件和存周期过程》,C++, Eiffel, Smalltalk5.软件=程序+文档,是逻辑实体,“无形”6.程序=处理对象+处理规则7.文档=理解程序所需的阐述性资料8.软件开发的本质:不同抽象层术语+处理逻辑之间的“映射”9.建模的方法:结构化方法,面向对象方法,诸多面向数据结构方法10.模型:待建系统的任意抽象,包括基本能力,特性,或其他方面;抽象上对物理系统的描述,系统边界,关系的主义描述。

11.软件系统模型:1,概念模型(用户)2,软件模型(开发者)a)需求→概念模型b)设计→软件模型c)实现→软件模型d)部署→软件模型12.软件开发有技术和管理上的问题二,第二章1.正确定义问题,是解决问题的基础2.需求是“要予构造”的陈述,描述了软件“能力”“性能参数”“其他性质”3.需求的性质:a)必要b)无歧义c)可测/测量d)可跟踪4.验证需求是不是歧义→需求复审5.需求分类:功能/非功能(性能,外部接口,设计约束,质量属性),6.需求发现:自悟,交谈,观察,小组会,提炼a)自悟要求高,要有想象力/需求不正确b)交谈依赖“正确提问”“揭示本意”/不能认识到合理需求→复审c)观察要有洞察力/客户抵触,客户认为熟悉了业务d)小组会人力资源,良好的需求发现能力,达成共识/客观条件限制,互相矛盾的需求e)提炼要有想像力和需求标识力熟悉技术和法规/无法验证需求是否正确7.需求规约是陈述的正式文档,表达概念模型a)重要性和稳定性程度b)可修改c)完整d)一致8. 需求规约表达:非形式化(规模小,不复杂,小型软件),半形式和形式化(主要为了验证程序正确)9. 需求规约作用:a) 技术合同,产品功能和环境体现b) 管理控制点c) 正式,受控的起点d) 初始测试计划,用户系统操作描述10. 需求规约不是一个设计文档,用于设计的文档,也不是进度和规划文档三,第三章1.软件需求中三挑战:1. 问题空间理解2. 人与人之间通信3. 需求的变化性2.20世纪70年代提出结构化方法3.基本术语1. 数据流程2. 加工3. 数据存储4. 数据源和数据潭4.数据流图DFD P375.按功能分解的设计思想:自顶向下,逐步求精6.数据字典:[=]定义为;[|]或者;[+]顺序;[{}]重复;[m.n]子界7.数据结构3种条目:数据流条目;数据存储条目;数据项条目8.结构化语言是形式化语言和自然语言之间的语言9.判定表;判定树P4311. 图元数7正负212. 15%的错误源自错误的需求13. 总体设计:模块和模块调用14. 总体设计:模块结构图/层次图/HIPO 图P4515. “高内聚,低耦合”16.数据流图分为:变换型和事务型17.模块化,软件分为简单的高内聚低耦合的模块(两部分:接口和模块体)18.耦合:依赖程度的度量。

软件工程复习资料

软件工程复习资料

软件工程复习资料1. 软件工程概述软件工程是一门研究如何构建和维护软件系统的学科。

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

本节将对软件工程的基本概念和重要原理进行介绍。

1.1 软件工程的定义软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的系统工程。

它关注软件开发过程中的各个环节,以提高软件质量和开发效率。

1.2 软件工程的目标软件工程的目标是开发高质量的软件系统,满足用户需求,具备良好的可维护性和可扩展性。

通过采用合适的开发方法和工具,提高软件开发过程的可靠性和效率。

1.3 软件工程的原则软件工程遵循一些重要的原则来指导软件开发过程,包括模块化、抽象、信息隐藏、接口规范、单一职责等原则。

这些原则有助于提高软件质量和可维护性。

2. 软件开发过程软件开发过程是指将软件需求转化为可执行软件的过程。

它包括需求分析、设计、编码、验证和维护等阶段。

本节将介绍常用的软件开发过程模型和相应的方法。

2.1 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护等阶段。

瀑布模型适用于需求稳定的项目,但不适用于需求频繁变更的项目。

2.2 敏捷开发敏捷开发是一种迭代的软件开发过程模型,强调快速反馈和适应需求变化。

敏捷开发方法包括Scrum、XP等。

它适用于需求不确定或频繁变更的项目。

2.3 增量开发增量开发将软件系统划分为多个增量,每个增量包含了一个或多个功能模块。

每个增量的开发和测试独立进行,逐步完善系统。

增量开发适用于大型项目和复杂项目。

2.4 软件开发过程的选择选择适合项目的软件开发过程模型非常重要。

需要考虑项目的规模、需求的稳定性、团队的能力等因素来决定采用哪种开发过程模型。

3. 软件需求工程软件需求工程是软件工程的一项重要活动,旨在准确捕获用户需求,并将其转化为可执行的软件需求规格。

本节将介绍软件需求的定义、分类和常用的需求获取和分析方法。

软件工程复习资料-完整版

软件工程复习资料-完整版

软件工程复习资料-完整版一、概述软件工程是一门关于开发、维护和管理软件的综合学科。

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

软件工程的目标是提供高质量的软件,满足用户的需求,同时将开发过程控制在预定的时间和预算范围内。

二、软件生命周期1. 需求分析阶段在需求分析阶段,开发团队与用户沟通,了解用户的需求和期望。

通过需求分析,确定软件的功能和性能要求,制定详细的需求规格说明。

2. 设计阶段在设计阶段,团队根据需求规格说明,设计软件的整体架构和模块。

设计阶段包括概要设计和详细设计,概要设计主要确定软件的整体结构,详细设计则更加具体,包括模块的功能和接口设计。

3. 编码阶段在编码阶段,根据详细设计,实现软件的各个模块。

编码时应遵循编程规范,确保代码的可读性和可维护性。

同时,要进行单元测试,确保每个模块的功能正确。

4. 测试阶段在测试阶段,对软件进行不同层次的测试,包括单元测试、集成测试和系统测试。

单元测试测试各个模块的功能,集成测试测试模块之间的接口,系统测试测试整个系统的功能和性能。

5. 部署和维护阶段在软件开发完成后,需要将软件部署到目标环境中,并进行用户培训。

同时,还需要对软件进行维护和升级,以解决出现的问题和满足用户的需求变化。

三、软件工程的原则1. 模块化将软件划分为多个模块,每个模块负责特定的功能。

模块化能够提高软件的可维护性和复用性,同时有利于团队的协作开发。

2. 可伸缩性软件应该具备可伸缩性,能够满足不同规模和需求的用户。

在设计和实现软件时,需要考虑未来的扩展和升级,保证软件的灵活性。

3. 可测试性软件应该具备可测试性,方便进行各个阶段的测试。

在设计和编码时,需要考虑如何进行自动化测试,提高测试的效率和覆盖率。

4. 可维护性软件应该具备可维护性,方便对软件进行改进、修复和升级。

在设计和编码时,需要遵循良好的编程规范,提高代码的可读性和可维护性。

5. 文档化软件开发过程需要进行详细的文档记录,包括需求文档、设计文档、测试文档等。

软件工程知识点复习资料

软件工程知识点复习资料

软件工程知识点复习资料一、软件工程概述软件工程是一门研究如何以系统性的、规范化的、可度量的方法进行软件开发、运行、维护和管理的学科。

它涵盖了软件开发生命周期的各个阶段,包括需求分析、系统设计、编码实现、测试和维护等。

二、软件生命周期与开发模型1. 软件生命周期包括需求分析、系统设计、编码实现、测试和维护等阶段。

不同的项目可以采用不同的开发模型,常见的有瀑布模型、迭代模型和敏捷模型。

2. 瀑布模型是一种线性顺序开发模型,各个阶段严格按序进行,适用于需求较为稳定的项目。

3. 迭代模型将软件开发过程划分为多个迭代阶段,每个迭代阶段都包含需求分析、设计、编码和测试等活动,适用于需求较为不确定或需要持续改进的项目。

4. 敏捷模型强调快速响应需求变化和灵活合作,通过迭代、增量的方式进行开发,适用于需求频繁变更的项目。

三、需求工程1. 需求分析是软件开发的第一步,包括需求获取、需求分析、需求建模等过程,目的是明确系统的功能和性能需求,并与客户达成一致。

2. 需求获取可以通过面谈、问卷调查、观察等方式进行,需求分析则要对已收集到的需求进行分析、整理和归纳。

3. 需求建模使用UML(统一建模语言)等工具,将需求表示为用例图、活动图、时序图等形式,便于后续的系统设计和编码实现。

四、设计与架构1. 系统设计是软件开发的关键阶段,包括软件架构设计和详细设计等过程,目的是指导后续的编码和测试工作。

2. 软件架构设计确定系统的整体结构、模块划分和模块间的关系,常见的架构风格包括层次结构、客户-服务器、面向对象等。

3. 详细设计是对系统模块的具体设计,包括数据结构设计、算法设计和接口设计等,常用的设计方法有结构化设计和面向对象设计。

五、编码实现与调试1. 编码实现是将设计阶段得到的设计方案转化为计算机可执行的代码,采用合适的编程语言和开发工具进行。

2. 编码时要注重代码的可读性、可维护性和可重用性,采用良好的编程风格和命名规范。

软件工程复习资料-完整版

软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为( B ) 。

2、协作图中包含的元素包括(A ) 。

A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。

A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。

A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。

A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。

A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。

A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。

A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。

A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。

A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。

A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。

A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。

软件工程复习课资料整理

软件工程复习课资料整理

1.软件和软件工程分别是什么?软件的本质属性是什么?(1)软件简而言之即程序和文档;软件工程是研究和应用如何合理的开发和维护软件,以及如何把管理技术和技术方法结合起来的学科。

(2)软件本质属性包括构造性和演化性。

2.软件工程经历了哪几个发展阶段?(1)结构化程序设计(2)面向对象程序设计(3)基于组件软件系统开发(4)基于服务的软件系统开发3.软件的生命周期是什么?(1)问题的定义及规划(售前阶段)(2)需求分析(3)软件设计(4)程序编码(5)软件测试(6)运行维护4.什么叫瀑布模型?瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。

5.什么叫快速原型?快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。

6.什么叫敏捷开发?是一种以人为核心、迭代、循序渐进的开发方法。

在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

7.什么叫极限编程?极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。

它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。

8.什么是需求工程?为什么说需求分析对软件开发很重要?(1) 需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。

(2)需求分析之所以重要,就因为他具有决策性,方向性,策略性;需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求;9.什么叫UML?UML是做什么的?包含哪几个要素?(1)UML是统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。

软件工程复习资料(提纲+答案)

软件工程复习资料(提纲+答案)

软件工程复习资料(提纲+答案)第一章软件工程的实质1、什么是软件?由什么组成?软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。

可以写作为:软件=程序+数据+文档。

2、什么是软件危机?为什么会产生?(原因)软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。

原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高3、为什么要进行软件开发?4、软件工程的三段论?三段论:软件项目管理论、软件项目开发论、软件过程改进论5、软件工程生存期模型概念、类型、每种类型的特点?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。

6、了解复用的原则第二章软件项目的需求分析1、需求分析的主要任务?(基本任务)答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。

本阶段要主要有以下几方面工作:(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。

(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。

(3)编写文档,也就是完成“需求规格说明书”的编写工作。

2、需求分析分两大块(功能与非功能)功能需求描述系统所预期提供的功能或服务。

非功能需求是对系统提供的服务或功能给出的约束。

包括时间约束、开发过程的约束、标准等。

3、(P27)需求建模的基本方法?答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)4、结构化方法的代表?(P29)7状态图活动图8、理解好数据流图为什么要分层?9、UML中常用的9种图?(P32 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。

软件工程复习资料(整理)(精)

软件工程复习资料(整理)(精)

什么是软件?什么叫软件工程?它的目标是什么?软件:程序与文档。

定义一:应用于计算机软件的定义,开发和维护的一整套方法、工具、文档、实践标准和工序。

定义二:在软件设计、实现、检查、运行、维护各个过程中适用的立足于科学基础上的实用方法。

软件工程目标:用较少的投资获得高质量的软件。

什么是软件危机?主要表现?软件危机:在计算机软件的开发和维护过程中,所遇到的一系列严重问题,这一系列问题使软件产生了危机。

表现在:⑴对软件开发成本和进度的估计常常很不准确。

⑵用户易对“已完成的”软件系统产生不满。

⑶软件质量不可靠。

⑷软件常常是不可维护的。

⑸软件通常没有适当的文档资料。

⑹软件成本越来越高。

⑺软件开发生产率提高速度慢,跟不上发展。

可行性研究的目的是什么?用最小的代价在尽可能短的时间内确定问题是否能够解决。

若值得解,则推荐一个较好的方案,并制定一个初步的计划;若无可行解,则建议停止开发工程(以免浪费时间、人力、和金钱数据流图的基本要点是什么?描绘“做什么”,而不考虑“怎样做”。

软件生成期分几个阶段?几阶段的主要工作是?生命周期各阶段的基本任务:1、问题定义:要解决的问题是什么?2、可行性研究:问题是否有行得通的解决办法?3、需求分析:确定目标系统必须具备哪些功能。

4、总体设计:应如何解决这个问题。

5、详细设计:如何具体实现这个系统?6、编码和单元测试:写出正确的、容易理解的、容易维护的程序模块,并测试编写出的每一个模块。

7、综合测试:通过各种类型的测试使软件达到预定的要求。

8、软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。

何为功能模块?设计模块?功能模块:在分析阶段由系统分析员对该系统应完成的功能进行规定的模块。

设计模块:在后面设计阶段对如何实现这些功能进行描述的模块。

HIPO PSL PAD SADT 中文意思SADT:结构分析设计方法。

PSL:问题说明。

PSA:问题说明分析器。

HIPO:H图加IPO,即层次图加输入/处理/输出图。

软件工程复习资料浓缩版

软件工程复习资料浓缩版

Product specificationGeneric productsThe specification of what the software should do is owned by the software developer and decisions on software change are made by the developer.Customized productsThe specification of what the software should do is owned by the customer for the software and they make decisions on software changes that are required.产品规格仿制产品规范的软件应该做的是由软件开发人员和软件变更是由开发人员决定。

定制化产品规范的软件应该做的是属于客户的软件,他们决定改变是必需的。

What is software?Computer programs,associated documentation and data.软件是什么?计算机程序、相关文档和数据。

What are the attributes of good software?(随意其中4点就行)Maintainability Dependability Functionality usable security Efficiency Acceptability好的软件的属性是什么?可维护性可靠性功能可用的安全效率可接受性What is software engineering?(定义)Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.软件工程是什么?软件工程是一个工程学科,涉及软件生产的所有方面的早期阶段,系统规范通过维护系统后,已经投入使用。

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

Product specificationGeneric productsThe specification of what the software should do is owned by the software developer and decisions on software change are made by the developer.Customized productsThe specification of what the software should do is owned by the customer for the software and they make decisions on software changes that are required.产品规格仿制产品规范的软件应该做的是由软件开发人员和软件变更是由开发人员决定。

定制化产品规范的软件应该做的是属于客户的软件,他们决定改变是必需的。

What is software?Computer programs,associated documentation and data.软件是什么?计算机程序、相关文档和数据。

What are the attributes of good software?(随意其中4点就行)Maintainability Dependability Functionality usable security Efficiency Acceptability好的软件的属性是什么?可维护性可靠性功能可用的安全效率可接受性What is software engineering?(定义)Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.软件工程是什么?软件工程是一个工程学科,涉及软件生产的所有方面的早期阶段,系统规范通过维护系统后,已经投入使用。

What are the fundamental software engineering activities?Software specificationsoftware developmentsoftware validationsoftware evolution软件工程的基本活动是什么?软件规范软件开发软件验证软件演化What is the difference between software engineering and computer science? Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software什么是软件工程和计算机科学之间的区别吗?计算机科学侧重于理论和基础;软件工程涉及开发和交付有用软件的实用性What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this more general process软件工程和系统工程的区别是什么?系统工程涉及计算机系统开发的各个方面,包括硬件、软件和过程工程。

软件工程是更一般的过程的一部分What are the best software engineering techniques and methods?While all software projects have to be professionally managed and developed, different techniques are appropriate for different types of system. You can’t, therefore, say that one method is better than another最好的软件工程技术和方法是什么?尽管所有软件项目专业管理和开发,不同的技术适合不同类型的系统。

因此,你不能说一个方法比另一个好Importance of software engineeringMore and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of system, the majority of costs are the costs of changing the software after it has gone into use.软件工程的重要性越来越多的个人和社会依靠先进的软件系统。

我们需要能够生产可靠和值得信赖的系统经济和迅速。

它通常是更便宜,从长远来看,使用软件工程方法和技术为软件系统而不是编写程序,仿佛这是一个个人编程项目。

对于大多数类型的系统,大部分的成本改变软件的成本后,已经投入使用。

Ch4Functional and non-functional requirements的相关ppt,定义不需要考功能性和非功能性需求的相关ppt,定义不需要考Ch5System modeling✧the process of developing abstract models of a system, with each modelpresenting a different view or perspective of that system.✧represent a system using some kind of graphical notation✧helps the analyst to understand the functionality of the system and models areused to communicate with customers.系统建模发展的过程系统的抽象模型,每个模型提供一个不同的看法或观点的系统。

使用某种图形符号表示一个系统帮助分析师理解系统的功能和模型用于与客户沟通。

System perspectives includeAn external perspective, An interaction perspective, A structural perspective,A behavioral perspective.系统的观点包括外部的角度来看,一个交互的角度来看,结构的角度来看,一个行为的观点。

UML diagram types includeActivity diagrams,Use case diagrams, Sequence diagrams, Class diagrams, State diagrams.UML图类型包括活动图、用例图、序列图、类图、状态图。

Context modelsContext models are used to illustrate the operational context of a system上下文模型上下文模型是用于说明系统的操作环境Process perspective✧Context models simply show the other systems in the environment, not howthe system being developed is used in that environment.✧Process models reveal how the system being developed is used in broaderbusiness processes.✧UML activity diagrams may be used to define business process models过程的角度上下文模型只显示了其他系统环境,不是正在开发的系统是如何在这种环境下使用。

流程模型揭示系统正在开发用于更广泛的业务流程。

UML活动图可以用来定义业务流程模型Interaction models✧helps to identify user requirements.✧highlights the communication problems that may arise.✧helps us understand if a proposed system structure is likely to deliver therequired system performance and dependability.✧Use case diagrams and sequence diagrams may be used for interactionmodeling交互模型有助于确定用户的需求。

强调了可能出现的沟通问题。

帮助我们理解如果提出系统结构可能会交付所需的系统性能和可靠性。

用例图和序列图可以用于交互建模Use case modeling✧Use cases were developed originally to support requirements elicitation andnow incorporated into the UML.✧Each use case represents a discrete task that involves external interaction witha system.✧Actors in a use case may be people or other systems.用例建模用例开发最初支持需求抽取和现在纳入UML。

相关文档
最新文档