软件工程各章知识点_第1页
软件工程各章知识点_第2页
软件工程各章知识点_第3页
软件工程各章知识点_第4页
软件工程各章知识点_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1.软件危机:在计算机软件的开发与维护当中所遇到的问题。

1.2、软件工程的五个面向理论:

(1)面向流程分析:就是面向流程进行需求分析。

(2)面向数据分析:就是面向元数据进行概要设计。

(3)面向对象实现:就是面向对象进行详细设计和编程实现。

(4)面向功能测试:就是面向功能进行单元测试、集成测试、Alpha测试和Beta测试。

(5)面向过程管理:就是面向过程对软件生存周期各个阶段进行管理和控制。

2.1、螺旋模型:引入了风险驱动的思想,适合大型复杂的系统。

2.2、原型模型:在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客

户试用,在试用中收集客户意见,根据客户意见立刻修改原型,之后再让客户试用,反复循环几次,

宜到客户确认为止。原到模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正

反映用户的需求.

2.3、原型模型优点:开发速度快,用户意见反馈实时,有利于开发商在短时间内推广并实施多个客

户。

2.4、快速原型法:适用于有效适应用户的动态变化,及早地提供工作软件。

2.5、瀑布模型特点:以文档为驱动,适合于需求明确的项目。

2.6、软件生存周期:

立项(或签合同)、下达任务书、需求分析、概要设计、详细设计、编码实现、软件测试、软件发布

与实施,软件维护,版木更新或退役.

2.7、软件开发进度书:用进度表示,明确每个阶段需要完成的任务的一张表。

3.1、软件需求规格说明书的规格:

(1)引言:编写目的、背景说明、术语定义及参考资料等。

(2)概述主要功能、约束条件或特殊需求。

(3)数据流图与数据字典。

(4)用户接口、硬件接口及软件接口。

(5)性能需求、属性等。

(6)其它需求,如数据库、操作及故障处理等。

3.2、软件开发过程中抽取和整理用户的需求、数据

3.3、需求分析的最终目标:导出系统的详细的逻辑模型,通常用数据流图、E-R图、状态转换

图、数据字典和主要的处理算法描述这个逻辑模型。

3.4、面向对象的三种方法?(对象、过程、数据)

3.5、E-R图包括哪三个部分?(实体、实体间联系、实体属性)

3.6、需求分析的主要任务:准确定义未来系统的目标,确定为了满足用户的需要系统必须做什

么。

4.1、模块的耦合程度越弱,说明模块独立性越强。

4.2、模块的作用域:应该在控制域内一个模块的控制域,是模块本身及其所有从属(及所有可供他调

用的下级模块)。一个模块的作用域,是受这个模块中决策影响的其他模块。

4.3、软件结构图的形态特征反映重入率扇入(软件结构的深度.宽度.扇入.及扇出应适当)。

4.4、软件结构图不出故障、持续运行的可用性

4.5、概要设计得到的是优化后的软件结构图。

4.6、PAD图(问题分析图)的优点之一:支持逐步细化、从左到右的完成。

4.7、模块的内聚性最高:模块的内聚反映模块内部联系的紧密程度。如果一个模块内部相关性很高,

而且都是为了同一个功能,我们就说它的内聚程度高。

4.8、总体设计时,加强模块间的联系

4.9、模块的定义:是数据说明、可执行语句等对象的集合。

4.10、程序问题

4.11、程序问题

51、软件建模的三个模型:功能模型、业务模型、数据模型。

6.1>成功的测试指:发现了至今没有发现的错误。

6.2、测试计划在何时实行?

1)why——为什么要进行这些测试;2)what—测试哪些方面,不同阶段的工作内容;3)

when—测试不同阶段的起止时间;4)where—相应文档,缺陷的存放位置,测试环境等;5)

who—项目有关人员组成,安排哪些测试人员进行测试6)how—如何去做,使用哪些测试工具以

及测试方法进行测试。

6.3、测试时,覆盖哪一个最好?

(1)为每个等价类编号;

(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效

等价类被覆盖为止。

(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有无效等价

类被覆盖为止。

I语句莅盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行

一次;

2判定覆盖(也称为分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分

支和取假分支至少执行一次;

3条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值

至少执行一次;

4判定■条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可

能取值至少执行一次,并且每个可能的判断结果也至少执行一次,换句话说,即是要求各个判断的所

有可能的条件取值组合至少执行一次;

5条件组合测试:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值

组合至少执行一次;

6路径测试:设计足够多的测试用例,运行所测程序,要覆盖程序中所有可能的路径。

6.4、软件测试的目的:发现软件错误。

6.5、白盒测试是根据内部逻银进行测试的。

6.6、测试用例:是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个

程庄路径或核实是否满足某个特定需求。

6.7、黑盒测试?也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把

被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程

序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收愉入数据产生正确的输出信

息,并且保持外部信息(如数据库或文件)的完整性。

黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。

7.1、软件维护:

1改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的

目的。

2适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改

软件的活动;

3完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;

4预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

7.2、软件维护哪一个最重要?

8.1、系统应错误而发生错误的运行的软件:容错软件。

8.2、软件配置管理协调开发,使错误降为最小并最有效地提高生产效率,降低混乱。

I.读者同意“四种开发方法”和“五个面向理论”的提法吗?为什么?

“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法:面向过

程的方法来源于面向过程的程序设计;面向对象的方法来源于面向对象的程序设计;面向数据的方法

就是面向元数据的方法,它来源于关系数据库程序设计;形式化方法来源于离散数学中的集合运算和

逻辑运算。四种方法各适用于不同的场合,各有优缺点,互用促进,构成开发方法论的多极化世界。

“五个面向理论”是指“面向流程分析•、面向数据设计、面向对象实现、面向功能测试、面向过程管

理.♦,它是在综合•,四种开发方法♦,各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。

总之,上述提法既精彩又实用,

2.如何用面向数据的编程方法进行数据处理?

首先是在数据库服务器上编制存储过程和触发器,其次是用建M视图与运行视图的方法进行大量的

数据统计处理,最后是用SQL语句进行各种查询统计和报表输出。

3.需求分析的基本思路是什么?

需求分析的思路,是从用户的功能需求(系统需要做什么)出发,由系统的业务流程和数据流程

导出系统的业务模型和功能模型,识别出系统的元数据和中间数据,为今后设计数据模型做好充分准

备。同时,对系统的软、硬件环境配置,开发工具,开发工期,费用,开发进度,培训,系统风险进

行评估。

4.业界存在哪三种需求分析方法?你认为哪种更好?

业界存在三种需求分析方法:面向功能分析、面向对象分析、面向数据分析。

以上这三种方法,各自适用于不同的目标系统。目前时尚的方法是面向对象,包括面向主体和面向

方法.总的来说,对于系统软件和应用软件来说,面向功能需求分析的方法简单明了,而面向对象的

需求分析方法则负责抽象。对于以关系数据库为平台的信息系统软件来说,面向数据需求分析方法的

特点是抓住了本质。但是,这三种分析方法都离不开面向流程分析这根总线:功能、对象、数据都是

在流程中产生的,又都是为流程服务的。

5.概要设计说明书和详细设计说明书有何区别?

《概要设计说明书》,•是要覆盖《需求规格说明书》的全部内容,二是要作为指导详细设计的依据。

他注重框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口

设计、功能部件分配设计、部件之间的内部接口设计,它要覆盖需求规格说明书中的功能点列表、性

能点列表、接口列表。

《详细设计说明书》,一是要覆盖概要设计说明书的全部内容,而是要作为指导程序设计的依据,他

注重微观上和框架内的设计,它是各子系统的公用部件实现设计、专业部件实现设计、存储过程实现

设计、触发器实现设计、外部接口实现设计、部门角色授权设计和其他详细设计等。

两者的设计者不同,在一般情况下,《概要设计说明书》是由系统设计师负责,《详细设计说明书》则

由高级程序员负责。

6.怎样理解”面向数据方法用在数据库服务器层次上系统的设计与实现,面向对象方法用在除数据库

服务器层次外的其他层次上系统的设计与实现,面向过程方法用在其他两种方法本身内部函数的设计

与实现”?

上述提法是实事求是的。我们知道,所谓的“面向过程的方法是传统的软件工程方法,面向对象的方

法是现代软件工程方法”的观点是肤浅的。这三种方法不是互相孤立、亳无联系、彼此对立的,而是

相互帮助、取长补短、彼此有关的。三种设计方法各有所长,所以各有应用空间。又各有所短,所以

各有局限性。我们只能扬长避短、为我所用。

一般而言,对于一个大型信息系统的建设,由于其分析、设计、实现、测试、维护的重点是数据库

服务器上的数据,所以在实施的过程中,在宏观上仍然要遵守',五个面向”的实施理论,即•,面向流程

分析•、面向数据设计、面向对象实现、面向功能测试、面向过程管理

7.请说明“三个模型”的定义及三者之间的关系。

功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。

业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对

系统的操作流程进行定义。

数据模型是描述系统工作前的数据来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论