【建筑工程类】软件工程理论知识

上传人:下**** 文档编号:145027285 上传时间:2020-09-15 格式:DOC 页数:59 大小:458.19KB
返回 下载 相关 举报
【建筑工程类】软件工程理论知识_第1页
第1页 / 共59页
【建筑工程类】软件工程理论知识_第2页
第2页 / 共59页
【建筑工程类】软件工程理论知识_第3页
第3页 / 共59页
【建筑工程类】软件工程理论知识_第4页
第4页 / 共59页
【建筑工程类】软件工程理论知识_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《【建筑工程类】软件工程理论知识》由会员分享,可在线阅读,更多相关《【建筑工程类】软件工程理论知识(59页珍藏版)》请在金锄头文库上搜索。

1、(建筑工程管理)软件工程理论知识软件工程理论知识软件工程基础知识精解一什么是软件?4二软件危机以及产生软件危机的原因?4三有哪些流行的软件工程方法学及其要素?4四什么是软件生存周期?有哪些活动?44.1软件生存周期44.2 开发活动44.3 各活动阶段主要文档54.3.1可行性分析和项目开发计划54.3.2需求分析中的文档54.3.3 概要设计阶段文档54.4.4 详细设计阶段54.4.5 编码54.4.5 测试54.4.6 系统测试阶段5五有哪些主要生存期模型?55.1 瀑布模型(传统的软件周期模型)55.2 原型模型65.2.1 快速原型模型65.2.2 演化模型65.2.3增量模型(渐增

2、式)65.2.4 原型模型小结65.3 螺旋模型75.4 喷泉模型75.5 迭代软件开发技术75.6极限编程(XP)8六软件过程基础知识96.1 软件过程96.2 评估工具9七软件工程项目管理基本知识97.1时间管理97.1.1 Gantt图97.1.2 PERT网图与关键路径107.2成本管理117.3风险管理117.3.1 风险的定义117.3.2 风险的类型117.3.3 风险管理活动127.3.3 风险曝光度12八模块化基本知识128.1模块特性128.1.1 可分解性128.1.2 可组装性138.1.3 可理解性138.1.4 连续性138.1.5 保护性138.2 模块与模块的耦

3、合性(7种)138.2.1 内容耦合138.2.2 公共耦合138.2.3 外部耦合138.2.4 控制耦合138.2.5 标记耦合138.2.6 数据耦合138.2.7 非直接耦合(无耦合)138.3 模块的内聚性138.4 模块的深度、宽度、扇出与扇入148.5 模块作用域和控制域148.6 模块化基础知识小结14九什么是软件开发方法?有哪些主要方法?149.1 结构化方法学149.1.1数据流图(DFD图)149.1.2 数据字典169.1.3 结构化语言169.1.4 实体-关系图(E-R图)169.2 结构化设计179.2.1 概要设计179.2.2 详细设计199.3 Jackso

4、n方法199.4 面向对象分析方法(00A)19十软件工具20十一. 软件开发环境20十二. 软件质量管理基础知识2012.1 软件质量2012.2 软件质量保证2012.3 代码评审技术21十三.成本效益分析可用哪些指标进行度量?21十四.第四代语言(4GL)的主要特征?21十五.软件测试2115.1 软件测试经过的步骤2115.2 测试与软件开发各阶段的关系2215.3 白盒测试2215.4 黑盒测试2315.4灰盒测试2315.5 回归测试2315.6 单元测试2315.7集成测试2315.8 确认测试2415.9 系统测试24十六软件工程标准和软件文档2417.1 软件维护类型2517

5、.2 软件的可维护性25十八.软件的可靠性25一什么是软件?1.满足用户功能需求和性能的指令或计算机程序集合;2.处理信息的数据结构;3.描述程序功能以及程序如何操作和使用所要求的文档;以上三部分的组合构成了软件二软件危机以及产生软件危机的原因?1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势。软件产品“供不应求”。2.软件成本在计算机系统总成本中所占的比例逐年上升。“开发成本高”3.软件开发人员和用户之间的信息交流往往很不充分,用户对“已完成的”的软件系统不满足的现象经常发生。4.软件产品的质量不容易保证。5.软件产品常常是不可维护的。6.软件产品的重用性差,同样的软件多次重复开

6、发。7.软件通常没有适当的文档资料。产生软件危机的原因可归结为两个重要的方面:软件生产本身存在的复杂性;软件开发所使用的方法和技术。三有哪些流行的软件工程方法学及其要素?1.使用最广泛的软件工程方法学是面向结构化方法学和面向对象的方法学(上世纪70-90年代,流行面向结构化方法学,上世纪90年代到现在,流行面向对象方法学)。2.要素:方法、工具和过程。四什么是软件生存周期?有哪些活动?4.1软件生存周期一个软件从提出开发要求开始到软件废弃不用的整个过程。4.2开发活动可行性分析和项目开发计划、需求分析和定义、软件设计(先后细分为:概要设计和详细设计)、编码、测试和运行维护可行性分析和项目开发计

7、划:用户、项目负责人和系统分析师搞清楚系统要解决的问题是什么?以及从技术、经济、时间等方面论证项目开发可行性。需求分析和定义:用户、项目负责人和系统分析师确定系统必须做什么?但不关心具体怎么做?要确定系统的功能、性能、数据、界面等要求,从而确定系统的逻辑模型,同时制定后期测试计划。软件设计-概要设计:系统分析师和软件设计师在需求定义的基础上,把各功能需求转换成需要的体系结构,即划分模块、模块的层次、模块之间的调用关系以及各模块的功能,同时设计应用系统的总体数据结构和数据库结构。软件设计-详细设计:软件设计师和程序员对概要设计阶段得出的各功能模块进行详细描述成精确的、结构化的过程描述,即各个功能

8、模块具体怎么实现,用相应的工具把模块的控制结构表示出来,但还未进行编码。编码:由程序员详细设计阶段得出的各模块控制结构(图形)转变成计算机能识别的指令代码。测试:由另一部门(单位)的软件设计师或系统分析师花费最少的人力物力找出程序最多、最大的错误(bug)。维护:由用户和维护人员进行的软件生存周期中时间最长的阶段。4.3各活动阶段主要文档4.3.1可行性分析和项目开发计划l 可性行研究报告l 项目开发计划4.3.2需求分析中的文档l 需求规格说明书l 初步用户使用手册l 确认测试的测试计划l 修改完善的软件开发计划l 系统测试计划文档4.3.3概要设计阶段文档l 概要设计说明书l 数据库说明书

9、l 用户手册l 修订的测试计划(测试的策略、方法、步骤)4.4.4详细设计阶段l 详细设计说明书4.4.5编码l 程序清单4.4.5测试l 完善的测试计划书l 软件测试报告4.4.6系统测试阶段l 系统测试报告2005年下半年l 应该在(7) 阶段制定系统测试计划。(7)A.需求分析B.概要设计C.详细设计D.系统测试(29)详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。(29)A.概要设计说明书B.详细设计说明书C.用户手册D.用户需求说明书五有哪些主要生存期模型?瀑布模型、原型开发模型(快速原型模型、演化模型、增量模型)、螺旋模型、喷泉模型、基于知识的模型和变化模型。5.1

10、瀑布模型(传统的软件周期模型)瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入到下一阶段,整个模型就像一个飞流直下的瀑布,如下图所示。优点:以文档作为驱动,强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档;要求每一阶段结束后,都要进行严格的评审。与它最相适应的开发方法是结构化方法。缺点:不适应用户需求的改动。2004年下半年:软件开发中的瀑布模型典型的刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是 (9) 。(9)A.构件化方法B.结构化方法C.面向对象方法D.快速原型法5.2原型模型5.2.1快速原型模型快速原型的

11、用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃。主要用于需求分析阶段。不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法,所以不能定义完善的文档。特征:简化项目管理、尽快建立初步需求、加强用户参与和决策。具有广泛技能水平的原型化人员是原型实施的重要保证。原型化人员应该是具有经验与才干、训练有素的专业人员。衡量原型化人员能力的重要标准是他是否能够从用户的模糊描述中快速获取需求。5.2.2演化模型在快速原型模型中,原型的用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃。而演化模型应用于整个软件开发过程,是从初始模型逐步演化为最终软件产品的渐进过程。也就是说,快速原型模型

12、是一种“抛弃式”的原型化方法,而演化模型则是一种“渐进式”的原型化方法。5.2.3增量模型(渐增式)增量模型主要用于设计阶段,把软件产品划分为一系列的增量构件,分别进行设计、编程、集成和测试。新的增量构件不得破坏已经开发出来的产品。其示意图如图4-2所示。5.2.4原型模型小结从下面的有关原型化方法的叙述中,选择出正确的叙述:(1)快速原型方法是一种企图克服传统软件周期模型缺点的开发方法。(2)在用户的数据资源没有得到很好地组织和管理的时候,应该使用原型化方法。(3)在用户没有明确地肯定其需求的时候,应该使用原型化方法。(4)在用户不希望把自己的时间花在软件开发过程中的时候,应该使用原型化方法

13、。(5)使用原型化方法时应该使用第三代编程语言。(6)原型化加强了开发过程中用户的参与和决策。(7)原型化方法大致可分为三类:抛弃式、演化式和递增式。(8)原型化方法大致可分为演化式和递增式。(9)采用原型化方法时,软件的开发成本较高。(10)采用原型化方法时,关键的因素是建立原形的速度,而不是原形运行的效率。5.3螺旋模型螺旋模型综合了瀑布模型和原型模型中的演化模型的优点,还增加了风险分析。螺旋线第一圈的开始点可能是一个概念项目。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直转到软件生命期结束。5.4喷泉模型喷泉模型主要用于描述面向对象的开发过程。喷泉一词

14、体现了面向对象开发过程的迭代和无间隙特征。迭代指的是开发活动常常需要重复多次,在不断的迭代中逐渐完善软件系统,无间歇性指在开发活动之间不存在明显的边界,允许各开发活动交叉、迭代地进行。5.5迭代软件开发技术Rational统一开发流程RUP(RationalUnifiedProcess)是一个通用的软件流程框架,它是一个以架构为中心、用例驱动的迭代化软件开发流程。RUP是从几千个软件项目的实践经验中总结出来的,对于实际的项目具有很强的指导意义,是软件开发行业事实上的行业标准。在RUP中,我们把软件开发生命周期划分为四个阶段,每个阶段的结束标志就是一个主要的里程碑(如下图所示)。这四个阶段主要是

15、为了达到以下阶段性的目标里程碑:先启(Inception):确定项目开发的目标和范围精化(Elaboration):确定系统架构和明确需求构建(Construction):实现剩余的系统功能产品化(Transition):完成软件的产品化工作,将系统移交给客户2005年下半年:l 在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用 (6) 。(6)A.原型法B.瀑布模型C.V-模型D.螺旋模型2006年上半年:渐增式开发方法有利于 (4) 。(4)A.获取软件需求B.快速开发软件C.大型团队开发D.商业软件开2006年下半年:常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中(5)模型适用于需求明确或很少变更的项目,(6)主要用来描述面向对象的软件开发过程。(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号