个体软件设计.ppt
- 文档编号:2639199
- 上传时间:2022-11-04
- 格式:PPT
- 页数:57
- 大小:4.12MB
个体软件设计.ppt
《个体软件设计.ppt》由会员分享,可在线阅读,更多相关《个体软件设计.ppt(57页珍藏版)》请在冰豆网上搜索。
个体个体软软件件过过程程PersonalSoftwareProcessPersonalSoftwareProcess计算机科学与技术学院计算机科学与技术学院计算机科学与技术学院计算机科学与技术学院PSPCourseObjectives(PSPCourseObjectives(目标目标)1Introduceyoutoaprocess-basedapproachtodevelopingsoftware介绍开发软件的基于过程的方法介绍开发软件的基于过程的方法2ShowyouhowtomeasureandanalyzeyourPersonalSoftwareProcess(PSPPSP)3Improveyoursoftwaredevelopmentskillsskills:
fasterdevelopment速度更快fewererrors(i.e.bettersoftware)错误更少morepredictable(moreaccurateestimatesoftimerequiredtocompleteaproject)预见能力高4Showyouhowtousedatatoimproveyourpersonalperformance利用已有数据提高改进自己WattsS.HumphreyWattsS.Humphrey卡内基梅隆(CarnegieMellon)大学软件工程研究所(SEI)曾是SEI的软件过程计划的主任,负责开发改良软件过程计划方法。
与软件行业和政府的软件工程师合作,帮助他们实现这些改良后的方法。
在IBM工作27年,担任过各种技术和管理方面的职务SEI和IEEE的高级会员美国计算机协会(ACM)的成员国家质量奖评审委员会的成员(NationalQualityAwardBoardofExaminers)一、软件过程一、软件过程(softwareprocess)(softwareprocess)?
软件过程研究的是如何将人员、技术和工具人员、技术和工具等组织起来,通过有效的管理手段,提高软件生产的效率,保证软件产品的质量。
软件过程改善是当前软件管理工程的核心问题。
50多年来计算事业的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。
二、软件过程的三个流派二、软件过程的三个流派1.CMU-SEI的CMM/PSP/TSP;2.ISO9000质量标准体系ISO9001ISO9000-3ISO9004-2ISO9004-4ISO90023.ISO/IEC15504(SPICE)信息技术软件过程评估CMM(CapabilityMaturityModel)能力成熟度模型。
CMM本质是软件工程管理的一个部分。
CMM是对软件组织在定义、实现、度量、控制和改善其软件过程的进程中各个发展阶段的描述。
CMM框架用5个不同的等级表示CMMCMM概述概述初始级(第一级)是混沌的过程可重复级(第二级)是经过训练、有纪律的软件过程已定义级(第三级)是标准一致的软件过程已管理级(第四级)是可预测的软件过程优化级(第五级)是能持续改进的软件过程CMM提供的框架,用来测量一个组织的软件过程成熟度和评价其软件过程能力。
CMMCMM框架框架美国美国19951995年调查年调查初始级初始级70%70%特征:
软件开发过程不能预测,风险度高;特征:
软件开发过程不能预测,风险度高;可重复级可重复级15%15%特征:
软件开发过程需小心谨慎能够避免失败;特征:
软件开发过程需小心谨慎能够避免失败;定义级定义级10%10%特征:
软件开发过程相当稳定,进展顺利且可以预特征:
软件开发过程相当稳定,进展顺利且可以预测;测;管理级管理级5%5%特征:
软件过程预测准确、值得信赖;特征:
软件过程预测准确、值得信赖;优化级优化级1%1%特征:
软件过程能够持续改进。
特征:
软件过程能够持续改进。
软件产业成熟程度软件产业成熟程度CMM/PSP/TSPCMM/PSP/TSP的关系的关系CMMTSPPSP组织能力组织能力高质量的产品高质量的产品个人技能个人技能建立建立建立建立生产并交付生产并交付原则原则费用和期限技能技能CMM、PSP、TSP组成的软件过程框架组成的软件过程框架CMM改进组织能力,重点是管理TSP改进小组性能,重点是小组和产品PSP改进个人技能,重点是个人人才需求结构呈金字塔形塔尖的领军人物是企业发展的灵魂要求各项综合素质较高;塔型中间是企业持续发展的中坚力量,是大批的优秀的程序员,要求计算机技能过硬;塔型底层是企业的基础支撑力量,是普通的维护管理人员,相对工作的技术含量要求不高,要求的人文素质和管理技能较高。
人才需求的层次人才需求的层次精英人才精英人才优秀的程序员优秀的程序员维护管理人员维护管理人员企业人才需求不同,高校人才培养的层次和内容也不同。
如对技能的培养,按照企业对技术人才的需求可分为三大类:
技术管理型人才研究开发型人才工程实现型人才是带领大批软件开发人员开展工作的骨干和生产管理者能够有效地组织产品开发和软件工程项目,发挥技术团队的软件生产力,达到预期目标。
既具备计算机领域的综合知识,又有一定的管理技能和水平。
(11)技术管理型)技术管理型主要从事技术基础理论研究,开发新一代的技术产品及其软件核心技术技术理论基础扎实创新意识和工作能力强有某一领域技术的深入研究能力和经验(22)技术开发型)技术开发型主要从事软件产品或软件工程项目的开发和实现实践能力和动手能力强,具有独立解决问题的能力计算机的各项应用技术非常熟练具备沟通、合作精神,具备持续学习的能力,具备承受压力的素质。
他们是企业的生产者,软件工程的实现者,是企业发展的基础力量。
主要工作在程序员岗位上。
(33)工程实现型)工程实现型以软件从业人员近60万人,其中专业人才约有34万人(其中高级人才4万人、中级人才20万人、初级人才10万人)。
人才结构呈两头小中间大的“橄榄形”,不仅缺乏高层次人才,也缺少大量从事基础性开发软件的人员。
但是如果按照国际软件的人才配比规律1:
4:
7计算,年我国需要高级人才6万人,中级软件人才28万人,初级软件人才46万人。
全国计算机应用专业人才需求将增加近百万人。
与软件人才缺口巨大相反,众多计算机专业毕业生仍然徘徊在企业大门之外,呈现出IT毕业生“过剩”的怪现象。
过剩与匮乏过剩与匮乏
(1)运用知识能力
(2)持续学习能力。
(3)沟通合作能力。
(4)踏实敬业能力。
(5)良好品行能力企业人才标准企业人才标准20002000年至年至20092009年高等学校毕业生就业人数年高等学校毕业生就业人数三、个体软件过程?
三、个体软件过程?
“管理是影响软件研发项目全局的因素,而技术只影响局部。
”美国国防部曾立题调查:
70的项目因为管理不善而失败,而并不是因为技术实力不够。
四、软件项目失败的主要原因四、软件项目失败的主要原因?
需求定义不明确;缺乏一个好的软件开发过程;没有一个统一领导的产品研发小组;子合同管理不严格;没有经常注意改善软件过程;对软件构架很不重视;软件界面定义不善且缺乏合适的控制;软件升级暴露硬件的缺点;关心创新而不关心费用和风险;标准太少并且不够完善等。
软件项目失败的主要原因软件项目失败的主要原因?
在商用软件产业中,1995年,美国共取消810亿美元的软件项目,其中:
(1)31的项目未做完就取消;
(2)53的软件项目进度通常要延长一半的时间;(3)通常只有9的软件项目能够及时交付并且费用也不超支。
五、软件项目管理的特殊性五、软件项目管理的特殊性软件是知识产品,进度和质量都难以度量,生产效率也难以保证。
软件系统的复杂程度也是超乎人们的想象。
例如,宇宙飞船的软件系统源程序代码多达2000万行,如果按过去的生产效率一个人一年只能写1万行代码的话,那么需要2000万人年的工作量。
因为软件如此复杂和难以度量,软件研发项目管理发展还很不成熟。
六、六、PSPPSP能告诉我们什么?
能告诉我们什么?
CMM提供一个软件过程改进框架提供“应该做什么”。
PSP提供应该怎样做?
提供有关实现关键过程域所需要的具体知识和技能。
时间管理(timemanagement)进度管理(managingschedules)程序缺陷(programdefects)代码复查(codepreview)产品质量(productquality)七、应用七、应用PSPPSP的好处?
的好处?
根据对参加培训的104位软件人员的统计数据表明:
应用PSP软件中总的缺陷减少58.0%测试阶段发现的缺陷减少71.9%生产效率提高20.8%八、八、PSPPSP定义定义定义:
是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。
PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立。
(1)说明个体软件过程的原则;
(2)帮助软件工程师作出准确的计划;(3)确定软件工程师为改善产品质量要采取的步骤;(4)建立度量个体软件过程改善的基准;(5)确定过程的改变对软件工程师能力的影响。
PSPPSP的定义的定义(续续)CMM1.1的18个关键过程域中有12个与PSP有关。
(1)软件项目开发成本的70%取决于软件开发人员个人的技能、经验和工作习惯。
(2)统计数据表明,应用PSP后,软件中总的差错减少了58,在测试阶段发现的差错减少71,生产效率提高20。
PSPPSP的定义的定义(续续)PSP0当前软件过程当前软件过程工作时间记录工作时间记录程序缺陷记录程序缺陷记录缺陷类型标准缺陷类型标准PSP0.1编码标准编码标准软件规模度量软件规模度量过程改善建议过程改善建议PSP1程序规模估计程序规模估计测试报告测试报告PSP1.1任务规划任务规划进度安排进度安排PSP2代码评审代码评审设计评审设计评审PSP2.1设计模板设计模板PSP3循环开发循环开发个体度量过程个体度量过程个体规划过程个体规划过程个体质量管理过程个体质量管理过程nPSPPROCESSEVOLUTION个体循环过程个体循环过程九、九、psppsp的知识域的知识域
(1)
(1)个体度量过程个体度量过程PSP0PSP0和和PSP0.1PSP0.1PSP0建立个体过程基线:
学会使用学会使用PSPPSP的各种表格采集过程的有关数据的各种表格采集过程的有关数据执行软件开发单位的当前过程执行软件开发单位的当前过程,包括计划、开发(包包括计划、开发(包括设计、编码、编译和测试)以及后置处理三个阶段括设计、编码、编译和测试)以及后置处理三个阶段测定软件开发时间,按照选定的缺陷类型标准、度量测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数和排除的缺陷个数等,用作为测量在引入的缺陷个数和排除的缺陷个数等,用作为测量在PSPPSP的过程中进步的基准。
的过程中进步的基准。
PSP0.1增加编码标准、程序规模度量和过程改善建议等三个关键过程域过程改善建议表格:
随时记录过程中存在的问题随时记录过程中存在的问题解决问题的措施以及改进过程的方法解决问题的措施以及改进过程的方法提高软件开发人员的质量意识和过程意识提高软件开发人员的质量意识和过程意识
(1)
(1)个体度量过程个体度量过程PSP0PSP0和和PSP0.1PSP0.1
(2)
(2)个体规划过程个体规划过程PSP1PSP1和和PSP1.1PSP1.1PSP1的重点是个体计划引入基于估计的计划方法PROBE(PROxyBasedEstimating),用历史数据来预测新程序的大小和需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。
PSP1.1增加任务和进度的规划。
(3)(3)个体质量管理过程个体质量管理过程PSP2PSP2和和PSP2.1PSP2.1PSP2重点是个体质量管理根据程序的缺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个体 软件设计