lecture4(项目分析-开发模型)PPT教学课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的验收
工程硕士
9
项目分析步骤(4和5)
考虑用户关于实现的需求
用户可能在合同中限定了有关实现方面的方法。例如,规定 了企业必须具有相应的CMM等级,或者通过了ISO9000方法
根据项目的性质,选择通用的生命周期方法
控制系统:如并发处理的实时系统采用Petri网技术 信息系统:如结构化分析或面向对象的分析 通用工具:若针对市场而不是特定的应用领域,考虑结构化
Chapter 4 项目分析(技术策划)
1
What to learn?
项目的特征影响项目规划的方法 常用的软件开发过程模型
工程硕士
2
项目的特征影响项目的规划
开发人员的培训需求 招聘的人员的类型 开发环境——硬件和软件 系统维护安排
工程硕士
3
项目分析
方法:
面向对象开发方法 (OOD) 结构化分析和设计方法 (SSADM) Jackson 结构化程序设计 (JSP)
技术计划可帮助准备合同的投标,使客户对项目使用的技术方法的 合理性留下深刻印象。
1、约束条件的介绍和总结
a)待开发系统的特征 b)项目的风险和不确定性 c)与实现选相关的用户需求
2、推荐的方法
a)选择方法或过程模型 b)开发的方法 c)需要的软件工具 d)所采用的软硬件环境
3、实现
a)需要的开发环境
似乎是基于知识的系统,也是安全性关键的系统,采用基于知识的 系统的相关技术
大规模的信息系统,采用结构化分析和设计方法
安全性非常关键的嵌入式系统,采用如下方法保证可靠性
基于数学的规格说明,避免歧义性
开发同一软件的类似版本,以便交叉分析
软件测试
工程硕士
11
技术计划包含的内容
项目分析产生下一阶段使用的需求
分析和设计或面向对象的分析设计 专用技术:如专家系统 硬件环境:如采用汇编语言 安全性关键的系统:如形式化的方法Z方法等。 不准确的需求(imprecise requirement):如原型法
工程硕士
10
练习
概要说明以下每个系统最适合使用的方法:
计算特殊疾病病人用药量的系统 管理学生贷款计划的系统 控制在隧道中通行的火车的系统
在具体操作和相关支持中定义如何平滑地改造软件,并且这种 具体操作和支持是可实施的;不可实施的软件过程被剔除。
工程硕士
15
软件开发模型
编码修正模型 瀑布模型 V模型 螺旋模型 原型开发模型 阶段开发模型
增量开发Baidu Nhomakorabea型 迭代开发模型
工程硕士
16
编码修正模型
Code and Fix Code like Hell(鲁莽编码) 从一个大致的想法开始工作,然后经过非正规的设计、
产品
客户 特性
过程
业务 条件
人员
技术
工程开环发境硕士
14
有效的软件过程
有效的软件过程可以提高组织的生产能力
保证软件开发的基本原则的实现,辅助软件项目管理者作出明 智的决定;
使软件开发活动标准化,提高软件的可重用性和Team间的协作;
有效的软件过程也可以改善软件组织对软件的维护能力
通过有效地定义如何管理需求变更,使得变更部分能够在未来 的版本中恰当分配,实现平滑过渡;
技术:
构建应用的环境 基于知识的系统工具
工程硕士
4
项目分析步骤:
1. 分析项目是目标驱动的还是产品驱动的 2. 分析项目的特征 3. 标识项目的高级别风险 4. 考虑与实现有关的用户需求 5. 选择通用的生命周期方法
工程硕士
5
项目分析步骤 ——分析项目特征
面向数据(data-oriented),如IS;还是面向过程控制 (process-oriented),如ES
过程模型:
开发一个软件需要选择开发策略(包括过程,方法和工具) 以及确定开发的各个阶段,这些策略和阶段被称为过程模型。
过程模型的选择基于项目和应用的特征、使用的工具 和方法、所需要的控制方法和交付物。
工程硕士
13
软件开发过程
软件工程的核心是过程。产品、人员、技术通 过过程关联起来。
软件开发过程能够将技术集成在一起,从而使 软件的开发能够以一种合理而及时的方式完成。
b)需要的维护环境
c)需要的培训
4、牵涉的问题
a)项目的产品和活动,这些会影响项目 进度和总的项目效果
b)用于计算成本的财务报告
工程硕士
12
软件过程的概念
一个过程定义了为达到某个确定的目标,需要什么人 在什么时间以何种方式做何种工作
软件过程由关于项目的阶段、状态、方法、技术和开 发、维护软件的人员以及相关对象(计划、文档、模 型、编码、测试、手册等)组成。
过程不确定性:在项目开始时需要选择方法或 过程模型,或者一种新的工具,原先采用的开 发方法的任何变化都将引入不确定性
资源不确定性:项目进行中资源的数量可能发 生变化,如人力资源
工程硕士
8
练习
识别学院工资系统中的风险
财务部门和人事部门之间的矛盾 职员对系统不接受 缺少运行该系统的经验 缺少管理系统的计算机专业人员 需求变化 缺少人员(特别是人事部门的人员)对系统
对下列系统进行分类
1. 工资支付系统 2. 控制瓶装设备的系统 3. 地下水管网设计系统 4. 支持项目管理的软件 5. 供律师查询法律条文的系统
工程硕士
7
项目分析步骤 ——识别项目的高级别风险
产品不确定性:系统需求理解的准确性。用户 在开始时有可能对系统应该什么样都无法确定。 在某些环境中,精确而有效的需求描述可能迅 速变得过时。
通用工具,还是应用领域专用工具
是否涉及需要专用工具支持的专门技术
如并发处理 基于知识的系统,如专家系统
是否有特殊的安全性要求
如系统故障危及人身安全的
要创建的系统是用于执行已定义好的服务还是一种 兴趣——评价不一样
系统运行所需软硬件环境的特点是什么
工程硕士
6
练习
面向数据或特定领域的应用系统 包含嵌入式软件的过程控制或者工业系统 使用图形的信息系统 通用信息系统软件包 信息收集的通用软件包
编码、调试和测试方法,最后完成工作
可能有、可能没有的规范
工程硕士
发布(可能)
17
编码修正模型
好处:
成本可能很低 只需要很少的专业知识,任何写过程序的人都可以 对于一些非常小的、开发完后就会很快丢弃的软件
可以采用
对于规模稍大的项目,采用这种模型是很危险 的
相关文档
最新文档