软工重点第三版

上传人:公**** 文档编号:509781730 上传时间:2023-02-09 格式:DOC 页数:7 大小:74KB
返回 下载 相关 举报
软工重点第三版_第1页
第1页 / 共7页
软工重点第三版_第2页
第2页 / 共7页
软工重点第三版_第3页
第3页 / 共7页
软工重点第三版_第4页
第4页 / 共7页
软工重点第三版_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软工重点第三版》由会员分享,可在线阅读,更多相关《软工重点第三版(7页珍藏版)》请在金锄头文库上搜索。

1、“软件危机”的出现是由于软件的规模越来越大,复杂度不 断增加,软件需求量增大。主要表现在两个方面:(1)软件 产品质量低劣,甚至在开发过程中就夭折。(2)软件生产率 低,不能满足需要。软件工程三要素:方法,工具和过程软件是程序以及开发使用和维护程序所需的所有文档软件生存周期:1.可行性研究和项目开发计划2.需求分析3. 概要设计4.详细设计5.编码6.测试7.维护软件工程过程是指在软件工具的支持下所进行的一系列软 件工程活动软件过程模型:瀑布模型,增量模型,螺旋模型,喷泉模型, 智能模型1)瀑布模型:以文档作为驱动,适合于需求明确的软件项 目开发,简单易用,消除非结构化的特征,降低软件的复杂

2、性,促进软件开发工程化,会导致开发的软件不符合用户的 需求而夭折。2)增量模型:基于瀑布模型的渐增模型和基于原型的快速 原型模型,适用于用户需求不明确,设计方案有风险的项目, 非整体化开发模型。3)螺旋模型:加入风险分析+瀑布+增量4)喷泉模型:面向对象技术,支持软件重用,迭代性,无 间隙性。5)智能模型:降低问题复杂性将软件生存周期中所使用的一整套技术的集合成为方法学 或范型 面向过程:结构化(瀑布模型)原型化 功能的分解与抽 象自顶向下逐步求精面向对象二对象+类+继承+消息00A:对象模型(信息)状态模型(动态)处理模型(函数)00D:概要设计详细设计00D的5个层次由四类部件构成:5层次

3、,主题层,类与对 象层,结构层,属性层,服务层。4部件:PDC问题域部件, HIC人机交互部件,TMC任务管理部件,DMC数据管理部件。 软件设计就是根据所表示的信息域的软件需求以及功能和 性能需求进行数据设计系统结构设计过程设计界面设计 构造一个高内聚,低耦合的软件模型 概要设计:将软件需求转化为数据结构和软件的系统结构, 划分出组成系统的物理元素:程序,数据库,过程,文件, 类等详细设计:通过对结构表示进行细化,等到软件详细的数据 结构和算法理解,抑郁测试和挑事,因而也有助于提高软件 的可靠型模块间关系:层次结构,网状结构模块独立化:耦合性(数据耦合)内聚性(功能型内聚) 确定类之间关系:

4、聚合关系,泛化关系实现模型由构件图和配置图组成RUP统一过程横轴为时间轴,纵轴为核心工作流需求工程:1获取需求2.需求分析与建模3.需求规格说明4. 确认需求5.需求管理需求获取方法:1.面谈法2问卷法3.会议讨论法4.原型法 5面向用例的方法需求分析方法:1。功能分析方法2结构化分析方法,数据 流图,DFD 3信息建模法.E-R图4面向对象的分析方法: 对象,动态,功能结构化的分析方法是面向数据流的需求分析法一、面向对象的方法的主要特点:1)按照人类习惯的思维方法,对软件开发过程所有阶段进 行综合考虑2)软件生存周期各阶段所使用的方法,技术具有高度的连 序性3)软件开发各个阶段有机集成,有利

5、于系统的稳定性4)具有良好的重用性二、提高可维护性的方法有哪些?答:(1)建立明确的软件质量目标。(2)使用先进的软件开 发技术和工具。(3)建立明确的质量保证。(4)选择可维护 性的程序设计语言。(5)改进程序的文档。在软件工程的每一阶段都应该努力提高系统的可维护性,在 每个阶段结束前的审查和复审中,应着重对可维护性进行复 审。1在需求分析阶段的复审中,应对将来要扩充和修改的 部分加以注明。在讨论软件可移植性问题时,要考虑可能要 影响软件维护的系统界面。2、在软件设计的复审中,应从 便于修改、模块化和功能独立的目标出发,评价软件的结构 和过程,还应对将来可能修改的部分预先做准备。3、在软 件

6、代码复审中,应强调编码风格和内部说明这两个影响可维 护性的因素。4、在软件系统交付使用前的每一测试步骤中 都应给出需要进行预防性维护部分的提示。5、在完成每项 维护工作后,都应对软件维护本身进行仔细认真的复审。3. 动态模型4类图的功能?三、比较面向对象方法与结构化方法的特点,说明面向对象 更加优越。答:结构化方法是以数据流和数据封闭性为基础的,由SA、SD和SP三部分构成。该方法:无法实现从问题空间到解 空间的直接映射。无法实现高效的软件复用。开发方法 难以实现从分析到设计的直接过渡,从SA到SD要经过一系 列复杂的变换。而面向对象的方法以对象为核心,强调模拟 现实世界中的概念而不是算法,尽

7、量用符合人类认识世界的 思维方式来渐进地分析、解决问题:使问题空间与解空间 具有一致性,便于对软件开发过程所有阶段进行综合考虑, 能有效地降低软件开发的复杂度,提高软件质量。软件开 发各个阶段有机集成,有利于系统的稳定性。具有良好的 重用性。综上,显然面向对象方法比结构化方法更加优越。四、动态模型4类图的功能动态模型包括4类图:状态图、活动图、顺序图、协作图。 状态图:描述某个对象,子系统,系统的生存周期。活动图:描述操作实现中完成的工作以及用例实例或对象中 的活动,活动图是状态图的一个变种。顺序图:是一种交互图,描述对象之间的动态合作关系以及 合作过程中的行为次序,常用来描述一个用例的行为。

8、协作图:用于描述相互合作的对象间的交互关系,它描述的 交互关系是对象间的消息连接关系。四、OOA概念模型的5个层次分别是: 5层次,类与对象层,结构层,属性层,服务层,主题层,(1) 发现类及对象。描述如何发现类及对象。(2) 识别结构。该阶段分为两个步骤。第一,识别“一般一 特殊”结构,第二,识别“整体一部分”结构。定义属性。其中包括定义类的实例(对象)之间的实例连 接。定义服务。其中包括定义对象之间的消息连接。(5)定义主题。主题由一组类及对象组成,用于将类及对象 模型划分为更大的单位,以便于理解。六、建立对象模型的5个层次1确定类与对象类和对象是在问题域中可观存在的,系统分 析员的主要任

9、务就是通过分析找出这些类和对象。2确定关联。两个或多个对象之间的相互依赖、相互作用的 关系就是关联,分析确定关联,要考虑问题域的边缘情况。3划分主题将大型、复杂系统进一步划分成为不同的主题, 以降低系统的复杂性4确定属性。属性是对象的性质,一般确定属性包括分析和 选择两个步骤。5识别继承关系。确定了类中应该定义的属性之后,就可以 利用继承机制共享公共性质,并对系统中众多的类加以组 织。一般可使用自低向上和自顶向下两种方式建立继承关 系。应用题1.建立用例模型(例题)2数据流图图书馆(例题)3下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。(3)在(2)题的设计中你使用附加的标志变量flag吗? 若没用,请再设计一个使用flag的程序;若用了,再设计 一个不用flag的程序(1)通常所说的结构化程序,是按照狭义的结构程序 的定义衡量,符合定义规定的程序。图示的程序的循环控 制结构有两个出口,显然不符合狭义的结构程序的定义, 因此是非结构化的程序。使用附加的标志变量flag,至少有两种方法可以 把该程序改造为等价的结构化程序,图示盒图描绘了等价 的结构化程序。flag-TRUEXp%flag=FALSEg(NOT q) OR (NOT flag)不使用flag把该程序改造为等价的结构化程序的方法如 图所示。

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

当前位置:首页 > 建筑/环境 > 建筑资料

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