信息系统开发基础

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
incremental development)
36
北京航空航天大学软件学院 © thbin
6. 敏捷过程(Agile Process)
敏捷代表着有效和灵活
那些轻型的、有效的方法即为敏捷方法
在重型方法(如RUP)中,经常在一些不必 要、重复的中间环节上浪费了太多的精力, 而敏捷则避免了这种浪费
敏捷联盟宣言
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
和可变性的好办法
原型是项目系统中的一个方面或者多
个方面的工作模型
抛弃型原型:用于试验某些概念,试验 完系统将无用处
演进型原型:原型系统不断被开发和被 修正,最终它变为一个真正的系统
29
北京航空航天大学软件学院 © thbin
从另外的角度看待原型
从中学到什么?
学生经常会做一些软件作业,这些作业被称为原型 问题:这些原型和软件系统原型是否相同? 作为一个原型必须:描述他们希望从中学到的东西,
访问管理信息。系统价格必须合适。很多人怀疑 是否经理真需要使用该系统
可行性研究阶段,采用实物模型的方法
支持客户销售人员通过电话回答有关客户询问汽
车保险价格的系统
设计用户对话界面时
保险公司考虑实施一个基于MS Access的电话销
售系统,他们不知道Access是否能够开发出相应 界面的系统并具备足够快的相应时间
优势
随着迭代的增加(成本的增加),风险程度 随之降低
缺陷
比较复杂,需要责任心,专注和管理方面的 知识
27
北京航空航天大学软件学院 © thbin
4. 原型模型
需求分析 快速设计 建立原型 用户评价原型 修改原型 生产产品
28
北京航空航天大学软件学院 © thbin
细说原型模型
原型模型是一种解决需求的不确定性
课件下载
学院ftp服务器
地址:ftp://202.112.128.79 u/p:bse2002/3221
Web下载
http://thbin.ys168.com/ 密码:3621
2
北京航空航天大学软件学院 © thbin
复习:系统分析设计基础
ห้องสมุดไป่ตู้
3
北京航空航天大学软件学院 © thbin
选择题
可能有可能没有的规范
22
发布(可能)
北京航空航天大学软件学院 © thbin
细说编码修正模型
优点
成本可能很低 只需要很少的专业知识,任何写过程序
的人都可以 对于一些非常小的、开发完后就会很快
丢弃的软件可以采用
对于规模稍大的项目,采用这种模型
是很危险的
23
北京航空航天大学软件学院 © thbin
11
北京航空航天大学软件学院 © thbin
分析阶段(Analysis Phase)
目标:了解并详述用户需求 活动
收集信息 确定系统需求 建立需求发现的原型 划分需求的优先级 产生并评估可替换方案 与管理人员一起审查需求
12
北京航空航天大学软件学院 © thbin
设计阶段(Design Phase)
是一个过程产品 有自己的过程框架 捕获了现代软件开发中的最佳实践
目标
按照预先制定的时间计划和经费预算,开发 出高质量的软件产品以满足最终用户的需求
33
北京航空航天大学软件学院 © thbin
RUP4个阶段9大工作流
阶段
初始Inception
生命周期目标
精化Elaboration
生命周期构架
17
北京航空航天大学软件学院 © thbin
从SDLC到开发过程
SDLC定义了系统开发的五个阶段
阶段并不一定是线性的 可以按照合适的方式组织实际的过程
系统开发过程
针对项目的实际情况,结合SDLC定义合适的 过程完成项目开发
系统开发过程由关于系统的阶段、状态、方 法、技术和开发、维护软件的人员以及相关 对象(计划、文档、模型、编码、测试、手 册等)组成
系统分析与设计
第二章 信息系统开发基础
Fundamentals of Information Systems Development
谭火彬
北京航空航天大学软件学院 © thbin
课程资源
联系老师
办公地点:6#323 联系电话:82338867
Email: thbin@buaa.edu.cn
方案设计阶段
31
北京航空航天大学软件学院 © thbin
5. Rational统一过程
32
北京航空航天大学软件学院 © thbin
Rational统一过程
Rational统一过程(Rational Unified
Process, RUP)
是一种软件工程过程,它提供了如何在开发 组织中严格分配任务和职责的方法
可持续的开发速度
短交互周期
开放的工作空间
验收测试
计划游戏
结对编程
简单设计
测试驱动的开发方法 重构
集体所有权
隐喻
38
北京航空航天大学软件学院 © thbin
过程裁剪
裁剪(Tailoring):每个项目自身特点
这些过程标准只是一个通用的过程框架, 需要根据实际情况裁剪
6
北京航空航天大学软件学院 © thbin
内容安排
系统开发生命周期 系统开发过程 过程评价准则 系统开发方法 自动化工具和技术
7
北京航空航天大学软件学院 © thbin
系统开发项目
系统开发项目
一个有始有终的任务 产生预先确定的结果或产品 可以是一个大工程,需要许多人进行数千小
时的工作;也可以是一个很小的项目
裁剪分类
过程裁剪、阶段裁剪、文档/产品/工作 产品裁剪
标准点
项目规模、开发过程(生命周期)、项 目类型
39
北京航空航天大学软件学院 © thbin
案例:选择合适的过程模型
Giga-Safe公司的区域代理商们吵吵嚷嚷地想要 升级Giga-Quote 1.0,改正错误并且修改一些令人厌 烦的用户界面上的小问题。在部门经理Randy的建议 下,Giga-Quote 1.0项目后期被调离的Bill又重新当上 了Giga-Quote 1.1项目的项目经理。
成功的项目
详细的计划 有组织的讲究方法的一系列活动和任务 可靠、强大而高效的信息系统
8
北京航空航天大学软件学院 © thbin
系统开发生命周期
系统开发生命周期(SDLC, System
Development Lifecycle)
把一个项目较简单地组成各个阶段 提供了确保成功开发所需要的结构、方
目标:设计系统解决方案 活动
设计应用程序结构 设计用户界面 设计并集成数据库 设计系统的实现细节 设计并集成网络 设计并集成系统控制逻辑
13
北京航空航天大学软件学院 © thbin
实现阶段(Implementation Phase)
目标:建立、测试和安装最后的系统 活动
构造软件构件 验证与测试 移植数据 准备用户文档 培训用户 安装系统
2. 瀑布模型
3. 螺旋模型
4. 原型模型
现代软件工程过程
5. Rational统一过程(RUP)
6. 敏捷过程(AP)
7. 微软解决方案(MSF)
21
北京航空航天大学软件学院 © thbin
1. 编码修正模型
编码修正模型 (Code and Fix)
从一个大致的想法开始工作,然后经过非正 规的设计、编码、调试和测试方法,最后完 成工作
Responding to change over following a plan
37
北京航空航天大学软件学院 © thbin
极限编程
极限编程(eXtreme Programming, XP)是敏
捷方法中最著名的一个,它由一系列简单
却互相依赖的实践组成
客户作为团队成员 持续集成
用户故事
14
北京航空航天大学软件学院 © thbin
支持阶段(Support Phase)
目标:在系统初始安装后保持系统有
效地运行
活动
提供对最终用户的支持 维护和升级系统
15
北京航空航天大学软件学院 © thbin
各阶段人员配置情况
16
北京航空航天大学软件学院 © thbin
内容安排
系统开发生命周期 系统开发过程 过程评价准则 系统开发方法 自动化工具和技术
如:必须在项目开始前说明全部需求
25
北京航空航天大学软件学院 © thbin
3. 螺旋模型
26
北京航空航天大学软件学院 © thbin
细说螺旋模型
特点
以风险为导向的生命期模型 从一个小范围的关键中心地带开始寻找风险
因素,制定风险控制计划,并交付给下一步 骤,如此迭代,每次迭代将项目扩展到一个 更大的规模
构造Construction
最初运作能力
移交(Transition)
产品发布
34
工作流
业务建模 需求 分析与设计 实现 测试 部署 配置和变更管理 项目管理 环境
北京航空航天大学软件学院 © thbin
RUP中的6项最佳实践
迭代开发,提前认知风险
管理需求 及早
达成共识
基于构件 搭建
规划原型评价的方法,报告从原型中真正学到的内容 在不同的阶段,原型具有不同的作用
原型起作用的程度
实物模型(Mock-ups) 仿真交互 部分模型:水平,垂直(某些特性构造详细的原型)
30
北京航空航天大学软件学院 © thbin
练习:何时引入原型系统
公司的经理需要通过个人计算机上的一个系统来
2. 瀑布模型
系统需求分析
软件需求分析








24
北京航空航天大学软件学院 © thbin
细说瀑布模型
瀑布模型
最早提出,所有过程模型的祖宗 项目从开始到结束按照一定的顺序执行
使用里程碑来界定一个阶段到另一阶段的转 变
文档驱动的,各个阶段不连续也不交叉
主要问题
线性的、缺乏灵活性;每个阶段互相独立而 且不能回退
法、控制和核对表 包含管理原则、计划、组织、问题解决
协调、控制、分工、进度安排等问题
9
北京航空航天大学软件学院 © thbin
生命周期中的各个阶段
10
北京航空航天大学软件学院 © thbin
计划阶段(Planning Phase)
目标:规划项目范围并做出项目计划 活动
定义问题 确定项目可行性 制定项目的进度表 为项目安排人员 启动项目
18
北京航空航天大学软件学院 © thbin
以过程为核心组织软件工程
产品
客户
业务
需求 过程 条件
人员 开发环境 技术
19
北京航空航天大学软件学院 © thbin
过程中的事件、阶段、活动和任务
20
北京航空航天大学软件学院 © thbin
典型的软件系统开发过程
传统系统开发过程
1. 编码修正模型
弹性构架
可视化 建模 打破 沟通壁垒
持续 验证质量
降低 缺陷代价
控制变更,有序积累资产
35
北京航空航天大学软件学院 © thbin
RUP三大特点
RUP三大特点
用例驱动 (Use case driven) 以架构为中心 (Architecture-centric) 迭代和增量开发 (Iterative and
“这些就是你的任务。”Randy说。“上次的进 度安排出现了很多问题,所以这次你必须按全力以赴 的速度来组织项目。原型法是速度最快的方法,让你 的团队采用这种方法。”Bill想想觉得挺不错,过几天 开会时,他告诉大家要采用原型法。
40
北京航空航天大学软件学院 © thbin
案例 (续1)
Mike是项目的技术负责人,他觉得很惊讶。 “Bill,我不同意你的想法”,他说道,“我们有6个 星期来修改一系列的错误,而且只是用户界面作一些 小的改变。你用原型干什么呢?”
用于信息系统和软件的开发和维护的一 组活动、方法、实践、发布、及自动化 工具
系统开发方法
为系统开发提供了 “如何做” 的技术
系统开发工具
为系统开发提供了自动的或半自动的支 撑环境
5
北京航空航天大学软件学院 © thbin
内容安排
系统开发生命周期 系统开发过程 过程评价准则 系统开发方法 自动化工具和技术
信息系统开发过程涉及到的项目干系人, (1)提供软件需求;(2)定义项目范围; (3)设计软件总体结构
A. 系统拥有者 C. 系统分析师 E. 系统构造人员
B. 系统用户 D. 系统设计人员 F. IT厂商和顾问
4
北京航空航天大学软件学院 © thbin
信息系统开发的核心技术
系统开发过程
过程是为到达目的采用的一系列步骤
相关文档
最新文档