软件工程91124.doc

上传人:博****1 文档编号:545689599 上传时间:2023-06-27 格式:DOC 页数:7 大小:61.01KB
返回 下载 相关 举报
软件工程91124.doc_第1页
第1页 / 共7页
软件工程91124.doc_第2页
第2页 / 共7页
软件工程91124.doc_第3页
第3页 / 共7页
软件工程91124.doc_第4页
第4页 / 共7页
软件工程91124.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

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

1、软件工程的目的:提高软件生产率,提高软件质量,降低软件成本软件工程的生命周期:软件定义,软件开发,软件维护,淘汰其6个阶段为:1. 可行性分析和项目开发计划(用户,项目负责人,系统分析员)2. 需求分析(用户,项目负责人,系统分析员)3. 软件设计(概要设计和详细设计)(6阶段中的核心)(系统分析员,高级程序员)4. 编码(程序员,高级程序员)5. 测试(另一部门的系统分析员,高级程序员)6. 维护进度管理:1. Gantt图:横坐标表示时间,纵坐标表示任务。2. PERT图:是一个有向图,图中箭头表示任务,它可以标上完成该任务所需的时间,图中的节点表示流入节点的任务的结束,并开始流出节点的任

2、务,这里我们把节点称为事件。软件能力成熟模型:CMM:是对软件组织进化阶段的描述,CMM将软件过程改进分为5个成熟级别:1. 初始阶段:软件过程的特点是杂乱无章,甚至很凌乱。2. 可重复级:建立了基本的项目管理过程来跟踪成本,进度和性能。3. 已定义级:管理和工程的软件过程已经文档化,标准化,并综合成整个软件开发组织的标准软件过程。4. 已管理级:制定了软件过程和产品质量的详细度量标准。5. 已优化级:加强了定量分析。软件开发模型:为了指导软件的开发,用不同的方式将软件的生命周期中的所有开发活动组织起来,形成不同的软件开发模型。瀑布模型:让软件的生命周期的各阶段固定顺序,上一阶段完成之后才能进

3、入下一阶段,如同瀑布流水,逐级下落。优点:消除非结构化软件,降低软件的复杂度,保证软件的产品质量。缺点:缺乏灵活性,开发时虽然已满足用户的要求,但在开发过程中到开发完成是无法确保证满足用户的需求。演化模型:特别适合于对软件需求缺乏准确认识的情况在开发软件的初期,用户对软件的需求是很模糊的,所以一开始是在用户提出的需求,快速的开发出一个初始的运行版本,给用户使用。这初始软件成为原型。然后根据用户对原型提出的需求进行改进,不断的重复这过程,最终得到用户满意的软件产品。螺旋模型:将瀑布模型和演化模型相结合,并增加风险分析。螺旋模型的4个方面活动:1)制订计划 2)风险分析 3)实施工程 4)客户评估

4、采用螺旋模型时,软件开发沿着螺旋自内向外旋转,每旋转一圈(即每完成一次4个方面的活动)都要对风险进行识别,分析,采取对策消除或减少风险,进而开发出一个更加完美的新软件版本。喷泉模型:喷泉模型主要用于描述面向对象的开发过程。特点:迭代,无间隙迭代说明此模型在开发活动中经常需要多次重复。无间隙指在开发活动(需求分析,软件设计,编码)之间无边界,它不像瀑布模型那样:需求分析活动结束后才开始软件设计,喷泉模型允许开发活动交叉,迭代地进行。面向对象分析与设计:用面向对象方法开发软件的特点:模型与客观世界一致,因而便于理解;适应变化的需求,修改局限在模块中;具有可复用性。面向对象分析(OOA):建立待开发

5、软件系统的模型。面向对象设计(OOD):定义系统蓝图,并根据系统构造蓝图在特定的环境中实现系统。面向对象设计分为两个阶段:高层设计(建立应用的体系结构)、底层设计(类的详细设计)。超类=父类UML图:是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。在UML系统开发中有三个主要的模型: 功能模型: 从用户的角度展示系统的功能,包括用例图。 对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型: 展现系统的内部行为。 包括序列图,活动图,状态图。UML是数据库设计过程中,在E-R图(实体-联系图)的设计

6、后的进一步建模。1、用例图 (用户)描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。 2、类图(静态视图) 类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。 3、对象图 (类图的实例)与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系

7、。 4、包图 (系统分层结构)包图用于描述系统的分层结构,由包或类组成,表示包与包之间的关系。 5、活动图(用例的活动)描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。6、状态图(描述对象的状态,是类图的补充)描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的

8、可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。7、序列图(顺序图,消息如何在对象之间进行发送和接收)序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。8、协作图和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种

9、图合称为交互图(序列图与协作图)。 9、构件图(组件图,描述代码) 描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。 10、部署图 (配置图,系统的物理硬件部署) 是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。部署图用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。1:用例图侧重描述用户需求, 2:类图侧重描述系统具体实现; 描述的方面都

10、不相同:1:类图描述的是系统的结构, 2:序列图描述的是系统的行为; 抽象的层次也不同:1:构件图描述系统的模块结构,抽象层次较高, 2:类图是描述具体模块的结构,抽象层次一般, 3:对象图描述了具体的模块实现,抽象层次较低。 在有的文献书籍中,将这九种模型图分为三大类:结构分类、动态行为和模型管理。1:结构分类包括用例图、类图、对象图、构件图和部署图, 2:动态行为包括状态图、活动图、顺序图和协作图, 3:模型管理则包含类图。软件的需求分析:主要解决“做什么”的问题需求分析方法:结构化分析方法(SA)结构化分析方法适宜分析大型信息系统,结构化分析方法采用“自顶向下,逐层分解”。结构化分析方法

11、的目的:将负责的系统适当分层,每层的负责程度即可降低。结构化分析方法得出的分析结果由3部分组成:1. 一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程。2. 一本数据字典:用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项。3. 加工逻辑说明:用来描述每个基本加工的加工逻辑。数据流图(DFD)的组成成分:1. 数据流:由一组固定成分的数据组成。2. 加工:描述输入数据流经过什么处理后变成了输出数据流。即描述输入数据流到输出数据流的变换。3. 数据存储:用来表示暂时存储的数据。4. 外部实体:指系统之外的人员或组织。数据字典含4个条目:数据流,数据项,数据存储,加工

12、加工逻辑一般采用3种工具来描述:结构化语言、判定表和判定树。原型化方法对应的是演化模型。软件设计(概要设计和详细设计):软件设计的要求是:1. 模块化2. 抽象3. 信息隐蔽4. 模块独立:要求每个模块要完成独立的子功能与其他模块的联系少而接口简单。衡量独立性的标准是:耦合性、内聚性。耦合性越底,内聚性越高,块的独立性越强。耦合性:是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。一般模块之间可能的连接方式有七种,构成耦合性的七种类型。它们之间的关系为(由弱到强):1. 非直接耦合:两个模块之间没有直接关系2. 数据耦合:一个模块访

13、问另一个模块时,彼此之间只能通过数据参数(不是控制参数)来交换输入、输出信息的。3. 标记耦合:如果一组模块通过参数表传递记录信息,就是标记耦合。(如传递数据结构)4. 控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。5. 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。6. 内容耦合:又称病态耦合。如果发生下列情形,两个模块之间就发生了内容耦合。1)一个模块直接访问另一个模块的内部数据;2)一个模块不通过正常入口转到另一模块内部;3)两个模块有一部分程序代码重叠(只可能出现在汇编语言中);4)一个模块有多个入

14、口。内聚性:又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块的内聚性由低到高有:1. 偶然内聚:模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能。2. 逻辑内聚: 这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能。3. 时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。4. 过程内聚5. 通信内聚:各处理使用相同的输入数据或者产生相同的输出数据。6. 顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。7. 功能内

15、聚:这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。软件编码:程序设计方法主要含有3种:结构化方法,原型方法和面向对象方法。结构化方法:1. 模块内部程序各部分按自顶向下,逐层分解的结构划分。2. 各程序部分按功能组合3. 各程序之间联系通过调用子程序来实现。原型方法:在系统开发之处尽快给用户构造一个新系统的模型(原型),反复演示原型并征求用户意见,然后不断修改和完善原型,直到满足用户需求在进而实现系统。面向对象程序设计方法(OOP):面向对象程序设计方法一般与面向对象设计(OOD)所设计的内容相对应。OOP是一个简单直接的映射过程。可视化编程:指在开发阶段就可以看到应用系统的运行界面。软件测试:测试的目的:软件测试的目的是尽可能多的找出软件中的错误和缺陷。测试用例:由测试数据和预期结果构成。软件测试方法:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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