软件开发的第一步该做什么?

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ 类型
❖ 自然风险:是由于自然灾害(如水灾、火灾、地震、台风等) 引起的项目风险。
❖ 人为风险:是指由于人为因素带来的风险,包括行为风险、 政治风险、经济风险、技术风险、组织风险等。
2020/3/1
Junwei Ge
21
可行性研究
风险分析
❖ 过程
❖风险识别:项目包括那些活动;各种活动存在那些 风险;风险产生的原因是什么;这些风险的主次关 系;各风险之间是否相关。
台”,请作可行性分析。
问题2: 某区打算开发基于云计算的社区卫生服务系统,请
作可行性分析。
2020/3/1
CQUPT
29
2020/3/1
CQUPT
7
软件工程模型
❖但失败的案例太多了……
–丹佛国际机场决定开发全机场范围的 集成自动化行李处理系统,失败了,最 终只是在美联航2号中央大厅实现。
2020/3/1
CQUPT
8
软件工程模型
❖ 但是,螺旋模型、微软过程……
–告诉我们第一步要可行性研究。
2020/3/1
CQUPT
2020/3/1
CQUPT
14
技术可行性研究
❖导出新系统的系统 流程图
– 用图形符号以黑盒子 形式描述系统的物理 构成。
2020/3/1
CQUPT
15
技术可行性研究
❖导出新系统的高层逻辑模型
– 数据流图
• 描述数据在系统中流动和处理的情况 • 描绘系统的逻辑模型
– 数据字典
2020/3/1
CQUPT
2020/3/1
CQUPT
4
软件开发的第一步该做什么?
软件工程模型
❖ 瀑布式模型、原型模型、敏捷模型、喷泉模型……
系统需求分析 软件需求分析 设计
编码
测试
维护
–告诉我们第一步要做需求分析。
2020/3/1
CQUPT
6
软件工程模型
❖但失败的案例太多了……
–Kmart 投 入 1.3 亿 美 元 开 发 供 应 链 管 理 系统,失败了,并成为企业破产的因数 之一。
高级软件工程
葛君伟 教授,博士 (62460397,gejw@cqupt.edu.cn)
如果你是软件工程师,你接到开发任务 后,第一步该做什么?
2020/3/1
CQUPT
2
如果你是项目主管或技术主管,一旦接 受任务计划开发一个软件,第一步该做 什么?
2020/3/1
百度文库
CQUPT
3
如果你是用户,一旦提出开发一个软件 ,第一步该做什么?
2020/3/1
CQUPT
27
可行性研究
建议将可行性研究交由第三方来进行。 但是,由于技术上的差异,可能导致实 施方的技术方案与可行性研究方的不同 ,造成预算上的不同。 也可能由于实施方技术实力不够,导致 预算和工期都超出预期要求。
2020/3/1
CQUPT
28
1.2 可行性研究
问题1: 打算开发“公共场所安全监控系统的公共服务平
❖风险估计:风险发生的概率大小;风险概率的分布 情况;风险估算。
❖风险评价:给出方案,选择规则;选出最佳方案; 检验各风险因素对指标的影响;对风险对策提出建 议。
2020/3/1
Junwei Ge
22
可行性研究
风险分析
❖ 方法
❖风险识别:专家调查法,故障树分析法,幕景分析 法。
❖风险估计
❖确定型风险估计:盈亏平衡分析,敏感性分析。 ❖不确定型风险估计:小中取大原则,大中取小原则,遗憾
12
技术可行性研究
❖任务
– 进一步分析和澄清问题的定义 – 导出系统的逻辑模型 – 探索若干种解决方案,并分析各种方案的
• 技术可行性 • 经济可行性 • 操作可行性
– 对以后的行动方针提出建议
2020/3/1
CQUPT
13
技术可行性研究
❖研究目前正在使用的系统
– 现有系统的功能 – 现有系统的不足 – 现有系统的经济指标 – 现有系统和其他系统之间的接口情况
原则,最大数学期望原则。 ❖随机型风险估计
❖风险评价
❖定性风险评价方法:主观评分法,层次分析法。 ❖定量风险评价方法;风险报酬法,决策树法,外推法,等。
2020/3/1
Junwei Ge
23
可行性研究的重点:
——技术风险 ——经济风险 ——操作风险
可行性研究
在项目可行的基础上,研究报告应给出
– 项目经费预算, – 项目进度安排, – 人力资源安排, – 等等。
9
问题1: 政府开发“互联网上身份证挂失系
统”,可以吗?
2020/3/1
CQUPT
10
问题2: 图书馆开发“数字资源一站式检索系
统”,可以吗?
2020/3/1
CQUPT
11
1.2 可行性研究
❖目的: ❖确定问题是否值得去解?(书上说的) ❖确定问题是否能解?(我加的)
2020/3/1
CQUPT
2020/3/1
CQUPT
25
1 软件工程知识回顾
1.2 可行性研究
典型环境下各个开发阶段需要使用的
人力的百分比
任务
人力
可行性研究
5
需求分析
10
设计
25
编码和单元测试 20
综合测试
40
总计
100
2020/3/1
CQUPT
26
1 软件工程知识回顾
1.2 可行性研究
The distribution of projects according to (a) duration (in months) and (b) peak staffing (number of technical staff)
2020/3/1
CQUPT
19
可行性研究的关键是什么? ——风险分析
可行性研究
风险分析
❖ 风险:是由于从事某项特定活动过程中存在的不确定 性而产生的经济或财务的损失,自然破坏或损伤的可 能性。
❖ 任务:针对不同项目结合具体风险分析方法,进行项 目风险评价,以采取有效方式进行风险管理,从而达 到损失最小化的目的和效果。
16
技术可行性研究
❖数据流图举例
2020/3/1
CQUPT
17
技术可行性研究
❖技术可行性研究的关注点
❖问题是否有解? ❖问题是否能解? ❖例如:
❖接口能否实现? ❖处理的算法能否实现?
2020/3/1
CQUPT
18
技术可行性研究
❖问题: ❖如何与技术报告相区别?
❖粗细不同,只是一个初步的技术方案。 ❖目标不同,研究内容不只局限在技术方案上。
相关文档
最新文档