- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.processmodelchoice.ppt - sjtu cs - 上海交通大学
第四讲 项目方法选择 内容 技术选择 考虑风险 方法选择:过程模型 技术选择 技术选择将影响: 开发人员的训练需要 人员招聘 开发环境——硬件和软件 系统维护安排 步骤: 分析项目是目标驱动的还是产品驱动的 分析项目其他特征 面向数据还是面向控制 通用还是专用 是否涉及需要专用工具支持的专门技术 是否有特殊的安全性要求 对软硬件有何要求 练习 对下列系统进行分类 工资支付系统 饮料灌装企业的控制系统 供水企业管理对企业供水计划的系统 支持项目管理的软件 供律师查询法律条文的系统 面向数据或特定领域的应用系统 包含嵌入式软件的过程控制或者工业系统 使用图形的信息系统 通用信息系统软件包 信息收集的通用软件包 识别项目中的高风险 产品不确定性:系统需求理解的准确性。用户在开始时有可能对系统应该什么样都无法确定。在某些环境中,精确而有效的需求描述可能迅速变得过时。 过程不确定性:在项目开始时需要选择方法或过程模型,或者一种新的工具,任何对原先采用的开发方法的变化都将引入不确定性 资源不确定性:项目进行中资源的数量可能发生变化 练习 识别学院工资系统中的风险 金融和职员之间的矛盾 职员对系统不接受 缺少运行该系统的经验 缺少管理系统的计算机专业人员 需求变化 选择方法 考虑用户关于实现的需求 用户可能在合同中限定了有关实现方面的方法。例如,规定了企业必须具有相应的CMM等级,或者通过了ISO9000方法 选择通用的生命周期方法 控制系统:一般为实时系统,比如需要Petri网技术 信息系统: …… Too often, software work follows the first law of bicycling: No matter where you’re going, it’s uphill and against the wind 过程模型的选择 开发一个软件需要选择开发策略(包括过程,方法和工具)以及通用阶段,这些策略和阶段被称为过程模型 “过程”:相关联的活动 过程模型的选择基于项目和应用的特性,使用的工具和方法,所需要的控制方法和交付物。 软件过程的概念 软件过程由关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关对象(计划、文档、模型、编码、测试、手册等)组成。 一个过程定义了为达到某个确定的目标,需要什么人在什么时间以何种方式做何种工作 软件需要一个可用于指导顾客、用户、开发人员和项目经理等参与者的过程 软件开发过程 软件工程的核心是过程。产品、人员、技术通过过程关联起来。软件开发过程能够将技术集成在一起从而使软件的开发能够以一种合理而及时的方式完成。 有效的软件过程 有效的软件过程可以提高组织的生产能力 保证软件开发的基本原则的实现,辅助软件项目管理者作出明智的决定; 使软件开发活动标准化,提高软件的可重用性和Team间的协作; 有效的软件过程也可以改善软件组织对软件的维护能力 通过有效地定义如何管理需求变更,使得变更部分能够在未来的版本中恰当分配,实现平滑过渡; 在具体操作和相关支持中定义如何平滑地改造软件,并且这种具体操作和支持是可实施的;不可实施的软件过程被剔除。 问题求解的一般过程 问题求解的一般过程 实际问题并不能简单划为四个阶段,各个阶段会在问题的不同层次上同时并存 软件开发实际上是一个“混沌”(chaos)过程(Raccoon) 编码修正模型 Code and Fix Code like Hell(鲁莽编码) 从一个大致的想法开始工作,然后经过非正规的设计、编码、调试和测试方法,最后完成工作 编码修正模型 好处: 成本可能很低 只需要很少的专业知识,任何写过程序的人都可以 对于一些非常小的、开发完后就会很快丢弃的软件可以采用 对于规模稍大的项目,采用这种模型是很危险的 瀑布模型(Waterfall Model) 所有过程模型的祖宗 项目从开始到结束按照一定的顺序执行 瀑布模型是文档驱动的,各个阶段不连续也不交叉 瀑布模型 发 瀑布模型 当有一个稳定的产品定义和很容易被理解的技术解决方案时,纯瀑布模型特别合适 当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布模型也特别合适。 纯瀑布模型能够降低管理费用,因为你可以预先完成所有计划。 对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适,因为可以用顺序方法处理问题。 在质量需求高于成本需求和进度需求的时候,它尤为出色。 当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合。 瀑布模型 纯瀑布模型的缺点是在项目开始的时候,在设计工作完成前和代码写出来前,很难充分描述需求。 瀑布模型最主要的问题是缺乏灵活性。必须在项目开始前说明全部需求。但这恰恰是非常困难的。 瀑布模型变种:V型模型 该
文档评论(0)