01_软件流程实施方案选择
更新时间:2023-03-20 12:46:01 阅读量: 实用文档 文档下载
- 走流程实施方案推荐度:
- 相关推荐
软件流程实施方案选择
软件流程实施方案选择
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 1
RUP简介
什么是软件工程过程?任何工业化生产都离不开过程 大规模,有组织,有序的合理使用软件生产制造技术,定义谁(Who)什么时候 (When)做什么(What),以及如何(How)达到确定目标将用户需求转化为软件系统的所有活动的集合开发一个新的产品增强已开发产品的功能(修复bug,或者添加功能)新建和改变的需求新建和改变的系统
软件工程过程
软件工程过程中国科学院软件所 2006 Software Engineering, 7th edition. Chapter 1 Slide 2
软件流程实施方案选择
RUP简介
什么是有效的过程?保证产品质量迅速减少项目风险(需求,技术,政治风险等)保证项目的可预测性(进度,成本,功能等)能够捕捉和提供最佳实践方法(Best Practice)促进领域内(软件开发)的共识和相互理解
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 3
议题RUP,EUP与XP微软MSF与MOF Agile与CMMI
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 4
软件流程实施方案选择
成功的软件开发
成功的软件开发
开发技术 -面向对象分析与设计 -结构化设计方法 -基于构件的开发方法
开发过程 -RUP,CMM,XP -瀑布模型 -螺旋模型...
CASE Tool -Rational ROSE -RUP Builder -青鸟支撑系统
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 5
开发方法=建模语言+开发过程建模语言 (Modeling Language) 表述设计方法的表示法主要是图形化的对开发中所采取步骤的指导将建模语言置于特定语境(开发环境)之中
开发过程 (Development Process)
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 6
软件流程实施方案选择
广义的开发过程虽然我们这里说过程(Process),实际上它涵盖了软件项目管理技术的各个方面,包括: 软件度量项目估算进度控制人员组织配置管理项目计划等
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 7
UML+RUP=最佳软件开发方法
交响乐演奏
基于团队的开发
乐器中国科学院软件所 2006
乐谱
统一建模语言
统一过程Slide 8
Software Engineering, 7th edition. Chapter 1
软件流程实施方案选择
RUP囊括了6项最佳实践方法被证明可解决软件开发过程中的根本问题
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 9
RUP是一个通用过程框架RUP是可定制的(Customizable)通用过程框架 开发软件的种类开发软件的规模开发软件的应用领域开发团队的组织形式
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 10
软件流程实施方案选择
RUP Version 2002.05.00
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 11
统一过程中的迭代时间核心工作流
需求分析设计实现测试细化阶段的一次迭代
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 12
软件流程实施方案选择
RUP的3大核心技术特点用例(Use Case)/需求驱动的以构架(Architecture)为中心的迭代(Iterative)和增量的(Incremental)开发方式
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 13
用例驱动的RUP
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 14
软件流程实施方案选择
什么是用例(Use Case)软件系统的特征 服务于特定用户用户:与所开发系统交互的人或其他系统所有用例构成系统的全部功能和边界用例:在不展现系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述.
用例描述用户(User)需求
UML规范说明中的定义
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 15
Use Case基本模型元素符号Actor(参与者)
Actor
表示与系统交互的任何事物
Use Case(用例)Use Case
定义了系统的一系列动作,并向参与者提供有价值的结果Slide 16
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
软件流程实施方案选择
Use Case举例银行个人自动交易系统的Use Case图
取钱
银行客户
存钱
转帐
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 17
RUP是用例驱动的需求分析阶段用户需求用Use Case来表达设计初期很多类根据Use Case来发现构造阶段开发的管理和任务的分配按照Use Case来组织测试阶段的实例根据Use Case来生成需求分析设计实现测试
通过Use Cases将所有RUP工作流有机地结合起来
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 18
软件流程实施方案选择
用例在RUP中的其他功能是有序(planned)迭代开发的基础为编写最终用户手册提供索引(index)抽取可单独出售的系统单元(Business Component)
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 19
以构架为中心的 RUP
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 20
软件流程实施方案选择
什么是构架与建筑施工图的作用相似 从各个角度刻画系统的总体设计(结构,服务设施,供暖,供水,供电…)去掉细节,突出系统的重要特征系统的重要元素,如子系统,类,构件和节点,以及它们之间通过接口实现的协作软件系统的组织(结构与行为)构架风格(数据流风格,调用/返回风格等…)功能,性能,适应性,重用性,技术约束,美学考虑
软件构架(UML用户指南中的定义)
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 21
构架模型+构架视图=构架描述模型是概念和知识视图是表达模型的方式构架描述
构架模型可视化中国科学院软件所 2006
构架视图
Software Engineering, 7th edition. Chapter 1
Slide 22
软件流程实施方案选择
构架视图
对照 Kruchten提出的 4+1 view of software architecture中国科学院软件所 2006 Software Engineering, 7th edition. Chapter 1 Slide 23
统一过程以构架为中心构架为用户和开发人员提供系统的整体视图构架是系统实现的基础为项目管理提供基本指导构架描述是软件系统的主要制品
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 24
软件流程实施方案选择
以构架为中心的优点创建可重用的框架,使构架级的重用成为可能从构架可以方便地得到其他制品 设计指南(包括使用模式和术语)形成产品结构系列(企业版,家用版…)开发队伍结构
简化基于构件的开发(Component-Based Development)
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 25
迭代和增量的 RUP
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 26
软件流程实施方案选择
统一过程是迭代和增量的过程迭代是统一过程中最小的开发时间单位,但它却包括了软件开发的所有工作流,因此也可以被看作是"袖珍瀑布模型"是每次迭代所产生的,可增加系统功能的构造块迭代是开发方式,增量是开发结果
增量
迭代&增量
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 27
迭代工作流
需求
分析
设计
实现
测试
一次迭代
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 28
软件流程实施方案选择
迭代是什么是一组明确活动(activities)的集合是有序的,受控的开发方式是能够产生内部版本的袖珍项目是项目开发过程中具体执行的工作流
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 29
迭代不是什么不是任意的探路不是重复设计同样的东西不是只影响开发人员不是项目失败的理由
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 30
软件流程实施方案选择
为什么采用迭代和增量的开发方法降低风险尽早处理关键风险和重要风险,同时将项目开发的总风险分散到每次的迭代中允许系统灵活改变,更易于处理不断变化的需求避免回头式开发,允许连续的系统集成使用户和开发人员都可以看到系统中不断增加的可运行功能,对项目进度充满信心Software Engineering, 7th edition. Chapter 1 Slide 31
小步前进
受控增长增强信心
中国科学院软件所 2006
迭代开发对风险的处理瀑布方法瀑布方法的集成和测试阶段初始细化迭代和增量
风险的严重性
构造
移交第1次迭代第2次迭代 ... ...时间中国科学院软件所 2006 Software Engineering, 7th edition. Chapter 1 Slide 32
...
第n-1次迭代
第n次迭代
软件流程实施方案选择
迭代开发实现持续的构造集成
中国科学院软件所 2006
Sof
tware Engineering, 7th edition. Chapter 1
Slide 33
用例驱动,构架中心和迭代与增量用例驱动系统构架的设计系统构架影响用例的实现用例体现了系统的功能(function)构架反映了系统的表现形式(form)用例设定了目标,构架建立了模式,开发人员根据目标和模式规划产品迭代开发的顺序
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 34
软件流程实施方案选择
概述Agile方法的产生针对上述问题,产生了一系列轻载(Lightweight)方法,如XP,SCRUM等. 2001年2月,新方法的一些创始人在美国犹他州成立Agile联盟(/ )
Lightweight中国科学院软件所 2006
AgileSlide 35
Software Engineering, 7th edition. Chapter 1
概述Agile方法的含义
Agile方法是在保证软件开发有成功产出的前提下,尽量减少开发过程中的活动和制品的方法.笼统的讲就是,"刚刚好"( Just enough),即开发中的活动及制品既不要太多也不要太少.
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 36
软件流程实施方案选择
概述Agile方法的实践效果我预言XP对当今时代的作用可与CMM在八十年代和九十年代初的作用相媲美 -- Tom DeMarco, Cutter Trends Report
新方法在实践中取得了巨大的成功IONA公司的Obix技术支持小组在采用了XP方法后,软件生产率提高了67% SPG( software productivity group)的Capers Jones则称, SCRUM方法可提高生产率6倍中国科学院软件所 2006 Software Engineering, 7th edition. Chapter 1 Slide 37
Agile方法的核心理念
基于适应而非预测以人为导向而非过程导向
--Martin Fowler"New Methodology"
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 38
软件流程实施方案选择
Agile方法的核心理念及特点适应而非预测需求不可预测--Peter Wegner用数学的方法给出了严格的证明按计划的过程开始计划的结果
基于适应的过程实际需要的结果理论上来说,软件开发应是一个自适应的跟踪过程中国科学院软件所 2006 Software Engineering, 7th edition. Chapter 1 Slide 39
Agile方法的核心理念及特点适应而非预测自适应系统是一个强反馈系统在软件开发中,需求的获取和分析,软件设计,编码等实质上均为前馈环节,真正的反馈环节应该是用户对可运行软件的使用,使用中的判断及判断后与开发人员的信息交流.反馈和前馈这一回路的响应速度应大于被跟踪(或被适应)的系统的变化速度,这就要求软件开发有快速的产出能力 .
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 40
软件流程实施方案选择
Agile方法的核心理念及特点适应而非预测特点 Agile方法通过快速,短迭代式的开发,不断产出和演化可运行软件,根据用户的反馈信息作适应性调整,然后进入下一轮快速短迭代式开发 .
中国
科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 41
Agile方法的核心理念及特点以人为导向而非过程导向
软件开发中,人的因素是第一位的
人是过程的主体,而人的工作承受力是有限的软件开发中的大部分是需要创造力的设计工作,软件人员是创造性的工作者软件人员有主观上做好工作的意愿软件开发的目的是为人提供方便,应首先着眼于有用的可执行的软件,也就是首先考虑商务目标,而不是为过程而过程
中国科学院软件所 2006
Software Engineering, 7th edition. Chapter 1
Slide 42
正在阅读:
01_软件流程实施方案选择03-20
关于大学生对网络学习的看法03-17
万喜人老师的几个平面几何问题12-14
浅谈民办高校党建工作中存在的问题03-29
天津市北辰区五校九年级(上)月考物理试卷(12月份)04-06
XXXX投资有限公司招投标管理制度04-18
铜~东盾构区间右线100环验收报告(修改版) - 图文01-19
关于读书重要性的名言12-15
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 实施方案
- 流程
- 选择
- 软件
- 01
- 马克思主义领导理论的首要问题
- 尼康全球同步发布第二款FX格式数码单反相机D700——2008尼康夏季产品体验会在京举行
- 成都宽窄巷子保护与更新
- c厨师长岗位职责
- 2014年兰州事业单位考试天天向上模拟试题 (6)
- 安徽自考00164劳动经济学 近年论述题汇总
- 徐州专业人员继续教育素质教育概论必过
- 如何做完形填空题
- 烟台高新区 招商通告
- 发电部2012年工作总结及2013年工作计划
- 论诗歌语言的张力
- 四年级上册科学测试试卷(答案)
- 主要国际组织图标
- 2010年高考语文试题分类汇编——成语字形
- 2011年青岛市交通事故赔偿标准
- 浙江省2016届高三下学期六校联考英语试卷 Word版含答案
- 快捷酒店施工方案
- 2016年厨房电器行业现状及发展趋势分析
- 拆除柳州客技站线路工程施工组织设计
- 都市运动中的农民联盟文献的毕业论文及文献综述范文格式