软件工程复习资料.doc

合集下载

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

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

可编辑修改精选全文完整版一、单选题(共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.过程式编程范型2.面向对象编程范型3.基于构件技术的编程范型软件工程的发展时期:(1)传统软件工程或者经典软件工程:开发过程:结构化分析一>结构化设计一>面向过程的编码一>软件测试(2)面向对象软件工程开发过程:OO分析与对象抽取一》对象详细设计一》面向对象编码与测试(3)基于构件的软件工程:以软件复用为目标、领域工程为基础,其开发过程一般包括包括以下阶段:领域分析和测试计划定制一一》领域设计一一》建立可复用构件库一一》按“构件集成模型,,查找与集成构件第二章生存周期什么是软件生存周期?计划阶段:需求分析,软件分析开发阶段:软件设计,编码(测试)软件测试维护阶段:运行维护模型特点和使用场合可行性研究1.经济可行性2.技术可行性3.运行可行性4.法律可行性第三章结构化分析与设计结构化程序设计的特点以及论述(1)整个程序的模块化(2)每个模块只有一个入口和出口(3)每个模块都应能单独执行,且无死循环(4)采用自顶向下,逐步细化的方法SA结构化分析设计(结构化)从内容分:1.系统结构设计2.接口设计3.数据设计4.过程设计按照步骤分:1.概要设计2.详细设计第四章OO与面向对象+UML OO的特征1.抽象2.封装3.继承4.多态为什么用面向对象1.符合人类习惯的思维方式2.提高软件系统的可复用性3.提高软件系统的可扩展性4.提高软件系统的可维护性UML相关知识静态图1.用例图:描述系统功能2.类图:描述系统的静态结构3.对象图:描述系统在某个时期的静态结构4.构件图:描述实现系统的元素的组织5.部署图:描述系统环境元素的配置动态图1.状态图:描述系统元素的状态条件和相应2.时序图:按照时间顺序描述系统元素间的交互3.协作图:按照连接关系描述系统元素间的交互4.活动图:描述系统元素的活动流程第五章需求建模需求分析的步骤1.需求获取2.需求建模3.需求描述4.需求验证面向对象需求建模1.画用例图2.写用例规约3.描述补充规约4.编写术语表第六章需求分析面向对象的需求分析1.边界类:边界类提供了对参与者或外部系统交互协议的接口。

软件工程复习资料

软件工程复习资料

软件⼯程复习资料软件⼯程第⼀章⼀、什么是软件?软件(Software)是计算机系统中与硬件相互依存的另⼀部分,它是包括程序(Program),数据(Data)及其相关⽂档(Document)的完整集合。

程序是按事先设计的功能和性能要求执⾏的指令序列数据是使程序能正常操纵信息的数据结构⽂档是与程序开发,维护和使⽤有关的图⽂材料⼆、软件危机原因:与软件本⾝的特点有关(难于维护, 逻辑复杂)与软件开发与维护的⽅法不正确有关:软件≠程序急于求成=拔苗助长各⾃为阵⽆⽅法/学现象:1.成本⾼2.计算机软件和硬件费⽤⽐3.软件质量得不到保证4.由于软件质量问题导致失败的软件项⽬⾮常多5.进度难以控制6.维护⾮常困难办法:软件⼯程(学)三、软件⼯程软件⼯程是应⽤计算机科学、数学及管理科学等原理开发软件的⼯程。

它借鉴传统⼯程的原则、⽅法,以提⾼质量,降低成本为⽬的。

开发、运⾏和维护软件的系统⽅法四、软件⼯程三要素软件⼯程⽅法学包含3个要素:⽅法、⼯具和过程。

五、软件⽣命周期六、软件过程模型瀑布模型瀑布模型适合于⽤户需求明确、完整、⽆重⼤变化的软件项⽬开发。

瀑布模型的成功在很⼤程度上是由于它基本上是⼀种⽂档驱动的模型。

“瀑布模型是由⽂档驱动的”这个事实也是它的⼀个主要缺点。

在项⽬开始的时候,⽤户常常难以清楚地给出所有需求;⽤户与开发⼈员对需求理解存在差异。

实际的项⽬很少按照顺序模型进⾏。

⽤户必须有耐⼼,等到系统开发完成。

缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是⾮常困难的,导致“阻塞状态”。

反馈信息慢,开发周期长。

虽然存在不少缺陷,瀑布模型经常被嘲笑为“旧式的”,但是在需求被很好地理解的情况下,仍然是⼀种合理的⽅法。

快速原型模型增量模型增量模型是迭代和演进的过程。

增量模型把软件产品分解成⼀系列的增量构件,在增量开发迭代中逐步加⼊。

每个构件由多个相互作⽤的模块构成,并且能够完成特定的功能。

软件工程复习资料

软件工程复习资料
8. 关于白盒法覆盖程度的论述中正确的是()
A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次 B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值 C、条件覆盖:选择测试用例使每个条件都满足 D、条件组合覆盖:将所有的判定条件都组合起来执行 答案: A B
9. 以下()不属于结构化流程图
A、运行程序并分析运行结果 B、桌前检查与代码会审 C、数据流分析图 D、调用图
答案: B C D
15. 下面()属于可复用的软件级别。
A、代码的复用 B、设计结果的复用 C、分析结果的复用 D、测试信息的复用
答案: A B C D
16. 黑盒测试着重测试软件功能,下列测试法中属于黑盒测试技术的有()。
3. 面向对象方法学的出发点和基本原则是什么?
答案: 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世 界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一 致。
3. 软件原型
答案: 软件原型是在软件系统开发过程中,可快速建立的,旨在演示目标系统主要功能的可运行的程序。
4. 继承
答案: 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动 地共享基类中定义的数据和方法的机制。
5. 有穷状态机
答案: 在软件工程领域,有穷状态机可以准确地描述一个系统,它是表达规格说明的一种形式化说明方法。一个有穷状态机包含5 个部分:状态集、输入集、由当前状态和当前输入确定下一个状态的转换函数、初始态和终态集。
A、等价划分法 B、平行运行法 C、边界值分析法 D、错误推测法

软件工程复习资料

软件工程复习资料

一、单选题1. 为了提高测试的效率,应该( D )A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是( D ) A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以( B )为基础、自顶向下、逐步求精和模块化的过程A、数据流B、数据流图C、数据库D、数据结构4. 概要设计的结果是提供一份( A ) A、模块说明书B、框图C、程序D、数据结构5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( B )A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( D )A、1/6 B、1/5 C、1/4 D、1/37. PAD(Problem Analysis Diagram)图是一种( B )工具。

A、系统描述B、详细设计C、测试D、编程辅助8. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的( A )。

A、95%B、5%C、50%D、20%9.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A ) 。

A、总貌B、细节C、抽象D、软件的作者10. 分析员是( B )。

A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导11.在软件开发中,有利于发挥集体智慧的一种做法是( A )。

A、设计评审B、模块化C、主程序员制D、进度控制12.在开发软件时,( A )可用来提高程序员的工作效率。

A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机二、多选题1. 数据流图的3种成分为①、②和③,②是数据流中①的变换,③用来存储信息,④对①、②、③进行详细说明,用⑤对③进行详细描述。

软件工程总复习资料

软件工程总复习资料

软件工程总复习资料
软件工程概述
- 定义:软件工程是一门研究如何通过系统化、规范化、可度量化的方法开发和维护软件的学科
- 软件工程的目标
- 提高软件开发的质量
- 提高软件开发的效率
- 降低软件开发的成本
- 软件生命周期
- 概念阶段
- 需求分析阶段
- 设计阶段
- 编码实现阶段
- 测试阶段
- 运行和维护阶段
软件生命周期模型
- 瀑布模型
- 原型模型
- 增量模型
- 螺旋模型
软件需求
- 软件需求分类- 功能需求
- 非功能需求
- 软件需求获取- 需求文档
- 需求分析
- 软件需求验证- 合法性验证
- 一致性验证
- 可行性验证
软件设计
- 面向对象设计- 结构化设计
- 数据流图设计- 状态转换图设计
软件测试
- 测试分类
- 静态测试
- 动态测试
- 测试方法
- 黑盒测试
- 白盒测试
- 测试覆盖率- 代码覆盖率- 判定覆盖率- 条件覆盖率- 路径覆盖率
软件质量
- 软件质量模型- ISO 9126模型- McCall模型- 质量保证
- 质量控制
软件项目管理
- 项目计划
- 项目跟踪
- 项目评审
- 质量保证和配置管理
- 风险管理
以上是软件工程的主要知识点总结,希望对大家的复习有所帮助!。

软件工程复习资料

软件工程复习资料

软件工程复习题一、选择题,请从四个可选项中选择正确答案。

1、下面哪个选项不是软件工程研究的内容()。

A. 生产无故障的软件B. 精通一门编程语言C. 生产满足用户需求的软件D.生产及时交付的软件2、软件工程的出现是由于 ( )A.软件危机B.计算机硬件技术的发展C.软件社会化的需要 D。

计算机软件技术的发展3、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是( ),最上层是工具层.A.过程层B.方法层 C。

过程层和方法层 D。

系统层4、美国著名软件工程专家B.W。

Boehm于1983年提出了软件工程的()条基本原理. A。

7 B。

5 C.3 D.125、结构化分析方法(SA 法)使用的主要描述工具有()。

A.数据库B.模块结构图 C。

PAD 图 D.分层的DFD 图6、源程序的效率与( )阶段确定的算法的效率直接有关。

A.概要设计B。

总体设计 C. 单元设计 D. 详细设计7、可行性研究的主要任务是()。

A.确定系统做什么B. 确定性能C.确定功能D. 进行一次简要的需求分析8、内容耦合是模块间最紧密的耦合,()是模块间最松散的耦合。

A.数据耦合 B.非直接耦合 C.控制耦合 D.外部耦合9、面向对象是“先"确定()“后”()。

A。

属性/方法 B.数据结构/方法 C。

动作的主体/执行动作 D.动作10、UML是一种()语言。

A。

高级编程 B。

可视化建模 C.分析方法 D.过程11、软件工程强调将()的方法应用于软件的开发和维护过程之中。

A。

规范化 B。

系统化 C.可度量 D。

以上全部12、软件开发活动的顺序应该是( ).A。

问题定义、可行性研究、需求分析、设计、编码和测试。

B.问题定义、设计、可行性研究、编码和测试。

C.需求分析、设计、编码和测试。

D。

需求分析、编码和测试、试运行。

13、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。

A.5202B.4500C.5100D.471214、系统物理模型用()表示.A.系统流程图 B。

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

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

《软件工程》复习资料一、选择题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)传递的。

[理学]软件工程复习资料1

[理学]软件工程复习资料1

一、单选题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.软件设计的方法有多种,()方法不属于面向数据流的设计方法。

A.基于Jackson图的设计 B.基于IDEF0图的设计-结构化方法-数据流C.交换分析设计 D.事务分析设计7.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。

A.信息隐蔽 B.质量控制 C.程序优化 D.数据共享8.软件复杂性主要体现在()A.数据的复杂性B.程序的复杂性C.控制的复杂性D.问题的复杂性9.为了提高软件的可维护性,在编码阶段应注意()A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格10.面向对象的特征之一是()A.对象的唯一性B.抽象C.封装性D.共享性11.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合 B.公共耦合 C.标记耦合D.内容耦合12.需求规格说明书的作用不包括()A.软件验收的依据 B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据 D.软件设计的依据13.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。

A、需求说明 B概要说明C软件文档D测试计划14.软件部件的内部实现与外部可访问性的分离,是指软件的()。

A、继承性B、共享性C、封装性D、抽象性15.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。

软件工程复习资料

软件工程复习资料

1.什么是软件工程?他的基本原理是什么?1)软件工程是指导计算机软件开发和维护的工程学科。

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

2)用分阶段的生命周期汁划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设讣技术、结果应能淸楚的审査、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。

2.是什么导致了软件工程?主要是软件危机的出现导致了软件工程3.通常我们所见的软件工程模型有哪些?瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。

21.软件危机的现象:1)经费超出预算,项目一再拖延。

02 )不重视需求,开发的软件不能满足用户的要求,项目成功率低。

3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。

3圄)开发工具落后,手工方式,开发效率低。

2 2 .软件工程的三要素1)"过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质疑开发出软件。

2)"方法”为软件开发提供"如何做”的技术。

它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。

3) "工具"可为过程和方法提供自动的或半自动的支持。

这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。

通过网络环境把这些软件工具集成起来搭建一个能够支持团队开发的平台,称为汁算机辅助软件工程,即CASE。

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

23.简述软件工程的目标,过程和原则佢)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。

软件工程的目标:降低成本,及时交付髙质量的软件产品。

m实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程进行过程应遵守的原则:原则就是过程中的轨道约朿,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。

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

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

一、选择题: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、下列哪一模型是软件的基础模型快速原型 C.增量模型 D.螺旋模型2、划分软件生存周期的阶段时所应遵循的基本原则是各阶段的任务在时间上连续C.各阶段的任务尽可能相关性D.各阶段的任务在时间上相对独立3、下列哪个办法不属于解决软件危机的途径之一A.采用软件工程的解决途径B.研制新一代智能计算机C.采用面向对象的软件设计方法4、下列哪个不属于软件工程的内涵之一开发既可靠又能有效运行的软件C.应用完善的科学与工程原理D.经济地开发软件5.造成大型软件开发困难的根本原因在于A.开发人员缺乏足够的开发经验B.项目开发进度不合理对软件开发的资金投入不足6.软件会逐渐退化而不会磨损,其原因在于A.软件备件很难订购C.软件错误在经常使用之后会逐渐增加D.软件通常暴露在恶劣的环境下7.下面说法正确的是B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功D.购买大多数计算机系统所需的硬件比软件更昂贵8.Ariane 5 火箭发射失败的事例告诉我们A. ( 2 )软件后备系统可以通过复制生成B. ( 3 )软件重用必须重新进行系统论证和系统测试D. ( 1 )系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是B.软件工具落后。

C.软件生产能力不足。

D.对软件的认识不够。

10.下面的描述正确的是B.软件质量是由产品的功能、性能、易用性等外在特性决定的。

C.运行正确的软件就是高质量的软件。

D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。

11、可行性研究主要包括哪几项?B.技术可行性、经济可行性和道德可行性C.技术可行性、法律可行性和操作可行性D.技术可行性、操作可行性和法律可行性12、成本/效益分析的目的是帮助 ( )正确地作出是否投资于这项开发工程的决定。

A.系统分析员项目经理 D.软件开发人员13、在进行成本/效益分析的时候,需要考虑( )14、数据流图和数据字典共同定义了新系统的逻辑模型。

软件工程复习资料

软件工程复习资料

软件⼯程复习资料《软件⼯程》复习资料1.解释什么是软件⼯程?运⽤⼯程学的原理和⽅法来组织和管理软件的⽣产和管理,以保证软件产品开发、运⾏和维护的⾼质量和⾼⽣产率。

2.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重的问题。

它包含两个⽅⾯的问题:如何开发软件,以满⾜对软件⽇益增长的需求,如何维护数量不断膨胀的已有软件。

3.简述软件与硬件的区别。

硬件是计算机系统中的物理部件,⽽软件则是计算机系统中的逻辑部件。

4.简述软件⼯程专家B.W.Boehm提出的软件⼯程七条原理。

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

5.软件⼯程的三个要素的是什么?⽅法、⼯具和过程(其中⽅法是完成软件开发的各项任务的技术⽅法,回答“怎样做”的问题;⼯具是为运⽤⽅法⽽提供的⾃动或半⾃动的软件⼯程⽀撑环境;过程是为了获得⾼质量的软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。

)6.⼀个软件的⽣命周期分为哪⼏个阶段?软件定义,软件开发和运⾏维护7.什么是软件过程?主要有那些过程模型?1)、软件过程是为了获得⾼质量软件所需要完成的⼀些列任务的框架,它规定了完成各项任务的⼯作步骤。

2)、主要有:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。

8.简述瀑布模型的特点。

1)、阶段间具有顺序性和依赖性,2)、推迟实现的观点,3)、保证质量的观点9.简述原型法的基本思想。

所谓快速原型是快速建⽴起来的可以在计算机上运⾏的程序,它能够完成的功能往往是最终产品能完成的功能的⼀个⼦集。

10.Rational统计过程的“最佳实践”指的是什么?迭代式开发、管理需求、使⽤基本构件的体系结构、可视化建模、验证软件质量、控制软件变更。

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

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

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

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

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

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

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

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

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

⑶软件质量不可靠。

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

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

⑹软件成本越来越高。

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

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

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

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

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

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

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

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

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

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

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

PSL:问题说明。

PSA:问题说明分析器。

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

软件工程复习资料

软件工程复习资料

一.概述1.什么是软件?什么是软件工程?--软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

软件具有不可见性,是抽象的、形式化和逻辑化的。

--软件会逐渐退化而不会磨损的原因是不断地变更使组件接口之间引起错误。

--软件工程要素:过程、方法、工具。

--软件工程的基本目标是开发高质量的软件。

2.现代软件工程师关注的问题开发过程中遇到的各种困扰。

3.软件生存周期模型--软件生存期由软件定义、软件开发和运行维护3个时期组成,每个时期又可划分若干阶段,即可行性研究、需求分析、概要设计、详细设计、编码、测试、使用与维护。

--软件生存周期模型包括瀑布模型、原型模型、增量模型、螺旋模型。

4.软件开发的各种模型(瀑布、快速原型等)的特点--瀑布模型:1)阶段间具有顺序性和依赖性。

2)推迟实现的观点。

3)质量保证的观点。

瀑布模型适用于需求被清晰定义的情况。

--快速原型模型:适用于客户需求难以清楚定义的情况。

--增量模型:适用于一种需要快速构造可运行程序的方法。

--螺旋模型:螺旋模型是瀑布模型、原型模型的有机结合,同时增加了风险分析。

螺旋模型只适合于大规模的软件项目。

--喷泉模型:喷泉模型是典型的面向对象生命周期模型。

二.需求分析1.需求分析的目的--需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析是软件工程中的一个关键过程。

--需求分析中开发人员从用户那里了解软件做什么。

--可行性研究要进行一次“简化的、压缩的”需求分析。

2.主要任务--获取并理解用户的需求是软件工程师所面对的最困难的任务之一--发现和分析问题,并分析问题的原因/结果关系;与用户进行各种方式的交流,并使用调查研究方法收集信息;按照三个成分观察问题的不同侧面,即数据、过程、接口;将获取的需求文档化,形式有用例、决策表、需求表等。

3.功能性需求和非功能性需求--功能性需求:系统需要提供的服务或功能:如图书检索;系统对特定输入的处理方式:如对非法输入的提示;系统在特定环境下的行为:如长时间无操作时的屏保。

软件工程复习资料

软件工程复习资料

第一章概论1.软件工程的主要内容:为了有限的资金、资源和时间条件下开发满足客户要求的高质量软件,就需要研究与软件开发和管理相关的模型、方法、技术、过程、工具和环境等。

2.计算机软件:指的是计算机系统中的程序及其文档,3.程序:指的是计算任务的处理对象和处理规则的描述.4.计算任务:任何以计算机为处理工具的任务都是计算任务。

5.处理对象:是数据(如数字、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及相关的含义)。

6.处理规则:一般指处理的动作和步骤.7.文档:是为了便于了解程序所需的阐述性资料.8.软件工程:是应用计算机科学,数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法、以提高质量、降低成本为目的。

其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

9.杨芙清院士指出软件工程的框架可概括为:目标、过程和原则。

10.软件工程目标:只生产具有正确性、可用性和开销合宜的产品。

正确性:指软件产品达到预期功能的程度。

可用性:只软件基本结构、实现及文档为用户可用的程度。

开销合宜:只软件开发,运行的整个开销满足用户要求的程度。

11.软件工程原则包括围绕工程设计、工程支持和工程管理所提出的4条基本原则:(1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑(4)重视软件工程的管理。

12.软件的生存周期:软件孕育、诞生、成长、衰亡的生存过程。

软件生存周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。

软件生存周期大致可以分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。

13.软件过程:是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。

过程是活动的集合,活动是任务的集合。

14.软件过程有3层含义:(1)、个体含义:指软件产品或系统存在生存周期中的某一类活动的集合,如软件开发过程、软件管理过程等。

《软件工程》复习材料(有答案)

《软件工程》复习材料(有答案)

一、写出下列缩写英文的中文涵义[30T]CFD DFD OOASA SD SP CMM CMMI UMLCASE XPC/S B/SA TAM PDL SQA MVC CRC MBSCBSD GUISQLMTTR MTTF MTBF FTR PERT SCM CPMRMMP【参考答案】计算流体动力学(CFD)Computational Fluid Dynamics数据流图(DFD)Data FlowDiagram面向对象分析方法(OOA)Object—Oriented Analysis结构化分析方法(SA) Structured Analysis结构化设计(SD)Structureddevise结构化编程(SP)Structured Programming成熟度模型(CMM)CapabilityMaturity Model能力成熟度模型集成(CMMI) Capability Maturity Model Integration统一建模语言(UML)Unified Modeling Language计算机辅助软件工程(CASE) Computer Aided Software Engineering极限编程(XP)ExtremeProgramming客户机/服务器网(C/S) Client/Server浏览器和服务器结构(B/S)Browser/Server构架权衡分析方法(ATAM)Architecture Tradeoff AnalysisMethod页描述语言(PDL)Program DesignLanguage软件质量保证(SQA)SoftwareQualityAssurance模型—视图-控制器(MVC)ModelView Controller循环冗余码校验(CRC)Cyclical RedundancyCheck相互广播系统(MBS)Mutual BroadcastingSystem基于构件的软件开发(CBSD)Component—Based SoftwareDevelopment图形用户界面(GUI)Graphical User Interface结构化查询语言(SQL)Structured Query Language平均恢复前时间(MTTR)Mean TimeTo Restoration平均失效前时间(MTTF)MeanTimeTo Failure平均无故障时间(MTBF)Mean Time Between Failure正式技术复审(FTR)Formal Technical Review计划评审技术(PERT) Program EvaluationAnd Review Technique软件配置管理(SCM)Software Configuration Management关键路径方法(CPM)Critical Path Method二、概念[34][1]在《计算机科学技术百科全书中》,对计算机软件作出如下定义:计算机软件指计算机系统中的程序和文档,前者是计算任务的处理对象和处理规则的描述;后者是为了便于了解程序所需的阐述性资料。

软件工程复习资料选择题简化版

软件工程复习资料选择题简化版

一、单项选择题1.软件开发旳瀑布模型最经典地刻画了软件生命周期旳阶段划分, 而与其最相适应旳软件开发措施是( C )A 构件化措施B 面向对象措施C 构造化措施D 原型化措施2.与软件开发措施亲密有关旳应是支持该措施实行旳软件工具, 将它们有机地集成起来则构成一种( A )A 软件工程环境B 软件开发规范C 软件生产线D 软件开发工具3.软件生命周期一般可以分为两个大旳阶段, 它们分别是( B )A 分析和设计B 开发和运行C 编码和测试D 规划和设计4.软件构造图能描述软件系统旳总体构造, 它应在软件开发旳哪一种阶段提出?( B )A 需求分析B 总体(概要)设计C 详细设计D 代码编写5.软件需求阐明书中应包括多方面旳内容, 下述哪个不是软件需求阐明书中应包括旳内容?( D )A 数据描述B 功能描述C 性能描述D 构造描述6.软件测试措施一般有黑盒测试和白盒测试, 而黑盒测试重要是根据程序旳( C )旳测试。

A 构造B 流程C 功能D 逻辑7、在面向对象中, 为了实现信息隐蔽而把对象旳所有属性内容和服务旳实现过程结合成为一种独立旳实体。

这种数据组织旳构造方式属于( B )。

A 继承B 封装C 构造与连接D 消息8、在软件旳使用过程中, 根据顾客提出旳新增系统功能和改善性能旳规定而对软件进行修改或再开发, 以扩充软件功能、增强软件性能、改善加工效率、提高软件质量旳工作属于( D )。

A 适应性维护B 防止性维护C 改正性维护D 完善性维护9、耦合性用来度量模块之间联络旳次数和强度, 模块之间旳耦合性越低越好, 内聚性越高越好。

下面哪个属于中度耦合( A )。

P191A 数据耦合B 控制耦合C 外部耦合D 内容耦合10、程序测试是一项复杂旳工作, 一般测试者在进行测试中都需要设计( B )。

A 数据构造B 测试实例C 测试阶段D 测试措施1.软件是一种( B )产品。

A 有形B 逻辑C 物质D 消耗2.软件危机旳重要原因有( C )。

软件的工程复习资料07619

软件的工程复习资料07619

软件工程复习题2一、选择题,请从四个可选项中选择正确答案。

1.软件工程的出现是由于()A.软件危机B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展2.螺旋模型是一种将瀑布模型和哪种模型结合起来的软件开发模型。

()A.快速原型模型B.专家模型C.V模型D.演化模型3.软件可行性研究一般不考虑()A.是否有足够的人员和相关的技术来支持系统开发B.是否有足够的工具和相关的技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题4.软件需求分析的任务不包括()。

A.问题分析B.信息域分析C.结构化设计D.确定逻辑结构5.结构化分析方法(SA 法)使用的主要描述工具有()。

A.数据库B.模块结构图C.PAD 图D.分层的DFD 图6.源程序的效率与()阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计 C. 单元设计 D. 详细设计7.画DFD 图的主要目的是()。

A.作为需求分析阶段用户与开发者之间交流信息的工具B.对系统的数据结构进行描述C.对目标系统的层次结构进行描述D.作为编码和测试的工具8.耦合度最高的是()。

A.外部耦合B.内容耦合C.控制耦合D.数据耦合9.为了提高模块的独立性,模块之间最好是()。

A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合10.UML是一种()。

A.建模工具B.可视化的程序设计语言C.可视化的建模语言D.过程11.下面的哪个选项不是软件工程的宗旨()。

A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件12.是职业软件工程师的必要条件。

()A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋13.可行性分析研究的目的是()A.争取项目B.项目是否值得开发C.开发项目D.规划项目14.可行性研究实质上是在较高层次上、以较抽象的方式进行()的过程。

A.详细软件设计B.需求分析和设计C.深入的需求分析D.测试设计15.需求规格说明书的作用不包括()A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据16.进行需求分析有的多种描述工具,但不包括()。

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

1.什么是软件工程?他的基本原理是什么?1)软件工程是指导计算机软件开发和维护的工程学科。

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

2)用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。

2. 是什么导致了软件工程?主要是软件危机的出现导致了软件工程3. 通常我们所见的软件工程模型有哪些?瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。

21.软件危机的现象:1)经费超出预算,项目一再拖延。

2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。

3)没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。

3)开发工具落后,手工方式,开发效率低。

22.软件工程的三要素1)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量开发出软件。

2)“方法”为软件开发提供“如何做”的技术。

它涵盖了项目计划、需求分析、系统程序()实现、测试与维护灯一系列活动的做法。

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

这些工具既包括软件,也包括硬件,软件工具包括编程、建模、管理等开发工具。

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

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

23.简述软件工程的目标,过程和原则1)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。

软件工程的目标:降低成本,及时交付高质量的软件产品。

实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。

24.对比瀑布模型,原型模型,增量模型和螺旋模型1)瀑布模型:主要体现了分阶段、有控制的思想。

活动间强调按顺序、文档化;存在的问题是过于理想化,每一步的工作必须完整准确,否则无法进行下一步工作2)原型模型:需求分析入手快速、表达直观、容易交流。

重点解决瀑布模型的需求分析入手难的问题。

3)增量模型:对于需求复杂的系统,采用分块开发、逐步集成的开发策略。

增量体现了演进、迭代思想,每一块就是一个增量。

每个增量试一次迭代。

增量模型的新版本叫做“极限编程(XP)”。

4)螺旋模型:融合了上述3种模型,融进了循环往复、强化了演进迭代的思想,增加了风险控制环节。

但是,风险分析的正确性是左右软件演进的关键因素。

25. 当需求不能一次搞清楚,且系统需求较复杂时应选用什么模型?开发模型不是孤立或排斥的,他们之间需要相互借鉴和参考。

螺旋模型是一种综合性的模型,适合于鼻尖复杂的系统。

26.XP(极限开发)是一种什么样的模型?XP是现代版的增量模型,特点是你客户参与、适应变化、测试驱动、以代码为核心。

实行XP的条件如下。

1)企业具有较高的能力成熟度,具有团队开发环境和配套的测试工具。

2)软件结构是开放的,增量可随意整合。

3)开发团队拥有“系统隐喻”。

27.敏捷方法的核心价值观有哪些?它对传统方法的”反叛“体现在哪些方面?1)①注重个人与交互②重点关注可以工作的软件。

③提高客户参与程度。

④以积极的心态响应需求变化。

敏捷联盟强调的价值观是这一流派的核心。

认识受价值观驱使的,敏捷项目管理因而也是以价值观为推动力的。

一个团队可以采用敏捷做法,但如果它不接受敏捷价值观,它将不能得到敏捷方法的潜在好处。

2)敏捷方法对传统方法的”反叛“体现在以人为中心,不再依靠文档来控制过程,认为传统过程过于僵化、文档繁烦,主张对传统过程瘦身,在上述价值观的支配下,做到能够为准28.简述CMM(成熟度等级)软件过程成熟度的5个级别,以及每个级别对应的标准。

1)初始级的软件过程是无秩序的,它几乎处于无步骤可循的状态。

管理是随机的,软件产品的成功往往取决于个人。

2)可重复级,已建立了基本的项目管理过程,对成本、进度和功能特性进行跟踪,并且在借鉴以往经验的基础上制定了必要的规范。

3)已定义级,用于管理和工程两个方面的过程均已文档化、标准化,并形成了整个软件组织的标准软件工程。

所有项目均使用经过批准、裁剪的标准软件过程来开发和维护软件。

4)已管理级的软件过程和产品质量有详细的度量标准并且得到了定量的认证和控制。

5)优化级的软件过程可以通过量化反馈和先进的新思想、新技术来不断地、持续性的过程改进。

29.RUP(统一过程)包含了那些核心工作流和那些核心支持工作流。

1)核心工作流包括:业务建模、需求、分析与设计、实现、测试、部署。

2)支持工作流包括:配置与变更管理、项目管理、环境。

30.如何进行结构化需求分析,其建模方法有哪些?5. 传统方法学-结构化分析中,有哪几个主要步骤?每个步骤应该要做什么?画什么图?怎么画?1)建立当前系统的”具体模型“:体统的”具体模型“就是现实环境的真实写照,这样到达与当前系统完全对应,用户容易理解。

2)抽象出当前系统的逻辑模型:分析系统的”具体模型“,抽象出其本质的因素,获得当前系统的”逻辑模型“。

3)建立目标系统的逻辑模型:分析目标系统与当前系统逻辑上的差别,从而进一步明确目的系统”做什么“,建立目标系统的“逻辑模型”。

4)为了对目标系统进行完整的描述,还需要考虑人机界面和其他一些问题。

建模方法:数据流图、实体关系、控制流图、状态转换图。

31.为什么说需求过程是一个迭代过程?由于人们对客观事物的认识是不断深化,因此需求过程是一个迭代过程,每次迭代都可提供更高质量和更详细内容的软件需求。

这种迭代会给项目带来一定的风险,上一次迭代的设计实现可能会因为需求不足而被推翻。

32.简述可行性研究所研究的问题。

1)经济可行性:进行成本/效益分析那个。

从经济角度判断系统开发是否“合算“。

2)技术可行性:进行技术风险评价。

从开发者的技术实力、以往工作基础、问题的复杂性出发,判断系统开发在实践、费用等限制条件下成功的可能性。

3)法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。

4)方案的选择:评价系统或产品开发的几个可能的候选方案,最后给出结论意见。

33.简述数据流图的作用。

数据流图的作用:数据流图可以用来抽象地表示系统或软件。

从信息传递和加工的角度它以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。

因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立其系统或软件的功能模型。

34.简述数据字典的作用!数据字典的作用:分析建模种包含了对数据对象、功能和控制的表示。

在每一种表示中数据对象和控制项都扮演一定的角色。

为表示每个数据对象和控制项的特性,建立了数据词典。

数据词典精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。

35.简述在软件设计的过程中需要遵循的规则。

模块化、抽象化、逐步求精和信息隐藏。

36.为什么说“高内聚、低耦合”的设计有利于提高系统的独立性?内聚和耦合往往密切相关,模块的高内聚通常意味着低耦合。

低耦合因为模块之间的耦合成都越低,相互影响就越小,发生异常后产生连锁反应的概率就越低;在修改一个模块是,低耦合的系统就可以把修改范围尽量控制在最小的范围内;对一个模块进行维护是,其他模块的内部程序的正常运行不会受到较大的影响。

37.简述界面设计应该遵循的原则。

1)置界面与用户控制之下:以不强迫用户进入不必要的或不希望的动作的方式来定义交互模式;提供灵活的交互;允许用户交互可以被中断和撤销;当技能级别增长时可以使交互流水化并允许定制交互;使用户隔离内部技术细节;设计应允许用户和出现在屏幕上的对象直接交互。

2)减少用户的记忆负担:减少对短期记忆的要求;建立有意义的缺省;定义直觉性的捷径;界面的视觉布局应该基于真实世界的阴雨;以不断进展的方式解释信息。

3)保持界面一直;允许用户将当前的任务放入有意义的语境;在应用系列内保持一致性;如果过去的交互模式已经建立起了用户期望,不要改变它,除非有不得已的理由。

4. 传统方法学中,分几个主要步骤?结构化分析,结构化设计,结构化实现。

6. 传统方法学-结构化设计的概念和原理是什么?模块化、抽象、逐步求精、信息隐藏。

7. 传统方法学-结构化设计有哪些启发规则?改进软件结构提高模块独立性,模块规模应该始终,深度、宽度、扇出和扇入都应适当,模块的作用域应该在控制域之内,力争降低模块接口的复杂程度,设计单入口单出口模块,模块功能应该可以预测8. 传统方法学-结构化设计有哪几个主要步骤?每个步骤要做什么?需要绘制哪些图形图表,怎么画?1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson图庙会这些数据结构。

2)找出输入数据结构和输出数据结构中有对应刮泥的数据单元。

3)秒回数据结构的Jackson头到处描绘成结构的Jackson图。

怎么画:1)为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图等响应层次化一个处理框。

2)根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为他们画上对应的处理框3)根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。

4)列出所有操作和条件,并且把它们分配到程序结构图的适当位置。

5)用伪码表示程序。

9. 传统方法学-结构化设计中,什么是面向数据流的设计方法?面向数据流的设计方法就是通常所说的结构化设计方法。

它是以数据流图为基础,将DFD变换成软件结构的不同映射方法,以软件结构图(SC图)的形式表现。

SC图描述软件系统的层次和分块结构的关系,体现模块与模块之间的联系与通讯,从而表达软件的体系结构。

10. 传统方法学-结构化实现中,所涉及到的测试有哪些?有哪些策略?以及测试有哪几个基本步骤?1)测试基本步骤:单元测试、集成测试、确认测试、(高级测试)。

2)策略:逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖)、控制结构测试(基本路劲测试、条件测试、数据流测试、循环测试)。

11. 面向对象方法学中,其核心是对什么进行分析?对象。

12. 面向对象的基本概念是什么?对象,类,(实例,消息,方法,属性,)封装,继承,多态(重载)。

13. 与传统方法学相比,面向对象方法的区别是什么?1)符合人类的思维习惯2)可复用性好。

相关文档
最新文档