文档库 最新最全的文档下载
当前位置:文档库 › 软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结
软件工程期末复习要点归纳总结

第一章软件工程学概论

1、软件危机产生的原因

软件本身的特点:难于维护、逻辑复杂

软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护

课本表述:

1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件

2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的

增加而呈现指数上升。

3、软件本身特有的特点确实给开发和维护带了一些客观困难

4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)

5、对用户要求没有完整准确的认识就匆忙开始着手编写程序

6、在软件不同阶段进行修改需要付出的代价是很不相同的

2、软件危机的表现(什么是软件危机)

(1)、成本高:

(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多

(3)、进度难以控制:

●项目延期比比皆是

●由于进度问题而取消的软件项目较常见

●只有一小部分的项目能够按期完成

(4)、维护十分困难:

▼软件维护的多样性

▼软件维护的复杂性

▼软件维护的副作用

3、克服软件危机

(1)、管理的角度:

软件开发过程的研究、文档的标准化以及人员的交流方式等

(2)、软件开发方法的研究

结构化软件开发方法, 面向对象的开发

4、软件工程的定义

概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得

到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。

(2)、①把系统的、规的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径

总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。

5、软件工程的本质特性

1、关注与大型程序的构造

2、中心课题是控制复杂度

3、软件经常变化

4、开发软件的效率非常重要

5、和谐的合作是开发软件的关键

6、软件必须有效地支持它的用户

7、在软件工程领域常由具有一个文化背景的人替另外一种文化背景的人创造产品

6、软件工程的基本原理

1、用分阶段的生命周期计划严格管理

2、坚持进行阶段评审

3、实行严格的产品控制

4、采用现代程序设计技术

5、结果应能清楚地审查

6、开发小组应该少而精

7、承认不断改进软件工程实践的必要性

软件工程学包含3个要素:方法、工具和过程

7、软件生命周期

(1)、概念:

软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。

(2)、容:

1、问题定义

回答“要解决的问题是什么?“,写出关于问题性质、工程目标和工程规模的书面报告

2、可行性分析

回答”对于问题是否有行得通的解决办法?“,即探索问题是否值得去解,是否有可行的办法

3、需求分析

确定”为了解决这个问题,目标系统必须做什么“,确定目标系统必须具备哪些功能,得到需求规格说明书。

4、总体设计

回答”概括地说,应该怎样实现目标系统?“,确定程序由哪些模块组成以及模间的关系

5、详细设计

回答”应该怎样具体地实现这个系统呢?”,确定实现模块功能所需要的算法与数据结构

6、编码和单元测试

写出正确的容易理解、容易维护的程序模块,然后仔细测试每个模块

7、综合测试

通过各种类型的测试(及相应的调试)是软件达到预定要求

8、软件维护

通过各种必要活动是系统持久地满足用户需求

8、生命周期模型

(1)、瀑布模型

传统瀑布模型特点:

1、阶段间具有顺序性与依赖性

2、推迟实现的观点

3、质量保证的观点

瀑布模型

优点:

1、可强迫开发人员使用规的方法(例如:结构化技术);

2、严格规定每个阶段必须提交的文档;

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

缺点:

1、“瀑布模型是由文档驱动的”成为主要缺点

适用围:

适合于用户需求明确、完整、无重大变化的软件项目开发。

(2)、快速原型模型

适用围:

用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等情况。

(3)、增量模型

特点:

1、反复的应用瀑布模型的基本成分和原型模型的迭代特征,每一个线型过程

产生一个“增量”的发布或提交,该增量均是一个可运行的产品。

2、早期的版本实现用户的基本需求,并提供给用户评估的平台。

优点:

1、在较短时间向用户提交可完成部分工作的产品;

2、逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减

少一个全新的软件可能给客户组织带来的冲击;

缺点:

1、软件体系结构必须是开放的;

2、开发人员既要把软件系统看作整体。又要看成可独立的构件,相互矛盾;

3、多个构件并行开发,具有无法集成的风险。

(4)、螺旋模型

基本思想:

使用原型或其他方法来降低风险。

适用围:

适用于部开发大规模软件项目。

优点:

1、对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质

量作为软件发的一个重要目标

2、减少了过多测试或测试不足

3、维护和开发之间并没有本质区别

缺点:

1、风险驱动,需要相当丰富的风险评估经验和专门知识,否则风险更大

2、随着迭代次数的增加,工作量加大,软件开发成本增加

(5)、喷泉模型

特点:

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象

技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互

迭代和无间隙的特性。

(6)、Rational统一过程

RUP重复一系列周期,每个周期由一个交付给用户的产品结束。每个周期划分为初

始、细化、构造和移交四个阶段,每个阶段围绕着五个核心工作流(需求、分析、设计、实现、测试)分别迭代。

第二章可行性研究

1、概念(目的)

用最小的代价在尽可能短的时间确定问题是否能够解决,不是解决问题,而是确定问题是否值得去解决。

2、可行性研究任务

了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。

即对软件开发以后的行动方针提出建议。

3、研究容

(1)技术可行性使用现有的技术能实现这个系统吗?

(2)经济可行性这个系统的经济效益能超过它的开发成本吗?

(3)操作可行性系统的操作方式在这个用户组织行得通吗?

(4)法律可行性新系统开发是否会侵犯法藤、集体或国家利益?

4、数据字典

(1)、容

1、数据流

2、数据流分量(即数据元素)

3、数据存储

4、处理

(2)、作用

对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素都有一个确切的定义。

第三章需求分析

1、需求分析的任务

(1)确定对系统的综合要求

(2)分析系统的数据要求

(3)导出系统的逻辑模型

(4)修正系统的开发步骤

2、获取需求的方法

(1)访谈

(2)面向数据流自顶向下

(3)简易的应用规模说明技术

(4)快速建立软件模型

3、实体-关系图(P PP)、层次方框图(P PP)和IPO图

(P PP)

4、结构化分析模型

●数据流图:

描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,是建立功能模型的基础

●实体-联系图:

描绘数据对象及数据对象之间的关系,用于建立数据模型。

●状态转换图:

指明了作为外部事件结果的系统行为。描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。是行为建模的基础

第四章总体设计

1、模块独立性与耦合性(P PP)

(1)模块化

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

1.使软件结构清晰,容易设计也容易阅读与理解

2.容易测试与调试,提高可靠性

3.提高软件的可修改性

4.有助于软件开发工程的组织管理

(2)模块独立的重要性

○有效的模块化(即具有独立的模块)的软件比较容易开发出来

○独立的模块比较容易测试和维护

(3)耦合

衡量不同模块彼此间互相依赖(连接)的紧密程度,耦合要低,即每个模块和其他模块之间的关系要简单

1、数据耦合:两个模块之间通过参数交换信息,而且交换的信息仅仅是数据

2、控制耦合:传递的信息中有控制信息

3、特征耦合:当把整个数据结构作为参数传递而被调用的模块只需要使用其

中一部分数据元素

4、公共环境耦合:两个或多个模块通过一个公共环境相互作用

5、容耦合:出现一下情况之一,则为容耦合:

1、一个模块访问另一个模块的部数据

2、一个模块不通过正常入口而转到另一个模块的部

3、两个模块有一部分代码重叠

4、一个模块有多个入口

数据耦合<控制耦合<特征耦合<公共环境耦合<容耦合

(4)聚(P PP)

衡量一个模块部各个元素彼此结合的紧密程度。聚要高,每个模块完成一个相对独立的特定子功能

信息隐藏(P PP)

应该这样设计和确定模块,使得一个模块包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的

2、启发规则

1、改进软件结构提高模块独立性

2、模块规模应该适中

3、深度、宽度、扇入、扇出都应适中

4、模块的作用域应该在控制域之

5、力争降低模块接口的复杂度

6、设计单入口、单出口模块

7、模块功能应该可以预测

3、层次图和HIPO图(P PPP)

4、面向数据流的设计方法(P PPP)

(1)概念

面向数据流设计就是把信息流映射成软件结构,信息流的类型决定了映射的方法。

信息流包括变换流、事物流。

(2)变换分析与事务分析(P105)

5、小结

i.进行软件结构设计遵循的最主要的原理是模块独立原理

ii.抽象和求精是一对互补概念

iii.软件工程师在实践中总结经验得出一些很有参考价值的启发式规则

iv.自顶向下逐步求精是进行软件结构设计的常用途径

v.用形式化的方法由数据流图映射出软件结构

第五章实现

1、选择程序设计语言

为了使程序容易测试和维护以减少软件的总成本,所选用的高级语言程序应该有理想的模块化机制,以及可读性好的控制结构和数据结构:为了便于调试和提高软件可靠性,语言特点应该是编译程序能够尽可能多地发现程序中的错误;为了降低软件开发和维护的成本,选用的高级语言应该有良好的独立编译机制。

第六章软件测试

2、测试的概念

(1)测试是为了发现程序中的错误而执行程序的过程

(2)好的测试方案是极可能发现了至今为止尚未发现的错误的测试方案。

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

3、测试的过程与步骤(P PPP)

大型软件的测试过程基本由下述几个步骤组成

(1)模块测试(单元测试)发现编码和详细设计的错误

(2)子系统测试

(3)系统测试(集成测试)

(4)验收测试(确认测试)

(5)平行运行

4、单元测试(P PPP)

着重从下述5个模块进行测试(主要使用白盒测试技术)

(1)模块接口

(2)局部数据结构

(3)重要的执行通路

(4)出错处理通路

(5)边界条件

5、集成测试(P PPP)

集成测试就是测试和组装软件的系统化技术,主要目标是发现与接口有关的问题。

有两种集成策咯

(1)自顶向下集成

(2)自底向上集成

6、确认测试(P PPP)

也称验收测试,它的目标是验证软件的有效性。通常使用黑盒测试法。

7、白盒测试技术(P PPP)

白盒方法测试软件时设计测试数据的典型技术

(1)逻辑覆盖

1、语句覆盖

2、判定覆盖

3、条件覆盖

4、判定/条件覆盖

5、条件组合覆盖

6、点覆盖

7、边覆盖

8、路径覆盖

(2)控制结构测试

1、基本路径测试

2、条件测试

3、循环测试

8、黑盒测试技术(P PPP)

黑盒测试力图发现下述类型的错误:

(1)功能不正确或遗漏了功能。

(2)界面错误。

(3)数据结构错误或外部访问数据库错误

(4)性能错误

(5)初始化和终止错误

黑盒测试用到的技术

(1)等价划分

(2)边界值分析

(3)错误推测

第七章维护

1、维护的定义(P PPP)

所谓软件维护就是在软件已经交付使用周,为了改正错误或满足新的需要而修改软件的过程。

根据交付使用之后可能进行的4项活动具体定义软件维护

(1)改正性维护

纠正在使用过程中暴露出来的错误;诊断和改正错误的过程,

(2)适应性维护

为了和变化了的环境适当地配合而进行的修改软件活动

(3)完善性维护

在使用软件的过程中增加新的功能或修改已有功能,还可能提出一般性的改进意见的过程

(4)预防性维护

为了改进未来的可维护性与可靠性,或为了给未来的改进奠定更好的基础而修改软件的过程。

2、维护的过程(P PPP)

(1)维护组织

(2)维护报告

(3)维护的事件流

(4)保存维护记录

(5)评价维护活动

3、小结

1、软件生命周期每个阶段的工作都和软件可维护性有密切关系。

2、再工程过程可以在完成任意一个活动之后中止

第八章面向对象技术

1、面向对象方法学要点(P

PPP

面向对象方法学的出发点和基本原则,是尽可能模拟人类思维方法,是开发软件尽可能接近人类认识世界解决问题的方法与过程。

2、面向对象方法学优点

1、与人类习惯的思维方法一致

2、稳定性好

3、可重用性好

4、较易开发大型软件产品

5、可维护性好

3、对象模型(P

PPP

对象模型表示静态的,结构化的系统的“数据”性质。它是对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态结构。

4、动态模型(P

PPP

动态模型表示瞬时的、行为化的系统的”控制“性质,它规定了对象模型中的对象的合法序列。

5、功能模型(P

PPP

功能模型表示变化的系统的”功能“性质,他指明了系统应该”做什么”,因此更直接反映了用户对目标系统的需求。

6、 三种模型之间的关系(P PPP )

功能模型指明了系统应该“做什么”;动态模型明确规定了什么时候(即在何种状

况下接受什么时间的触发)做;对象模型则定义了做事情的实体。

在面向对象方法学中,对象模型是最基本的,它为其他两种模型奠定了基础,人们

依靠对象模型完成了3中模型的集成。下面扼要地叙述3种模型之间的关系。

三种模型描述了系统的不同方面:

对象模型

动态模型 功能模型 对象的静态结构

及相互关系

与时间和顺序有关的系统性质 与值的变化有关的系统性质 描述系统的数据

结构

控制结构 系统的功能 “干事的主体”

“什么时候干” “干什么”

7、 其他

复杂问题(大型系统)的对象模型通常由下述5个层次组成:主题层、类与对象层、

结构层、属性层、服务层

主题层

类与对象层

结构层

属性层

服务层

功能模型与对象模型的关系

--对象模型描述了功能模型中的动作对象,数据存储以及数据流结构

--功能模型中的处理对应于对象模型中的操作

动态模型与对象模型的关系 --状态转换驱使行为发生,这些行为在DFD 中被映射成处理,它们同时与对象模型的操作相对应 --针对每个建立的动态模型描述了类实例的生命周期或运行周期

动态模型与功能模型的关系

--功能模型中的处理可能产生动态模型中的事件。

面向对象开发方法包括OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象实现)三个部分

第九章软件项目管理

1、估算软件规模(P PPP)

(1)代码行技术

每个人了估计程序的最小规模(a),最大规模(b)和最可能规模(m),分别算出这3中规模的平均值P???、P???和P???之后,用下面公式计算程序规模:

L = P???+4P???+P???

6

(2)功能点技术

2、项目进度(Gantt图)

3、质量保证

概括得说,软件质量就是“软件与明确地和隐含地定义的需要相一致的程度”。更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。

4、软件配置管理

软件配置管理事是在软件的整个生命周期管理变化的一组活动。具体地说,这组活动用来:

(1)标识变化

(2)控制变化

(3)确保适当地实现了变化

(4)向需要知道这类信息的人报告变化

5、基线

基线是一个软件配置管理概念,它有助于人们在不严重合理变化的前提下来控制变化,简而言之,基线就是通过了正式复审的软件配置项。。在软件配置项变成基线之前,可以迅

速而非正式地修改它。

其他复习

简答题

1、简述文档在软件工程中的作用。

(1) 提高软件开发过程的能见度

(2) 提高开发效率

(3) 作为开发人员阶段工作成果和结束标志

(4) 记录开发过程的有关信息便于使用与维护;

(5) 提供软件运行、维护和培训有关资料;

(6) 便于用户了解软件功能、性能。

2019最新软件工程导论期末考试题库及答案

2019最新软件工程导论期末考试题库及答案 1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM 公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符 号表达了系统中各种元素之间的_____信息流动_____情况。4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集 成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合” 的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

软件工程期末考试及答案

软件工程期末考试及答 案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

2. 3. 就程序设计语言的工程特性而 言,对程序编码有哪些要求? 4. 模块的内聚性包括哪些类型? 四、理论应用题(每小题15分,共30分) 1. 请使用PAD图和PDL语言描述 在数组A(1)~A(10)中找最大 数的算法。 2.根据下列条件使用等价类划分 法设计测试用例。某一8位微机, 其八进制常数定义为:以零开头的 数是八进制整数,其值的范围是- 177~177,如05,0127,-065。 五、实践应用题(每小题15分,共15分) 1.某电器集团公司下属的厂包括 技术科、生产科等基层单位。现在 想建立一个计算机辅助企业管理系 统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。 (2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。

软件工程期末答案 一、名词解释题(每题3分,共15分)。 1.是描述软件开发过程中各种活动如何执行的模型。 2.数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。 3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。5.指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)二、填空题(每空2分,共20分)。 1.软件配置管理 2.容错功能 3.11 4.可移植性 5.输出结果 6.歧义性 7.模块 8.实例化 9.形式语言 10.F/(1+(n*i)) 三、简答题(每小题5分,共20分)。 1.结构冗余:包括静态冗余、动态冗余和混合冗余。

软件工程期末考试重点

软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改

以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。

软件工程课程设计心得总结

软件工程课程设计个人总结 学期就快要结束了,到了最后一周居然还有软件工程课程设计,还要考试真的有点忙啊,不管怎样还是好好干吧,把对工程的理论研究、学习成果用于实践也是一种检验学习成果和提升工程能力的有效手段嘛。 工作内容安排 软件工程课程设计的第一天拿到题目,听取老师对于课程设计的要求、要完成的工作、预期要达到的效果和注意事项。然后分组、讨论和确定选题。这真正的课程设计才算开始了,经过组长,组员的反复研究、论证后一致决定选择:实习题目4:开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。 这个题目对于现代化的网络交流来说发展的成熟而且符合当代互联网大众的网络需求,符合现代网络对信息分享讨论的爱好,我们一致预测在今后很长的一段时间内也将会是非常流行的一种交流介质。 确定选题后我们开始软件开发的第一步,需求分析,详细设计等内容,分块分工完成模块,我分到的主要部分就是分析论坛里面的帖子内容,用户的爱好,然后解决用户的索引需求,把用户的索引需求智能的、友好的呈现给用户,把这部分的代码编写,测试,把用户界面做好就是我接下来几天的工作内容。 俗话说:磨刀不误砍柴工,要想把我的这部分内容做好,做得完美,我的好好的分析一下,对全组对整个系统的需求分析的基础上又认真分析了本部分的内容和本部分要实现的功能,对本部分实现的主要思想理清,认真设计界面,还有对队员们的模块能有效的结合起来,让他们的模块也能有效的供我使用,做好我的接口也方便其他模块与此的衔接。 问题与解决 在本次课程设计中遇到了好多前所未有的问题,第一次接触HTML网页开发,第一次邂逅JSP web应用程序开发,第一次有了原来开发应用程序是需要数据库的,对于这些都是第一次接触,需要了解HTML的基本语法,需要学习JSP web 应用程序web app的开发方法,需要实践配置数据库TOMCAT、SQL sever,居然有这么多的东西需要从头来,对于这些方面我就像一张崭新的白纸,怎么能在短短的四五天时间内将这张白纸绘成一幅栩栩如生的画卷呢,这是我们面对的亟待解决的问题。 为了解决这一系列的问题,我们没有找借口,我们没有懒惰,我们更没有放弃,而是迎难而上,到图书馆“大采购”求资料,找到想要的,真想把图书馆搬到课程设计实验室。接下来就是根据我们的需求分析,概要设计,详细设计等内容分模块编写网页源代码,修复bug,测试代码,连接数据库这样我们的全新的基于web的BBS论坛就成功上线了。

软件工程期末考试题3

试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?

2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

软件工程期末考试资料

软件工程 第一章: 1.软件的组成不仅是程序、数据和文档,而且还有完成一定功能和性能所蕴含 的知识和经验。 2.领域知识是基于计算机的系统的设计、软件需求获取和系统测试不可或缺的。 3.软件发展的历史给我们的启发是社会需求和硬件进步是软件技术发展的基 础。 4.软件的进步和成就促进了信息社会和知识经济的发展。 5.按照应用领域、基本属性和特点研究软件有助于对软件的理解,提高了软件 开发、使用和维护的针对性。 6.软件工程学科具有鲜明的工程特性。 第二章: 1.面向对象方法是现代软件工程技术体系的基石,它以分类、继承、聚合、封装、多态和消息传递等贴近人类思维习惯的概念。 2.因面向对象与生俱来的自然性、直观性,以及支持软件复用、改善软件结构等许多优势,面向对象方法后来居上,迅速取代结构化方法而成为当前主流的软件开发方法学。 3.UML通过图形化的表示机制从多个侧面表示软件系统的分析和设计模型。 4.UML定义了5类图形机制:用例视图,包括用例描述和用例图;结构视图,包括视图,包括包图、类图和对象图;行为视图,包括交互图、状态图与活动图;构件视图和部署视图。 5.RUP将软件生存周期(即软件制品的进化状态)划分为初始、细化、构造、移交、生产5个阶段。 6.RUP将软件开发过程分解为业务建模、需求、设计、实现、V&V、部署、配置和变更管理、项目管理、环境9个工作流。 7.软件项目团队可利用5个阶段、9个工作流组织管理软件项目的开发活动。RUP 过程中生成的各类制品通常以UML表示。 8.软件开发过程是基于面向对象方法学的,包括需求获取、需求分析、体系结构设计、人机交互设计、详细设计、实现、测试、维护与进化等重要的软件开发阶段。 第三章: 1.软件需求是指利益相关方对目标软件系统在功能、性能和质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的约束。 2.软件需求可划分为功能需求、质量需求和约束性需求3种类型,其中质量需求和约束性需求统称为非功能需求。 3.软件需求的质量要素包括正确性、完全性和可行性。 4.需求调查包括:访谈和会议、调查问卷、业务文档分析、现场观摩。 5.需求建模包括:抽象、分解和多视点分析。 6.需求模型包括:策划、需求获取、需求分析、需求规范化、需求验证和总结等活动。 7.对大中型软件项目以及初期初期需求不明朗的软件项目,需求工程过程采用迭 代方式。

软件工程学习心得作业

软件工程作业

软件工程心得体会 通过这半学期我对软件工程的学习,老师在课堂上从软件工程的基础到用户的需求分析,最后到黑盒白盒测试通过自身做过的一些案例,生动形象的讲解了软件工程这门本身枯燥乏味的课程,这不仅增强了学生学习的积极性,也通过让我们自己去做一些需求分析,我们从中学到了许多知识。 老师不仅仅在课堂上对我们悉心的知道,在课外还让我们多看一些有关软件工程方面最前沿的理论,通过这段时间我读了《软件工程——实践者的研究方法》、《件工程案例》这两本书,通过自己的读书学习,我有以下心得体会。 众所周知软件对于一个公司,一个企业乃至一个国家都是十分重要的,因此一个软件的维护也十分重要,下面我就讲一些关于软件维护的知识。 维护阶段是软件生存期中时间最长的一个阶段,也是花费的精力和费用最多的一个阶段。由于操作系统软件和基础软件版本升级或应用管理系统软件的不断开发、完善,需要对软件进行维护。但当运行环境改变或者系统功能、性能需求发生变化,使原软件不能通过维护的手段满足用户需求时,则需要进行软件更新。 1.软件维护的类型: 软件的开发过程对软件的维护有较大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工这是一种结构化的维护。非结构化维护活动只能从阅读、理解和分析源程序开始,这样做难以弄清系统功能、软件结构、数据结构等问题,常常造成误解。同时由于没有测试文档,也不可能进行回归测试很难保证程序的正确性。这种软件维护

方法仅在软件工程时代之前采用。在进行结构化维护活动时,需从评价需求说明开始,弄清楚软件功能、性能上的改变;对设计说明文档进行评价,并进行修改和复查;根据设计的修改,进行程序的变动;根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。这对于减少精力、减少花费和提高软件维护效率有很大的作用。 2.软件维护的困难: 软件维护的困难主要是由于软件需求分析和开发方法的缺陷造成的。软件生存周期中的开发阶段没有严格而科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面。 (1)读懂别人的程序是困难的。 (2)文档的不一致性。这种不一致性表现在各种文档之间的不一致以及文档与程序之的不一致。 (3)软件开发和软件维护在人员和时间上存在差异。 (4)软件维护不是一项吸引人的工作。 3. 软件维护的费用: 软件维护的费用在总费用中的比重是不断增加的,它在1970 年占35%~40%,1980 年上升到40%~60%,1990 年上升到70%~80%。软件维护费用不断上升,这只是软件维护有形的代价,另外还有无形的代价,即要占用更多的资源。由于大量软件的维护活动要使用较多的硬件、软件和软件人员等资源,这样一来,投入新的软件开发的资源就因不足而受到影响。由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量。 4.软件维护的分类

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运 行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计 方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并 最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭 圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

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

《软件工程》期末考试样题 一、填空题 1.软件开发模型有瀑布模型、螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型。 2.可行性研究一般可以从经济可行性、技术可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为F/(1+i)n。 4.数据流图基本符号包括数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件。 5.Jackson图除了可以表达程序结构外,还可以表达数据结构,它首先要分析数据结构,并用适当的工具来描述。 6.详细设计的工具有图形工具、表格工具和语言工具。 7.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用对象、类、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列()属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX

2.下列哪个图是N-S图的构件()。 A. B. C. D. 3.对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABCD )。 A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(ABCD)。 A.表头 B.表体 C.表名 D.字段名 3.关于内容耦合的描述正确的是(AD )。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式(BCD)。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释

软件工程导论期末考试简答题

简答题 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 9、什么是结构分析方法?结构化分析方法通过哪些步骤来实现? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。实现的步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。

软件工程复习考点小结

《软件工程》考点小结 1、软件工程的定义及软件工程的研究内容? 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件工程是研究软件开发和软件管理的一门工程学科。2、软件工程五个面向实施理论? “五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。 3、什么是“软件生命周期模型”,常用的软件生命周期模型有哪些?软件生命周期由哪5个阶段构成? 软件生命周期模型是指在整个软件生命周期中,软件开发过程应遵循的开发路线图。或者说,软件生命周期模型是软件开发全部过程、活动和任务的结构框架。 瀑布模型、增量模型、迭代模型、原型模型、XP等模型分析、设计、编码、测试、维护 4、简述瀑布模型与迭代模型之间的关系? 在宏观上,迭代模型是动态模型,瀑布模型是静态模型。在微观上,迭代模型与瀑布模型都是动态模型。在迭代和瀑布模型中,你中有我、我中有你。 瀑布模型与迭代模型之间的关系,反映了人们对客观事物的认识论:要认识与掌握某一客观事物,必须经历由宏观到微观的多次反复的过程。只有从宏观上反复迭代几次,才能看清全貌,掌握事物的宏观发展规律。只有从微观上反复迭代几次,才能吃透每个细节,掌握事物的微观发展规律。 5、何谓软件的“功能模型”? 功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。 6、“容错技术”的定义? 容错就是当由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行的一种技术。 7、何谓软件的“快速原型法”? 快速原型法就是在系统开发之初,尽快给用户构造一个新系统的模型(原型),反复演示原型并征求用户意见,开发人员根据用户意见不断修改完善原型,直到基本满足用户的要求再进而实现系统,这种软件开发方法就是快速原型法。 8、.业界存在哪三种需求分析方法?你认为哪一种方案更好? 业界存在三种需求分析方法:面向功能分析、面向对象分析、面向数据分析。 以上这三种方法,各自适用于不同的目标系统。目前时尚的方法是面向对象,包括面向主体和面向方法。总的来说,对于系统软件和应用软件来说,面向功能需求分析的方法简单明了,而面向对象的需求分析方法则复杂抽象。对于以关系数据库为平台的信息系统软件来说,面向数据需求分析方法的特点是抓住了本质。但是,这三种分析方法都离不开面向流程分析这根总线:功能、对象、数据都是在流程中产生的,又都是为流程服务的。 9、需求分析的目的是什么,输入及输出是?需求分析的难点在哪里? 软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中首先要获取用户的需求,通过对软件需要的提取、分析、文档化及验证,为进一步的设计和实现提供依据。 输入是软件《合同》或软件《立项建议书》,以及对用户现场的调研、分析和确认,输出是《用户需求报告》/《需求分析规格说明书》 需求分析的难点是:在系统的功能、性能和接口方面,开发者与客户达成完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更管理程序在签订合同时已经做了规定。要知道,合同是具有法律效力的。 10、试说出黑盒测试和白盒测试的区别和联系。? 黑盒测试又称功能测试。在这里,盒子指的是被测试的软件,“黑盒”就是只知道被测试软件的外部情况,主要是界面和接口,被测试软件的内部逻辑结构和数据结构,对测试人员来说是不可见的,主要关注被测试软件的功能实现。 白盒测试就是对程序执行路径的测试,又叫做玻璃盒测试(Glass Box Testing)、透明盒测试(Clear B ox Testing)、结构化测试(Structured Testing)、开放盒测试(Open B ox Testing)、基于代码的测试(C ode-Based Testing)等。 黑盒测试和白盒测试的联系是:一般宏观上用黑盒测试,微观上用白盒测试,系统集成人员用黑盒测试方法对系统进行测试,构件开发人员用白盒测试方法对构件进行测试,这是常用的测试方法。 11、为什么说需求分析是面向流程的? 系统的功能、性能、接口、界面都是在流程中动态实时的反映出来。在所有的流程(物流、人流、资金流、信息流、单据流、报表流、数据流)中,数据流最重要,也最具有代表性。因为在计算机网络系统内,一切流程都表现为数据流,或者说是数据流在不同方向的投影。而流程是动态的、实时的。所以说,需求分析是面向流程的。 12、简述实用软件测试的流程?

软件工程-期末总结

软件工程期末总结 课程:xxxxx 姓名:xxxxx 学号:xxxxxx 班级:xxxxxx

目录 1.软件工程学概述 (1) 1.1软件危机 (1) 1.2软件工程 (1) 1.3软件生命周期 (2) 1.4软件过程 (2) 2.可行性研究: (2) 2.1可行性研究的任务 (2) 2.2可行性研究的过程 (3) 2.3数据流图 (3) 3.需求分析 (3) 4.形式化说明技术 (4) 5.模块设计 (4) 1.耦合: (4) 2.内聚 (4) 6.详细设计 (5) 6.1结构程序设计 (5) 6.2人机界面设计 (5) 7.软件测试 (5) 7.1软件测试的目标 (5) 7.2软件侧试准则 (6) 7.3测试方法 (6) 8.软件可靠性 (7) 8.1软件质量 (7)

1.软件工程学概述 1.1软件危机 1.1.1 软件危机的介绍:是指在计算机软件的开发和维护过程中所遇到的一系列严重 问题。具体地说,软件危机主要有以下一些典型表现:1.对软件开发成本和进 度的估计常常很不准确。2.用户对“已完成的”软件系统不满意的现象经常发 生。3.软件产品的质量往往靠不住。4.软件常常是不可维护的。5.软件通常没 有适当的文档资料。6.软件成本在计算机系统总成本中所占的比例逐年上升。 7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 1.1.2产生软件危机的原因:在软件开发和维护的过程中存在这么多严重问题,一方面 与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软 件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。 1.1.3消除软件危机的途径:1、认识到软件是程序、数据及相关文档的完整集合。 2. 认识到软件是一种组织良好、管理严密、各类人员协同配合、共同完成的工程 项目;3、推广使用在实践中总结出来的开发软件的成功的技术和方法,探索 更好更有效的技术和方法;4、开发和使用更好的软件工具。。总之,为了解决 软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软 件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一 门新兴学科。 1.2软件工程 1.2.1软件工程的介绍:软件工程是指导计算机软件开发和维护的一门工程学科。定 义:采用工程的概念、原理和方法来开发与维护软件,把经过时间考验而证明 正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出 高质量的软件并有效地维护它。 1.2.2软件工程的基本原理:1、用分阶段的生命周期计划严格管理2、坚持进行阶段 评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审 查6、开发小组的人员应该少而精7、承认不断改进软件工程实践的必要性 1.2.3 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集 合称为方法学,也称为范型。软件工程方法学包含3个要素方法、工具和过程。 目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学

软件工程导论期末考试考点

1.软件的定义: 软件是程序、数据及相关文档的完整集合。其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构,文档是开发、使用和维护程序所需要的图文资料。 2.软件危机的定义,表现、原因是什么 a)软件危机: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 b)软件危机的表现: 对软件开发成本和进度的估计常常很不准确。 经常出现用户对“已完成的”软件系统功能不满意的现象。 软件产品的质量往往达不到要求。 软件通常不可维护。 软件通常没有适当的文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的 趋势。 c)软件危机的原因: i.客观原因:与软件本身的特点有关 软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。软 件缺乏“可见性”。 软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件 较难维护。软件缺乏“可插拔性”。 如何保证每个人完成的工作合在一起确实能构成一个高质量的大型 软件系统,更是一个极端复杂困难的问题,必须有严格而科学的管理。 ii.主观原因:与软件开发与维护的方法不正确也有关 目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念, 这可能是使软件问题发展成软件危机的主要原因。 忽视需求分析只重视编码与运行。 编写程序所需的工作量只占软件开发全部工作量的10%~20%。 在后期引入一个变动比在早期引入相同变动所需付出的代价高 2~3个数量级。 图定性地描绘了在不同时期引入一个变动需要付出的代价的变化 趋势。 忽视文档只重视程序 必须认识到一个软件产品必须由一个完整的配置组成,软件配置主要包括程序、文档和数据等成分。必须清除只重视程序而忽视软件配置 其余成分的糊涂观念。 轻视维护是一个最大的错误。 统计数据表明,实际上用于软件维护的费用占软件总费用的55%~70%。 3.软件工程的定义、软件工程方法学三要素是什么 软件工程定义: 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考

软件测试计划与测试分析报告(模板)+软件工程大作业实验总结报告

河北北方学院软件件工程大作业软件测试计划与测试分析报告 [系统名称+版本]

版本变更记录

目录 第1章引言 (3) 1.1 编写目的 (3) 1.2 项目背景 (3) 1.3 参考资料 (3) 1.4 术语和缩略语 (3) 第2章测试概要 (5) 2.1 各阶段测试内容 (5) 2.2测试用例设计 (6) 2.3测试环境与配置 (6) 2.3.1功能测试 (6) 2.3.2性能测试 (7) 2.4测试方法和工具 (7) 2.5 需求的可追溯性 (8) 第3章测试内容和执行情况 (8) 3.1 项目测试概况表 (8) 3.2 功能 (8) 3.2.1 总体KPI (8) 3.2.2 模块二 (9) 3.2.3 模块三 (9) 3.3 性能(效率) (10) 3.3.1 测试用例 (10) 3.3.2 参数设置 (10) 3.3.3 通信效率 (10) 3.3.4 设备效率 (11) 3.3.5 执行效率 (11) 3.4 可靠性 (11) 3.5 安全性 (12) 3.6 易用性 (12) 3.7 兼容性 (12) 3.8 安装和手册 (13) 第4章覆盖分析 (13) 第5章缺陷的统计与分析 (14) 5.1 缺陷汇总 (14) 5.2 缺陷分析 (14) 5.3 残留缺陷与未解决问题 (14) 第6章测试结论与建议 (15) 6.1 测试结论 (15) 6.2 建议 (15)

项目基本信息

第1章引言 1.1 编写目的 [以下作为参考] 本测试报告为XXX项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到XXX功能目标)。预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。 …… [可以针对不同的人员进行阅读范围的描述。什么类型的人可以参见报告XXX页XXX章节等。] 1.2 项目背景 本报告主要内容包括: [对项目目标和目的进行简要说明。必要时包括简史,这部分不需要脑力劳动,直接从需求或者招标文件中拷贝即可。] 1.3 参考资料 [需求、设计、测试用例、手册以及其他项目文档都是范围内可参考。 测试使用的国家标准、行业指标、公司规范和质量手册等等。] 1.4 术语和缩略语 [列出设计本系统/项目的专用术语和缩写语约定。对于技术相关的名词和与

软件工程期末考试复习总结知识点+必考题型

软件工程复习资料 1. 软件危机产生的原因 (1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程 序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。很难检验开发的正确性且软件开发的质量也较难评价。因此控制软件开发过程相当困难。此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。这样维护的费用十分惊人,客观上使得软件较难维护。 (2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通 和配合十分重要。但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。这是造成软件危机的主要原因。 (3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用 户的要求。对用户的要求没有完整准确的认识就急于编写程序。这是许多软件开发失败的另一主要原因。事实上,许多用户在开始时并不能准确具体地叙述他们的需要。 软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。 (4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理 规。首先是文档缺乏一致性和完整性,从而失去管理的依据。因为程序只是完整软件产品的一个组成部分。一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。其次,由于成本估计不准确,资金分配混乱,人员组织不合理, 进度安排无序,导致软件技术无法实施。 (5) 在软件的开发和维护关系问题上存在错误的观念。软件维护工作通

软件工程期末考试题含答案

一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D.测试与排 错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)

A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法 C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段 11.适合于面向对象方法学的软件生存周期模型是(B) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C) A.详细设计阶段 B.概要设计阶段 C.需求分析阶段 D.测试和运行阶段 13.从实用角度看,数据规范化在大多数场合选用第____范式。(C) A.1 B.2 C.3 D.5

相关文档
相关文档 最新文档