软件工程期末考试重点

软件工程期末考试重点《软件工程》期末复习重点第一章软件工程1. 什么是软件工程。

A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。

2. 软件工程的三要素:方法、工具和过程。

第二章软件过程1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。

概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。

c.运行维护:修正错误,使软件持久地满足用户需要。

改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2. 常用的过程模型有哪些?各自的特点及不足。

如:瀑布模型的不足是不能适应需求的动态变更。

A.瀑布模型特点:可强迫开发人员采用规范化的方法。

严格地规定了每个阶段必须提交的文档。

要求每个阶段交出的所有产品都必须是经过验证的。

缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格与用户需求之间有差异,就会发生这种情况。

只适用于项目开始时需求已确定的情况。

B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。

降低了规格说明文档变化的可能性。

减少了后续阶段错误的可能性。

c.增量模型1优点:人员分配灵活,刚开始不用投入大量人力资源。

当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。

增量能够有计划地管理技术风险。

缺点:要求构件具备开放式的体系结构。

易退化为边做边改模型,从而使软件过程的控制失去整体性。

D.螺旋模型优点:客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点:风险评估依赖专家。

建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

E.喷泉模型优点:各个阶段没有明显的界限,开发人员可以同步进行开发。

可提高软件项目开发效率,节省开发时间。

缺点:于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。

要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

第三章结构化分析1. SA即结构化分析,是一种面向数据流的分析方法。

2. 结构化分析实质上是一种建模的活动,主要建立三种模型:实体关系图ERD流图DFD转换图STD。

最后产生的结果是软件需求规格说明。

3. 数据流图是一种描绘信息流和数据从输入移动到输出的过程中所经受的变换的图形化技术。

4. 状态转换图通过描绘系统的状态及引起系统状态转换的事件,表示系统的行为,从而提供了行为建模的机制。

5. 获取需求进行需求分析的方法很多,其中,快速建立软件原型是最准确、最有效和最强大的需求分析技术。

6. SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用判定表或判定树来描述。

7. 4GT即第四代技术,包括众多数据库查询和报表语言、程序和应用系统生成器以及其他非常高级的非过程语言。

8. 数据流图。

注意分层画:先顶层DFD,再0层DFD。

9. 数据字典。

只需给出数据元素的组成即可。

第四章结构化设计1. 软件设计的目标是设计出所要开发的软件的模型,通常把软件设计工作划分为概要设计和详细设计两个阶段。

22. 软件概要设计结束后得到的是优化后的软件结构图。

3. 什么是模块化?模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

模块独立性的衡量标准是耦合和内聚。

4. 什么是耦合,每种耦合各自的特点。

什么是内聚,每种内聚各自的特点。

A.耦合是对一个软件结构内不同模块之间互连程度的度量。

非直接耦合:模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。

这种耦合的模块独立性最强。

数据耦合:在两个模块间往返传递的只有数据,这种耦合称数据耦合。

在模块间只有数据传输,模块接口简单。

在不可避免的耦合中是耦合力最低的,也是较理想的耦合。

标记耦合:指两个模块之间传递的是数据结构。

其实传递的是这个数据结构的地址。

两个模块必须清楚这些数据结构,并按要求对其进行操作,这样就降低了可理解性。

控制耦合:如果一个模块通过传送控制信息,明显地控制选择另一模块的功能就是控制耦合。

公共耦合:允许两个以上模块引用或访问同一个公用数据区。

内容耦合:当一个模块使用另一个模块内部的数据或信息时,或者转移进入另一个模块中时,产生模块间内容耦合。

B.内聚用来衡量一个模块内各个元素彼此结合的紧密程度。

偶然内聚:一个模块完成一组任务,任务之间的关系很松散。

缺点:可理解性差,可修改性差。

逻辑内聚:这种模块把几种功能组合在一起,每次被调用时,则传递给模块的判定参数来确定该模块应执行哪一种功能。

V88o 缺点:增强了耦合程度,不易修改,效率低。

时间内聚:模块完成的功能必须在同一时间内执行,这些功能只因时间因素关联在一起。

过程内聚:一个模块内各处理成分的动作各不相同,但它们都受一个控制流的支配,且决定了它们的执行次序。

通信内聚:模块中的所有元素都使用相同输入数据,和/或产生相同输出数据。

顺序内聚:一个模块能完成多个操作,前一个操作处理的输出数据是下一个操作处理的输入数据,模块中各成份的工作是有次序的,各成份的关系也较紧密,则称为顺序内聚。

功能内聚:一个模块内的所有成分的处理动作全部为完成某个功能,且只执行一个功能,缺一不可,称为功能内聚。

5. 模块优化的目标是高内聚低耦合。

最高内聚是功能内聚。

36. 面向数据流的设计方法中把数据流图中数据流分为两种:变换流和事务流。

7. 过程设计的工具有哪些。

这些工具各自的特点。

层次图 HIPO图结构图8. 判定树。

9. 程序流程图。

第五章结构化实现1.什么是白盒测试?白盒测试主要采用的技术有哪些?几种白盒测试方法各自的基本思想。

白盒测试,又称结构测试、逻辑驱动测试。

是对软件的过程性细节做细致的检查。

按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。

白盒测试的方法:代码检查法、静态结构分析法、静态质量度量法逻辑覆盖法、基本路径测试法等基本思想:逻辑覆盖是通过采用流程图来设计测试用例,它考察的重点是图中的判定框,因为这些判定通常是与选择结构有关或是与循环结构有关,是决定程序结构的关键成分。

基本路径测试是通过分析流图的环形复杂度,导出基本可执行路径集合,从而设计测试用例的方法。

2. 什么是黑盒测试?黑盒测试主要采用的技术有哪些?几种黑盒测试方法各自的基本思想。

黑盒测试,又称功能测试。

把测试对象看作是一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只需依据程序的需求规格说明书来检查程序的功能是否符合它的功能说明。

黑盒测试方法:穷举输入测试等价类划分法边界值分析法、错误推测法基本思想:因果图法等价类划分法是把输入数据的可能值划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,这样就可以少量的代表性测试数据,来取得较好的测试结果。

边界值分析是对等价类划分方法的补充,不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

错误推测法就是猜测被测程序在哪些地方容易出错,然后针对可能的薄弱环节来设计测试用例。

因果图法是借助图形来设计测试用例的一种系统方法。

3. 软件测试方法从是否执行程序的角度可划分为静态测试和动态测试;从是否关心软件内部结构和具体实现的角度可划分黑盒测试和白盒测试。

4. 什么静态测试。

什么是动态测试。

4静态测试:是指测试不运行的部分,只检查和审核。

动态测试:指通常意义上的测试,使用和运行软件。

5. 测试步骤:单元测试、集成测试、确认测试和系统测试。

6. 单元测试一般以白盒测试为主,测试的依据是模块的功能规格说明。

7. 集成测试中最常用的是黑盒测试,辅以白盒测试。

8. 逻辑覆盖测试法是一种白盒测试方法,几种不同覆盖标准的区别。

发现错误的能力 1 2 3 4 5 9.标准语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖含义每条语句至少执行一次每一判断的每个分支至少执行一次每一判定中的每个条件,分别按‘真’‘假’至少个执行一次同时满足判定覆盖和条件覆盖的要求求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次测试用例主要输入数据和预期输出结果组成。

第六章面向对象方法学导论1. 面向对象模型主要有三种:对象模型、动态模型和功能模型。

2. 面向对象的四个特点:抽象、继承、封装和多态。

3. 面向对象方法的主要特点?使人们更好地认识客观世界。

能很好地适应需求变化。

容易实现软件复用。

系统易于维护和修改。

第七章面向对象分析1. OOA即面向对象分析2. 面向对象分析阶段主要建立的三种模型:对象模型、功能模型、动态模型。

3. 用例建模的主要目标有哪些?将需求规约变为可视化模型,并得到客户确认。

给出清晰、一致的关于系统“做什么”的描述,确定系统的功能要求。

提供从功能需求到系统分析、设计、实现各阶段的度量标准。

为最终系统测试提供给制,据此验证系统是否达到功能要求。

为项目目标进度管理和风险管理提供依据。

4. 用例图。

注意其中的依赖关系。

5. 类图。

注意其中每个对象类的属性和操作。

第八章面向对象设计1. OOD即面向对象设计2. OOD体系结构主要包括四部分:设计问题论域部分:设计构造为底层应用建立模型的类和对象,细化分析结果。

设计人机交互部分:设计有关类接口视图的用户模型的类和对象,设计用户界面。

设计任务管理部分:确定系统资源的分配,设计用于系统中类行为控制的对象或类。

设计数据管理部分:确定持久对象的存储,将对象转换成数据库记录或表格。

第九章面向对象实现djsalkdf5泳道用纵向矩形表示生命线画作一个方格,一条虚线从上而下,通过底部边界的中心,生命线对象的名字放置在方格里第十章 UML1. UML中的关系主要有哪四种?它们分别使用什么符号表示?依赖、关联、泛化、实现2. UML共有九个图,每个图主要描述什么?主要元素有哪些,它们的符号又如何表示?1用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。

合集下载

《软件工程》-重点考试知识点,简答

《软件工程》-重点考试知识点,简答

第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。

主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。

原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。

软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。

软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。

软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

软件工程期末复习重点

软件工程期末复习重点

1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。

这个时期的工作通常又称为系统分析,由系统分析员负责完成。

软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。

6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。

其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。

7.维护时期的主要任务是使软件持久地满足用户的需要。

8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。

9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。

a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。

①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。

c)质量保证的观点:软件工程的基本目标是优质、高产。

为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。

每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。

每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。

软件工程期末复习必备知识点

软件工程期末复习必备知识点

一、概念解释1.软件:是程序,数据结构和文档的集合,用于实现系统所需要的逻辑方法、过程和控制。

2.软件危机:是软件开发和维护过程中所遇到的一系列严重的问题。

3.软件周期:是从软件从定义,开发,运行维护到废弃时经历的一个漫长的时期。

4.需求分析:是发现,求精,建模,规格说明和复审的过程。

5,概要设计:通过仔细分析需求规格说明,确定完成系统的模块以及各模块之间的关系,设计出完成预定功能的模块(软件结构),并建立借口。

详细设计:设计完成系统的模块内的算法和数据结构。

6.模块化:将软件划分成可以独立命名的且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能来满足用户的需求。

信息隐藏:一个模块内包含的信息对于一个不需要这些的模块来说是不可访问的。

7.耦合:是一个软件结构内的每个模块互连程度的度量。

内聚:一个模块间各个元素之间的紧密的程度。

8.类:是对有相同数据和相同操作的一组相似对象的抽象描述。

对象:是客观世界中事物的抽象表示,其属性(状态、数据)和相关操作(行为、方法或服务)的封装体;对象之间靠消息传递相互作用。

9.消息:是对象之间相互通信的机制,是某个对象执行其操作的规格说明。

消息传递:一个对象向另一个对象发送消息时,接收消息的对象经过解释、给予响应,这种对象之间进行通信的机制成为消息传递。

10.继承:继承是子类(新类)自动的共享父类(已有类)中定义的数据的操作的机制。

子类可以继承父类的属性和操作;同时子类可以定义自己独有的属性和操作。

子类复用父类的定义,而不修改父类。

继承具有传递性。

多态性:在一个类层次中,不同对象对相同消息做出不同的响应。

11.软件重用:是指同一事物不做修改或者稍加修改就可多次重复使用,软件重用是降低软件开发成本,提高软件开发生产率和质量的有效途径。

12.软件测试:根据软件开发的规格说明和程序的内部结构而设计的一个测试用例,利用这些测试用例去运行程序以发现设计和程序错误的过程。

软件工程期末考试重点

软件工程期末考试重点

《软件工程》期末复习重点第一章软件工程1.什么是软件工程。

A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。

2. 软件工程的三要素:方法、工具和过程。

第二章软件过程1.软件生命周期分为哪几个阶段?每个阶段的基本任务是什么?a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。

概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。

c.运行维护:修正错误,使软件持久地满足用户需要。

改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2.常用的过程模型有哪些?各自的特点及不足。

如:瀑布模型的不足是不能适应需求的动态变更。

A.瀑布模型特点:可强迫开发人员采用规范化的方法。

严格地规定了每个阶段必须提交的文档。

要求每个阶段交出的所有产品都必须是经过验证(评审)的。

缺点:太理想化,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格与用户需求之间有差异,就会发生这种情况。

只适用于项目开始时需求已确定的情况。

B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。

降低了规格说明文档变化的可能性。

减少了后续阶段错误的可能性。

c.增量模型优点:人员分配灵活,刚开始不用投入大量人力资源。

当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。

增量能够有计划地管理技术风险。

缺点:要求构件具备开放式的体系结构。

易退化为边做边改模型,从而使软件过程的控制失去整体性。

软件工程期末考试主要知识点电子版

软件工程期末考试主要知识点电子版

4.七条基本原理:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。

10、RUP是Rational软件公司进过多年的商业化经验的六条最有效的软件按开发经验:迭代式开发、管理需求、使用基本构件的体系结构、可视化建模、验证软件质量、控制软件变更11、.微软过程生命周期的阶段以及各阶段的里程碑:(1)规划阶段(项目目标得到认可);(2)设计阶段(完成产品设计);(3)开发阶段(完成开发工作);(4)稳定阶段(准备好可发布版本);(5)发布阶段(完成产品发布)13、可行性研究的目的是用最小的成本在较短的时间内确定问题是否能够解决。

14. 对问题的每一种解法一般需要进行1.技术可行性2.经济可行性3.操作可行性4.法律可行性15. 在可行性研究阶段使用的描述工具有哪些?系统流程图,数据流图,数据字典。

16. 系统流程图:是概括地描述物理系统的传统工具表达的是数据在系统各部件之间的、流动的情况。

其基本思想是用图形符号从黑盒子描绘组成系统的各个部件(程序、文档、数据库、人工过程等)数据流图:是一个图形化技术,它描述信息流和数据从输入一点到输出的过程中所经受的变换。

数据字典:关于数据的信息的集合,即对数据流图中包含的所有元素的定义的集合17. 数据流图仅反映系统必须完成的逻辑功能,所以只是描绘数据在软件中流动和被处理的逻辑过程18. 数据字典的基本元素:数据流、数据元素、数据存储、处理21. 在进行成本/效益分析时首先需要估计成本。

成本估计可以使用那些技术?代码行技术、任务分解技术、自动估计成本技术22. 需求分析阶段的具体任务是什么?确定对系统的综合要求、分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划23. 需求分析最终结果是什么体现的?分析模型、软件需求规格说明书24. 需求分析阶段完成的文档有哪些?分析模型、软件需求规格说明书25. 需求分析阶段使用的图形工具有哪些?数据流图、E-R图、状态转换图、层次方框图、watnier图、IPO图26. 在大型数据处理系统的功能分析与设计中,数据库的概念设计对应于系统开发的哪个阶段?对应需求分析阶段27. 最常用的表示概念性数据模型的方法是什么?E-R图28. 一般说来,应该从哪几个方面来验证需求分析的正确性?一致性、完整性、现实行、有效性29. 什么有穷状态机?有穷状态机有何作用?有穷状态机又哪几部分组成?有穷状态机:一个5元组(JKTSF)J有穷非空状态集K有穷的非空输入集T是一个从(J-F)*K到J 的转换函数、S属于J,初始状态。

软件工程期末考试复习重点

第一章软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。

软件危机的主要表现:1、对软件开发成本和进度的估计常常很不准确。

2、用户对“已完成的”软件系统不满意的现象经常发生。

3、软件产品的质量往往靠不住。

4、软件常常是不可维护的5、软件通常没有适当的文档资料6、软件成本在计算机系统总成本中所占的比例逐年上升7、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势软件工程:定义一:是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。

定义二:1.把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2.研究1.中提到的途径。

软件工程方法学的三个要素:方法、工具和过程。

目前使用的最广泛的软件工程方法学:传统方法学、面向对象方法学。

软件的生命周期:软件生命周期有软件定义、软件开发和运行维护3个时期组成;定义时期分为:问题定义、可行性研究和需求分析阶段;开发时期分为:总体设计、详细设计、编码和单元测试、综合测试;维护时期的任务:是软件持久的满足用户的需求;瀑布模型:最广泛的过程模型;瀑布模型的特点:1、阶段间具有顺序性和依耐性;2、推迟实现的观点;3、质量保证的观点;Rational统一过程(RUP)四个阶段的工作目标:初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围;精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求;构建阶段:开发出所有构件和应用程序,把他们集成为客户需要的产品,并且详尽地测试所有功能;移交阶段:把开发出的产品提交给用户使用;第二章可行性研究的目的是确定问题是否值得去解决;可行性研究的方面:技术可行性、经济可行性、操作可行性;系统流程图描述物理模型;P39(要求会做)数据流图描述逻辑模型;P40(要求会做)数据流图(DFD)描绘信息流和数据从移动到输出的过程中所经受的变换;数据字典有以下4类元素的定义组成:数据流、数据流分量(数据元素)、数据存储、处理;由数据元素组成的数据的方式三种基本类型:顺序、选择、重复;“=”是等价于(或者定义为),“+”是和(用来连接分量),“[ ]”是或(从其中选一),“{ }”是重复,“()”是可选;第三章:需求分析任务:功能需求是指定系统必须提供的服务,通过该分析划出该系统必须完成的所有功能。

软件工程 重点

1.软件工程的基本原理:①用分阶段的生命周期计划严格管理;②坚持进行阶段评审;③实行严格的产品控制;④采用现代化程序设计技术;⑤结果应能清楚地审查;⑥开发小组的人员应该少而精;⑦承认不断改进软件工程实践的必要性。

2.面向对象方法学的含义:①把对象作为融合了数据及在数据上的操作行为的统一的软件构件;②把所有对象都划分成类;③按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。

④对象彼此间仅能通过发消息互相联系。

3.软件生命周期:①问题定义;②可行性研究;③需求分析;④总体设计;⑤详细设计;⑤编码和单元测试;⑦综合测试;⑧软件维护4.软件定义时期的任务:①确定软件开发工程必须完成的总目标;②确定工程的可行性;③导出实现工程目标应该采用的策略及系统必须完成的功能;④估计完成该项工程需要的资源和成本,并制定工程进度表。

5.瀑布模型的特点:①阶段间具有顺序性和依赖性;②推迟实现的观点;③质量保证的观点;6.敏捷软件开发宣言的组成:①个体和交互胜过过程和工具;②可以工作的软件胜过面面俱到的文档;③客户合作胜过合同谈判;④响应变化胜过遵循计划。

6.重构:所谓代码重构就是在不改变系统行为的前提下,重新调整和优化系统的内部结构,以降低复杂性,消除冗余,增加灵活性和提高性能。

7.可行性研究的任务:①技术可行性②经济可行性③操作可行性。

8.数据字典的内容;①数据流②数据流分量(即数据元素);③数据存储;④处理。

9.成本估计的三种方法:①代码行技术②任务分解技术③自动估计成本技术。

10.数据流图符号的含义:或数据的源点/终点或变换数据的处理数据流11.第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。

12.第二范式:满足第一范式条件,而且每个非关键字属性逗由整个关键字决定。

(而不是由关键字的一部分来决定)。

13.从哪些方面验证软件需求的正确性:①一致性②完整性③现实性④有效性14.验证软件需求的方法:①验证需求的一致性(人工技术审查,软件工具)②验证需求的现实性(用现有的软,硬件技术实现目标系统。

软件工程复习重点

软件工程复习重点温馨提示:紫魏嫒你的个人盘点,有任何遗漏记得通知一下哦,亲~题型:一、名词解释5个15分二、简答题6个50分三、综合设计与计算21分四、软件架构14分第一章1、软件危机定义:软件危机(Software Crisis)是指软件在开发和维护过程中所遇到的一系列严重问题。

2、产生软件危机的原因:既与软件本身的特点有关,也和软件开发和维护的方法不正确有关。

●软件是逻辑产品而不是物理产品,进度和质量难于评价,开发过程难于管理和控制;●软件规模庞大,程序的复杂性随程序规模的增长而呈指数增长;●开发过程中或多或少地采用了错误的技术和方法(如忽视需求分析、认为开发软件就是写程序、轻视软件维护等)。

3、软件的生命周期:软件从定义、开发、使用和维护,直到最终被废弃这个漫长的时期称为软件的生命周期。

4、消除软件危机的途径:●对软件的定义有一个正确的认识。

●必须认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、协同配合、共同完成的工程项目。

必须吸收和借鉴人类长期从事工程项目所积累起来的原理、概念、技术和方法以及计算机硬件研究和开发的经验和教训;●推广使用在实践中总结出来的成功的技术和方法,消除错误的概念和做法,使用和开发更好的软件工具,形成更好的软件工程支撑环境.总之,需要通过一定的技术措施(技术和方法)和管理措施来消除软件危机。

5、软件工程:软件工程是:①把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,即把工程化应用于软件中;②研究①中提到的途径。

6、软件工程的本质特性:●软件工程关注于大型程序的构造;●软件工程的中心课题是控制复杂性;●软件经常变化;●开发软件的效率非常重要;●和谐地合作是开发软件的关键;●软件必须有效地支持它的用户;●软件工程领域是由具有一种文化背景的人替具有另一种文化背景的人创造产品(跨文化)。

7、软件工程的基本原理:●用分阶段的生命周期计划严格管理●坚持进行阶段评审●实行严格的产品控制●采用现代程序设计技术●结果应能清楚地审查●开发小组人员应该少而精●承认不断改进软件工程实践的必要性8、软件工程方法学:通常把软件生命周期过程中使用的一整套技术的集合称为软件工程方法学(Methodology),也称为范型(Paradigm),它包括方法(如何做)、工具(支撑平台)和过程(工作步骤)。

软件工程考试重点(灰常重要)

软件工程考试重点(灰常重要)软件工程考试重点(灰常重要)软件工程考试是每个软件工程专业学生所必须面对的一项重要考试。

它是评估学生在软件开发、项目管理、质量保证和软件工程实践等方面的理论知识和实践能力的重要指标。

在这篇文章中,我们将重点介绍软件工程考试的几个重要内容,帮助学生们更好地备考和应对考试。

一、需求工程需求工程是软件工程的基石,它涉及到对软件系统需求的分析、建模和管理。

在软件工程考试中,需求工程占据了重要的比重。

学生们需要掌握需求获取和分析的方法,了解不同类型的需求模型(如用户需求、系统需求、功能需求和非功能需求等),并能够运用适当的需求工程工具和技术来解决实际问题。

二、软件设计软件设计是指将需求转化为可执行代码或软件系统的架构和模块设计。

在考试中,学生们需要熟悉软件设计的原则和方法,包括模块化设计、面向对象设计、设计模式等。

同时,学生们还需要具备使用设计工具和建模语言进行软件设计的实际操作能力。

三、软件开发方法和过程软件工程中的软件开发方法和过程对于考试来说也是非常重要的内容。

学生们需要了解不同的软件开发方法,例如瀑布模型、敏捷开发、迭代开发等,并了解每种方法的特点、适用场景和优缺点。

此外,对于软件开发过程的理解和掌握同样至关重要,学生们需要熟悉软件工程中的需求分析、设计、编码、测试、部署等各个阶段,并了解每个阶段的任务和关键活动。

四、软件测试和质量管理软件测试和质量管理是确保软件开发过程中质量和可靠性的关键环节。

学生们需要了解各种软件测试方法和技术,包括单元测试、集成测试、系统测试、性能测试等,以及软件质量管理的原则和实践。

同时,学生们还需要具备编写测试用例、执行测试计划和分析测试结果的能力。

五、软件项目管理软件项目管理是对软件开发过程进行规划和组织的过程。

在考试中,学生们需要了解软件项目管理的基本概念和方法,包括项目计划、进度管理、风险管理、团队管理等。

此外,学生们还需要了解不同的项目管理工具和技术,如甘特图、敏捷项目管理等。

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