软件构架(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方法的核心理念及特点适应而非预测自适应系统是一个强反馈系统在软件开发中,需求的获取和分析,软件设计,编码等实质上均为前馈环节,真正的反馈环节应该是用户对可运行软件的使用,使用中的判断及判断后与开发人员的信息交流.反馈和前馈这一回路的响应速度应大于被跟踪(或被适应)的系统的变化速度,这就要求软件开发有快速的产出能力 .
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究01_软件流程实施方案选择(2)全文阅读和word下载服务。
相关推荐: