版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模型OF软件开发与项目管理模型OF软件开发与项目管理模型OF软件开发与项目管理项目一软件工程方法学任务一软件工程的问题:学习目标:软件特点软件危机软件工程定义和原理软件生命周期模型模型OF软件开发与项目管理模型OF软件开发与项目管理模型OF1项目一软件工程方法学任务一软件工程的问题:学习目标:软件特点软件危机软件工程定义和原理软件生命周期模型项目一软件工程方法学任务一软件工程的问题:2项目一软件工程方法学1、什么是软件?软件:程序+说明文档计算机软件=系统软件+应用软件项目一软件工程方法学32、软件的特点:(1)软件是一种逻辑实体。它的存在是保存在一种媒介上面,例如:纸张,磁盘,内存,磁带,光盘等。(2)软件是绿色产品,没有污染,它的运行不会出现磨损和对空气、土地等对人体有害的物质。(3)软件的研制是一种高智力劳动。计算机软件既是作品,又是工具,是作品性与工具性紧密结合的智力成果。(4)计算机软件开发工作量大、成本高,但复制容易、成本极低。计算机软件是开发者智力劳动的结晶,具有原创性质。2、软件的特点:(1)软件是一种逻辑实体。它的存在是保存在一4主要内容专业概述专业设置培养目标课程设置就业岗位问题解答主要内容专业概述53、软件危机当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:经费预算经常突破,完成时间一再拖延;开发的软件不能满足用户要求;开发的软件可维护性差;开发的软件可靠性差。3、软件危机当软件开发技术的进步不能跟64、软件工程的定义IEEE对软件工程的定义:(1)应用系统化的、严格约束的、定量的方法来开发、运行和维护软件,即,将工程应用到软件;(2)将工程应用到软件方法的研究。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。4、软件工程的定义IEEE对软件工程的定义:75、软件工程的原理1.用分阶段的生命周期计划严格管理。2.坚持进行阶段评审。3.实行严格的产品控制。4.采用现代程序设计技术。5.结果可审查。6.开发小组的人员应少而精。5、软件工程的原理1.用分阶段的生命周期计划严格管理。86、软件工程的目标(满足用户需求)给定成本、进度下开发软件:可修改性有效性可靠性可维护性可重用性可适用性可移植性可追踪性可操作性6、软件工程的目标(满足用户需求)给定成本、进度下开发软件:97、软件生命周期能清晰直观地表达软件开发的全过程,明确规定了开发工作每个阶段要执行的主要任务,是软件项目开发工作的基础。7、软件生命周期能清晰直观地表达软件开发的全过程,明确规定了10模型OF软件开发与项目管理课件11思考:软件生命周期的各个时期如何实现?思考:软件生命周期的各个时期如何实现?12模型OF软件开发与项目管理课件13模型OF软件开发与项目管理课件14模型OF软件开发与项目管理课件15模型OF软件开发与项目管理课件16模型OF软件开发与项目管理课件17模型OF软件开发与项目管理课件18模型OF软件开发与项目管理课件19模型OF软件开发与项目管理课件20模型OF软件开发与项目管理课件21模型OF软件开发与项目管理课件22模型OF软件开发与项目管理课件23模型OF软件开发与项目管理课件24模型OF软件开发与项目管理课件25模型OF软件开发与项目管理课件26五、原型模型原型模型的主要思想:针对开发初期在确定软件需求存在困难,借鉴建筑经验,根据客户提出的基本要求,快速地开发一个原型。向客户展示,功能和性能,依客户意见,对“样品”不断改进,使得最后的产品就是用户所需要的。五、原型模型原型模型的主要思想:针对开发初期在确定软件需求存27原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,是目前较流行的一种实用软件生存期模型。原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够28优点:开发人员和用户在“原型”上达成一致。这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。缩短了开发周期,加快了工程进度。降低成本。优点:开发人员和用户在“原型”上达成一致。这样一来,可以减少29缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。这往往给工程继续开展带来不利因素。开发者为了使一个原型快速运行起来,往往在实现过程中采用这种手段。不宜利用原型系统作为最终产品。采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义需求,之后便部分或全部抛弃,最终的软件是要充分考虑了质量和可维护性等方面之后才被开发。缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。30模型OF软件开发与项目管理课件31常用开发模型比较分析(1)瀑布模型不满足客户的需求。(2)快速原型模型关注满足客户需求,可能导致系统设计差、效率低,难于维护。原型模型的优点是使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。
(3)增量模型开发早期反馈及时,易于维护需要开放式体系结构,可能会设计差、效率低。(4)螺旋模型风险驱动风险分析人员需要有经验且经过充分训练。(5)喷泉模型在各个开发阶段是重叠的,需要大量的开发人员,不利于项目的管理。要求严格管理文档,使得审核的难度加大。常用开发模型比较分析(1)瀑布模型不满足客户的需求。32模型OF软件开发与项目管理课件33软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。软件项目管理的根本目的是为了让软件项目尤34软件项目管理的背景20世纪70年代,美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31%的项目未做完就被取消,53%的软件项目进度通常要延长50%的时间,只有9%的软件项目能够及时交付并且费用也控制在预算之内。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。软件项目管理的背景20世纪70年代,美国国防部专门研究了软件35项目的定义
项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。
项目的定义项目是指一系列独特的、复杂的并相互关联的活动,这36美国项目管理协会(PMI)定义项目是为创造独特的产品、服务或成果而进行的临时性工作。以下活动都可以称为一个项目:① 开发一项新产品② 计划举行一项大型活动(如策划组织婚礼、大型国际会议等)③ 策划一次自驾游旅游④ ERP的咨询、开发、实施与培训美国项目管理协会(PMI)定义项目是为创37项目的基本特征项目开发是为了实现一个或一组特定目标项目受到预算、时间和资源的限制项目的复杂性和一次性项目是以客户为中心的力成果。项目的基本特征项目开发是为了实现一个或一组特定目标38软件项目管理的定义是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。软件项目管理的定义是为了使软件项目能够按照预定的成本、进度、39配置管理(软件的变更管理)配置管理(软件的变更管理)40基线(各阶段的分界点):基线(各阶段的分界点):41变更的演变图变更的演变图42软件质量管理软件质量管理43模型OF软件开发与项目管理课件44软件质量模型:boehm模型软件质量模型:boehm模型45软件质量的度量软件质量的度量46软件质量保证软件质量保证47软件质量设计的五个步骤:软件质量设计的五个步骤:48风险管理假如你是一个项目的负责人,有幸要在40天内为布朗先生建造一座坚固实用美观的别墅。你会发现哪些风险?风险管理假如你是一个项目的负责人,有幸要在449第一组A、40天是40个工作日吗?还是包括节假日的40天?我如何保证按时完成?B、布朗先生的要求坚固实用,坚固要达到抗震几级?使用期限是多长?实用更麻烦,布朗先生觉得应该如何布局,这个房子才更实用?布朗先生要求的美观如何达到?C、我需要多少资金预算?如何让这些资金到位?什么时候到位?如何花才能避免超出预算?D、项目完工之后的质量验收标准是什么?在项目过程中我应该如何保证这个质量目标?……第一组A、40天是40个工作日吗?还是包括节假日的40天?我50第二组A、别墅的建筑用地在哪里?地况如何?周围环境如何?是否有设计难度?设计方案是否合理?能否达到质量要求?B、项目施工的工序是否正确?项目计划是否合理?C、建筑团队的人员是否充足?我是否需要一个优秀的设计师和一些有经验的建筑工人?D、团队成员是否都能忠于工作?我应该如何进行有效的管理并激励他们才能保证项目按时按质的完成?E、我是否要花些心思了解布朗先生,包括他的背景,另外布朗先生有没有幕后老板,是否还有其他人会影响布朗先生的观点?我们之间是否会有误会产生?我应该如何沟通?F、我的材料供应商是否可靠?他能否及时将质量合格的原材料供应给我?……第二组A、别墅的建筑用地在哪里?地况如何?周围环境如何?是否51第三组A、我们的施工期是什么季节,是否我去看看这些年在这段期间的天气状况如何?如果遇到雨雪等天气灾害我怎样应对?B、我的建筑安全措施如何?安全教育是否到位?工人保险状况如何?假如出现工伤或者事故如何应对?C、另外,如果这块地施工期间,挖出了古墓等情况,停工期间时间和预算是否够用?D、布朗先生是否像表面这样有钱?(他的资信情况如何?)他是否能在合适的时候付我款项?我是否要实现一些阶段性付款方案,我是否要保证金?E、建造这个房屋我是否取得了一些前期施工证明?建筑主管单位是否不会找我麻烦?F、建造这个房子是否有限高?是否会有损于周围其他人的利益,采光、施工噪音、垃圾污染等等?周围人的情况如何?他们要找我麻烦怎么办?第三组A、我们的施工期是什么季节,是否我去看看这些年在这段期52假如,您写出了第一组答案中的100%,那么您可以进入项目管理领域了,假如,您同时又写出了第二组答案中的80%以上,那么您有项目管理的潜质,假如您更在以上基础上同时第三组答案中也写出了60%以上,那么您已经具备项目管理的一些经验了,当然这些朋友还需更多实践经验的磨练。如果没达到,也不必灰心,认真学习风险管理。假如,您写出了第一组答案中的100%,那么您可以进入项目管理53软件项目管理
是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理是为了使软件项目能够54项目进度管理是指在项目实施过程中,对各阶段的进展程度和项目最终完成的期限所进行的管理,是在规定的时间内,拟定出合理且经济的进度计划(包括多级管理的子计划)。在执行该计划的过程中,经常要检查实际进度是否按计划要求进行,若出现偏差,便要及时找出原因,采取必要的补救措施或调整、修改原计划,直至项目完成。其目的是保证项目能在满足其时间约束条件的前提下实现其总体目标。项目进度管理一般包含项目进度计划的制定和项目进度计划的控制两部分。项目进度管理是指在项目实施过程中,对各阶段的进展程度和项目最55任务二项目规划编制项目计划的过程称为项目规划。项目规划是预测未来、确定任务、估计可能碰到的问题,并提出完成任务和解决问题的有效方案、方针、措施和手段,以及所必须的各种活动和工作成果的过程。项目规划是项目启动后进入的第一个项目十分重要的、实质性的阶段,有的称为项目策划任务二项目规划编制项目计划的过程称为项目规划。56项目规划的过程和步骤
项目规划应考虑的的问题:必须完成什么工作;何时开始和结束工作;由谁来完成工作;还需要什么其他资源;可能出什么差错。为何要实施这个项目需要什么人参加;将创造什么结果;必须满足哪些约束;做出什么假定;项目规划的过程和步骤项目规划应考虑的的问题:必须完成什么工57项目规划的步骤
(1)收集资料。(2)确定项目任务。(3)明确依据和前提。(4)提出完成项目任务的各种可行方案。(5)对方案进行评价。(6)确定方案。(7)写出项目计划和有关辅助文件。项目规划的步骤(1)收集资料。58WBS(工作分解结构)WBS(WorkBreakdownStructure):创建WBS是把项目可交付成果和项目工作分解成较小的,更易于管理的组成部分的过程。WBS是项目管理重要的专业术语之一。WBS的基本定义:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。在项目管理实践中,工作分解结构(WBS)是最重要的内容之一。WBS(工作分解结构)WBS(WorkBreakdown59模型OF软件开发与项目管理课件60模型OF软件开发与项目管理课件61模型OF软件开发与项目管理课件62实例:图书馆系统项目规划图书馆软件开发计划书.doc实例:图书馆系统项目规划图书馆软件开发计划书.doc63项目二单元测试时间:20分钟到8:30结束1、软件项目管理的目的是?2、项目管理主要包括哪些方面的管理?项目二单元测试时间:20分钟到8:30结束64项目三软件可行性研究与计划任务一:可行性分析学习目标:对软件项目进行可行性分析,研究开发是否可行,作出《可行性分析报告》重点:软件可行性分析的任务知识:1、可行性分析的目的?2、可行性分析的任务?能力:掌握相关知识,为实际开发软件打好坚实基础。项目三软件可行性研究与计划任务一:可行性分析65问题的定义与可性行研究开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束YNWho
为谁设计,用户是谁?What
要解决哪些问题?Why
为什么要解决这些问题
有用的软件
3W问题的定义与可性行研究开始问题定义可性行研究可行否?项目实66可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。
不是解决问题,而是确定问题是否值得去解决。说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。
GB8567-88《计算机软件产品开发文件编制指南》可行性研究目的:说明该软件开发项目的实现在技术上、经济上和社67可行性研究之需求分析项目的筹备、规划与准备是软件项目实施的前期工作,它由两个重要的工作阶段构成:一是项目规划及可行性分析;二是项目需求分析。项目准备阶段的第一个工作,是项目的总体规划。首先要做的是明确系统的需求,也就是用户要计算机解决什么问题,即问题定义。系统分析员应该深入现场,了解用户单位对系统的要求,调查开发背景,进行市场调研。经过调查分析,分析员要在较短的时间内对问题进行抽象、概括,并把自己的认识写成书面报告,即项目需求报告,提交给用户方面进行讨论审查。项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问题的概括,项目的目标,项目的规模及对可行性研究的具体建议(即需要用的时间和成本)等等。可行性研究之需求分析项目的筹备、规划与准备是软件项目实施的前68项目需求报告—案例1.
项目:××公司工资管理系统2.
问题:在公司日常工资管理工作中,现有系统所承担的工作只能实现工资管理的简单功能,已无法适应目前工作中处理大量数据(如日常打印工资条等)要求,工作效率低下,容易出错。3.
项目目标:为了提高公司日常工资管理的效率与准确率,而开发该项软件。该软件应逐步向本市各企业推广。4.
项目范围:硬件主要利用现有的计算机网络,增配少量专用设备,软件开发费用预计20000元。5.
初步设想:实现××公司工资管理系统,包括工资录入、数据查询、工资条、工资统计、部门设置、人员设置、项目设置等具体功能。要求将各种输出数据以表单形式打印;系统各模块具有添加新数据的功能;系统软件具有权限功能,使不同的用户具有不同的权限;建立后的数据库需要加密。6.可行性研究:由分析员和××公司工资管理部门进行,主要对公司日常工资管理规程和系统实施方案进行研究。建议进行大约3天的可行性研究,研究费用不超过200元。要点:问题
项目的目标
项目的功能
可行性研究:人力?时间?费用?项目需求报告—案例1.
项目:××公司工资管理系统69小结:小结:70作业:要求模仿案例作一份:广东信息工程职业学院图书管理系统的需求分析报告作业:要求模仿案例作一份:71可行性研究的任务可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”GB8566-88《计算机软件开发规范》可行性研究的最根本任务:对软件开发以后的行动方针提出建议。可行性研究的成果是:《项目可行性报告》可行性研究的任务可行性研究的主要任务是“了解客户72任务二项目的可行性分析任务一:项目的可行性分析学习目标:掌握四个最重要的可行性分析要素重点:软件可行性分析的内容知识:可行性分析:1、经济?2、技术?3、社会?4、人?能力:掌握相关知识,为实际开发软件打好坚实基础。任务二项目的可行性分析任务一:项目的可行性分析73可行性研究的内容(1)技术可行性(2)经济可行性(3)社会可行性(法律可行性)(4)人可行性研究的内容(1)技术可行性74技术可行性度量一个特定技术信息系统解决方案的实用性及技术资源的可用性考虑的问题(1)开发风险分析(2)资源分析(3)相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性)技术可行性度量一个特定技术信息系统解决方案的实用性及技术资源75经济可行性度量系统解决方案的性能价格比。考虑的问题成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益价值和成本的关系质量与价值、成本的关系价值/成本的均衡经济可行性度量系统解决方案的性能价格比。76举例
12345
年6040200成本-效益(万元)该系统节省经费该系统成本盈亏平衡点投资回收期---------成本及效益分析图举例123477操作可行性人力资源的可行性:管理人员技术人员用户使用时间进度可行性操作可行性人力资源的可行性:78可行性研究报告的编写1引言1.1编写目的1.2背景1.3定义1.4参考资料2可行性研究的前提2.1要求2.2目标2.3条件、假定和限制2.4进行可行性研究的方法2.5评价尺度可行性研究报告的编写1引言2可行性研究的前提79可行性研究报告的编写3对现有系统的分析3.1数据流程和处理流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性4所建议的系统4.1对所建议系统的说明4.2数据流程和处理流程4.3改进之处4.4影响4.5局限性4.6技术条件方面的可行性可行性研究报告的编写3对现有系统的分析4所建议的系统80可行性研究报告的编写5可选择的其它系统方案5.1可选择的其它系统15.2可选择的其它系统2
......6投资及收益分析6.1支出6.2收益6.3收益/投资比6.4投资回收周期6.5敏感性分析7社会条件方面的可行性7.1法律方面的可行性7.2使用方面的可行性可行性研究报告的编写5可选择的其它系统方案6投资及收益分81任务三项目的需求分析学习目标:为什么要做需求分析?重点:需求分析的概念和方法知识:需求分析:1、任务?2、过程?3、方法?
能力:掌握相关知识,为实际开发软件打好坚实基础。任务三项目的需求分析学习目标:为什么要做需求分析?82需求分析需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.比如…需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计.需求分析需求分析就是分析软件用户的需求是什么.如果投入大量的831.基本概念:需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析指需求的分析、定义过程。1.基本概念:需求分析是指理解用户需求,就软件功能与客户达成842.任务:简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求.2.任务:简言之,需求分析的任务就是解决"做什么"的问题,就853.过程:
问题识别就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行时所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标.分析与综合逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型).制订规格说明书即编制文档,描述需求的文档称为软件需求规格说明书.请注意,需求分析阶段的成果是需求规格说明书(好象软考曾经考过这个问题),向下一阶段提交.评审对功能的正确性,完整性和清晰性,以及其它需求给予评价.评审通过才可进行下一阶段的工作,否则重新进行需求分析。3.过程:问题识别864.方法:需求分析的方法有很多.这里只强调原型化方法,其它的方法如:结构化方法,动态分析法等(初学者不必深究).原型化方法是十分重要的(软考等常考).原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能.原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等.这个系统只是一个界面,然后听取用户的意见,改进这个原型.以后的目标系统就在原型系统的基础上开发.4.方法:需求分析的方法有很多.这里只强调原型化方法,其它的87小结:小结:886.作业:思考:
学校的图书管理系统的项目需求分析应如何进行?6.作业:思考:89项目三单元测试时间:20分钟到8:30结束1、软件可行性研究的目的是?2、软件可行性研究的成果是?3、软件可行性研究一般从4个主要方面来分析,是哪4个方面?项目三单元测试时间:20分钟到8:30结束90项目四项目详细设计学习目标:系统分析与设计的内容?重点:软件的体系结构知识:1、C/S模式2、B/S模式3、软件设计开发的思路
?
能力:掌握相关知识,为实际开发软件打好坚实基础。项目四项目详细设计学习目标:系统分析与设计的内容?91系统分析与设计:
概要设计+详细设计
概要设计:确定软件系统的总体的实现方案,确定系统的体系结构(框架结构)。把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口详细设计:结构元素的实现,结构元素间接口的实现,系统的数据结构的实现,设计出模块的功能及模块接口。设计每个模块内的算法、流程等。系统分析与设计:
概要设计+详细设计概要设计:确定软件系统92体系结构(总体结构):
是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。层次结构软件的实现分成多个层次,底层的模块实现相对简单的功能,多个低层的模块组合成一个较高成的模块,实现相对复杂的功能,最后所有的模块组合起来完成整个软件的功能.C/S模式即客户机和服务器结构。此模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。目前大多数信息系统是采用Client/Server结构。.B/S模式即浏览器服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。体系结构(总体结构):是具有一定形式的结构化元素,即构件的93常见的软件设计开发的思路:
强调结构化程序设计方法学,从总体到局部,从抽象到具体,自顶向下、逐步求精的方法。主张使用顺序、选择、循环三种基本结构来嵌套连结成具有复杂层次的“结构化程序”,严格控制GOTO语句的使用。“独立功能,单出、入口”的模块结构。常见的软件设计开发的思路:强调结构化程序设计方法学,从总体94原则:
抽象:抽取事物最基本的特性和行为。采用分层次的抽象可以控制软件开发的复杂性。信息隐藏:采用封装,将具体细节(过程或数据)隐藏起来,无需此信息的其它模块不能访问。‘黑箱’模块化:逻辑相对独立。大小适中,高内聚,低耦合。一致性:整个软件系统的概念、符号、术语一致;接口一致.原则:抽象:抽取事物最基本的特性和行为。采用分层次的抽象可95作业,思考:概要设计和详细设计的区别?
作业,思考:96任务二结构化设计方法学习目标:掌握软件的结构化设计方法重点:结构化设计的基本任务,工具,实现知识:1、结构图(SC)2、程序流图(PFD)3、盒图(N-S)、问题分析图(PAD)
能力:掌握相关知识,为实际开发软件打好坚实基础。任务二结构化设计方法学习目标:掌握软件的结构化设计方法971.结构化设计方法(SD)是基于模块化、自顶向下细化、结构化程序设计等设计技术基础上发展起来的。基本的设计思想:将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。概要设计描述工具:结构图设计软件系统的结构:划分功能模块,确定模块间的调用关系数据结构及数据库设计:实现需求定义和规格说明书中提出的数据对象的逻辑表示。设计文档:概要设计说明书、数据库设计说明书、集成测试计划概要设计文档评审:对方案中是否完整实现需求分析中规定的功能、性能的要求和方案可行性进行评审。1.结构化设计方法(SD)是基于模块化、自顶向下细化、结构982.概要设计工具--结构图(SC)(1)作用软件结构概要设计阶段的工具。反映系统的功能实现以及模块与模块之间的联系与通信,即反映了系统的总体结构。注意:数据流DFD是软件生命周期的定义阶段中的需求分析方法中结构化分析方法的一种,此外还有数据字典(DD)、判定树和判定表,而SC是开发阶段中概要设计使用的方法。(2)结构图基本组成成分:模块、数据和调用(3)结构图基本图符(4)结构图的基本术语
深度:模块结构的层次数(控制的层数)。
宽度:同一层模块的最大模块数。
扇出:一个模块直接调用的其他模块数目。
扇入:调用一个给定模块的模块个数。(被调用的次数)好的软件结构应该是顶层扇出比较多,中层扇出较少,底层扇入多。2.概要设计工具--结构图(SC)(1)作用99数据字典(DD)为了对数据流程图中的各个元素作出详细的说明,有必要建立数据字典(Datadictionary)。数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。数据字典(DD)为了对数据流程图中的各个元素作出详细的说明,100数据项的定义数据项又称数据元素,是数据的最小单位。分析数据特性应从静态和动态两个方面去进行。在数据字典中,仅定义数据的静态特性,具体包括:(1)数据项的名称、编号、别名和简述;(2)数据项的长度;(3)数据项的取值范围;例:数据项定义数据项编号:I02-01数据项名称:材料编号别名:材料编码简述:某种材料的代码类型及宽度:字符型,4位取值范围:“0001”-“9999”数据项的定义1013.概要设计任务的实现
--数据流图到结构图的变换信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况。(1)典型的信息流类型:变换型和事务型①变换型信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统,当数据流具有这些特征时,这种信息流就叫变换流。②事务型数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,当数据流图具有这些特征时,这种信息流称为事务流。它被用于识别一个系统的事务类型并把这些事务类型用作为设计的组成部分。分析事务流是设计事务处理程序的一种策略,采用这种策略通常有一个在上层事务中心,其下将有多个事务模块,每个模块只负责一个事务类型,转换分析将会分别设计每个事务。3.概要设计任务的实现
--数据流图到结构图的变换信息流是一1024、详细设计及工具(1)详细设计的目的为软件结构图(SC)中的每一个模块确定采用的算法,模块内数据结构,用某种选定的表达工具(如N-S图等)给出清晰的描述。(2)详细设计的设计工具种类◆图形工具:程序流程图(PFD)、N-S图,问题分析图(PAD图)。◆表格工具:类似于判定表。◆语言工具:过程设计语言(PDL)。①程序流程图(PFD:ProgramFlowDiagram))◆流程图:是用一些图框表示各种操作,直观形象,易于理解。◆特点:直观、清晰、易于掌握。②盒图(N-S图)为避免流程图在描述程序逻辑时的随意性与灵活性,1973提出用方框代替传统的程序流程图,通常也把这种图称为N-S图,有5种的控制结构。◆盒图具有以下特点:过程的作用域明确;盒图没有箭头,不能随意转移控制;容易表示嵌套关系和层次关系;强烈的结构化特征。③问题分析图(PAD:ProblemAnalysisDiagram)是继流程图和方框图之后,又一种描述详细设计的工具,有5种结构。④过程设计语言(PDL)过程设计语言(PDL)也称结构化的英语或伪码语言,它是一种混合语言,采用英语的词汇和结构化程序设计语言的语法,它描述处理过程怎么做,类似编程语言。4、详细设计及工具(1)详细设计的目的103(1)在总体设计层
--引入了两个术语/符号模块:一种可独立标识的软件成分.调用:模块间的一种关系,模块A为了完成其任务必须依赖其他模块.
(1)在总体设计层104模块结构图的三种基本结构模块结构图的三种基本结构1051.层次图(H图)
表示软件的层次结构。正文加工系统输入输出编辑加标题存储检索编目录添加删除插入修改合并列表1.层次图(H图)表示软件的层次结构。正文加工系统输入输106带编号的层次图(H图)
正文加工系统输入1.0输出2.0编辑3.0加标题4.0存储5.0检索6.0编目录7.0添加3.1删除3.2插入3.3修改3.4合并3.5列表3.6带编号的层次图(H图)正文加工系统输入输出编辑加标题107例子:酒店管理信息系统功能层次图HMIS收银管理子系统客房管理子系统餐饮管理子系统客人登记预定登记客房处理历史记录客房查询预定查询餐桌安排菜单作业营业结帐汇总打印各类查询初始设置客帐处理退房处理夜审处理客帐查询报表打印例子:酒店管理信息系统功能层次图HMIS收银管理子系统108IPO图IPO图109传统的IPO图举例输入处理输出读口令请求口令文件1取得输入2口令确认3请求确认请求记录权限文件4更新处理权限记录状态报告响应命令监控器(1.0)的IPO图传统的IPO图举例输入处理输出读口令请求口令文件1取得输入2110改进的IPO图格式IPO图系统:模块:编号:作者:日期:被调用:调用:输出:输入:输入:局部数据元素:注释:改进的IPO图格式IPO图系统:模块:编号:作者:日期:被调1112.HIPO图IBM公司发明的HIPO图:层次图
+
输入/处理/输出图(H图)(IPO图)(HierachyInputProcessOutput)2.HIPO图IBM公司发明的HIPO图:112H图中每一方框(模块)均有一张IPO图对应。
航线调度系统HIPO图举例H图:命令监控器1.0取得输入1.1输入确认1.2请求确认1.3更新处理1.4H图中每一方框(模块)均有一张IPO图对应。113结构图(SCStructureChart)是SD方法在概要设计中的主要表达工具。约定:编辑学生记录读学生记录学生数据无此学生学号不加区分的数据数据信息控制信息结构图(SCStructureChart)是114SC中的四种模块传入模块(a)(b)AA传出模块BB变换模块(c)CD协调模块E(d)EFFSC中的四种模块传入模块(a)(b)AA传出模块BB变换模块115SC中的调用
(1)选择调用ACBDA根据内部判断决定是否调用BA按另一判定结果选择调用C或DSC中的调用
(1)选择调用ACBDA根据内A按另一判116(2)循环调用ABCA根据内在的循环重复调用B、C等模块(2)循环调用ABCA根据内在的循环重117结构图(SC)举例
医院管理系统门诊管理药房管理药库管理病房管理财务管理处方挂号处理挂号费总计挂号单挂号费总计出库处理进药管理病历管理处方管理常规处理结构图(SC)举例医院管理系统门诊药房药库病房财务处118系统结构特征的两种典型形式:变换型结构事务型结构对应于数据流图可分为两种类型:
变换型数据流事务型数据流系统结构特征的两种典型形式:变换型结构119大型系统DFD中,变换型和事务型结构往往共存:T事务中心传入变换传出大型系统DFD中,变换型和事务型T事务中心传入变换传出120变换中心输入输出变换型结构事务中心接受路径动作路径基本类型特征事务型结构由输入、变换中心和输出三部分组成具有在多种事务中选择执行某类事物的能力变换输入输出变换型结构事务接受动基本类型121变换型数据流结构事务型数据流结构传入变换传出变换中心传入部分传出部分事务分析事务中心动作1动作2动作3接受接受部分变换型事务型传入变换传出变换传入传出事务事务动作动作动作接受122变换型数据流举例输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心逻辑输入逻辑输出传入部分传出部分特点:具有明确的传入、变换(或称主加工)和传出界面的DFD变换型数据流举例输入物理格式处理显示正确结果物理数据变换中心123变换流示意图信息时间信息流输入流输出流交换流外部表示内部表示变换流示意图信息时间信息流输入流输出流交换流外部内部124事务型数据流图举例IMLNOABCDFEGH事务型数据流图举例IMLNOABCDFEGH125要求类型处理有效图书管理要求当前日期2.1新书入库2.2借入库单罚款单事务型数据流图举例借书2.3注销图书2.5借书2.4目录文件借书单书单注销单要求类有效图书管理要求当前日期2.1新书入库2.2借入库单罚126变换型数据流结构传入变换传出变换中心传入部分传出部分初始的SC由变换分析产生主模块输入模块主加工模块输出模块变换型传入变换传出变换传入传出初始的SC由变换分析产生主模块127事务型数据流结构事务分析事务中心动作1动作2动作3接受接受部分事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由事务分析产生事务型事务事务动作动作动作接受接受事务控制模块接受模块动作发128数据流图分类变换型:事务型12345678abcdefhgyxz123546abcdefgy数据流图分类12345678abcdefhgyxz1235129程序流程图程序流程图1305.小结5.小结1316.作业:尝试使用结构化设计方法对OA系统进行分析。6.作业:尝试使用结构化设计方法对OA系统进行分析。132实训1软件项目概要设计任务一:软件项目概要设计学习目标:以图书管理系统概要设计为例,概要设计并写出概要设计文档重点:编写概要设计报告书能力:掌握相关知识,为实际开发软件打好坚实基础。实训1软件项目概要设计任务一:软件项目概要设计133实例:图书管理系统概要设计报告书实例:图书管理系统概要设计报告书格式主要内容思考:我应该如何编写?实例:图书管理系统概要设计报告书实例:图书管理系统概要设计报134谢谢!谢谢!135模型OF软件开发与项目管理模型OF软件开发与项目管理模型OF软件开发与项目管理项目一软件工程方法学任务一软件工程的问题:学习目标:软件特点软件危机软件工程定义和原理软件生命周期模型模型OF软件开发与项目管理模型OF软件开发与项目管理模型OF136项目一软件工程方法学任务一软件工程的问题:学习目标:软件特点软件危机软件工程定义和原理软件生命周期模型项目一软件工程方法学任务一软件工程的问题:137项目一软件工程方法学1、什么是软件?软件:程序+说明文档计算机软件=系统软件+应用软件项目一软件工程方法学1382、软件的特点:(1)软件是一种逻辑实体。它的存在是保存在一种媒介上面,例如:纸张,磁盘,内存,磁带,光盘等。(2)软件是绿色产品,没有污染,它的运行不会出现磨损和对空气、土地等对人体有害的物质。(3)软件的研制是一种高智力劳动。计算机软件既是作品,又是工具,是作品性与工具性紧密结合的智力成果。(4)计算机软件开发工作量大、成本高,但复制容易、成本极低。计算机软件是开发者智力劳动的结晶,具有原创性质。2、软件的特点:(1)软件是一种逻辑实体。它的存在是保存在一139主要内容专业概述专业设置培养目标课程设置就业岗位问题解答主要内容专业概述1403、软件危机当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:经费预算经常突破,完成时间一再拖延;开发的软件不能满足用户要求;开发的软件可维护性差;开发的软件可靠性差。3、软件危机当软件开发技术的进步不能跟1414、软件工程的定义IEEE对软件工程的定义:(1)应用系统化的、严格约束的、定量的方法来开发、运行和维护软件,即,将工程应用到软件;(2)将工程应用到软件方法的研究。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。4、软件工程的定义IEEE对软件工程的定义:1425、软件工程的原理1.用分阶段的生命周期计划严格管理。2.坚持进行阶段评审。3.实行严格的产品控制。4.采用现代程序设计技术。5.结果可审查。6.开发小组的人员应少而精。5、软件工程的原理1.用分阶段的生命周期计划严格管理。1436、软件工程的目标(满足用户需求)给定成本、进度下开发软件:可修改性有效性可靠性可维护性可重用性可适用性可移植性可追踪性可操作性6、软件工程的目标(满足用户需求)给定成本、进度下开发软件:1447、软件生命周期能清晰直观地表达软件开发的全过程,明确规定了开发工作每个阶段要执行的主要任务,是软件项目开发工作的基础。7、软件生命周期能清晰直观地表达软件开发的全过程,明确规定了145模型OF软件开发与项目管理课件146思考:软件生命周期的各个时期如何实现?思考:软件生命周期的各个时期如何实现?147模型OF软件开发与项目管理课件148模型OF软件开发与项目管理课件149模型OF软件开发与项目管理课件150模型OF软件开发与项目管理课件151模型OF软件开发与项目管理课件152模型OF软件开发与项目管理课件153模型OF软件开发与项目管理课件154模型OF软件开发与项目管理课件155模型OF软件开发与项目管理课件156模型OF软件开发与项目管理课件157模型OF软件开发与项目管理课件158模型OF软件开发与项目管理课件159模型OF软件开发与项目管理课件160模型OF软件开发与项目管理课件161五、原型模型原型模型的主要思想:针对开发初期在确定软件需求存在困难,借鉴建筑经验,根据客户提出的基本要求,快速地开发一个原型。向客户展示,功能和性能,依客户意见,对“样品”不断改进,使得最后的产品就是用户所需要的。五、原型模型原型模型的主要思想:针对开发初期在确定软件需求存162原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,是目前较流行的一种实用软件生存期模型。原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够163优点:开发人员和用户在“原型”上达成一致。这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。缩短了开发周期,加快了工程进度。降低成本。优点:开发人员和用户在“原型”上达成一致。这样一来,可以减少164缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。这往往给工程继续开展带来不利因素。开发者为了使一个原型快速运行起来,往往在实现过程中采用这种手段。不宜利用原型系统作为最终产品。采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义需求,之后便部分或全部抛弃,最终的软件是要充分考虑了质量和可维护性等方面之后才被开发。缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。165模型OF软件开发与项目管理课件166常用开发模型比较分析(1)瀑布模型不满足客户的需求。(2)快速原型模型关注满足客户需求,可能导致系统设计差、效率低,难于维护。原型模型的优点是使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。
(3)增量模型开发早期反馈及时,易于维护需要开放式体系结构,可能会设计差、效率低。(4)螺旋模型风险驱动风险分析人员需要有经验且经过充分训练。(5)喷泉模型在各个开发阶段是重叠的,需要大量的开发人员,不利于项目的管理。要求严格管理文档,使得审核的难度加大。常用开发模型比较分析(1)瀑布模型不满足客户的需求。167模型OF软件开发与项目管理课件168软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。软件项目管理的根本目的是为了让软件项目尤169软件项目管理的背景20世纪70年代,美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31%的项目未做完就被取消,53%的软件项目进度通常要延长50%的时间,只有9%的软件项目能够及时交付并且费用也控制在预算之内。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。软件项目管理的背景20世纪70年代,美国国防部专门研究了软件170项目的定义
项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。
项目的定义项目是指一系列独特的、复杂的并相互关联的活动,这171美国项目管理协会(PMI)定义项目是为创造独特的产品、服务或成果而进行的临时性工作。以下活动都可以称为一个项目:① 开发一项新产品② 计划举行一项大型活动(如策划组织婚礼、大型国际会议等)③ 策划一次自驾游旅游④ ERP的咨询、开发、实施与培训美国项目管理协会(PMI)定义项目是为创172项目的基本特征项目开发是为了实现一个或一组特定目标项目受到预算、时间和资源的限制项目的复杂性和一次性项目是以客户为中心的力成果。项目的基本特征项目开发是为了实现一个或一组特定目标173软件项目管理的定义是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。软件项目管理的定义是为了使软件项目能够按照预定的成本、进度、174配置管理(软件的变更管理)配置管理(软件的变更管理)175基线(各阶段的分界点):基线(各阶段的分界点):176变更的演变图变更的演变图177软件质量管理软件质量管理178模型OF软件开发与项目管理课件179软件质量模型:boehm模型软件质量模型:boehm模型180软件质量的度量软件质量的度量181软件质量保证软件质量保证182软件质量设计的五个步骤:软件质量设计的五个步骤:183风险管理假如你是一个项目的负责人,有幸要在40天内为布朗先生建造一座坚固实用美观的别墅。你会发现哪些风险?风险管理假如你是一个项目的负责人,有幸要在4184第一组A、40天是40个工作日吗?还是包括节假日的40天?我如何保证按时完成?B、布朗先生的要求坚固实用,坚固要达到抗震几级?使用期限是多长?实用更麻烦,布朗先生觉得应该如何布局,这个房子才更实用?布朗先生要求的美观如何达到?C、我需要多少资金预算?如何让这些资金到位?什么时候到位?如何花才能避免超出预算?D、项目完工之后的质量验收标准是什么?在项目过程中我应该如何保证这个质量目标?……第一组A、40天是40个工作日吗?还是包括节假日的40天?我185第二组A、别墅的建筑用地在哪里?地况如何?周围环境如何?是否有设计难度?设计方案是否合理?能否达到质量要求?B、项目施工的工序是否正确?项目计划是否合理?C、建筑团队的人员是否充足?我是否需要一个优秀的设计师和一些有经验的建筑工人?D、团队成员是否都能忠于工作?我应该如何进行有效的管理并激励他们才能保证项目按时按质的完成?E、我是否要花些心思了解布朗先生,包括他的背景,另外布朗先生有没有幕后老板,是否还有其他人会影响布朗先生的观点?我们之间是否会有误会产生?我应该如何沟通?F、我的材料供应商是否可靠?他能否及时将质量合格的原材料供应给我?……第二组A、别墅的建筑用地在哪里?地况如何?周围环境如何?是否186第三组A、我们的施工期是什么季节,是否我去看看这些年在这段期间的天气状况如何?如果遇到雨雪等天气灾害我怎样应对?B、我的建筑安全措施如何?安全教育是否到位?工人保险状况如何?假如出现工伤或者事故如何应对?C、另外,如果这块地施工期间,挖出了古墓等情况,停工期间时间和预算是否够用?D、布朗先生是否像表面这样有钱?(他的资信情况如何?)他是否能在合适的时候付我款项?我是否要实现一些阶段性付款方案,我是否要保证金?E、建造这个房屋我是否取得了一些前期施工证明?建筑主管单位是否不会找我麻烦?F、建造这个房子是否有限高?是否会有损于周围其他人的利益,采光、施工噪音、垃圾污染等等?周围人的情况如何?他们要找我麻烦怎么办?第三组A、我们的施工期是什么季节,是否我去看看这些年在这段期187假如,您写出了第一组答案中的100%,那么您可以进入项目管理领域了,假如,您同时又写出了第二组答案中的80%以上,那么您有项目管理的潜质,假如您更在以上基础上同时第三组答案中也写出了60%以上,那么您已经具备项目管理的一些经验了,当然这些朋友还需更多实践经验的磨练。如果没达到,也不必灰心,认真学习风险管理。假如,您写出了第一组答案中的100%,那么您可以进入项目管理188软件项目管理
是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理是为了使软件项目能够189项目进度管理是指在项目实施过程中,对各阶段的进展程度和项目最终完成的期限所进行的管理,是在规定的时间内,拟定出合理且经济的进度计划(包括多级管理的子计划)。在执行该计划的过程中,经常要检查实际进度是否按计划要求进行,若出现偏差,便要及时找出原因,采取必要的补救措施或调整、修改原计划,直至项目完成。其目的是保证项目能在满足其时间约束条件的前提下实现其总体目标。项目进度管理一般包含项目进度计划的制定和项目进度计划的控制两部分。项目进度管理是指在项目实施过程中,对各阶段的进展程度和项目最190任务二项目规划编制项目计划的过程称为项目规划。项目规划是预测未来、确定任务、估计可能碰到的问题,并提出完成任务和解决问题的有效方案、方针、措施和手段,以及所必须的各种活动和工作成果的过程。项目规划是项目启动后进入的第一个项目十分重要的、实质性的阶段,有的称为项目策划任务二项目规划编制项目计划的过程称为项目规划。191项目规划的过程和步骤
项目规划应考虑的的问题:必须完成什么工作;何时开始和结束工作;由谁来完成工作;还需要什么其他资源;可能出什么差错。为何要实施这个项目需要什么人参加;将创造什么结果;必须满足哪些约束;做出什么假定;项目规划的过程和步骤项目规划应考虑的的问题:必须完成什么工192项目规划的步骤
(1)收集资料。(2)确定项目任务。(3)明确依据和前提。(4)提出完成项目任务的各种可行方案。(5)对方案进行评价。(6)确定方案。(7)写出项目计划和有关辅助文件。项目规划的步骤(1)收集资料。193WBS(工作分解结构)WBS(WorkBreakdownStructure):创建WBS是把项目可交付成果和项目工作分解成较小的,更易于管理的组成部分的过程。WBS是项目管理重要的专业术语之一。WBS的基本定义:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。在项目管理实践中,工作分解结构(WBS)是最重要的内容之一。WBS(工作分解结构)WBS(WorkBreakdown194模型OF软件开发与项目管理课件195模型OF软件开发与项目管理课件196模型OF软件开发与项目管理课件197实例:图书馆系统项目规划图书馆软件开发计划书.doc实例:图书馆系统项目规划图书馆软件开发计划书.doc198项目二单元测试时间:20分钟到8:30结束1、软件项目管理的目的是?2、项目管理主要包括哪些方面的管理?项目二单元测试时间:20分钟到8:30结束199项目三软件可行性研究与计划任务一:可行性分析学习目标:对软件项目进行可行性分析,研究开发是否可行,作出《可行性分析报告》重点:软件可行性分析的任务知识:1、可行性分析的目的?2、可行性分析的任务?能力:掌握相关知识,为实际开发软件打好坚实基础。项目三软件可行性研究与计划任务一:可行性分析200问题的定义与可性行研究开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束YNWho
为谁设计,用户是谁?What
要解决哪些问题?Why
为什么要解决这些问题
有用的软件
3W问题的定义与可性行研究开始问题定义可性行研究可行否?项目实201可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。
不是解决问题,而是确定问题是否值得去解决。说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。
GB8567-88《计算机软件产品开发文件编制指南》可行性研究目的:说明该软件开发项目的实现在技术上、经济上和社202可行性研究之需求分析项目的筹备、规划与准备是软件项目实施的前期工作,它由两个重要的工作阶段构成:一是项目规划及可行性分析;二是项目需求分析。项目准备阶段的第一个工作,是项目的总体规划。首先要做的是明确系统的需求,也就是用户要计算机解决什么问题,即问题定义。系统分析员应该深入现场,了解用户单位对系统的要求,调查开发背景,进行市场调研。经过调查分析,分析员要在较短的时间内对问题进行抽象、概括,并把自己的认识写成书面报告,即项目需求报告,提交给用户方面进行讨论审查。项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问题的概括,项目的目标,项目的规模及对可行性研究的具体建议(即需要用的时间和成本)等等。可行性研究之需求分析项目的筹备、规划与准备是软件项目实施的前203项目需求报告—案例1.
项目:××公司工资管理系统2.
问题:在公司日常工资管理工作中,现有系统所承担的工作只能实现工资管理的简单功能,已无法适应目前工作中处理大量数据(如日常打印工资条等)要求,工作效率低下,容易出错。3.
项目目标:为了提高公司日常工资管理的效率与准确率,而开发该项软件。该软件应逐步向本市各企业推广。4.
项目范围:硬件主要利用现有的计算机网络,增配少量专用设备,软件开发费用预计20000元。5.
初步设想:实现××公司工资管理系统,包括工资录入、数据查询、工资条、工资统计、部门设置、人员设置、项目设置等具体功能。要求将各种输出数据以表单形式打印;系统各模块具有添加新数据的功能;系统软件具有权限功能,使不同的用户具有不同的权限;建立后的数据库需要加密。6.可行性研究:由分析员和××公司工资管理部门进行,主要对公司日常工资管理规程和系统实施方案进行研究。建议进行大约3天的可行性研究,研究费用不超过200元。要点:问题
项目的目标
项目的功能
可行性研究:人力?时间?费用?项目需求报告—案例1.
项目:××公司工资管理系统204小结:小结:205作业:要求模仿案例作一份:广东信息工程职业学院图书管理系统的需求分析报告作业:要求模仿案例作一份:206可行性研究的任务可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宜昌高新区招考中小学教师招聘管理单位笔试遴选500模拟题附带答案详解
- 2025年宜宾筠连县沐爱镇人民政府全日制公益性岗位招考聘用管理单位笔试遴选500模拟题附带答案详解
- 2025年定西市岷县事业单位招考及管理单位笔试遴选500模拟题附带答案详解
- 2025年安徽黄山歙县面向全国部分重点高校引进教育人才管理单位笔试遴选500模拟题附带答案详解
- 2025年安徽马鞍山市直事业单位招聘工作人员考生(五)历年管理单位笔试遴选500模拟题附带答案详解
- 2025年安徽铜陵市义安区农业综合行政执法大队招聘20人历年管理单位笔试遴选500模拟题附带答案详解
- 2025-2030年中国摩托车配件项目投资风险分析报告
- 2025-2030年中国市值管理服务行业市场发展前景调研及投资战略分析报告
- 2024-2030年碳酸锰(碳酸亚锰)搬迁改造项目可行性研究报告
- 2024-2030年液压马达公司技术改造及扩产项目可行性研究报告
- 共享农场建设计划书
- 短债基金入门技巧知识讲座
- 国开法律职业伦理期末复习资料
- 海南物流行业发展趋势分析报告
- 移相变压器计算程序标准版
- 期末测试(试题)-三年级数学上册人教版
- 药剂科门诊中成西药房利用PDCA循环降低门诊药房调剂内差发生率品管圈QCC成果汇报
- 物料员工作计划与总结
- 浙江省金华市2023年九年级上学期期末数学试题附答案
- 京东2023审计报告
- 2023年江苏省普通高中学业水平测试生物试卷
评论
0/150
提交评论