东北大学软件工程复习资料

合集下载

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

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

可编辑修改精选全文完整版一、单选题(共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

软件工程硕士《软件项目管理》复习题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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)检查和修改的原则为:①数据流图上所有图形符号只限于前述四种基本图形元素。

②顶层数据流图必须包括前述四种基本元素,缺一不可。

③顶层数据流图上的数据流必须封闭在外部实体之间。

④每个加工至少有一个输入数据流和一个输出数据流。

⑤在数据流图中,需按层给加工框编号。

编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。

⑥规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。

此即父图与子图的平衡。

⑦可以在数据流图中加入物质流,帮助用户理解数据流图。

⑧图上每个元素都必须有名字。

数据流和数据文件的名字应当是“名词”或“名词性短语”,表明流动的数据是什么。

相关文档
最新文档