华软软件工程复习提纲
- 格式:ppt
- 大小:777.00 KB
- 文档页数:56
WORD 格式可编写软件工程复习纲要Chapter11.开发文档都有哪些?用图来表示它们之间的关系。
2.说明软件工程研究的内容。
3.软件工程的 7 条基根源理有何现实意义。
4.如何理解 ISO9000 的文档系统?质量手册、程序言件、质量记录三者有何联系和差异?5.如何理解 CMMI,如何用 CMMI去管理软件公司?6. 能否存在这一种现象:搞系统软件的公司不需要采用CMMI和 ISO9000 模式? CMMI和 ISO9000 模式只合用于搞应用软件的公司?假如是,为何,假如不是,又为何?7.软件工程与信息系统工程有何异同?8.如何理解元数据?Chapter21.为何要选择软件开发模型?软件开发模型与软件生计周期有什么关系?2.简述瀑布模型、增量模型、迭代模型、原型模型的优弊端。
3.软件公司的 ISO9000 或 CMM管理系统与软件开发模型相关吗,为何?4.你对“生计周期模型裁剪指南”有什么见解?5.“图书室信息系统”的开发采用什么开发模型适合?Chapter31.立项的详细表现形式是什么?2.立项建议书的编制者为何主假如软件公司的市场销售人员,而不是开发人员?3.什么叫风险剖析,技术风险与技术风险有何差异?3.合同、任务书、立项建议书三者有何异同?有何关系?4.对软件项目和产品的“功能、性能、接口”三项指标如何理解?Chapter41.需求剖析的目的是什么,需求剖析的难点在哪里?2.需求剖析的理论基础有哪几条?3.为何说需求剖析是面向流程的?4.解说术语:元数据、实体、中间数据。
5.用户需求报告与需求规格书有何差异?6.需求描绘有哪几种工具?你喜爱哪一种,为何?1.简述软件策划的步骤。
2.简述软件策划的方法。
3.简述对软件工作产品规模进行量化预计的方法。
4.软件工作产品和软件产品有何异同?5.名称解说:直接人工、直接花费、间接成本、制造花费、管理花费、不行预示花费。
6.如何理解软件中的胸怀,它有何作用?Chapter61.纲要设计说明书和详尽设计说明书有何差异?2.怎么理解“软件纲要设计是系统整体构造设计或系统架构设计”?3.模块实现设计包含哪些内容?4.为何软件设计要恪守“抽象、分解与模块化、低耦合高内聚、封装、接口和实现分别”的设计原理?Chapter71.简述 UML的优弊端。
软件工程复习提纲总结3篇七、软件维护1.软件维护的含义及类型?2.软件维护过程?3.◆需要把握的内容:4.1、面对对象分析(OOA)的任务?5.面对对象分析(OOA)过程中包括哪些活动?6.2、三种面对对象模型各自表示的内容?7.3、对象模型的表示工具?动态模型的表示工具?功能模型的表示工具?8.4、结合软件开发实例,理解三种面对对象模型之间的关系9.以及面对对象分析环节完成的主要工作。
10.11.---------------? 课堂练习题目一、填空题1.软件主要包括程序、和三部分内容。
2.软件可行性讨论的任务是从技术、和三个方面分析软件项目的可行性。
3.软件测试的目的是;通常把软件测试方法分为和两大类。
4.结构化分析方法中,功能模型用描述;数据模型用描述。
5.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以根据自己的需要为同名行为设计不同的算法,此性质称为类的__。
二、选择题1.产生软件危机的主要缘由有(C)。
①软件本身的特点②用户使用不当③硬件牢靠性差④程序员水平⑤缺乏好的开发方法和管理手段A.③④B.①②④C.①⑤D.①③2.需求分析阶段,开发人员需从用户那里获得的最重要信息是(C)。
A.用户能接受的开发费用B.用户能接受的开发周期C.用户要让软件做什么D.软件应具有何种结构3.数据流图中的每个处理至少有(B)。
A.一个输入流或一个输出流B.一个输入流和一个输出流C.一个输入流D.一个输出流4.在面对数据流的设计方法中,一般把数据流图划分为(C)两种类型。
A.数据流和事务流B.变换流和数据流C.变换流和事务流D.掌握流和事务流5.数据流图所描述的是实际系统的(A)。
A.规律模型B.物理模型C.程序流程D.数据结构6.由变换型数据流图转换成模块结构图,其中包括变换模块,则(B)。
A.变换模块就是主模块B.变换模块的功能是将规律输入变换为规律输出C.变换模块没有下层模块D.变换模块只能有一个输入量、一个输出量7.为了提高软件测试的效率,应当(C)。
华南理工大学《软件工程》复习要点第一章概述1.1软件:程序+相关文档和配置信息通用软件,定制产品软件工程一>计算机科学/系统工程软件过程:1.软件描述2.软件开发3.软件有效性验证4.软件进化软件过程模型:1.工作流模型2.数据流或活动模型3.角色/动作模型(从特定角度提出软件过程的简化描述)1.瀑布模型开发方法2.进化式开发方法3.形式化转换4.基于可复用的组件的系统组合软件成本软件工程方法统一建模语言UMLCASE工具1.2职业道德1.机密2.工作能力3.知识产权4.计算机滥用第三章软件过程软件描述软件设计和实现软件冇效性验证软件进化3.1软件过程模型瀑布模型:需求定义和分析;系统和软件设计;实现和单元测试;集成和系统测试;运行和维护进化式开发:探索式开发;抛弃式原型。
存在的三个问题:过程不可见,系统结构通常较差,特殊工具和技术的使用形式化系统开发:用形式化数学转换來将系统描述转换成一个可执行程序。
与瀑布模型之间的木质区别:1•软件需求描述被精炼成一个用数学符号表达的详细的形式化描述2.设计、实现和单元测试的开发过程被一个转换的开发过程所替代,在这个转换的开发过程中,形式化描述经过-•系列转换变成一个可执行程序。
面向复用的开发:1.组件分析2.需求修改3.使用复用的系统设计4.开发和集成3.2过程反复混合模型增量式开发;螺旋式开发。
增量式开发:瀑布模型的优势在于其简单的管理模型以及设计和实现的分离,这使得系统是鲁棒的、容易修改的。
述化式开发允许需求和设计决策的延迟,但是也导致了软件的较羌结构和难以理解和维护。
增量式开发是一个结合这两个模型的优点的综合方法。
冃的:减少返工好处:1.客户无需等到整个系统的实现。
(就可以使用)2.客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。
3.项冃总体失败的风险比较低。
4.重要的系统服务肖定接受了最多的测试,客户不太可能遇到失败。
螺旋式开发:每个回路被分成四个部分1.目标设置风险评估和规避开发和有效性验证规划特点:明确的风险考虑3.3软件描述〃非重点需求工程过程有四个主要阶段:1.可行性研究需求导出和分析需求描述需求有效性验证3.4.软件设计和实现〃非重点多次反复的过程,设计过程屮的活动是交替进行的。
《软件工程》复习提纲一一、、 授授课课的的主主要要内内容容11.. 基基本本概概念念((11)) 有有关关““软软件件工工程程””的的基基本本概概念念11))软软件件工工程程的的诞诞生生那是1968……22))软软件件危危机机计计算算机机软软件件开开发发和和软软件件维维护护过过程程中中所所遇遇到到的的一一系系列列严严重重问问题题统统称称为为““软软件件危危机机””。
概括地说,软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。
33))软软件件包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件(计算机)。
文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。
软软件件由由计计算算机机程程序序,,数数据据结结构构和和文文档档组组成成。
计算机程序执行特定的功能;数据结构是程序运行所需的数据;文档是描述程序开发、使用和维护的资料。
44)) 软软件件工工程程的的概概念念采采用用工工程程学学的的原原理理来来管管理理和和从从事事软软件件的的开开发发和和软软件件维维护护,,称称为为软软件件工工程程。
(工程学:系统化、规范化、数量化)55))软软件件质质量量的的基基本本概概念念(a )软件质量的定义与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体。
具体来说:1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。
(b )软件质量特性(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。
(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。
(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
(4)效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
(5)维护性:软件产品可被修改的能力。
1.可行性分析,需求分析,概要设计,详细设计阶段的参与人员有哪些?需求分析用户、管理人员、分析人员、软件开发小组成员2.在软件详细设计过程中采用的工具有哪些?程序流程图、N-S图、PAD图(问题分析图)、判定表&判定树、PDL等、Jackson方法3.白盒技术测试技术有哪些?(5.3-5.4)a)单元测试b)逻辑覆盖i.语句覆盖ii.判定覆盖(分支覆盖)iii.条件覆盖iv.判定/条件覆盖v.条件组合覆盖c)控制结构测试i.基本路径测试ii.条件测试iii.数据流测试iv.循环测试4.黑盒技术测试方法有哪些?(5.5-5.6)a)等价划分b)边界值分析c)错误推测d)验收测试e)集成测试5.软件生存周期的活动中,哪个阶段要进行软件结构设计?(概要设计阶段)软件生命周期由软件定义、软件开发、和运行维护3个时期组成的软件定义:问题定义、可行性分析、务求分析软件开发:系统设计(概要设计、详细设计)、编码、测试6.什么是瀑布模型?瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
如果有信息未被覆盖或者发现了问题,可以“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,7.什么是ER模型?实体联系模型,是概念数据模型的高层描述所使用的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。
8.什么是螺旋模型?螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。
螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。
同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。
螺旋模型更适合大型的昂贵的系统级的软件应用。
9. 什么是喷泉模型?喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。
软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。
第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。
创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
一、单项选择题
1、actor与用例之间的关系是 B 。
角色与用例的关系是关联
A、包含关系
B、关联关系
C、扩展关系
D、泛化关系
2、以下哪一项不是需求规格说明书的一部分?C
A、形式化模型
B、一组原型
C、对人力的需求
D、图形模型
3、下面哪一个是成本估算模型?C
A、IBM CMVC
B、PERT
C、COCOMO
D、CPM
4、以下哪种是瀑布模型的优点?A
A、在过程实现中,提供最好的工作次序且为软件工程提供结构化模板
B、因为模型本身具有一定顺序,所以在实现过程中的任何更改将导致混乱
C、用户很难根据规范说明书预见最终构建的系统是否能满足其需求
D、客户很难一次给出所有需求,但这些需求对于模型是必须的
5、需求分析中产生的各种错误类型中,其中不正确的事实占 D %。
A、13
B、 5
C、29
D、49
二、判断题
1、螺旋模型是一种迭代模型。
√
2、用例之间的关系主要有泛化、扩展和包含三种关系。
√
3、β测试由客户代表在开发人员站点进行,错误报告交由开发人员处理。
×(这个是a测试而非β测试,所以是错误的)
4、需求工程将对项目提供可行性评估。
×
5、软件经济可行性分析不应包括社会效益,因为无法测量。
×。
软件工程复习资料(提纲+答案)第一章软件工程的实质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、软件工程的各个生存期模型的特点和适合项目。
(生存期模型有瀑布模型、V模型、原型模型、增量式模型和螺旋式模型)(部分是在网上找的,老师说考这些模型的特点,有什么情况下适合用什么来进行开发。
)瀑布模型的特点:(1)阶段间具有顺序性和依赖性。
(2)推迟实现的观点。
(3)每个阶段必须完成规定的文(每个阶段结束前完成文档审查, 及早改正错误。
)(4)下一个阶段可以回溯到前面的某个阶段适合于:1.开发阶段需求很少有变化2.分析设计人员对应用领域很熟悉3.低风险项目4.用户使用环境很稳定5.用户除提出需求外,很少参与开发工作类似的项目如:公司的财务系统;库存管理系统;短期项目V模型的特点:(1)简单易用(2)强调测试过程与开发过程的对应性和并行(3)没有反应实际的开发过程。
V模型适合的项目:❑在项目开始前,项目的需求很明确❑在项目开始前,解决方案也很明确❑对系统的性能安全很严格的项目❑类似的项目如:❑航天飞机等❑公司的财务系统原型模型的特点:(1)在需求定义之前,需要快速构建一个系统(2)根据构建系统的优缺点,用户给开发人员提出反馈意见(3)根据反馈意见修改软件需求规格,以便系统可以更正确的反映用户的需求(4)减少各种假设以及风险适合的项目:❑在项目开始前,项目的需求不明确❑需要减少项目需求的不确定性❑类似的项目如:❑确定显示界面❑第一次开发的产品,验证可行性增量式模型的特点:1.需求多变,可以分阶段提交产品。
2.分析设计人员对应用领域不熟悉,难以一步到位。
3.用户参与整个软件开发工程中,起到对客户起到镇静剂的作用,增量能够有计划地管理技术风险。
4.软件公司自己有较好的类库或构件库5.增量的内容写入合同,可能会引起客户的不满。
6.融合了瀑布模型的基本成分和原形实现的迭代特征,优点是人员分配灵活,刚开始不用投入大量人力资源,如果核心产品很受欢迎,则可增加人力实现下一下增量。
软件工程复习提纲I. 软件工程概述A. 定义与目标B. 发展历程C. 软件工程原则与方法论II. 软件开发过程A. 瀑布模型1. 阶段划分与任务2. 优点与缺点B. 增量模型1. 阶段划分与任务2. 优点与缺点C. 喷泉模型1. 阶段划分与任务2. 优点与缺点III. 需求工程A. 需求获取与分析1. 用户需求调研2. 需求规格化B. 需求验证与确认1. 需求评审2. 需求跟踪与控制IV. 软件设计A. 结构设计1. 模块化设计原则2. 模块间接口设计B. 数据设计1. 数据建模2. 数据库设计C. 用户界面设计1. 人机交互原则2. 界面布局与设计规范V. 软件构建A. 编码规范与标准1. 命名规范2. 代码注释B. 单元测试与集成测试1. 测试用例设计2. 测试工具与技术VI. 软件质量保证与控制A. 质量特性及度量1. 功能性2. 可靠性3. 可维护性4. 可测试性B. 缺陷管理1. 缺陷跟踪与报告2. 缺陷分析与修复VII. 软件项目管理A. 项目规划与组织1. 范围管理2. 人力资源管理B. 项目进度与成本控制1. 进度计划与跟踪2. 成本估算与控制VIII. 软件配置管理A. 版本管理1. 版本控制工具2. 分支与合并策略B. 变更管理1. 变更控制流程2. 变更影响分析IX. 软件工程伦理与职业责任A. 代码所有权与知识产权B. 软件开发道德标准X. 结语以上是软件工程复习提纲的架构,通过对各个主题的概要介绍和论述,有助于理解软件工程的基本概念、方法和流程,并为考试或复习提供了一个清晰的框架。
在准备复习时,可以根据这个提纲,进一步深入学习和了解各个主题中的具体知识点和案例。
软件工程是一门重要的学科,对于软件开发和项目管理都有着重要的指导意义,希望通过这个提纲的复习,能够帮助你更好地掌握软件工程领域的核心知识。