模型OF软件开发与项目管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《模型OF软件开发与项目管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 OF 软件 开发 项目 管理 课件
- 资源描述:
-
1、模型OF软件开发与项目管理项目一 软件工程方法学任务一 软件工程的问题:学习目标:软件特点软件危机软件工程定义和原理软件生命周期模型项目一 软件工程方法学1、什么是软件?软件:程序+说明文档 计算机软件=系统软件+应用软件2、软件的特点:(1)软件是一种逻辑实体。它的存在是保存在一种媒介上面,例如:纸张,磁盘,内存,磁带,光盘等。(2)软件是绿色产品,没有污染,它的运行不会出现磨损和对空气、土地等对人体有害的物质。(3)软件的研制是一种高智力劳动。计算机软件既是作品,又是工具,是作品性与工具性紧密结合的智力成果。(4)计算机软件开发工作量大、成本高,但复制容易、成本极低。计算机软件是开发者智力
2、劳动的结晶,具有原创性质。主要内容专业概述专业设置培养目标课程设置就业岗位问题解答3、软件危机 当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:u经费预算经常突破,完成时间一再拖延;u开发的软件不能满足用户要求;u开发的软件可维护性差;u开发的软件可靠性差。4、软件工程的定义 IEEE对软件工程的定义:(1)应用系统化的、严格约束的、定量的方法来开发、运行和维护软件,即,将工程应用到软件;(2)将工程应用到软件方法的研究。软件工程是一门研究用工程化方法构建和维护有效的、实用
3、的和高质量的软件的学科。5、软件工程的原理1.用分阶段的生命周期计划严格管理。2.坚持进行阶段评审。3.实行严格的产品控制。4.采用现代程序设计技术。5.结果可审查。6.开发小组的人员应少而精。6、软件工程的目标(满足用户需求)给定成本、进度下开发软件:可修改性有效性可靠性可维护性可重用性可适用性可移植性可追踪性可操作性7、软件生命周期 能清晰直观地表达软件开发的全过程,明确规定了开发工作每个阶段要执行的主要任务,是软件项目开发工作的基础。思考:软件生命周期的各个时期如何实现?五、原型模型 原型模型的主要思想:针对开发初期在确定软件需求存在困难,借鉴建筑经验,根据客户提出的基本要求,快速地开发
4、一个原型。向客户展示,功能和性能,依客户意见,对“样品”不断改进,使得最后的产品就是用户所需要的。原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,是目前较流行的一种实用软件生存期模型。优点优点:开发人员和用户在“原型”上达成一致。这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。缩短了开发周期,加快了工程进度
5、。降低成本。缺点缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。这往往给工程继续开展带来不利因素。开发者为了使一个原型快速运行起来,往往在实现过程中采用这种手段。不宜利用原型系统作为最终产品。采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义需求,之后便部分或全部抛弃,最终的软件是要充分考虑了质量和可维护性等方面之后才被开发。常用开发模型比较分析(1)瀑布模型不满足客户的需求。(2)快速原型模型关注满足客户需求,可能导致系统设计差、效率低,难于维护。原型模型的优点是使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。(3)增量模型开发早期反馈及
6、时,易于维护需要开放式体系结构,可能会设计差、效率低。(4)螺旋模型风险驱动风险分析人员需要有经验且经过充分训练。(5)喷泉模型在各个开发阶段是重叠的,需要大量的开发人员,不利于项目的管理。要求严格管理文档,使得审核的难度加大。软件项目管理的根本目的 是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。软件项目管理的背景20世纪70年代,美国国防部专门研究了软件开发不能按时提交,预算超
7、支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10的项目能够在预定的费用和进度下交付。1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31的项目未做完就被取消,53的软件项目进度通常要延长50%的时间,只有9的软件项目能够及时交付并且费用也控制在预算之内。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效
8、率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。项目的定义项目的定义 项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围项目范围、质量质量、成成本本、时间时间、资源资源。美国项目管理协会(PMI)定义 项目是为创造独特的产品、服务或成果而进行的临时性工作。以下活动都可以称为一个项目:开发一项新产品
9、计划举行一项大型活动(如策划组织婚礼、大型国际会议等)策划一次自驾游旅游 ERP的咨询、开发、实施与培训项目的基本特征项目开发是为了实现一个或一组特定目标项目受到预算、时间和资源的限制项目的复杂性和一次性项目是以客户为中心的力成果。软件项目管理的定义软件项目管理的定义 是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人
10、、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。配置管理(软件的变更管理)基线(各阶段的分界点):变更的演变图 软件质量管理软件质量模型:boehm模型 软件质量的度量软件质量保证 软件质量设计的五个步骤:风险管理 假如你是一个项目的负责人,有幸要在40天内为布朗先生建造一座坚固实用美观的别墅。你会发现哪些风险?第一组A、40天是40个工作日吗?还是包括节假日的40天?我如何保证按时完成?B、布朗先生的要求坚固实用,坚固要达到抗震几级?使用期限是多长?
11、实用更麻烦,布朗先生觉得应该如何布局,这个房子才更实用?布朗先生要求的美观如何达到?C、我需要多少资金预算?如何让这些资金到位?什么时候到位?如何花才能避免超出预算?D、项目完工之后的质量验收标准是什么?在项目过程中我应该如何保证这个质量目标?第二组A、别墅的建筑用地在哪里?地况如何?周围环境如何?是否有设计难度?设计方案是否合理?能否达到质量要求?B、项目施工的工序是否正确?项目计划是否合理?C、建筑团队的人员是否充足?我是否需要一个优秀的设计师和一些有经验的建筑工人?D、团队成员是否都能忠于工作?我应该如何进行有效的管理并激励他们才能保证项目按时按质的完成?E、我是否要花些心思了解布朗先生
12、,包括他的背景,另外布朗先生有没有幕后老板,是否还有其他人会影响布朗先生的观点?我们之间是否会有误会产生?我应该如何沟通?F、我的材料供应商是否可靠?他能否及时将质量合格的原材料供应给我?第三组A、我们的施工期是什么季节,是否我去看看这些年在这段期间的天气状况如何?如果遇到雨雪等天气灾害我怎样应对?B、我的建筑安全措施如何?安全教育是否到位?工人保险状况如何?假如出现工伤或者事故如何应对?C、另外,如果这块地施工期间,挖出了古墓等情况,停工期间时间和预算是否够用?D、布朗先生是否像表面这样有钱?(他的资信情况如何?)他是否能在合适的时候付我款项?我是否要实现一些阶段性付款方案,我是否要保证金?
13、E、建造这个房屋我是否取得了一些前期施工证明?建筑主管单位是否不会找我麻烦?F、建造这个房子是否有限高?是否会有损于周围其他人的利益,采光、施工噪音、垃圾污染等等?周围人的情况如何?他们要找我麻烦怎么办?假如,您写出了第一组答案中的100%,那么您可以进入项目管理领域了,假如,您同时又写出了第二组答案中的80%以上,那么您有项目管理的潜质,假如您更在以上基础上同时第三组答案中也写出了60%以上,那么您已经具备项目管理的一些经验了,当然这些朋友还需更多实践经验的磨练。如果没达到,也不必灰心,认真学习风险管理。软件项目管理 是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(Peop
14、le)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。项目进度管理 是指在项目实施过程中,对各阶段的进展程度和项目最终完成的期限所进行的管理,是在规定的时间内,拟定出合理且经济的进度计划(包括多级管理的子计划)。在执行该计划的过程中,经常要检查实际进度是否按计划要求进行,若出现偏差,便要及时找出原因,采取必要的补救措施或调整、修改原计划,直至项目完成。其目的是保证项目能在满足其时间约束条件的前提下实现其总体目标。项目进度管理一般包含项目进度计划的制定和项目进度计划的控制两部分。任务二 项目规划编制项目计划的过程称为项目规划。项目规划是预测未来、确定
15、任务、估计可能碰到的问题,并提出完成任务和解决问题的有效方案、方针、措施和手段,以及所必须的各种活动和工作成果的过程。项目规划是项目启动后进入的第一个项目十分重要的、实质性的阶段,有的称为项目策划项目规划的过程和步骤项目规划的过程和步骤 项目规划应考虑的的问题:必须完成什么工作;何时开始和结束工作;由谁来完成工作;还需要什么其他资源;可能出什么差错。为何要实施这个项目 需要什么人参加;将创造什么结果;必须满足哪些约束;做出什么假定;项目规划的步骤(1)收集资料。(2)确定项目任务。(3)明确依据和前提。(4)提出完成项目任务的各种可行方案。(5)对方案进行评价。(6)确定方案。(7)写出项目计
16、划和有关辅助文件。WBS(工作分解结构)WBS(Work Breakdown Structure):创建WBS是把项目可交付成果和项目工作分解成较小的,更易于管理的组成部分的过程。WBS是项目管理重要的专业术语之一。WBS的基本定义:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。在项目管理实践中,工作分解结构(WBS)是最重要的内容之一。实例:图书馆系统项目规划 图书馆软件开发计划书.doc项目二 单元测试时间:20分钟 到8:30结束1、软件项目管理的目的是?2、项目管理主要包括哪些方面的管理?项目三 软件可行性研究与计划n任务
17、一:可行性分析n学习目标:对软件项目进行可行性分析,研究开发是否可行,作出可行性分析报告n重点:软件可行性分析的任务n知识:1、可行性分析的目的?2、可行性分析的任务?n能力:掌握相关知识,为实际开发软件打好坚实基础。问题的定义与可性行研究问题的定义与可性行研究开始开始问题定义问题定义可性行研究可性行研究 可行否?可行否?项目实施计划项目实施计划终止项目的建议终止项目的建议结束结束YNWho 为谁设计,用户是谁?为谁设计,用户是谁?What 要解决哪些问题?要解决哪些问题?Why 为什么要解决这些问题为什么要解决这些问题 有用的软件有用的软件 3W可行性研究可行性研究说明该软件开发项目的实现在
18、技术上、经济上和社会条件上的说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。可行性;评述为合理地达到开发目标可能选择的各种方案。GB 8567-88GB 8567-88 计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南 可行性研究之需求分析之需求分析p 项目的筹备、规划与准备是软件项目实施的前期工作,它由两个重要项目的筹备、规划与准备是软件项目实施的前期工作,它由两个重要的工作阶段构成:一是项目规划及可行性分析;二是项目需求分析。的工作阶段构成:一是项目规划及可行性分析;二是项目需求分析。p 项目准备阶段的第一个工作,是项目
19、的总体规划。首先要做的是明项目准备阶段的第一个工作,是项目的总体规划。首先要做的是明确系统的需求,也就是用户要计算机解决什么问题,即确系统的需求,也就是用户要计算机解决什么问题,即问题定义问题定义。p 系统分析员应该系统分析员应该深入现场深入现场,了解用户单位对系统的要求,了解用户单位对系统的要求,调查调查开发背开发背景,进行市场景,进行市场调研调研。经过调查分析,分析员要在较短的时间内对问题。经过调查分析,分析员要在较短的时间内对问题进行抽象、概括,并把自己的认识写成书面报告,即进行抽象、概括,并把自己的认识写成书面报告,即项目需求报告项目需求报告,提交给用户方面进行讨论提交给用户方面进行讨
20、论审查审查。p 项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问题的概括,项目的目标,项目的规模及对可行性研究的具体建议(即题的概括,项目的目标,项目的规模及对可行性研究的具体建议(即需要用的时间和成本)等等。需要用的时间和成本)等等。项目需求报告项目需求报告案例案例1.项目项目:公司工资管理系统公司工资管理系统2.问题:在公司日常工资管理工作中,现有系统所承担的工作只能实现工资管理的简单功能,已无法适应目前工作中处理大量数据(如日常打印工资条等)要求,工作效率低下,容易出错。3.项目目标:为了提高公司日常工资管理的效率与
21、准确率,而开发该项软件。该软件应逐步向本市各企业推广。4.项目范围:硬件主要利用现有的计算机网络,增配少量专用设备,软件开发费用预计20000元。5.初步设想:实现公司工资管理系统,包括工资录入、数据查询、工资条、工资统计、部门设置、人员设置、项目设置等具体功能。要求将各种输出数据以表单形式打印;系统各模块具有添加新数据的功能;系统软件具有权限功能,使不同的用户具有不同的权限;建立后的数据库需要加密。6.可行性研究:由分析员和公司工资管理部门进行,主要对公司日常工资管理规程和系统实施方案进行研究。建议进行大约3天的可行性研究,研究费用不超过200元。要点:问题 项目的目标 项目的功能 可行性研
22、究:人力?时间?费用?小结:作业:要求模仿案例作一份:广东信息工程职业学院图书管理系统的需求分析报告可行性研究的任务可行性研究的任务 可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”GB 8566-88 计算机软件开发规范可行性研究的最根本任务:对软件开发以后的行动方针提出建议。可行性研究的成果是:项目可行性报告任务二 项目的可行性分析n任务一:项目的可行性分析n学习目标:掌握四个最重要的可行性分析要素n重点:软件可行性分析的内容n知识:可行性分析:1、经济?2、技术?3、社会?4、人?n
23、能力:掌握相关知识,为实际开发软件打好坚实基础。可行性研究的内容可行性研究的内容(1)技术可行性(2)经济可行性(3)社会可行性(法律可行性)(4)人度量一个特定技术信息系统解决方案的实用性及技术资源的可用性考虑的问题(1)开发风险分析(2)资源分析(3)相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性)度量系统解决方案的性能价格比。考虑的问题 成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益 价值和成本的关系质量与价值、成本的关系价值/成本的均衡举例举例 1 2 3 4 5 年年604020 0成本成本-效益效益(万元万元)该系统节省经费该系统节省经
24、费该系统成本该系统成本盈亏平衡点盈亏平衡点投资回收期投资回收期-成本及效益分析图成本及效益分析图人力资源的可行性:管理人员 技术人员 用户使用 时间进度可行性1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料2 可行性研究的前提 2.1 要求 2.2 目标 2.3 条件、假定和限制 2.4 进行可行性研究的方法 2.5 评价尺度3 对现有系统的分析 3.1 数据流程和处理流程 3.2 工作负荷 3.3 费用开支 3.4 人员 3.5 设备 3.6 局限性4 所建议的系统 4.1 对所建议系统的说明 4.2 数据流程和处理流程 4.3 改进之处 4.4 影响 4.5 局限性
展开阅读全文