版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 UMLUML与与RUPRUP统一过程统一过程2.1 2.1 案例说明案例说明2.2 2.2 面向对象的软件开发方法面向对象的软件开发方法2.3 UML2.3 UML概述概述2.4 RUP2.4 RUP统一过程统一过程2022-5-712.1 2.1 案例说明案例说明贯穿全书的案例共有两个:贯穿全书的案例共有两个: 课程注册管理系统和家庭保安系统。课程注册管理系统和家庭保安系统。前者的业务背景是信息处理系统,书中主要用于前者的业务背景是信息处理系统,书中主要用于解释软件工程中的概念;解释软件工程中的概念;后者属嵌入式应用问题,用于综合演示每章所述后者属嵌入式应用问题,用于综合演示每
2、章所述的软件工程技术和过程的应用方法。的软件工程技术和过程的应用方法。2022-5-72案例案例1 1:课程注册管理系统:课程注册管理系统为学校教务部门开发一个课程注册管理系统。为学校教务部门开发一个课程注册管理系统。该校实施学分制该校实施学分制, ,每学期开学前,教务管理人员利每学期开学前,教务管理人员利用该系统输入本学期开设的全部课程及相关信息、用该系统输入本学期开设的全部课程及相关信息、提供课程总表(所有课程的任课教师、每门课程上提供课程总表(所有课程的任课教师、每门课程上课时间、地点)。课时间、地点)。开学后,学生利用该系统查询课程和课表信息,在开学后,学生利用该系统查询课程和课表信息
3、,在第一周注册课程或撤销对课程的注册。第一周注册课程或撤销对课程的注册。软件系统为每个学生提供所选课程的课程表软件系统为每个学生提供所选课程的课程表, ,并通并通知计费系统计算学生的选课费用。知计费系统计算学生的选课费用。软件系统为任课教师在学期内提供随时查询选修其软件系统为任课教师在学期内提供随时查询选修其所开课程的学生信息。所开课程的学生信息。学生可随时查询课程信息、本人所选课程及课程表,学生可随时查询课程信息、本人所选课程及课程表,教务管理人员可随时查询所有收录的课程信息。教务管理人员可随时查询所有收录的课程信息。2022-5-73案例案例2 2:家庭保安系统:家庭保安系统建立基于微处理
4、器的家庭保安系统,它能够识别建立基于微处理器的家庭保安系统,它能够识别异常事件并采取相应的防护措施。异常事件并采取相应的防护措施。 这些异常事件应包括非法进入、火灾,等等。一这些异常事件应包括非法进入、火灾,等等。一旦异常情形被相应的传感器探测出来,系统应自旦异常情形被相应的传感器探测出来,系统应自动发出警报,并用电话向监控中心报警。动发出警报,并用电话向监控中心报警。 系统应允许户主对其行为实施程序式控制。系统应允许户主对其行为实施程序式控制。 2022-5-742.2 2.2 面向对象的软件开发方法面向对象的软件开发方法面向对象面向对象 = = 对象对象 + + 类类 + + 继承继承 +
5、 + 聚合聚合 + + 多态多态 + + 消息消息2022-5-752.2.2 2.2.2 面向对象方法的优势面向对象方法的优势相对于传统的结构化方法和面向数据的方法,面相对于传统的结构化方法和面向数据的方法,面向对象方法除具有上述向对象方法除具有上述削减语义断层削减语义断层的作用外,的作用外,在在简化软件开发过程简化软件开发过程、支持软件复用支持软件复用、改善软件改善软件结构结构等方面还有明显优势。等方面还有明显优势。2022-5-76面向对象方法的优势面向对象方法的优势(1 1)简化软件开发过程)简化软件开发过程可以软件开发的各个阶段可以软件开发的各个阶段这就构成了一种覆盖软件开发主要阶段
6、的广谱软件开发这就构成了一种覆盖软件开发主要阶段的广谱软件开发方法学方法学两个相邻阶段间软件(中间)制品之间的衔接、转换也两个相邻阶段间软件(中间)制品之间的衔接、转换也变得相对容易。变得相对容易。不同角色的交流媒介不同角色的交流媒介需求工程师、软件设计师、编程人员、测试工程师、项需求工程师、软件设计师、编程人员、测试工程师、项目经理等在软件开发及管理过程中使用统一的概念进行目经理等在软件开发及管理过程中使用统一的概念进行交流和协作交流和协作面向对象的概念体系简单、直观、自然,缓解了一直困面向对象的概念体系简单、直观、自然,缓解了一直困扰大型软件项目组交流不畅的难题。扰大型软件项目组交流不畅的
7、难题。2022-5-77面向对象方法的优势面向对象方法的优势(2 2)支持软件复用。)支持软件复用。 在源代码级复用方面,面向对象方法通过继在源代码级复用方面,面向对象方法通过继承机制和代理方法,使得复用者不需要直接修改承机制和代理方法,使得复用者不需要直接修改被复用的类;被复用的类; 在设计级复用方面,近年来迅速发展的设计模在设计级复用方面,近年来迅速发展的设计模式技术在软件业界大显身手,贡献良多。式技术在软件业界大显身手,贡献良多。2022-5-78面向对象方法的优势面向对象方法的优势(3 3)改善软件结构。)改善软件结构。每个类是独立、完整的每个类是独立、完整的软件系统由相对独立的类组成
8、。它们各司其职,仅当软件系统由相对独立的类组成。它们各司其职,仅当必要时,类的实例对象才会通过消息请求其他对象提必要时,类的实例对象才会通过消息请求其他对象提供帮助供帮助均拥有完成其操作所必需的数据均拥有完成其操作所必需的数据封装技术实现了软件工程倡导的信息隐藏原则。封装技术实现了软件工程倡导的信息隐藏原则。数据通过关键字数据通过关键字privateprivate隐藏于类的内部,或通过隐藏于类的内部,或通过protectedprotected关键字隐藏于类及其子类的内部关键字隐藏于类及其子类的内部外界对类的内部数据的访问或修改只能通过该类对外外界对类的内部数据的访问或修改只能通过该类对外公开的
9、接口函数施行,这种访问或修改对于该类而言公开的接口函数施行,这种访问或修改对于该类而言是可控的是可控的2022-5-79面向对象方法的优势面向对象方法的优势(3 3)改善软件结构。)改善软件结构。实现灵活、易于变更实现灵活、易于变更通过多态机制适当分离类的对外接口和内部实现,使通过多态机制适当分离类的对外接口和内部实现,使得类的使用者得以使用统一的接口触发不同的功能执得类的使用者得以使用统一的接口触发不同的功能执行,并且保证内部实现的变更不会导致接口使用方式行,并且保证内部实现的变更不会导致接口使用方式的修改。的修改。2022-5-7102.3 UML2.3 UML概述概述五大视图五大视图20
10、22-5-711结构视图用例视图行为视图构件视图部署视图案例:课程注册管理系统案例:课程注册管理系统教师查询课表及课程信息用户查询选课信息学生选课设定课程信息教务员制订课表检测课程冲突身份验证查询教师信息include用例图案例:课程注册管理系统案例:课程注册管理系统类图2.4 RUP2.4 RUP统一过程统一过程本节介绍:本节介绍:RUPRUP统一过程的软件过程框架统一过程的软件过程框架软件进化的五个阶段软件进化的五个阶段软件过程的九个工作流软件过程的九个工作流2022-5-71415什么是什么是RationalRational统一过程(统一过程(RUPRUP)Rational Ration
11、al 由由RationalRational公司开发,可以将公司开发,可以将RUPRUP看成一款软件看成一款软件产品,并和一系列软件开发工具紧密集成产品,并和一系列软件开发工具紧密集成统一统一拥有自己的一套架构,并且这套架构以一种大多拥有自己的一套架构,并且这套架构以一种大多数项目和开发组织都能够接受的形式存在数项目和开发组织都能够接受的形式存在过程过程是一种软件开发过程,提够了如何对软件开发组是一种软件开发过程,提够了如何对软件开发组织进行管理的方式,并拥有自己的目标和方法织进行管理的方式,并拥有自己的目标和方法什么是什么是RationalRational统一过程(统一过程(RUPRUP)20
12、22-5-71617什么是什么是RationalRational统一过程(统一过程(RUPRUP)是一种软件工程过程;是一种软件工程过程;是一个过程产品;是一个过程产品;拥有一套自己的过程框架;拥有一套自己的过程框架;包含了许多现代软件开发中的最佳实践;包含了许多现代软件开发中的最佳实践;18什么是什么是RationalRational统一过程(统一过程(RUPRUP)RUPRUP以一种能够被大多数项目和开发组织适应以一种能够被大多数项目和开发组织适应的形式建立整个过程,包含的形式建立整个过程,包含6 6项最佳实践:项最佳实践:迭代式软件开发;迭代式软件开发;需求管理;需求管理;基于构件的架构
13、应用;基于构件的架构应用;建立可视化的软件模型;建立可视化的软件模型;软件质量验证;软件质量验证;软件变更控制;软件变更控制;2.4.1 RUP2.4.1 RUP软件过程框架软件过程框架RUPRUP将软件开发过程分解为九个工作流,即子过程将软件开发过程分解为九个工作流,即子过程 业务建模、需求、设计、实现、验证和确认业务建模、需求、设计、实现、验证和确认(V&V)(V&V)、部署、配置和变更管理、项目管理和环境、部署、配置和变更管理、项目管理和环境工作流工作流将软件生存周期,即软件制品的进化状态划分为将软件生存周期,即软件制品的进化状态划分为五个阶段:五个阶段: 初始、细化、构
14、造、移交、生产初始、细化、构造、移交、生产2022-5-719RUPRUP软件过程框架软件过程框架软件项目团队可利用软件项目团队可利用五个阶段五个阶段、九个工作流九个工作流组成组成一个软件项目开发框架,组织软件项目的开发,一个软件项目开发框架,组织软件项目的开发,完成软件从初始到生产的进化。完成软件从初始到生产的进化。RUPRUP过程与瀑布模型的本质区别:过程与瀑布模型的本质区别:uRUPRUP的软件开发过程分解(即工作流)与软件制品所处的软件开发过程分解(即工作流)与软件制品所处阶段阶段不是一一对应不是一一对应的关系。软件生存周期只描述软件的关系。软件生存周期只描述软件制品及其进化状态,软件
15、开发过程是根据项目要求调制品及其进化状态,软件开发过程是根据项目要求调度九个工作流完成软件制品的进化。度九个工作流完成软件制品的进化。2022-5-720图图2.1 RUP2.1 RUP统一过程各阶段的开发活动统一过程各阶段的开发活动2022-5-72122图中的图中的浪线浪线部分描述了不同的工作流,在部分描述了不同的工作流,在不同的时间段内工作量的不同。值得注意不同的时间段内工作量的不同。值得注意的是,几乎所有的工作流,在所有的时间的是,几乎所有的工作流,在所有的时间段内均有工作量,只是大小不同而已。这段内均有工作量,只是大小不同而已。这与与瀑布过程瀑布过程有明显的不同。有明显的不同。10%
16、10%50%50%30%30%10 %10 %进度进度 10% 10% 65 %65 %20 %20 %5 %5 %工作量工作量 交付交付构造构造细细化化初始初始RUPRUP软件过程框架软件过程框架RUPRUP五个阶段和九个工作流组成的框架五个阶段和九个工作流组成的框架可根据软件可根据软件开发项目需要进行剪裁开发项目需要进行剪裁。RUPRUP支持软件工程的迭代开发、管理软件需求、基支持软件工程的迭代开发、管理软件需求、基于构件的架构、可视化建模、软件质量保证、软于构件的架构、可视化建模、软件质量保证、软件变更管理等。件变更管理等。图图2.22.2描述了软件开发各个子过程(即工作流)与描述了软件
17、开发各个子过程(即工作流)与软件生存周期各个阶段(软件制品的状态)之间软件生存周期各个阶段(软件制品的状态)之间的的“一种一种”对应关系。对应关系。2022-5-723图图2.2 RUP2.2 RUP软件过程和软件生存周期软件过程和软件生存周期2022-5-7242.4.2 RUP2.4.2 RUP的五个阶段的五个阶段RUPRUP软件经历的五个阶段:软件经历的五个阶段:1. 1. 初始初始 (inception) (inception) 阶段阶段2. 2. 细化细化(elaboration)(elaboration)阶段阶段3. 3. 构造构造(construction)(constructi
18、on)阶段阶段4. 4. 移交移交(transition)(transition)阶段阶段5. 5. 生产(生产(productionproduction)阶段)阶段每个阶段结束于一个主要的里程碑,每个阶段本每个阶段结束于一个主要的里程碑,每个阶段本质上是两个里程碑之间的时间跨度。质上是两个里程碑之间的时间跨度。2022-5-7251. 1. 初始初始 (inception) (inception) 阶段阶段初始阶段的软件制品包括:初始阶段的软件制品包括: 业务过程模型、业务用例、基本需求、初步的业务过程模型、业务用例、基本需求、初步的开发策略和进度计划、系统基本架构。开发策略和进度计划、系统
19、基本架构。支持软件制品进化的主要业务活动:支持软件制品进化的主要业务活动:u业务建模与需求描述。业务建模与需求描述。在初始阶段可能需要使用的在初始阶段可能需要使用的UMLUML语言机制包语言机制包括:括:u描述软件需求的描述软件需求的用例用例及及用例图用例图,表示业务处理,表示业务处理过程的过程的活动图活动图,表示用例内部实现过程的,表示用例内部实现过程的交互交互图图等。等。2022-5-726用例建模用例建模uRUPRUP通过通过“用例用例”(use caseuse case)描述软件的功能和性能,)描述软件的功能和性能,描述人、机器,或其他系统与软件的交互过程,及执描述人、机器,或其他系统
20、与软件的交互过程,及执行的操作。行的操作。u一个软件项目可能有几十个、几百个,甚至几千个用一个软件项目可能有几十个、几百个,甚至几千个用例,形成用例集。例,形成用例集。u将用例集划分为若干用例子集作为软件开发的迭代增将用例集划分为若干用例子集作为软件开发的迭代增量,每次迭代过程开发一个增量,形成一个可交付的量,每次迭代过程开发一个增量,形成一个可交付的新版本。新版本。u用例子集在初始阶段可以变更或增删。用例子集在初始阶段可以变更或增删。u用例集是项目策划、软件开发、系统测试的基础。用例集是项目策划、软件开发、系统测试的基础。初始阶段的系统基本架构仅限于主要子系初始阶段的系统基本架构仅限于主要子
21、系统及主要功能的试探性描述。统及主要功能的试探性描述。2022-5-7272. 2. 细化细化(elaboration)(elaboration)阶段阶段细化阶段的软件制品细化阶段的软件制品u用用UMLUML描述的描述的软件需求规约软件需求规约、软件系统的架构软件系统的架构和完善的和完善的项目计划项目计划。软件需求规约是描述软件需求的文档,它指明与软件需求规约是描述软件需求的文档,它指明与系统交互的参与者,描述软件系统的用例,给出系统交互的参与者,描述软件系统的用例,给出软件需求模型。软件需求模型。规约的描述有两种方式:规约的描述有两种方式:u面向用户的面向用户的:用无歧义的自然语言描述;:用
22、无歧义的自然语言描述;u面向软件开发人员的:面向软件开发人员的:用需求规约语言或工具描述。用需求规约语言或工具描述。两种描述形式不同,但内容必须相同。两种描述形式不同,但内容必须相同。前者便于前者便于用户用户的理解、测试和确认,后者便于的理解、测试和确认,后者便于软软件工程师件工程师进行软件开发。进行软件开发。2022-5-728本阶段使用的本阶段使用的UMLUML语言机制包括:语言机制包括:u用例、用例图用例、用例图u业务处理流程业务处理流程u软件需求规约:软件需求规约:p 以以UMLUML的类图表示的目标软件系统所处应用领域中的概的类图表示的目标软件系统所处应用领域中的概念及概念之间的关系
23、,这些相互关联的概念构成领域概念及概念之间的关系,这些相互关联的概念构成领域概念模型;念模型;p 以以UMLUML交互图表示的用例内部的交互过程;交互图表示的用例内部的交互过程;p 以以UMLUML类图、状态图、活动图等表示的需求分析模型等。类图、状态图、活动图等表示的需求分析模型等。u软件体系结构软件体系结构软件体系结构一般以软件体系结构一般以UMLUML的的包图包图、构件图构件图和和部署图部署图等图等图形机制来表示。形机制来表示。u风险分析在内的完善的项目计划风险分析在内的完善的项目计划。2022-5-7293. 3. 构造构造(construction)(construction)阶段阶
24、段在构造阶段,软件制品进一步进化为在构造阶段,软件制品进一步进化为细化的软件细化的软件体系结构、构件和模块、程序源代码、文档、测体系结构、构件和模块、程序源代码、文档、测试用例试用例等等前三种制品统称为前三种制品统称为软件详细设计模型软件详细设计模型,它一般以,它一般以UMLUML的的类图、交互图、活动图、状态图和构件图类图、交互图、活动图、状态图和构件图等表示。等表示。理想情况下,理想情况下,大型软件开发的构造阶段只涉及实大型软件开发的构造阶段只涉及实现活动现活动,表明进入构造阶段时这一次迭代的软件,表明进入构造阶段时这一次迭代的软件体系结构已经固化体系结构已经固化在此基础上实现软件增量或构
25、件在此基础上实现软件增量或构件( (如发布的版本如发布的版本) )的功能和性能,并通过单元测试和集成测试。的功能和性能,并通过单元测试和集成测试。2022-5-7304. 4. 移交移交(transition)(transition)阶段阶段软件制品已进化为软件制品已进化为源代码源代码和和可执行代码可执行代码,必要时必要时可按照用户环境要求再生成目标代码可按照用户环境要求再生成目标代码,并运行系,并运行系统。统。本阶段涉及的具体问题本阶段涉及的具体问题: :u软硬件的匹配软硬件的匹配u软件与工作环境的匹配软件与工作环境的匹配u软件与操作人员的协调软件与操作人员的协调要求:要求:软件应能在实际操
26、作环境下正常工作,并软件应能在实际操作环境下正常工作,并有配套的文档及使用手册等。有配套的文档及使用手册等。在移交阶段需要使用的在移交阶段需要使用的UMLUML语言机制主要是语言机制主要是部署图部署图。如果需要修改软件的实现代码,则必须相应地修如果需要修改软件的实现代码,则必须相应地修改表示软件需求模型和设计模型的改表示软件需求模型和设计模型的UMLUML图,使它们图,使它们三者始终保持协调一致。三者始终保持协调一致。2022-5-7315. 5. 生产(生产(productionproduction)阶段)阶段生产阶段的软件制品:生产阶段的软件制品:正在运行的正在运行的可执行代码可执行代码,
27、软件运行日志、手册、文档,软件运行日志、手册、文档,软件维护文档,软件配置管理系统软件维护文档,软件配置管理系统等。等。软件生产阶段的主要活动:软件生产阶段的主要活动: “生产生产”或或“服务服务”2022-5-732表表2.1 RUP2.1 RUP各阶段生成的部分软件制品各阶段生成的部分软件制品阶段阶段 软件制品软件制品初始阶段初始阶段业务术语表、业务用例、原型、业务模型、初始风险评业务术语表、业务用例、原型、业务模型、初始风险评估、项目规划等估、项目规划等细化阶段细化阶段软件需求规约、软件体系结构、修正的风险评估、项目软件需求规约、软件体系结构、修正的风险评估、项目计划(迭代计划、工作流、
28、里程碑)、工作手册初稿计划(迭代计划、工作流、里程碑)、工作手册初稿构造阶段构造阶段设计模型、软构件设计、软件源代码、可执行代码、测设计模型、软构件设计、软件源代码、可执行代码、测试计划、测试用例、支持文档、用户手册、安装手册等试计划、测试用例、支持文档、用户手册、安装手册等移交阶段移交阶段提交的软件增量、软件可执行代码、提交的软件增量、软件可执行代码、Beta测试报告、用测试报告、用户综合反映户综合反映2022-5-7332.4.3 RUP2.4.3 RUP的九个工作流的九个工作流RUPRUP过程分为软件过程分为软件支持过程支持过程和软件和软件生产过程生产过程两类。两类。u软件支持过程软件支
29、持过程由软件管理、软件环境、软件配置和变由软件管理、软件环境、软件配置和变更管理工作流组成。更管理工作流组成。u软件生产过程软件生产过程由业务建模、需求、设计、实现、验证由业务建模、需求、设计、实现、验证和确认和确认(V(VV)V)、部署工作流组成。、部署工作流组成。两类过程都有明确的任务,专业人员通过工作流两类过程都有明确的任务,专业人员通过工作流(即,一系列专门活动)生成软件的中间和最终(即,一系列专门活动)生成软件的中间和最终制品。制品。2022-5-7341. 1. 业务建模工作流业务建模工作流作用:作用:对软件用户的业务流程调研并建模。对软件用户的业务流程调研并建模。l不同软件项目业
30、务建模的不同软件项目业务建模的难度、方式、工难度、方式、工作量作量差异很大。差异很大。方式方式 :软件开发人员要学习有关的领域知软件开发人员要学习有关的领域知识,理解软件需求,在此基础上,与系统识,理解软件需求,在此基础上,与系统工程师协商,做一些必要的修改和优化即工程师协商,做一些必要的修改和优化即可完成业务建模。可完成业务建模。需求获取和建模是软件开发的关键和难点。需求获取和建模是软件开发的关键和难点。2022-5-7352. 2. 软件需求工作流软件需求工作流需求工作流包括:需求工作流包括:需求分析与描述、需求验证需求分析与描述、需求验证等活动。等活动。u需求规约完成后,应组织需求验证。
31、需求规约完成后,应组织需求验证。u需求验证多采用评审方式。需求验证多采用评审方式。开发机构准备好需求文档,聘请专家、客户、开发机构准备好需求文档,聘请专家、客户、系统分析人员、项目负责人、开发人员代表参系统分析人员、项目负责人、开发人员代表参加。加。对需求文档是否符合用户要求要做出明确结论,对需求文档是否符合用户要求要做出明确结论,对提交给客户的需求文档和提交给开发人员的对提交给客户的需求文档和提交给开发人员的需求规约的一致性做技术认证,并给出明确意需求规约的一致性做技术认证,并给出明确意见。见。2022-5-7363. 3. 软件设计工作流软件设计工作流设计工作流包括设计工作流包括软件体系结
32、构设计软件体系结构设计(相当于传统(相当于传统的软件概要设计),的软件概要设计),软构件选取和设计软构件选取和设计 两部分。两部分。软件体系结构也称软件架构,是根据软件需求规软件体系结构也称软件架构,是根据软件需求规约建立的。约建立的。u大型软件系统往往采用大型软件系统往往采用自顶向下自顶向下或或自底向上自底向上的方式进的方式进行体系结构设计,给出软件系统的总体结构。行体系结构设计,给出软件系统的总体结构。u软件架构具有软件架构具有层次性、模块化层次性、模块化的特点,容易分解成易的特点,容易分解成易于处理的子系统或构件。于处理的子系统或构件。2022-5-737软件设计工作流软件设计工作流软构
33、件选取和设计通常指,软构件选取和设计通常指,定义软构件的功能、定义软构件的功能、接口和界面,给出选取或设计软构件的决策接口和界面,给出选取或设计软构件的决策。u在面向对象的方法中可采用在面向对象的方法中可采用“包包”或或“类类”的机制描的机制描述、封装子系统或构件,有利于存储、访问控制和配述、封装子系统或构件,有利于存储、访问控制和配置管理。置管理。u子系统或构件之间的交互可用子系统或构件之间的交互可用“包包”或或“类类”之间的之间的依赖关系描述。依赖关系描述。软件设计要给出每个类的操作和属性描述,提供软件设计要给出每个类的操作和属性描述,提供架构设计说明书、数据库说明书、组装测试计划架构设计
34、说明书、数据库说明书、组装测试计划等文件。等文件。2022-5-7384. 4. 软件实现工作流软件实现工作流实现工作流包括下列活动实现工作流包括下列活动: : 构件细化、编码、测试、构件集成、集成测试。构件细化、编码、测试、构件集成、集成测试。构件细化形成若干可编程的程序模块。构件细化形成若干可编程的程序模块。根据设计风格选用适宜的程序设计语言描述程序根据设计风格选用适宜的程序设计语言描述程序模块的内部细节。模块的内部细节。u如,结构化设计可采用如,结构化设计可采用C C语言,面向对象的设计可采用语言,面向对象的设计可采用C+C+或或JavaJava语言。语言。程序模块的内部细节包括:程序模
35、块的内部细节包括: 算法、数据结构和各程序模块之间的详细接口。算法、数据结构和各程序模块之间的详细接口。2022-5-739软件实现工作流软件实现工作流编写源代码过程要提供必要的说明;编写源代码过程要提供必要的说明;建立建立“模块开发卷宗模块开发卷宗”;拟定模块测试方案,并对程序模块进行测试。拟定模块测试方案,并对程序模块进行测试。软件实现活动应遵循软件工程的目标和原则,必软件实现活动应遵循软件工程的目标和原则,必须与软件需求和架构保持一致。须与软件需求和架构保持一致。2022-5-7405. 5. 软件验证和确认(软件验证和确认(V&VV&V)工作流)工作流验证和确认验证和确
36、认V&VV&V工作流包括工作流包括对软件原型、文档对软件原型、文档的审查,对软构件或子系统的测试,交付软件的审查,对软构件或子系统的测试,交付软件版本的确认测试。版本的确认测试。为了保证软件开发的正确性、一致性,避免软为了保证软件开发的正确性、一致性,避免软件缺陷和错误的蔓延,软件验证和确认(评审件缺陷和错误的蔓延,软件验证和确认(评审和测试)和测试)贯穿软件开发的全过程贯穿软件开发的全过程,以便及时反,以便及时反馈、及时修改。馈、及时修改。必须对软件开发过程的关键制品进行审查,如,必须对软件开发过程的关键制品进行审查,如,需求规约、软件设计文档等。需求规约、软件设计文档等。必
37、须对可运行的软件模块和代码及时进行测试,必须对可运行的软件模块和代码及时进行测试,如单元测试、集成测试,必须对发布版本进行如单元测试、集成测试,必须对发布版本进行确认测试。确认测试。2022-5-741软件验证和确认(软件验证和确认(V&VV&V)工作流)工作流确认测试将按照承诺的系统运行场景(用例)确认测试将按照承诺的系统运行场景(用例)制定软件确认测试计划,测试系统是否实现了制定软件确认测试计划,测试系统是否实现了用例描述的场景,是否满足系统需求。用例描述的场景,是否满足系统需求。确认测试应向用户提交最终的确认测试应向用户提交最终的用户手册、操作用户手册、操作手册、源程序清
38、单及其他软件文档手册、源程序清单及其他软件文档。确认测试结束时应生成确认测试结束时应生成确认测试报告确认测试报告、项目开项目开发总结报告发总结报告。确认测试要采用多种方法和工具、。确认测试要采用多种方法和工具、组织专门的测试队伍并严格组织实施。组织专门的测试队伍并严格组织实施。l只有经过严格测试的软件才能保证开发软件的只有经过严格测试的软件才能保证开发软件的质量。质量。2022-5-7426. 6. 软件部署工作流软件部署工作流软件部署工作流包括:软件部署工作流包括: 软件移交、软件运行、软件维护、软件退役。软件移交、软件运行、软件维护、软件退役。软件移交过程的任务:软件移交过程的任务: 发布
39、新版本,必要时组织培训,帮助客户安装发布新版本,必要时组织培训,帮助客户安装并运行软件。并运行软件。软件运行过程的任务:软件运行过程的任务: 运行软件,充分发挥软件的社会和经济效益,运行软件,充分发挥软件的社会和经济效益,收集软件运行时暴露的缺陷和问题,定期或阶收集软件运行时暴露的缺陷和问题,定期或阶段性地撰写段性地撰写“软件问题报告软件问题报告”和和“软件修改报软件修改报告告”,作为软件维护和进化的依据。,作为软件维护和进化的依据。2022-5-743软件部署工作流软件部署工作流软件维护过程是软件维护过程是对软件制品进行修改或对对软件制品进行修改或对软件需求变更做出响应,是软件的进化。软件需
40、求变更做出响应,是软件的进化。u当发现软件制品中的缺陷,或用户提出要对软当发现软件制品中的缺陷,或用户提出要对软件需求进行修改,或软件运行环境发生变化时件需求进行修改,或软件运行环境发生变化时都需要对软件进行维护。都需要对软件进行维护。u软件维护不仅针对程序代码,而且还针对软件软件维护不仅针对程序代码,而且还针对软件描述、开发各阶段生成的文档,保持软件的一描述、开发各阶段生成的文档,保持软件的一致性,软件维护仍然需要工具和环境的支持。致性,软件维护仍然需要工具和环境的支持。软件退役:软件退役:即终止对软件制品的支持,停即终止对软件制品的支持,停止软件的使用和运行。止软件的使用和运行。2022-
41、5-7447. 7. 软件配置和变更管理工作流软件配置和变更管理工作流需求变更成为常态从而导致本作流的产生。需求变更成为常态从而导致本作流的产生。软件质量保证的重要内容:软件质量保证的重要内容:加强软件版本管理,加强软件版本管理,保持软件系统的一致性、完整性和正确性保持软件系统的一致性、完整性和正确性主要活动包括:主要活动包括: 配置管理规划、变更管理、版本和发布管理、配置管理规划、变更管理、版本和发布管理、 系统构建。系统构建。软件配置和变更管理过程在软件配置库的支持下,软件配置和变更管理过程在软件配置库的支持下,将伴随软件生存周期的全过程。将伴随软件生存周期的全过程。2022-5-7458
42、. 8. 项目管理工作流项目管理工作流项目管理工作流包括:项目管理工作流包括: 制定软件项目计划、跟踪控制软件项目、组织实制定软件项目计划、跟踪控制软件项目、组织实施软件项目三类活动。施软件项目三类活动。软件管理工作流涉及的要素:软件管理工作流涉及的要素: 人员、成本、进度、质量、过程改进等人员、成本、进度、质量、过程改进等l项目的管理是为软件的生产活动服务的,应尽量项目的管理是为软件的生产活动服务的,应尽量降低项目管理活动的开销。降低项目管理活动的开销。l不同类型、不同规模的软件项目管理过程在不同类型、不同规模的软件项目管理过程在复杂复杂性性、工作量工作量和和时间跨度时间跨度上存在很大差异。
43、上存在很大差异。2022-5-7469. 9. 软件环境工作流软件环境工作流作用:作用:软件环境工作流提供软件开发、维软件环境工作流提供软件开发、维护的工具和环境。护的工具和环境。u现代大型软件采用迭代开发过程,为了对变更现代大型软件采用迭代开发过程,为了对变更进行管理、保持过程和制品的一致性和软件制进行管理、保持过程和制品的一致性和软件制品的规范性,提高软件开发效率,需要过程自品的规范性,提高软件开发效率,需要过程自动化、度量自动化,需要软件工具和开发环境动化、度量自动化,需要软件工具和开发环境的支持。的支持。 软件工具和开发环境的核心:软件工具和开发环境的核心:软件开发信软件开发信息库息库
44、、软件配置数据库软件配置数据库l软件项目团队应根据项目的特点和团队的软件项目团队应根据项目的特点和团队的实际需要选择和创建自动化程度比较高的实际需要选择和创建自动化程度比较高的开发环境,并对环境持续不断地进行维护。开发环境,并对环境持续不断地进行维护。2022-5-747表表2.2 2.2 软件环境工作流为软件环境工作流为RUPRUP提供的提供的软件工具和环境软件工具和环境工作流工作流 软件工具和环境软件工具和环境管管 理理任务分解任务分解WBS工具、软件度量工具、成本估算工具、风险分析和计工具、软件度量工具、成本估算工具、风险分析和计划安排工具等划安排工具等环环 境境软件开发信息库、软件配置
45、数据库、配置管理工具、文档自动生成工软件开发信息库、软件配置数据库、配置管理工具、文档自动生成工具、变更管理工具、软件正向具、变更管理工具、软件正向/逆向自动变换工具逆向自动变换工具配置管理配置管理集成化的或独立的变更管理工具、系统构建工具,配置数据库、版本集成化的或独立的变更管理工具、系统构建工具,配置数据库、版本管理工具等管理工具等业务建模业务建模需求管理工具、可视化建模语言及工具需求管理工具、可视化建模语言及工具(如,如,UML及及Rose)、版本控、版本控制工具制工具需需 求求需求管理工具、可视化建模语言及工具、版本控制工具需求管理工具、可视化建模语言及工具、版本控制工具设设 计计可视
46、化建模语言及工具可视化建模语言及工具实实 现现可视化建模语言及工具、编辑器可视化建模语言及工具、编辑器-编译器编译器-调试器调试器-链接器、测试工具链接器、测试工具VV测试工具、测试和文档生成工具、缺陷跟踪工具、生成测试用例工具测试工具、测试和文档生成工具、缺陷跟踪工具、生成测试用例工具实实 施施缺陷跟踪工具缺陷跟踪工具2022-5-748表表2.3 RUP2.3 RUP过程九个工作流的主要任务过程九个工作流的主要任务工作流工作流 任任 务务 管理管理 实施软件项目管理,包括:项目计划、项目控制、项目组织实施软件项目管理,包括:项目计划、项目控制、项目组织 环境环境 为软件开发团队提供可用的适
47、宜的软件工具、环境为软件开发团队提供可用的适宜的软件工具、环境 配置变更配置变更 制定配置管理规划、实施变更管理、实施版本和发布管理、制定配置管理规划、实施变更管理、实施版本和发布管理、组织系统变更、测试组织系统变更、测试 业务建模业务建模 了解用户的业务及过程,对业务过程建模,生成业务用例了解用户的业务及过程,对业务过程建模,生成业务用例 需求需求 实施需求分析与描述、需求验证等实施需求分析与描述、需求验证等 分析设计分析设计 根据规约,采用适宜的方法进行软件体系结构设计,软构件根据规约,采用适宜的方法进行软件体系结构设计,软构件选取和设计选取和设计实现实现 编写、调试代码或构造系统组件,并将他们集成到子系统,编写、调试代码或构造系统组件,并将他们集成到子系统,采用自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025晋城职业技术学院教师招聘考试题目及答案
- 2025江苏护理职业学院教师招聘考试题目及答案
- 2026山东省鲁信投资控股集团有限公司校园招聘30人建设笔试模拟试题及答案解析
- 2026年延安子长市人才中心就业见习建设笔试参考题库及答案解析
- 2026湖南张家界市永定区西溪坪街道办事处招聘公益性岗位人员1人建设笔试模拟试题及答案解析
- 2026湖北省崇阳县人才引进26人建设考试备考题库及答案解析
- 2025年安庆市郊区法院书记员招聘考试试题及答案解析
- 2026年度通榆县第二批面向社会公开招聘公益性岗位人员(128人)建设考试参考题库及答案解析
- 中国久远高新技术装备有限公司2026届春季招聘建设考试参考题库及答案解析
- 2026四川天府新区永兴卫生院招聘编外人员1人建设笔试备考试题及答案解析
- 招21人!大通县2026年公开招聘编外临聘工作人员考试参考试题及答案解析
- 2025年长沙市芙蓉区事业单位招聘笔试试题及答案解析
- 临床床头抬高30°-小角度大作用
- 2026陕西榆林市旅游投资集团有限公司招聘7人考试备考试题及答案解析
- 湖南省新高考教学教研联盟(长郡二十校联盟)2026届高三下学期3月联考试题 英语 含解析
- 2026年广州民航职业技术学院单招职业适应性测试题库含答案详解(基础题)
- 《安徽省建设工程概算费用定额》2025年版
- 幼儿园后勤业务培训制度
- 急诊科失血性休克急救要点
- 2025年高考(海南卷)地理试题(学生版+解析版)
- 空间不平等量化分析-洞察与解读
评论
0/150
提交评论