软件工程导论复习资料(汇总)

合集下载

软件工程导论总复习

软件工程导论总复习

• 5.3、设计的启发规则
1、提高模块独立性 2、模块规模适中 – 3、深度、宽度、扇入、扇出适当 4、作用域在控制域内 5、降低接口的复杂程度 – 6、单出口单入口,避免内容耦合 – 7、模块功能可预测
• 5.4 描绘软件结构的图形工具
– 层次图和HIPO图
• 5.5 面向数据流的设计方法
– 变换流 – 事务流 – 变换分析和事务分析的步骤
– 状态 – 事件 – 符号
• 3.7 其他图形工具
– 层次方框图 – Warnier图 – IPO图
• 3.8 验证软件需求
– 方法、工具
练习题



什么是需求分析?需求分析阶段的基本任务是 什么? 答:所谓"需求分析",是指对要解决的问题进行 详细的分析,弄清楚问题的要求,包括需要输 入什么数据,要得到什么结果,最后应输出什 么。可以说,“需求分析”就是确定要计算机 “做什么”。 任务:确定软件项目的目标和范围。调查使用 者的要求,分析软件必须做什么,编写需求规 格说明书等它相关文档,并进行必要的需求审 查。除此之外,还包括需求变更控制,需求风 险控制,需求版本控制等对需求的管理工作


指出瀑布模型中下列任务的顺序:验收测 试,项目计划,单元测试,需求评审,成 本估计,概要设计,详细设计,系统测试, 设计评审,编码,需求规格说明书。 答:项目计划,成本估计,需求规格说明 书,需求评审,概要设计,详细设计,设 计评审,编码,单元测试,系统测试,验 收测试
第二章 可行性研究
• 2.1 任务
可行性研究是在(A)之前 • A、系统开发 B、测试 C、试运行 D、集成测试 可行性研究需要的时间长短取决于系统的 规模,一般来说,可行性研究的成本只是 预期总成本的(C)。 • A、1% B、20% C、8% D、50%

软件工程导论知识点总结(整理)(word文档物超所值)

软件工程导论知识点总结(整理)(word文档物超所值)

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。

(2)软件产品的质量往往靠不住。

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

3.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。

在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。

总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)软件工程导论复习重点总结很全(第六版)软件工程是一门研究如何以系统化的、可管理的和可维护的方式来构建高质量的软件的学科。

在软件工程导论中,我们学习了软件开发的基本概念、原理和方法。

本文将对软件工程导论的重点内容进行总结,帮助读者巩固所学知识,为学习和工作提供帮助。

1. 软件工程概述软件工程的定义、目标和原则;软件生命周期和过程模型;软件开发的重要性和挑战;软件工程中的质量保证和风险管理。

2. 软件需求工程软件需求的定义和分类;需求获取、分析和建模;需求验证和确认;需求变更和配置管理。

3. 软件设计软件设计原则和方法;面向对象设计和结构化设计;软件架构设计;设计模式的应用。

4. 软件测试与调试软件测试的概念和目的;测试策略和技术;测试用例的设计和执行;测试评估和管理;软件错误调试和修复。

5. 软件项目管理软件项目管理的基本概念和流程;项目计划和进度管理;团队组织和沟通;风险管理和变更管理;质量管理和配置管理;软件工程伦理与法规。

6. 软件开发过程软件开发过程模型的选择和应用;瀑布模型、迭代模型和敏捷开发等常用模型的特点和比较;敏捷开发方法的原理和实践。

7. 软件工具与环境软件开发工具的选择和使用;集成开发环境、版本控制工具、测试工具和调试工具等的功能和特点;软件工程中的自动化工具和技术。

8. 软件工程的前沿技术软件工程的新兴技术和趋势;人工智能、大数据、云计算等技术在软件开发中的应用;软件工程的创新与创业。

通过对上述主要内容的学习和理解,我们可以全面掌握软件工程导论的核心知识和方法。

在今后的学习和实践中,我们应该注重理论与实际的结合,不断提高自己在软件开发和项目管理方面的能力。

只有不断学习和实践,我们才能成为优秀的软件工程师,为社会和企业创造更大的价值。

总结:软件工程导论是软件工程领域中的重要基础课程,通过对软件开发过程和管理原理的学习,我们可以掌握软件工程的基本概念、原则和方法。

软件工程导论复习重点总结很全第六版

软件工程导论复习重点总结很全第六版

第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。

软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。

软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。

1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。

认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。

应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。

应当开发和使用更好旳软件工具。

总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。

1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。

采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。

(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。

软件工程导论复习资料_自整理

软件工程导论复习资料_自整理

第一章各类软件过程模型:1、瀑布模型(特点:1、阶段间具有顺序性和依赖性2、推迟实现的观点3、质量保证的观点)2、快速原型模型3、增量模型4、螺旋模型5、喷泉模型敏捷过程(1)个体和交互胜过过程和工具(2)可以工作的软件胜过面面俱到的文档(3)客户合作胜过合同谈判(4)响应变化胜过遵循计划极限编程(XP过程)(1)极限编程的有效实践(2)极限编程的整体开发过程(3)极限编程的迭代过程第二章可行性研究的任务(1)技术可行性(2)经济可行性(3)操作可行性可行性研究的任务:对以后的行动方针提出建议数据流图(DFD)见P40数据流图有4种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。

(注意:数据流与程序流程图中用箭头表示的控制流有本质不同,千万不要混淆。

)数据流图有四种基本成分:数据流、加工(又称为数据处理)、文件、数据的源点或终点数据字典P47数据字典的内容:由对下列4类元素的定义组成。

(1)数据流;(2)数据流分量(即数据元素);(3)数据存储;(4)处理。

数据字典有以下四类条目:数据流、数据项、文件、基本加工。

数据项是组成数据流和数据存储的最小元素。

由数据元素组成数据的方式只有下述3种基本类型:(1)顺序(2)选择(3)重复(4)可选第三章有关用例文档的书写基本路径1、只书写“可观测”的2、使用主动语句3、句子必须以执行者或系统作为主语4、每一句都要朝目标迈进5、分支和循环6、不要涉及界面细节需求分析的任务1、确定对系统的综合要求2、分析系统的数据要求3、导出系统的逻辑模型4、修正系统开发计划如何识别执行者,如何识别用例识别用例的三条原则:1、用例是否包含步骤。

2、有无输入输出(业务价值)。

3、是否在业务价值上具有独立性。

用例描述:前置:取款后置:取款成功涉众利益:客户:安全柜员:方便银行:安全,合法法律:保护客户、银行利益基本路径:1、柜员提交取款请求2、系统显示取款页面3、柜员填写取款信息4、系统检测信息是否充分5、系统显示取款信息6、柜员确认取款信息7、系统显示账户信息输入界面8、柜员刷卡输入帐户9、取款人输入密码10、系统验证帐户、密码是否合法,扣款金额11、系统显示交易信息12、系统打印交易单13、柜员确认交易信息14、系统扣除扣款金额15、系统显示交易成功4a、显示取款不充分4a1、返回重写4a2、放弃4b、小于最小取款金额,或大于最大取款金额4b1、返回重写4b2、放弃6a、柜员不确认6a1、返回重写6a2、放弃第五章模块独立耦合程度:(高—低)内容耦合公共环境耦合特征耦合控制耦合数据耦合PS:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。

软件工程导论知识点总结

软件工程导论知识点总结

软件工程导论知识点总结软件工程导论知识点总结1. 软件工程概述1.1 什么是软件工程软件工程是一门研究如何有效地开发、维护和管理软件系统的学科。

它基于工程原理和方法,将系统化的、规范化的方法应用于软件开发过程中,以提高软件的质量、可靠性和可维护性。

1.2 软件工程的重要性在当今日益发展的信息技术领域,软件已经成为各个行业和领域中不可或缺的核心组成部分。

软件工程的实践使得软件开发更加可控,能够满足用户需求,提高软件质量,降低开发和维护成本。

1.3 软件工程的原则软件工程有一些核心原则,包括适应性、可理解性、一致性、可复用性和可维护性。

这些原则帮助开发人员创建高质量的软件,并确保软件在不同环境下的可靠性和安全性。

2. 软件开发过程2.1 软件开发生命周期软件开发生命周期是指从软件概念形成到软件退役的整个过程。

常见的软件开发生命周期模型包括瀑布模型、迭代模型和敏捷模型。

2.2 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护五个阶段。

每个阶段都有明确的输入和输出,下一个阶段在前一个阶段完成后开始。

2.3 迭代模型迭代模型是一种循序渐进的软件开发过程模型,将软件开发分为多个迭代周期。

每个迭代周期包括需求分析、设计、编码、测试和评审阶段。

每个迭代周期都会产生一个可执行的软件版本。

2.4 敏捷模型敏捷模型强调迭代和反馈,在软件开发过程中更加注重灵活性和适应性。

常用的敏捷开发方法包括Scrum和XP(极限编程)等。

3. 软件开发方法与工具3.1 需求工程需求工程是软件工程的关键环节,用于确定用户需求并转化为可行的软件规格说明。

需求工程包括需求获取、需求分析、需求建模和需求验证等阶段。

3.2 架构设计架构设计为软件系统提供了一个稳定的基础,确定系统各个组件之间的关系和交互方式。

常用的架构设计模式包括模块化、层次化、客户端-服务器和MVC等。

3.3 编程与测试编程是将设计转化为可执行代码的过程,而测试是验证代码是否达到预期功能的过程。

软件工程导论复习

软件工程导论复习

软件⼯程导论复习第1章软件⼯程概述1.软件危机定义:111软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题产⽣原因:软件本⾝特点、软件开发与维护的⽅法不正确2.什么是软件⼯程?111软件⼯程是:软件⼯程是指导计算机软件开发和维护的⼀门⼯程学科。

采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来,以经济地、⾼效的开发出⾼质量的软件并有效地维护它,这就是软件⼯程。

3.软件⼯程基本原理111:1)⽤分阶段的⽣存周期严格管理。

(2)坚持进⾏阶段评审。

(3)实⾏严格的产品控制。

(4)采⽤现代程序设计技术。

(5)结果应能清楚地审查。

(6)开发⼩组⼈员应该少⽽精。

(7)承认不断改进软件⼯程实践的必要性2、软件⼯程的主要⽬标是什么?基本⽬标是什么?软件⼯程的⽬标:从管理和技术两个⽅⾯开发和维护计算机软件,⽤低成本,开发出达标、⾼性能、易于移植、可靠性⾼的软件。

软件⼯程的基本⽬标是:优质、⾼产。

3. 软件⼯程⽅法学111通常把在软件⽣命周期全过程中使⽤的⼀整套技术⽅法的集合称为⽅法学也称为“范性”。

在软件⼯程领域中这两个术语的含义基本相同。

软件⼯程⽅法学包括3个要素⽅法、⼯具和过程。

⽅法完成软件开发的各项任务的技术⽅法⼯具运⽤⽅法提供的⾃动的或半⾃动的软件⼯程⽀撑环境过程为了获得⾼质量的软件所要完成的⼀系列任务框架规定了完成各项任务的⼯作步骤⽬前使⽤得最⼴泛的软件⼯程⽅法学分别是传统⽅法学和⾯向对象⽅法学1 传统⽅法学传统⽅法学⼜称⽣命周期⽅法学或结构化范型。

软件⼯程采⽤的⽣命周期⽅法学就是从时间⾓度对软件开发和维护的复杂问题进⾏分解把软件⽣命的很长周期依次划分为若⼲个阶段每个阶段有相对独⽴的任务然后逐步完成每个阶段的任务。

对于任何两个相邻的阶段⽽⾔前⼀阶段的结束标准就是后⼀阶段的开始标准。

在每⼀个阶段结束之前都必须进⾏正式严格的技术审查和管理复审从技术和管理两⽅⾯对这个阶段的开发成果进⾏检查通过之后这个阶段才算结束如果检查迈不过则必须进⾏必要的返⼯并且返⼯后还要再经过审查。

软件工程导论复习整理(最新)

软件工程导论复习整理(最新)

第一章1..软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

3.软件:程序、数据及相关文档的完整集合。

4.软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。

5.软件工程方法学三要素:方法、工具和过程。

6.传统方法学也称为生命周期方法学或结构化范型。

它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

7.面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

8.软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。

9.4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。

10.“瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。

11.快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。

第二章1.可行性研究的三个方面:技术可行性:使用现有的技术能实现这个系统经济可行性:这个系统的经济效益能超过它的开发成本操作可行性:系统的操作方式在这个用户组织内行得通2.数据流图的4个基本符号及画法P413.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

软件工程导论 复习资料

软件工程导论 复习资料

软件工程导论复习资料软件工程导论是计算机科学与技术专业的一门重要课程,它主要介绍了软件工程的基本概念和原理,帮助学生了解软件开发过程中的关键问题和解决方法。

本文将为大家提供一份软件工程导论的复习资料,希望能够帮助同学们更好地复习和掌握这门课程。

1. 软件工程概述1.1 软件工程定义软件工程是一门关于开发和维护大规模软件的学科,它涉及到软件开发的各个阶段和过程。

软件工程的目标是通过系统化和可量化的方法来开发、维护和管理软件,以提高软件的质量、效率和可靠性。

1.2 软件生命周期软件生命周期是软件开发过程中的一个重要概念,它包括需求分析、设计、编码、测试、部署和维护等阶段。

了解软件生命周期的各个阶段和活动,对于理解软件开发过程的全貌和整体把控至关重要。

1.3 软件工程方法学软件工程方法学是用于指导软件开发过程的一种方法体系,包括传统的瀑布模型、敏捷开发方法、迭代开发方法等。

通过学习不同的软件工程方法学,可以使软件开发过程更加有序、高效。

2. 需求工程2.1 需求定义和分类需求工程是软件开发过程中的第一个阶段,它主要涉及到需求的定义、分析和规范化等活动。

了解需求的定义和分类能够帮助我们更好地理解用户的需求,从而制定出更准确的软件需求规格说明书。

2.2 需求获取和分析需求获取是收集用户需求信息的过程,需求分析是将这些需求信息进行过滤、分类和分析的过程。

在需求获取和分析阶段,我们需要使用一些常见的工具和技术,例如面谈、问卷调查、用例图等。

2.3 需求规格说明书需求规格说明书是对系统需求进行详细描述和规范的文档,它包括功能需求、非功能需求、性能需求等内容。

编写清晰、准确的需求规格说明书是软件开发过程中的关键一步,它对于后续的设计和编码工作具有重要的指导作用。

3. 软件设计3.1 软件设计基础软件设计是将需求转化为软件结构的过程,它包括模块化设计、面向对象设计、数据结构设计等。

掌握软件设计的基础知识,能够帮助我们合理划分系统的功能模块,提高软件的可维护性和可扩展性。

软件工程导论 复习资料

软件工程导论 复习资料

名词解释:1.软件生命周期模型软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等2. 模块独立性模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。

3.软件的可维护性软件可维护性指软件能够被理解、校正、适应及增强功能的容易程度。

4. 软件工程软件工程指用科学知识和技术原理来定义、开发、维护软件的一门学科。

或者说,软件工程就是运用工程学的基本原理和方法来组织管理软件的生产、研究、开发、管理、维护的过程、方法和技术。

5.数据字典字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述。

6、静态测试静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。

7、面向对象:面向对象OO=类+对象+继承+通信8、需求分析需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。

9、软件危机软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。

概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

10、软件生存周期软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。

简答:1.软件生存周期有哪几个阶段?①可行性研究②需求分析③总体设计④详细设计⑤编码⑥测试⑦维护2.白盒测试法有哪些逻辑覆盖标准?①语句覆盖②判定覆盖③条件覆盖④判定/条件覆盖⑤条件组合覆盖⑥点覆盖、边覆盖、路径覆盖3.软件的维护有哪4种类型?①校正性维护②适应性维护③完善性维护④预防性维护。

软件工程导论知识点总结(整理)

软件工程导论知识点总结(整理)

软件工程导论知识点总结(整理)1.什么是软件危机?软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题,包括用户难以满意、软件产品质量不可靠、维护困难、生产效率低下、开发成本增加、难以预估成本与进度、技术发展不能满足需求等方面。

2.为什么会产生软件危机?软件危机的产生原因包括开发人员对软件缺乏正确认识、软件开发过程缺乏统一的方法论和规范指导、软件规模和复杂程度增加等。

为了克服软件危机,需要充分吸收和借鉴人类长期以来从事各种工程项目中积累的有效原理、概念、技术与方法,并推广在实践中总结出来的成功的技术和方法,根据不同的应用领域开发更好的软件工具并使用这些工具,并且需要有必要的组织管理措施。

3.怎样克服软件危机?为了解决软件危机,需要采取技术措施和组织管理措施。

技术措施包括吸收有效原理、推广成功的技术和方法、开发更好的软件工具等;组织管理措施包括良好的组织、严格的管理、相互友好的协作等。

4.构成软件项目的最终产品软件项目的最终产品包括应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

6.软件生存周期为什么划分成阶段?将软件生存周期划分成阶段可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。

同时,每个阶段的具体任务独立而简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

2)分析需求,确定系统的功能和性能要求;3)制定问题定义报告,明确系统的范围和边界,为后续的可行性研究提供基础。

2.可行性研究的目的是什么?可行性研究的目的是确定研制系统的可行性,包括技术可行性、经济可行性和操作可行性。

通过对这三个方面的评估,确定是否继续进行系统的研制。

3.可行性研究的内容有哪些?可行性研究的内容主要包括以下三个方面:1)技术可行性研究,包括对技术方案的评估和选择;2)经济可行性研究,包括成本效益分析和投资回报分析;3)操作可行性研究,包括用户需求的评估和系统的可用性评估。

软件工程导论最全复习总结

软件工程导论最全复习总结

1、软件危机是指在计算机开发过程中旳开发和维护过程中所碰到旳一系列旳严重问题。

2、软件是程序、数据及有关文档旳完整集合,程序是可以完毕预定功能和性能旳可执行旳程序序列;数据是是使程序可以合适旳处理信息旳数据构造;文档是开发、使用和维护程序所需要旳图文资料。

3、软件工程学包括3个要素:措施、工具、过程。

4、目前使用最广泛旳软件工程措施学是老式措施学和面向对象措施学。

5、软件工程措施学旳软件过程基本上可以用瀑布模型来描述。

6、瀑布模型、迅速原型模型、增量模型、螺旋模型、喷泉模型。

7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。

8、可行性研究旳三方面:技术可行性、经济可行性、操作可行性。

9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出旳过程中所经受旳变化。

10、数据字典是有关数据信息旳集合,也就是对数据流程图中所包括旳所有元素旳定义旳集合。

11、数据流图和数据字典共同构成系统旳逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。

12、需求分析阶段结束之前,系统分析员应当写出软件需求规格阐明书,以书面形式准确旳描述软件需求。

13、9、构造化分析措施就是面向数据流自顶向下逐渐求精进行需求分析旳措施。

14、ER图中包括了实体、关系和属性,矩形代表实体,菱形表达关系,椭圆或圆角矩形表达属性,用直线把实体和其属性连接。

15、验证软件需求旳对旳性:一致性、完整性、现实性、有效性。

16、总体设计旳基本目旳是回答“概括地说,系统应当怎样实现?”,总体设计又称为概要设或初步设计。

17、模块旳独立程度可以有两个定性标量度量:内聚和耦合。

18、软件测试旳目旳:(1测试是为了发现程序中旳错误而执行程序旳过程;(2好旳测试方案是极也许发现迄今为止尚未发现旳错误旳测试方案;(3成功旳测试是发现可至今为止尚未发现旳错误旳测试。

19、软件测试环节:模块测试、子系统测试、系统测试、验收测试、平行运行。

软件工程导论复习材料

软件工程导论复习材料

软件工程导论复习材料第一篇:软件工程导论复习材料1.软件工程基本概念1.()因素促使计算机系统越来越复杂。

A.计算机内存和存储容量上的巨大增长B.外部输入/输出选项的更加多样性C.计算机体系结构方面的深刻变化D.以上所有选项2.下面的()不再是现代软件工程师关注的问题。

A.为什么不能在产品发布前去除软件错误?B.为什么软件需要很长时间才能完成?C.为什么开发一个软件的成本这么高?D.为什么计算机硬件的成本这么高?3.软件会逐渐退化而不会磨损,其原因在于()。

A.软件备件很难订购B.软件错误通常发生在使用之后C.通常暴露在恶劣的环境下D.不断的变更使组件接口之间引起错误软件4.大多数软件仍然是定制开发的,其原因在于()。

A.软件组件重用是十分普遍的B.可重用的组件太昂贵而无法使用C.软件在不使用其他组件的情况下很容易构造出来D.商业组件在很多应用领域中可以得到5.下面的()说法是正确的。

A.软件危机在20世纪70年代末期全面爆发B.当前先进的软件工程方法已经解决了软件危机的问题C.软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D.软件危机是指在软件产品中存在一系列的质量问题1.瀑布模型本质上是一种()。

A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型 2.()是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.在软件开发模型中,提出最早、应用最广泛的模型是()A.瀑布模型B.喷泉模型C.增量模型D.螺旋模型1.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。

()1.什么是软件危机?其主要表现有那些?1.有人认为 软件工程过于耗费时间,并且妨碍开发人员的编程效率。

你是否认同这种观点?请阐述理由。

2.需求分析需求规格说明描述了()。

A.计算机系统的功能、性能及其约束B.每个指定系统的实现C.软件体系结构的元素D.系统仿真所需要的时间7.软件可行性研究实质上是要进行一次()需求分析、设计过程。

软件工程导论复习知识点

软件工程导论复习知识点

、软件:软件定义:软件=程序+文档+数据软件特点:1、具有抽象性2、没有明显的制造过程3、软件的维护比硬件的维护要复杂得多4、对计算机系统有着不同程度的依赖性5、尚未完全摆脱手工艺的开发方式6、软件本身是复杂的7、软件成本相当昂贵8、相当多的软件工作涉及到社会因素软件的发展:程序设计、程序系统、软件工程软件危机:软件危机指的是软件开发和维护过程中遇到的一系列严重问题。

软件危机的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机表现:1.开发成本难以控制,进度不可预计;2. 软件系统的质量和可靠性很差,难以满意;3. 软件文档相当缺乏,软件系统不可维护;4. 软件开发生产率很低,软件产品供不应求。

5. 软件产品成本十分昂贵。

软件危机产生原因:1、软件本身的特点2、对软件开发与维护存在许多错误认识和做法3、软件开发与维护的方法不正确解决软件危机途径:1、将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。

2、研究和推广成功的软件开发技术和方法。

3、开发和使用好的软件工具。

软件生命周期:软件所经历的定义、开发、使用和维护直到废弃所经历的时期。

程序设计环境:源程序编辑,编译或解释,链接,调试和运行工具的集合软件工程环境:软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合二、软件工程:软件工程定义:研究如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科。

软件工程性质:涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统。

用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。

用管理科学中的方法和原理进行软件生产的管理。

用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。

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

软件方法:是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

软件工程导论 复习整理

软件工程导论 复习整理

1.软件危机的概念2.产生软件危机的原因(了解)3.消除软件危机的途径4.软件工程的概念5.软件工程的本质特性(7个)6.软件工程的基本原理(7个)7.传统方法学和面向对象的比较(各自的优缺点)8.软件生命周期的8个阶段以及各阶段的基本任务9.软件过程中使用的5个模型以及各自的特点瀑布模型:1)瀑布模型具有顺序性和依赖性。

2)推迟实现的观点:把逻辑设计与物理设计清楚地划分开,尽可能推迟物理模型的实现。

3)质量保证的观点:每一步都循序渐进,及早消除隐患,从而保证软件质量。

缺点:只有做出精确的需求分析,才能取得预期的结果。

由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。

快速原型模型:1)开发人员和用户在“原型”上达成一致。

2)缩短开发周期,加快工程进度。

3)降低成本。

缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。

这往往给工程继续开展带来不利因素。

增量模型:1)增量模型是一种非整体开发的模型。

2)该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。

缺点:要求软件具有开放的结构是这种模型固有的困难,可能会导致设计差、效率低、维护难。

螺旋模型:1)风险驱动,有利于软件重用。

2)建立在风险分析的基础上,绝对依赖人的素质。

3)开发中的每一层都很有弹性,并不是很明确的界限;每一层的目标和计划都是由小组本身来制定。

缺点:很难让用户确信这种演化方法的结果是可以控制的。

喷泉模型:1)充分体现了面向对象软件开发过程迭代和平滑过渡的特性。

2)各个阶段没有明显的界限,开发人员可以同步进行开发。

3)适应于面向对象的软件开发过程。

缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。

此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

10.Rational统一过程(简称RUP,了解)11.敏捷过程的宣言(4个)12.极限编程&微软过程(了解)第2章1.可行性研究的任务(4个)2.系统流程图(了解)3.数据流图&数据字典(会画)4.单元练习题51.需求分析的目的2.获取需求的方法3.需求分析的图形工具(5个,重点掌握前2个)第5章1.总体设计的目的和原理原理:模块化;抽象;逐步求精;信息隐藏和局部化;模块独立2.耦合&内聚(从强到弱的顺序,各7个)耦合:1)内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。

软件工程导论复习资料

软件工程导论复习资料

软件工程导论复习资料第一章软件工程导论一、软件工程是指导计算机软件开发和维护的一门工程学科二、件工程的七条基本原则:1. 用分阶段的生命周期计划严格管理2. 坚持进行阶段评审3. 实行严格的产品控制4. 采用现代程序设计技术5. 结果应能清楚地审查6. 开发小组的人员应该少而精7. 承认不断改进软件工程实践的必要性三、软件工程方法学包含3个要素:方法、工具和过程。

方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

四、软件一程方法学:传统方法学、面向对象方法学五、软件生命周期:软件定义、软件开发和运行维护(也称为软件维护)3个时期组成1软件定义主要任务:问题定义、可行性研究和需求分析2开发时期主要任务:总体设计,详细设计,编码和单元测试,综合测试3维护时期主要任务:通过各种维护性活动使系统持久地满足用户的需求,通常有四类维护:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的需求改进若扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备//①问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”②可行性研究~:对于上一个阶段所确定的问题有行得能的解决办法吗?③需求分析:确定目标系统必须具备哪些工能④总体设计:概括地说,应该怎样实现目标系统?⑤详细设计:应该怎样具体地实现这个系统呢?⑥编码和单元测试:写出正确的容易理解、容易维护的程序模块⑦综合测试:通过各种类型测(及相应的调试)使软件达到预定的要求,最基本的测试是集成测试和验收测试,集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试;验收测试则是按照规格说明的规定,由用户对目标系统验收六、软件过程的各种模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型第二章可行性研究一、可行性研究的任务分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度二、可行性(1) 技术可行性使用现有的技术能实现这个系统吗?(2) 经济可行性这个系统的经济效益能超过它的开发成本吗?(3) 操作可行性系统的操作方式在这个用户组织内行得通吗?三、可行性研究过程1. 复查系统规模和目标、2. 研究目前正在使用的系统3. 导出新系统的高层逻辑模型、4. 进一步定义问题5. 导出和评价供选择的解法、6. 推荐行动方针7. 草拟开发计划、8. 书写文档提交审查四、系统流程图:是概括地描绘物理系统的传统工具。

《软件工程导论》第六版期末复习总结

《软件工程导论》第六版期末复习总结

软件工程一、名词解释与问答1、SA——结构化分析方法2、画数据流图应注意什么事项?(1)数据流名称只能是名词或是名词短语;(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工的结果;(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类;父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;(4)注意数据流图的易理解性;3、什么是软件生存周期?它有那几个活动?一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。

箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分) 简述编码风格的重要性. 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.简述软件测试的任务、目的与类型。

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

第一章概述1.IEEE为软件下的定义是:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据的完整集合2.程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。

3.文档是软件开发活动的记录,主要供人们阅读,既可用于专业人员和用户之间的通信和交流,也可以用于软件开发过程的管理和运行阶段的维护。

4.软件的特点:·软件是一种逻辑产品,无法看到软件本身的形态。

·软件产品的生产主要是开发研制,没有明显的制造过程。

·软件产品在使用过程中,不存在磨损、消耗、老化等问题。

·软件产品的开发主要是脑力活动,还未完全摆脱手工开发方式,大部分产品是“定做的”,生产效率低。

·软件产品的成本昂贵,软件费用不断增加。

·软件对硬件和环境有不同程度的依赖性。

·软件是复杂的。

5.软件的分类:·传统意义上从计算机系统角度看,软件分为两大类:系统软件和应用软件。

·从计算机软件用途来划分三类,大致分为服务类、维护类和操作管理类。

6.软件危机(重点):·如何开发软件以满足软件日益增长的需求·如何维护数量不断增长的已有软件。

7.软件危机表现形式:·对软件开发成本和研制进度的估计常常很不精确。

·“已完成”的软件不能满足用户的要求。

·软件产品质量差,可靠性得不到保证。

·软件产品可维护性差·软件成本在计算机系统总成本中所占的比例逐年上升。

·软件开发生产率提高的速度远远跟不上计算机应用速度普及深入的趋势。

8.产生软件危机的原因·软件是计算机系统中的逻辑部件。

·软件开发的管理困难。

·软件开发费用不断增加,维护费用急剧上升·软件开发技术落后。

·生产方式落后·开发工具落后,生产效率缓慢9.解决软件危机途径·对计算机软件有正确认识,清除“软件是程序”的错误观念·使用好的开发技术和方法,并且要不断研究探索更好更有效的技术和方法·有良好的组织、严密的管理,各类人员要相互配合,共同完成任务·开发和使用好的软件工具。

10.软件工程的定义:是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。

11.软件工程基本目标:·降低软件开发成本·满足用户要求的全部软件功能·符合用户要求,令用户满意的软件性能·具有较好的易用性、可重用性和可移植性·较低的维护成本,较高的可靠性·按合同要求完成开发任务,及时交付用户使用12.软件工程的研究内容的基本原理:·软件开发技术:主要研究软件开发方法、软件开发过程、软件开发工具和技术。

·软件开发过程管理:主要研究软件工程经济学和软件管理学。

13.软件工程的基本原理:·用分阶段的生存周期计划严格管理·坚持进行阶段评审·实行严格的产品控制·采用现代程序设计技术·结果应能清楚地审查·开发小组人员应该少而精·承认不断改进软件工程实践的必要性14.软件工程的发展史:·程序设计时代·程序系统时代:IBMDE 360OS==》转折点·软件工程时代15.软件过程的定义:把输入转化为输出的一组彼此相关的资源和活动16.软件生存周期的定义:某一软件项目从被提出并着手实现开始,直到该软件报废或停止使用为止所经历的时间17.软件生存周期:·计划时期:(1)问题定义(2)可行性研究·开发时期:(1)需求分析(2)概要设计(3)详细设计(4)编码(5)测试·运行时期:(1)维护18.软件开发模型的定义:为整个软件建立的模型19.软件开发模型及优缺点和应用范围:(1)瀑布模型:A、定义:存周期各个活动规定为依线性顺序连接的若干阶段的模型。

B、适用范围:适合于需求明确的软件项目的开发。

C、优点:使开发过程可以在分析设计、编码、测试和维护的框架下进行。

过程具有系统性,可控性。

克服了软件开发的随意性。

D、缺点:a.开始阶段用户很难精确的提出产品需求,修改需求十分普遍。

b.项目开发晚期才能得到程序的运行版本,这时修改软件需求和开发中的错误代价很大。

c.采用线性模型组织项目开发经常发生开发小组人员“堵塞状态”特别是项目的开始和结束(2)快速原型模型:A、适用范围:用户有时间和精力参与原型的开发并与开发者之间进行频繁交流的项目,而且项目容易进行模块化B、优点:增进软件开发人员和用户对系统服务的理解,用户最容易获取信息和发表自己的意见C、缺点a、对于大型软件项目,原型模型需要足够的人力资源以建立足够的原型组。

b、原型模型要求开发者和客户在一段时间内共同完成原型系统的开发,如果任何一方没有实现承诺,会导致原型开发的失败。

c、如果系统难以模块化,建造原型所需构件就有问题。

(3)增量模型:A、适用范围:适合于软件要求不明确,设计方案有一定风险的软件项目。

B、优点:增量模型具有较大的灵活性C、缺点:与新增量构件集成到现在软件中时,所形成的产品必须是可测试的(4)螺旋模型:A、适用范围:适合于大规模高风险的软件项目开发B、优点:使开发人员和用户都能更好的了解每个螺旋周期演化存在的风险,从而做出相应的对策C、缺点:由于它是风险驱动的,因此使用该模型需要有相当丰富的风险评估经验和这方面的专门技术(5)喷泉模型,统一过程(RUP)模型,变换模型,净室模型(6)基于构件的开发模型(7)统一过程(RUP)模型(8)基于形式化的开发模型20.传统软件工程方法步骤:·采用结构化分析、结构化设计和结构化实现完成软件开发的各项任务·把软件生存周期划分成若干个阶段,然后按顺序完成各个阶段的任务·每一个阶段的开始和结束都有严格标准,前一阶段结束的标准是后一阶段工作开始的标准·在每一阶段结束之前,必须正式地进行严格的技术审查和管理复审21.面向对象软件工程开发过程的特点:开发阶段界限模糊,开发过程逐步求精,开发活动反复迭代22.传统软件工程和面向对象软件工程的分析方法对比:开发思想对比,传统软件工程:以功能划分为导向;面向对象开发方法是以对象作为整个问题分析的中心,围绕对象展开系统的分析与设计工作。

开发过程方面,传统软件工程开发过程包括需求设计、总体设计、详细设计、面向过程的编码和测试;面向对象软件工程开发过程包括需求分析与对象抽取、对象详细设计、面向对象的编码和测试。

第二章可行性研究2.1(重点)·可行性研究的目的:用最小的代价再尽可能短的时间内确定问题是否能够解决。

·评价可行性的四个方面:经济、技术、操作、法律。

①经济可行性:首先要进行成本----效益分析。

从开发所需的成本和资源,潜在的市场前景等方面进行估算,确定要开发的项目是否值得投资开发,既要分析再整个软件生存周期中所花费的代价与得到的效益之间的度量。

②技术可行性:对要开发的项目的功能、性能和限制条件进行分析,评价系统所采用的技术是否先进,使用现在的技术能否实现系统达到的目的,现在技术人员的技术水平是否具备等。

③操作可行性:系统的操作方式再这个应用范围内是否行得通。

④法律可行性:新系统的开发会不会在社会上或政治上引起侵权,可能导致的责任,有无违法问题:应从合同的责任、专利权、版权、等一系列权益方面予以考虑。

2.2·可行性研究步骤:(7步)1.复查并确定系统规模和目标2.研究目前正在使用的系统3.建立新系统的高层逻辑模型4.导出和评价各种方案5.推荐可行方案6.草拟初步的开发计划7.编写可行性研究报告提交审查2.3(重点)·系统流程图基本符号(5种)及常见的11种其他系统符号,详见P19(要认识)P20 例题2.1;·系统流程图习惯画法目的:使信息在图中自顶向下或从左向右流动。

2.4·成本----效益分析目的:从经济角度评价开发一个新的软件项目是否可行。

·系统成本包括 1.开发成本。

2.运行维护成本。

·系统效益包括:①有形效益 1.货币的时间价值。

2投资回收期。

3纯收入。

②无形的社会效益·货币时间价值例题P20、21F=P*(1+n*i) 计算求:1.货币时间价值。

2.投资P=F/(1+n*i) 回收期。

3.纯收入2.5 可行性研究报告的主要内容P211.引言。

2.可行性研究前提。

3.对现有系统的分析。

4.对所建设系统的分析(1.经济可行性分析。

2.技术可行性分析。

3.社会因素的可行性分析)5.其他与设计有关选择方案。

6.其他与设计有关的专门问题。

7.结论意见第三章软件需求分析3.1○1需求分析的任务是:确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰而且具体的要求。

○2需求分析是:完整地、严密的、描述应当“做什么”的一种过程。

○3需求分析具体任务:1、确定对系统的综合要求2、分析系统的数据需求3、建立软件的逻辑模型4、编写软件需求规格说明书5、需求分析评审○4需求分析步骤:1、需求获取:调查研究2、需求提炼:分析建模3、需求描述:编写SRS4、需求验证3.2○1获取需求的方法 1、客户访谈2、建立联系分析小组3、问题分析与确认○2Andriole提出、判断是否用原型法来帮助获取需求1、需求已经建立,并且可以预见是相当稳定吗?2、软件开发人员和用户已经理解了目标系统的应用领域吗?3、问题是否可被模型化?4、用户能否清楚地确定基本的系统需求?5、有任何需求是含糊的吗?6、已知的需求中存在矛盾吗?3.3○1功能分解方法体现了“自顶向下,逐步求精”的思想;本质上是用过程抽象的观点来看待需求,符合传统程序设计人员的思维特征。

○2四种需求分析方法1、功能分解方法2、结构化分析方法3、信息建模方法4、面向对象方法3.4(重点!考点!)○1结构化分析定义:结构化分析就是使用数据流图、数据字典、结构化语言、判定树和判定表等工具,来建立一种新的称为结构化说明书的目标文档。

○2SA描述工具:1、数据流图2、数据字典3、描述加工逻辑的结构化语言、判定表和判定树○3数据流图(DFD)(必须会画必须认识):1、DFD定义:数据流图是SA方法中用于表示系统逻辑模型的一种工具。

它以直观的图形清晰地描述系统数据的流动和处理过程,图中没有任何具体的物理元素,主要强调的是数据流和处理过程,即使不是计算机专业技术人员也很容易理解。

数据流图是软件开发人员和用户之间很好的通信工具。

相关文档
最新文档