东北大学软件工程复习资料
软件工程复习资料精选全文完整版
可编辑修改精选全文完整版一、单选题(共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.软件是一种逻辑产品,它的开发主要是〔A 〕。
A研制B拷贝C再生产D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述〔D 〕不是软件开发期所应包含的内容。
A需求分析 B 结构设计C程序编制D软件维护3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是〔 C 〕。
A喷泉模型 B 增量模型C瀑布模型D螺旋模型4.在软件生存周期中,〔B 〕阶段必须要答复的问题是“要解决的问题是做什么?”。
A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种〔C 〕产品A有形 B 消耗 C逻辑D文档6.〔C 〕把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
A概要设计 B 详细设计 C 编码 D 测试8.以下软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是〔A 〕。
A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.以下软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是〔 C 〕。
A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型10.以下软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是〔 D 〕。
A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为〔C 〕。
A可修改性B可靠性C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为〔B 〕。
A可移植性B可重用性 C 容错性 D 可适应性13.软件特性中,〔A 〕是指系统具有清晰的结构,能直接反映问题的需求的程度。
东北大学_软件工程 复试资料
学习中心姓名学号一、单选题(共12题,每题2分,共24分。
请将答案填入下表)1.软件工程是以()为核心。
A.过程B.方法C.软件开发D.质量1.软件工程是以()为核心。
A.过程B.方法C.软件开发D.质量2.以下数据流图存在()错误。
A.功能2.1存在不必要的输出B.功能2.1输出到顾客信息的数据流上无名字C.处理2.1无输入数据流D.该图中存在输入/输出命令3.数据流程图是一个分层的概念模型,分三个层次:(),分别描述系统的不同特征。
A.总体图、二级图、三级图B.总体图、二级图、细节图C.总体图、零级图、细节图D.总体图、次级图、细节图4.在用例图中,()是在系统之外,透过系统边界与系统进行有意义交互的任何事物。
A.相关系统B.用例C.类D.参与者5.软件测试是为了()而执行程序的过程。
A.纠正错误B.发现错误C.避免错误D证明正确6.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的()阶段。
A.可行性研究B.需求分析C.设计D.实施7.下图中,类B和类A之间的关系是()关系。
A.关联B.依赖C.组成关联D.聚集关系8.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)<C(p2) 则()。
A.E(p1)>E(p2) B.C(p1+p2)=C(p1)+C(p2)C.E(p1+p2)>E(p1)+E(p2) D.E(p1+p2)<E(p1)+E(p2)9.在将下面的左图改造成右边的图过程中体现了的()。
A.开闭原则B.里氏替换原则C.依赖倒转原则D.接口隔离原则10.下图体现的是用例图中用例的()关系。
A.泛化B.包含C.扩展D.错误的画法11.假设某项目有两个方案,预计A方案需要投入100000元,5年后净资金现值为40000元;预计B方案需要投入50000元,5年后净资金现值为10000元。
软件工程复习提纲
软件工程复习提纲第一篇:软件工程复习提纲《软件工程》课程要点λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);(2)软件危机的含义、表现、产生原因(客观、主观)(3)软件工程学科包括的内容、解决的主要问题(4)软件生命周期的含义、组成阶段及各阶段主要任务2.需理解的问题:(1)软件与程序的区别和联系?(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?(3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?二、结构化分析-面向数据流的分析方法1.什么是软件需求?需求分析过程(步骤)?2.需求分析模型:(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则(2)数据模型(E-R图)的作用(3)行为模型(状态转换图)的作用(4)数据字典的作用三、结构化设计1.软件设计的任务?结构化设计与结构化分析的区别和联系?2.软件设计遵循的基本原理及规则:(1)模块化的含义、如何划分模块(降低成本、提高独立性)?(2)抽象与逐步求精的含义、二者间关系如何?(3)信息隐藏的含义(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控制域)? 3.模块独立性:(1)模块独立性含义?(2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。
4.概要设计(面向数据流的设计方法)(1)概要设计的任务?(2)数据流图的类型及特征(变换型、事务型)(3)变换分析设计方法的应用(步骤)(4)事务分析设计方法的应用(步骤)4.详细设计(过程设计)(1)详细设计的任务(2)结构化程序(设计)的特征(3)详细设计结果的描述工具:程序流程图、N-S图、PAD图、PDL、判定表四、软件测试1.软件测试基础(1)软件测试的含义和目的?(2)测试用例的内容(输入数据、预期输出结果)?(3)主要测试方法(黑盒测试、白盒测试)的含义?2.主要的白盒测试技术及应用-------逻辑覆盖法?基本路径测试方法? 3.主要的黑盒测试技术及应用-------等价类法? 边界值分析法?4.软件测试的过程?(1)单元测试(采用的测试方法;测试内容)(2)集成测试(采用的测试方法;测试内容;模块组装策略)(3)确认测试(采用的测试方法;测试内容;α测试与β测试?)(4)辅助模块的含义及作用(驱动模块、存根模块?)五、面向对象方法学基础 1.基本概念:(1)对象的含义及特点?(2)类的含义?类与对象的关系?(3)消息及消息传递的含义及作用?(4)继承的含义?多态性机制?2.面向对象建模技术中的三种模型及各自作用?3.对象模型及描述(类图):对象(类)的图形表示;关系(关联、聚集、继承)的图形表示; 4.事件追踪图、状态图、用例图的作用六、面向对象分析与设计过程1.面向对象分析(OOA)的任务?OOA的基本过程?2.面向对象设计(OOD)的主要任务?OOD与OOA的区别和联系?3.OOD模型的组成(四部分)及内容?七、软件维护1.软件维护的含义及类型? 2.软件维护过程?--------------- 课堂练习题目一、填空题1.软件主要包括程序、和三部分内容。
软件工程总复习资料
软件工程总复习资料
软件工程概述
- 定义:软件工程是一门研究如何通过系统化、规范化、可度量化的方法开发和维护软件的学科
- 软件工程的目标
- 提高软件开发的质量
- 提高软件开发的效率
- 降低软件开发的成本
- 软件生命周期
- 概念阶段
- 需求分析阶段
- 设计阶段
- 编码实现阶段
- 测试阶段
- 运行和维护阶段
软件生命周期模型
- 瀑布模型
- 原型模型
- 增量模型
- 螺旋模型
软件需求
- 软件需求分类- 功能需求
- 非功能需求
- 软件需求获取- 需求文档
- 需求分析
- 软件需求验证- 合法性验证
- 一致性验证
- 可行性验证
软件设计
- 面向对象设计- 结构化设计
- 数据流图设计- 状态转换图设计
软件测试
- 测试分类
- 静态测试
- 动态测试
- 测试方法
- 黑盒测试
- 白盒测试
- 测试覆盖率- 代码覆盖率- 判定覆盖率- 条件覆盖率- 路径覆盖率
软件质量
- 软件质量模型- ISO 9126模型- McCall模型- 质量保证
- 质量控制
软件项目管理
- 项目计划
- 项目跟踪
- 项目评审
- 质量保证和配置管理
- 风险管理
以上是软件工程的主要知识点总结,希望对大家的复习有所帮助!。
东北大学软件工程硕士《软件项目管理》复习题201407
软件工程硕士《软件项目管理》复习题201407(答题要点,略有差异)第一部分重要知识点第一章项目管理概述1、项目的属性有哪些?项目与日常工作有什么不同?特定的目的、临时性、渐进性、需要来自不同领域的资源、有一个主要客户或发起人、不确定性2、项目管理的“四项约束”是什么?时间、范围、成本、质量3、什么是项目干系人,通常包括哪些人员?项目干系人是参与项目活动或受项目活动影响的人,包括项目发起人、项目团队、支持人员、客户、使用者、供应商、反对者等4、项目经理的作用是什么?项目经理应具备哪些技能?项目经理的主要职责是确保项目的全部工作在项目预算范围内按时、优质的完成,从而使客户满意。
项目经理是项目工作的领导者、计划者、组织者、控制者,管理项目的日常活动,为客户提供可交付成果。
项目管理知识体系;应用领域的知识、标准和规则;项目环境知识;通用管理知识和技能;软技能和人际关系能力。
5、项目经理的领导力为什么那么重要?研究发现,出众的领导力是项目成功的重要因素,成功的项目经理所展示的领导才能有:远见卓识、专业技能、决策果断、擅于沟通和激励等。
拥有领导能力的项目经理能够制定远期和近期项目目标,并能激励团队成员实现这些目标。
优秀的项目经理知道项目的干系人更想要什么,能够很好的管理当前的项目,除了能够抓住重点外,还非常注重实效。
第二章项目管理和IT背景1、简要描述职能型、项目型和矩阵型组织的区别,描述每一种结构对项目管理的影响?2、什么类型的组织文化能够提升好的项目环境?员工更认同组织、工作活动重视团队、团队凝聚力强、抗风险能力高、有合适的基于绩效的奖励、对不同意见的容忍程度高、有很强的开放性、注重人员、能够控制投入与产出的平衡。
3、为什么高层管理的参与对于项目的成功至关重要?高层管理者是项目的重要干系人,能够帮助项目经理成功领导项目一个非常重要的因素是他们能够从高层管理者那里得到参与和支持的程度。
没有高层管理者的参与,很多项目将会失败。
软件工程复习资料-完整版
软件工程复习资料-完整版一、概述软件工程是一门关于开发、维护和管理软件的综合学科。
它涵盖了软件开发的各个阶段,包括需求分析、设计、编码、测试和维护。
软件工程的目标是提供高质量的软件,满足用户的需求,同时将开发过程控制在预定的时间和预算范围内。
二、软件生命周期1. 需求分析阶段在需求分析阶段,开发团队与用户沟通,了解用户的需求和期望。
通过需求分析,确定软件的功能和性能要求,制定详细的需求规格说明。
2. 设计阶段在设计阶段,团队根据需求规格说明,设计软件的整体架构和模块。
设计阶段包括概要设计和详细设计,概要设计主要确定软件的整体结构,详细设计则更加具体,包括模块的功能和接口设计。
3. 编码阶段在编码阶段,根据详细设计,实现软件的各个模块。
编码时应遵循编程规范,确保代码的可读性和可维护性。
同时,要进行单元测试,确保每个模块的功能正确。
4. 测试阶段在测试阶段,对软件进行不同层次的测试,包括单元测试、集成测试和系统测试。
单元测试测试各个模块的功能,集成测试测试模块之间的接口,系统测试测试整个系统的功能和性能。
5. 部署和维护阶段在软件开发完成后,需要将软件部署到目标环境中,并进行用户培训。
同时,还需要对软件进行维护和升级,以解决出现的问题和满足用户的需求变化。
三、软件工程的原则1. 模块化将软件划分为多个模块,每个模块负责特定的功能。
模块化能够提高软件的可维护性和复用性,同时有利于团队的协作开发。
2. 可伸缩性软件应该具备可伸缩性,能够满足不同规模和需求的用户。
在设计和实现软件时,需要考虑未来的扩展和升级,保证软件的灵活性。
3. 可测试性软件应该具备可测试性,方便进行各个阶段的测试。
在设计和编码时,需要考虑如何进行自动化测试,提高测试的效率和覆盖率。
4. 可维护性软件应该具备可维护性,方便对软件进行改进、修复和升级。
在设计和编码时,需要遵循良好的编程规范,提高代码的可读性和可维护性。
5. 文档化软件开发过程需要进行详细的文档记录,包括需求文档、设计文档、测试文档等。
软件工程复习资料-完整版
一、选择题: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.软件生命周期模型软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。
软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等2. 模块独立性模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
3.软件的可维护性软件可维护性指软件能够被理解、校正、适应及增强功能的容易程度。
4. 软件工程软件工程指用科学知识和技术原理来定义、开发、维护软件的一门学科。
或者说,软件工程就是运用工程学的基本原理和方法来组织管理软件的生产、研究、开发、管理、维护的过程、方法和技术。
5.数据字典字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述。
6、静态测试静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。
7、面向对象:面向对象OO=类+对象+继承+通信8、需求分析需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
9、软件危机软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。
概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
10、软件生存周期软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。
简答:1.软件生存周期有哪几个阶段?①可行性研究②需求分析③总体设计④详细设计⑤编码⑥测试⑦维护2.白盒测试法有哪些逻辑覆盖标准?①语句覆盖②判定覆盖③条件覆盖④判定/条件覆盖⑤条件组合覆盖⑥点覆盖、边覆盖、路径覆盖3.软件的维护有哪4种类型?①校正性维护②适应性维护③完善性维护④预防性维护。
东北大学软件工程硕士--信息检索复习题及答案
信息检索复习要点2010第一讲网页采集1.网页采集器的基本原理[简答题]网页采集器一般称为“网路蜘蛛”,也叫网页机器人。
网络蜘蛛把互联网比喻成一个蜘蛛网,那么网络蜘蛛就是在网上爬来爬去的蜘蛛。
网络蜘蛛是通过网页的链接地址来寻找网页,从一个网页开始,读取网页的内容,保存下来,找到在网页中的链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去。
2.网页采集器的设计[综合题]3.网络运营者对网页采集器的态度是什么?[简答题]网站数据被网页采集器采集后,进入搜索引擎数据库,可扩大网站访问量、提高网站知名度。
因此,网站运营者欢迎网页采集器,并为其提供便利。
网页采集器需要大量抓取网页,不同于一般的访问,如果控制不好,则会引起网站服务器负担过重。
因此,网站运营者希望网页采集器不要影响网站的正常运转,并通过各种方法于网页采集器进行交流,规范网页采集器的行为。
第二讲分析处理4.网页分析处理的必要性[简答题]答:分析处理帮助得到更加准确的查询结果,重复的利用时间和资源。
5.分词歧义的处理方法[简答题]目前,对汉语分词方法的研究主要有三个方面:1)基于规则的分词方法:这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大”的机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。
常用的方法:最小匹配算法,正向(逆向)最大匹配法,逐字匹配算法,神经网络法、联想一回塑法,基于N-最短路径分词算法,以及可以相互组合。
例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法等。
目前机械式分词占主流地位的是正向最大匹配法和逆向最大匹配法。
2)基于统计的分词方法:基于统计的方法是基于(两个或多个)汉字同时出现的概率,通过对语料库(经过处理的大量领域文本的集合)中的文本进行有监督或无监督的学习。
可以获取该类文本的某些整体特征或规律。
如果能够充分地利用这些统计现象、规律。
软件工程复习提纲(附答案)
软件工程第一章软件工程介绍1、软件的特性:P4软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。
2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P105、软件的定义:P4软件是指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。
第二章过程综述1、软件工程的三个要素:工具,过程,方法P17过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。
工具:为过程和方法提供自动化或半自动化的支持。
2、通用软件过程框架:沟通,策划,建模,构建,部署P8沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。
建模:它包括创建模型和设计两方面。
创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。
构建:它包括编码和测试。
部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P23沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。
东北大学-软件工程-复试资料大全
第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合 B.隐藏C.封装 D.抽象7.软件调试技术包括()A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试8.瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求9.软件测试方法中的静态测试方法之一为()A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析10.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试D.软件维护11.第一个体现结构化编程思想的程序设计语言是()A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程复习资料(提纲+答案)
软件工程复习资料(提纲+答案)第一章软件工程的实质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、软件危机是指计算机硬件发展的太快,软件开发跟不上硬件的更新()3、软件工程是指以质量为核心,为经济的开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的、可控制的工程原则和方法。
()1、软件危机是指软件开发和维护过程中存在的周期长、成本高、质量低等问题()。
2、软件危机是指计算机硬件发展的太快,软件开发跟不上硬件的更新()3、软件工程是指以质量为核心,为经济的开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的、可控制的工程原则和方法。
()4、软件工程是指编制软件的工程项目。
()5、软件工程是一个零散的相关知识点的集合。
()6、软件工程包含软件过程、项目管理、开发方法、软件度量和开发工具等各相关方面的知识的有机组合()7、软件开发具有难以描述性()8、软件开发的质量保证主要是通过程序员的经验来保证的()9、软件满足客户需求的程度是衡量软件质量的最重要因素()10、项目管理的内容涉及人力资源管理、项目计划、风险管理、项目跟踪、质量保证、配置管理等方面()11、项目管理的内容涉计算机硬件管理和软件管理两方面( * )二、选择题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) 软件工程只包括软件的开发过程B) 软件工程涉及软件过程、项目管理、开发方法、开发工具甚至企业文化。
东北大学22春“计算机科学与技术”《软件工程与UML建模》期末考试高频考点版(带答案)试卷号:4
东北大学22春“计算机科学与技术”《软件工程与UML建模》期末考试高频考点版(带答案)一.综合考核(共50题)1.不属于系统运营效益的是()。
A.直接效益B.减少管理费用而产生的效益C.提高工作效率、降低处理成本而产生的效益D.开发系统消息发出后产生的股票收益参考答案:D2.增量模型和瀑布模型都属于演进型模型。
()A.正确B.错误参考答案:B3.项目管理中不包含人员的管理。
()A.正确B.错误参考答案:B4.软件陪置是指程序+文档+硬件。
()A.正确B.错误参考答案:B5.B.错误参考答案:A6.软件测试是保证软件可靠性的主要手段之一。
测试阶段的根本任务是()。
A.证明经测试后的程序是正确的B.确认编码阶段的结束C.发现并改正软件中的错误D.利用计算机调试程序和改进程序参考答案:C7.为了将不同的软件生产商在不同软硬件平台上开发的构件组装成一个系统,必须解决异构平台的各构件间的互操作问题。
目前国际上已出现了一些支持互操作的构件标准,典型的有国际对象管理组织OMG推荐的CORBA和Microsoft公司推出的()。
A.CORBAB.DCOMC.JavaBeanD.Delphi参考答案:B8.软件再工程师一类软件工程活动,它能够使我们:(i)增进对软件的理解; (ii)准备或直接提高软件自身的可维护性、可复用性或演化性。
第(ii)部分旨在改善软件的(),似的软件更容易为人们服务。
A.静态质量B.动态质量C.性能D.功能参考答案:A9.对下面的个人所得税程序中满足语句覆盖测试用例的是()。
If(incomeA.“income=(800,801,1999,2000)”D.“income=(799,1499,2000,2001)”参考答案:C10.以下属于程序流程图缺点的是()。
A.历史悠久B.使用广泛C.支持程序的三种基本控制结构D.可以随心所欲地画控制流程线的流向参考答案:D11.下面不属于软件质量保证活动的是()。
东北大学《软件工程与UML建模》期末考试必备真题集(含答案)33
东北大学《软件工程与UML建模》期末考试必备真题集(含答案)33软件工程与UML建模复习题A一:单选题(1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物A).相关系统B).Use Case C).Class D).Actor2.软件工程是以为核心A).过程B).面向对象C).软件开发D).质量3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于A).功能性需求B).客观需求C).主观需求D).非功能性需求4.“系统每天晚上自动生成进货报表”,Actor是:A).系统B).其它系统C).时间D).报表审阅者5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征A).总体图、二级图、三级图B).总体图、二级图、细节图C).总体图、零级图、细节图D).总体图、次级图、细节图6.以下用例命名中,最合理的是A).进行宠物搜索B).查询宠物C).宠物查询D).进行宠物查询7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。
这两个用例之间是什么关系?A).包含关系B).没有关系C).扩展关系D).泛化关系8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指A).深度B).扇入C).扇出D).耦合9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)<="">A).E(p1)>E(p2) B).C(p1+p2)=C(p1)+C(p2)C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)<e(p1)+e(p2)< bdsfid="90" p=""></e(p1)+e(p2)<>10.以下各种图不是UML使用的图是A).用例图B).类图C).数据流程图D).顺序图11.模块尺寸太大时,应A).分解以提高内聚B).分解以提高耦合C).合并以提高内聚D).分解以降低内聚12.以下类的命名中,最合理的是A). BusVehicle B). Routes C). passenger D). Stop13.在软件过程中,下列活动属于辅助活动的是A).设计B).集成C).退役D).风险管理14.下面用例模型体现了用例间的关系A).泛化、包含和扩展B).包含和扩展C).分解、包括和扩充 D).分解、包含和扩展15.下图体现了面向对象中类的A).复杂性B). 可传递性C).自反关联D). 继承关系一:单选题DDDCC, BBBDC AADAC二:简答题1.请解释软件工程的含义。
东北师范软件工程
2014年春季期末作业考核《软件工程》满分100分一、名词解释(每小题4分,共20分)1.软件生存周期模型答:是描述软件开发的过程中各种活动如何执行的模型。
主要有瀑布模型、增量模型、螺旋模型、喷泉模型、基于知识的模型、变换模型等。
2.数据字典DD答:就是用来定义数据流图中的各个成分具体含义的,它以一种准确的无二义性的说明方式为系统的分析,设计及维护提供了有关元素的一致的定义和详细的描述。
四类条目:数据流、数据项、数据存储,数据加工。
3.内聚性答:也称块内联系。
指模板的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,模块内元素联系越紧密,内聚性越高。
4.JSP方法答:jsp方法定义一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,适于详细设计阶段。
5.多态性答:针对同一消息,不同的对象可以有不同的响应,我们称这种习性多态性。
二、简答题(每小题5分,共20分)1.简述容错技术的四种主要手段,并解释。
答:结构冗余:包括静态冗余、动态冗余和混合冗余。
信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。
时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。
冗余附加技术:指为实现上述冗余技术所需的资源和技术。
2.以G.J.Myers的观点,简述对软件测试的目的。
答:软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。
(3)一个成功的测试是发现至今尚未发现的错误的测试。
3.就程序设计语言的工程特性而言,对程序编码有哪些要求?答:就程序设计语言的工程特性而言,对程序编码有如下要求:可移植性、开发工具的可利用性、软件的可重用性、可维护性。
4.模块的内聚性包括哪些类型?答:模块的内聚性包括:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚三、理论应用题(每小题15分,共30分)1. 请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。
东北大学软件工程复试大全软件工程
一、判断题1、软件危机是指软件开发和维护过程中存在的周期长、成本高、质量低等问题()。
2、软件危机是指计算机硬件发展的太快,软件开发跟不上硬件的更新()3、软件工程是指以质量为核心,为经济的开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的、可控制的工程原则和方法。
()1 、软件危机是指软件开发和维护过程中存在的周期长、成本高、质量低等问题()。
2 、软件危机是指计算机硬件发展的太快,软件开发跟不上硬件的更新() 3、软件工程是指以质量为核心,为经济的开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的、可控制的工程原则和方法。
()4、软件工程是指编制软件的工程项目。
()5、软件工程是一个零散的相关知识点的集合。
()6、软件工程包含软件过程、项目管理、开发方法、软件度量和开发工具等各相关方面的知识的有机组合()7、软件开发具有难以描述性()8、软件开发的质量保证主要是通过程序员的经验来保证的()9、软件满足客户需求的程度是衡量软件质量的最重要因素()10、项目管理的内容涉及人力资源管理、项目计划、风险管理、项目跟踪、质量保证、配置管理等方面()11、项目管理的内容涉计算机硬件管理和软件管理两方面( * )二、选择题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) 软件工程只包括软件的开发过程B)软件工程涉及软件过程、项目管理、开发方法、开发工具甚至企业文化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东北大学软件工程期末复习资料考点:1.什么是软件,包括什么2.程序,文档,数据是什么3.软件类型(两种)4.*软件特点5.软件危机(定义)6.软件工程(定义),关注质量,成本7.什么是软件生命周期8.什么是软件过程模型9.用例是什么的缩写,是什么10.描述一个案例,用什么模型11.需求的重要性12.软件需求是什么13.需求工程是什么14.需求获取的目的15.需求获取的手段16.需求分析17.数据字典流图不考18.是什么19.给一个例子,说明缺陷20.需求验证和管理(了解)21.面向对象的历史22.对象,类,消息,继承是什么23.对象与类的关系24.软件建模25.是什么的缩写26.关联关系多重性27.视角28.面向对象分析是什么29.面向对象分析建模30.面向对象分析用例31.用例是什么,关系,特点32.用例描述33.分析类是什么34.画类图35.包是什么36.包中有什么37.包之间的关系38.动态建模39.状态图40.类图测试41.迭代是软件产品内部特点42.什么是面向对象设计43.设计的原则44.*模块,耦合,内聚45.软件复用46.什么是软件体系结构47.典型的体系结构风格48.*顺序图,协作图49.问某个方法是哪个对象的方法50.伪码51.数据库设计(了解)52.用户界面设计53.*实现与集成54.编程与编码的区别55.编程语言56.怎么选择合适的编程语言57.编码规范,包括哪些58.*维护的类型59.软件测试60.软件质量,软件质量保证61.软件测试类型一:一、1.软件定义⏹*软件的定义(牢记)●( ) 在运行中提供所希望的功能和性能的指令集(即程序)●●程序●编程语言描述的一系列语句序列●提供需要的功能和性能数据●使程序能方便的操纵信息文档●描述程序研制过程和方法,操作和使用方法的文档⏹软件的类型(两种)●一般软件直接提供给市场,或供多个用户使用●定制软件受某个客户委托,一个或多个软件开发机构为其开发的软件⏹*软件的特点(牢记)●, .逻辑产品,非物质的●“”.不会磨损●, 开发出来,而非制造●.大部分是定制的●’质量依赖于开发人员的素质●昂贵●.难以维护2.软件危机(定义)落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
主要是三个个方面的问题:●软件的质量低,难以满足需求●对软件开发时间和成本的估计不足●如何维护软件──数量不断膨胀的已有软件,不断变化的用户需求二、1.定义1.软件工程(定义)是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
2.软件工程的关注(质量,成本)●软件质量软件需要一些属性来反应他的质量⏹可维护性:适应用户的需求变化⏹可靠性:可依靠,安全的⏹效率:不浪费内存和⏹可接受性:方便适用●软件成本用于开发和维护2.主要元素①过程:软件工程的基础②方法:提供建造软件的技术③工具:提供自动化或半自动化手段来支持过程和方法3.目标满足用户的需求,同时提高性能,成本和质量二:一、软件生命周期1.*生命周期:一个软件从定义、开发、使用、和维护,直到最终被废弃要经历一个漫长的时期,这个时期称为生命周期。
2.生命周期涵盖一系列的阶段:●可行性研究●需求分析●概要设计●细节设计●实现●集成●维护●退休二、1.软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤2.典型软件过程模型◆瀑布模型瀑布模型特点:阶段间具有顺序性和依赖性每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误,但: 开发过程一般不能逆转,否则代价太大。
实际的项目开发很难严格按该模型进行。
客户往往很难清楚地给出所有的需求,而该模型却要求如此。
应用范围:软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
用户的需求非常清楚全面,且在开发过程中没有或很少变化开发人员对软件的应用领域很熟悉。
用户的使用环境非常稳定。
开发工作对用户参与的要求很低◆快速原型模型基本是首先建立一个能够反映用户主要需求的原型系统让用户在计算机上运行、试用这个原型系统,通过与原型交互及早发现需求的缺陷;设计人员也可检查设计的可行性。
原型可以利用第四代语言面向对象的应用程序框架,原型开发活动、用户反馈、开发者修改原型的重复迭代过程可提高用户满意程度,也可缩短软件开发周期,从而降低了开发和维护成本。
在该模型中,如何快速进行原型的开发是关键,快速开发原型的途径一般可以有三种: ①利用计算机模拟一个软件的人机界面与交互方式。
②开发一个能实现部分功能(如输入界面、输出格式等)的软件,这部分功能往往是重要的,但也可能是容易引起误解的。
③寻找一个或几个类似的正在运行的软件,利用这些软件向客户展示软件需求中的部分或全部功能。
为了快速地开发原型,要尽量采用软件重用技术,以争取时间,尽快地向客户提供原型。
()特点● 该模型是基于原型驱动的。
● 可以得到比较良好的需求定义,便于开发者与客户进行全面的沟通与交流。
而且原型系统也比较容易适应用户需求的变化。
● 原型系统既是开发的原型,又可以作为培训的环境,这样有利于开发与培训的同步。
● 原型系统的开发费用低、开发周期短、维护容易且对用户更友好。
尽管开发者和客户都喜欢使用原型模型,但原型模型也有其固有的缺点:①在对原型的理解上客户与开发者有很大的差异,客户以为原型就是软件的最终版本,而开发者只将原型当作一个漂亮美丽的软件外壳,在实际开发过程中要对原型进行不断修改完善,这就需要开发人员与客户相互沟通、相互理解。
②由于原型是开发者快速设计出来的,而开发者对所开发领域的陌生容易将次要部分当作主要的框架,做出不切题的原型。
③软件的整个开发都是围绕着原型来展开的,在一定程度上不利于开发人员的创新。
快速设计建造原型用户评估原型,提出新需求对原型进行加工 开发产品 初步需求分析 结束 开始◆增量模型把软件产品分解成增量构件。
原则:当把新构件集成到原有构件时,所形成的产品必须是可测试的。
它能在较短时间内向用户提交可完成部分工作的产品,尽早的得到回报。
要求开始实现各个构件前就全部完成的需求分析、规格说明、总体设计。
◆螺旋模型螺旋模型:沿螺线自内向外每旋转一圈便开发出一个更为完善的软件版本螺旋模型的基本思想:使用原形及其他方法来尽量降低风险。
可以看作每个阶段前都加了风险分析的快速原型模型。
螺旋模型是风险驱动型的。
总结◆面向对象模型●喷泉模型、喷泉模型的优点各阶段交叉、迭代,支持复用喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。
该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。
其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
、喷泉模型的缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。
此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
●统一过程模型✓用例驱动整个开发过程✓迭代增量式开发✓基于构件的软件体系结构为中心展开开发✓使用统一建模语言()三、( ) (计算机辅助软件工程)用来辅助软件开发、运行、维护、管理、支持等过程中活动的软件称为软件工具三:一、?什么是需求工程(一)(软件需求)用户对软件功能,性能,设计等方面的需求(需求工程)✓这个过程获取用户或最终使用者对软件的需求✓包括一系列的任务来理解软件的需求✓帮助软件工程师更好的理解他们需要解决的问题(二)✓( )需求获取✓需求分析✓需求说明✓需求认证✓需求管理二、需求获取技术⏹目的确定和收集与待开发的软件系统相关的信息获取需求,确定问题,定义问题范围,解决冲突⏹关键要与用户沟通,收集和理解需求⏹获取方法✓采访消费者✓研讨需求✓问卷调查✓建了原型三、1.需求分析模型重点是建立分析模型是对现实的简化,分析模型定义了系统的详细需求,但不限于一种技术✓传统方法:(), , (), ,…(数据流图,数据字典,状态转换图)✓面向对象方法:, , , , (用例,顺序图,协作图,类图,状态图)需求分析过程✓定义系统范围✓分析需求的可行性✓确定需求的优先级✓形成需求分析模型✓建立数据字典数据流图✓建立一个系统的输入输出模型✓用来描述系统的功能和行为优点✓易于理解✓方便开发者和用户间的交流符号(外部实体,处理,数据流,数据储存)1)外部实体(原点和汇点)外部项是指系统以外的事物或人,表达了该系统数据的外部来源或去处,用方框表示之。
2)处理(加工)处理表达了对数据的逻辑加工或变换功能:对数据的加工处理的结果,或者是变换了数据的结构,或者是在原有数据的基础上产生新的数据。
处理用圆表示。
3)数据流数据流指示数据的流动方向,用单箭头表示。
4)数据存储数据存储指明了保存数据的地方。
不代表具体的存储介质。
数据存储使用右端开口的矩形框表示。
: 分层数据流图为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。
稍为复杂的实际问题,在数据流图上常常出现十几个甚至几十个加工。
这样的数据流图看起来很不清楚。
层次结构的数据流图能很好地解决这一问题。
按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。
画数据流图的方法画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。
检查和修改的原则为:1)由外及里画数据流图2)自顶向下分层画数据流图分解应遵循下列原则:●分解要自然,注意概念上的合理性;●以分层方式对处理编号;●注意父图与子图的平衡,即子图所有的输入和输出数据流应当是父图中相应处理的所有输入和输出数据流;●一个处理一般可分解成个子处理,不宜过多;●当进一步分解可能涉及具体的物理实现手段时,分解应终止。
3)检查和修改的原则为:①数据流图上所有图形符号只限于前述四种基本图形元素。
②顶层数据流图必须包括前述四种基本元素,缺一不可。
③顶层数据流图上的数据流必须封闭在外部实体之间。
④每个加工至少有一个输入数据流和一个输出数据流。
⑤在数据流图中,需按层给加工框编号。
编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。
⑥规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。
此即父图与子图的平衡。
⑦可以在数据流图中加入物质流,帮助用户理解数据流图。
⑧图上每个元素都必须有名字。
数据流和数据文件的名字应当是“名词”或“名词性短语”,表明流动的数据是什么。