用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

面向对象软件过程质量控制

作者:李晓华   提交人:项目管理者联盟[李晓华]   属性:提交人转载   发布时间:2010/10/8   点击:3575   【收藏本文

  软件作为一种逻辑组织,其发展趋势是规模越来越庞大,复杂程度(时间复杂度,空间复杂度)越来越高,求解领域越来越广泛。传统的结构化软件开发方法的求解能力已远远不能满足自然界客观存在的需求,因为面向结构的软件过程所采用的方法是函数或子程序的调用,其所表示的关系是函数或子程序间的依赖关系,用这种方法很难描述自然界中客观对象的属性(attribute),行为(behavior)和关系(relationship),而且当用结构化方法所开发软件的规模大到一定程度时,其维护和修改的难度、成本呈指数级增长趋势,软件的可维护性、稳定性、可靠性急剧下降,直至令人无法忍受。这就给面向对象的软件开发方法和过程提供了生存空间、机遇和环境,因为面向对象的软件开发方法是通过对象(object)这样的逻辑实体,用类似于人类思维和自然语言的方式来摸拟和描述自然界中客观实体的属性、行为和相互关系。面向对象软件开发方法的任务就是要表达对象的属性、行为和对象间的相互关系,是对自然界的逻辑摸拟,但是,如果对面向对象的软件开发过程不加以系统管理和有效控制,就很难保证软件开发质量、进度和成本在可接受的控制范围之内。软件开发正在走向工程化,软件被看成是软件工厂生产、制造出来的产品,所以把ISO9001:2000过程质量控制的理念应用于软件开发过程, 用工程化的方法来组织和运作软件开发、控制软件质量就水到渠成了。项目管理论坛

  按ISO9001:2000过程的定义,面向对象软件过程需要有过程客户、过程目标、过程环境、过程输入、过程处理、质量检验、过程输出等过程元素。项目经理博客

  面向对象的软件开发过程可分为获得需求、需求分析、架构设计、详细设计、编码、测试、维护七个阶段,每个阶段又可看成是一个子过程,每个子过程又包含了一系列的活动(activities)。七个子过程按顺序依次相连,每个子过程的输出是下一个子过程的输入。每个子过程是其下一子过程的原料供应者,同时又是其上一子过程的客户。关键子过程(KPA)是需求分析子过程、架构设计子过程和详细设计子过程。项目管理者联盟

  面向对象的软件过程的最终目标是:软件不但能够满足客户的当前需求,而且还要能够满足未来客户需求变化的需求,还要适应未来软件运行支撑环境的发展和变化, 所以,开发的软件要具有很好的演化能力来适应这些变化。 面向对象软件过程的最终客户是软件使用者及相关利益人。转自项目管理者联盟

  子过程内部客户是需求分析子过程中的系统分析师。内部目标是充分获取客户需求,可能是合理需求,也可能是不合理需求。参加人员有:客户需求调查员,领域专家,系统分析师。子过程输入是软件开发合同、协议和可行性论证。子过程处理活动:调查员和系统分析师到甲方进行客户需求调查和采访,必要时请领域专家(可能来自第三方,也可能来自甲方)参加。获得客户需求的途径有:采访录音(征得甲方同意),填表格,观察甲方现场工作情景,画用例图(use case diagram),制作原型(prototype)等。将获得的客户需求以文字、图表的形式记录下来,并让客户进行验证和确认,可修改,直至客户认可。获取用户需求过程中的一条原则就是不争论,不分析,把用户提出的需求都记录下来。所获得的原始客户需求就是获得需求子过程的输出。项目经理博客

  内部客户是架构设计子过程的软件架构师。内部目标是充分表达出客户的必要合理需求。参加人员有系统分析员和领域专家。内部输入是获得需求子过程的输出,即所获得的原始客户需求。需求分析活动有:系统分析员运用自己所掌握的系统分析技术、软件工程知识、经验、技巧,在领域专家的协助下,对原始客户需求进行需求技术分析和论证,归纳客户的合理需求,去掉不合理的需求,增添客户没提到的必要合理需求,并形成客户需求规格说明书(requirement specification)。子过程的验证和确认工作由客户和系统分析员共同完成,验证的指标是:分析得到的客户需求的充分性、合理性、必要性、完整性、前瞻性。子过程的输出是:用例图(use case diagram)、协作图(collaboration diagram)、分析类图(analysis class diagram)、需求规格说明书。需求分析子过程是面向对象软件过程的关键子过程(KPA),因为面向对象软件过程是用例(use case)驱动的,面向对象软件过程的一切子过程都要围绕满足客户需求(ISO9001:2000的客户至上原则)来运作,而用例(use case)就是反映和描述客户需求的,所以若需求分析做不好,将直接影响到软件的最终质量,软件无法满足客户需求,导致软件开发失败。项目管理者联盟

  内部客户是详细设计子过程中的设计师。内部目标是获得所开发软件的健壮的(robust)软件架构。参加人员是软件架构师。内部输入是需求分析子过程的输出。子过程的处理活动包括:软件架构师根据上一子过程生成的用例图、协作图、需求规格说明书、分析类图,运用软件架构设计知识和经验设计出所要开发系统的软件架构(software architecture)。软件架构的设计粒度是构件(component),构件是可分布的物理单元,只要不同的构件实现了相同的接口,那么构件可以相互替换。保证架构设计质量的准则有:构件本身要保持高内聚性(high cohesion);构件间要保持低耦合性(low coupling);定义构件间的通讯机制(同步、异步、本地调用、远程调用)和通讯协议;构件内部类与类间的依赖关系和方法调用要做到对构件外部来说是透明的;每个构件只留有适量的接口供其他构件调用;设计构件的接口时,既要使构件间的交互方便,又要隐蔽构件内部的细节信息, 这样做的好处是降低面向对象软件过程的复杂度,提高对软件过程的可控制程度和软件的安全性,可运用代理(agent)或门面(facade)设计模式来设计和实现构件;把软件相对较稳定部分做到架构里,这包括软件的核心功能性需求和大部分非功能性需求。软件架构的设计准则可提高和保证软件的健壮性,另外使用已有的软件架构风格(software architecture style)也可提高软件的健壮性,如:管道过滤器(pipe filter)、顺序批处理(batch sequential)、分层(layers)、黑板(blackboard)、解释器(interpreter)等。面向对象软件过程是以架构为中心的,架构是软件的生命基线和骨架。架构设计子过程所设计出的健壮的软件架构能够保证软件的持续改善(continual improvement),这是软件开发的最高境界,也是具有挑战性的领域。 因为客户的需求是时间的函数,是随着时间变化的,而且软件运行的软硬件支撑环境也在快速发展和变化着,如果软件没有一个健壮的架构,那么软件将很难根据客户需求的变化进行扩展和维护,且软件的安全性、稳定性、可靠性、可复用性也很难得到保证,这些都是客户无法接受的,所以按ISO9001:2000的以客户为中心、客户至上的原则,设计健壮的软件架构是极其必要和重要的。架构设计子过程的内部输出有:构件图(component diagram)、分布图(deployment diagram)。子过程的检验标准是软件架构美好的可视性(安全性、稳定性、可靠性、可复用性、可维护性、可移植性),验证和确认由架构师和系统分析师做,方法是测试已生成的软件架构,根据架构设计准则来衡量架构是否满足最终用户的主要的功能性需求和大部分非功能性需求。项目管理论坛

  内部客户是编码子过程中的程序员。内部目标是设计良好的类、类与类间的关系。参加人员有设计师和架构师。子过程的输入是架构设计子过程和需求分析子过程的输出。 设计处理活动:设计师运用面向对象分析与设计知识、经验和技术,设计结构良好的类、类与类间的关系。保证面向对象设计质量的经验准则有:类(class)是一级抽象,即它可直接实例化出对象(object);类元(meta class如:模板类)是二级抽象,即它直接实例化出来的是类而不是对象;类要保持高内聚性(high cohesion),类与类间关系要保持低耦合性(lowcoupling);类本身的接口是类的方法的可视性(public、protect、private);定义类间的消息通讯机制(同步、异步、本地调用、远程调用)和协议;运用专家、控制者、创建者等类职责分配模式确定类的职责(类的方法);必要时使用设计模式,一设计模式是某类软件设计问题的通用解决方案,如:适配器、代理、装饰器、门面、组合、抽象工厂等设计模式,使用设计模式可提高系统的安全性和效率,但同时也增加了系统的复杂性,所以,是否使用设计模式要根据实际情况,权衡利与弊;接口类的作用是推迟实现与绑定,为提高系统的灵活性和可扩展性,可适量使用接口,但使用接口会在某种程度上增加系统的复杂性和降低系统的效率;不要仅仅只为了代码复用而使用类继承, 因为继承是最强的类间耦合关系, 所以这种复用是最糟糕的复用, 得不偿失;尽量避免使用多重类继承和多层类继承, 因为多重类继承和多层类继承在父类的方法重名时易导致混乱和难以理解;为类的方法设计算法时,要衡量算法的时间复杂度和空间复杂度,使两者被控制在可接受的范围之内;设计时用的建模语言,如UML在不断地发展和完善,还有一定的局限性,所以在设计时对UML目前还无法表达出的设计思想要采用适当的方式记录下来,使设计不被建模语言的局限性所限制;在详细设计子过程做得足够稳定后才过渡到编码子过程, 因为设计结果的易挥发性会导致后续子过程的混乱不堪、危机重重,甚至无法继续进行。详细设计子过程的输出是设计类图(design class diagram)、对象状态图(object state diagram)以及相关设计文档。设计子过程的验证和确认工作由架构师、系统分析师和设计师完成,根据设计准则来测试已生成的设计成果是否满足最终用户的功能性需求和非功能性需求,以检验设计的有效性。PgMp.mypm.net

www.mypm.net


<<上一页 1 下一页>>
项目管理者联盟PMP认证中心
[相关文章] [网友互动]
·如何进行项目质量控制? (1302)项目管理者联盟04-27
·项目不同阶段的质量控制 (2739)项目管理者联盟12-20
·项目产品开发如何做好质量控制 (8635)项目管理者联盟06-24
·设计院项目经理如何做好质量控制 (6999)项目管理者联盟04-25
·工程质量控制的几点思考 (3973)项目管理者联盟07-06
·产品设计开发中的质量控制要点 (3385)项目管理者联盟06-30
·现代建筑工程施工管理中关于质量. (2619)项目管理者联盟03-13
·工程项目过程中的质量控制 (2786)牛刚02-09

03-23[帖子] 怎么区分质量保证和质量控制? (6342)
01-11[帖子] 电动汽车质量控制系统与国津BSM (6060)
12-12[帖子] 试论沥青砼面层施工质量控制 (1218)
04-05[帖子] 碧桂园项目总分享:工程进度.工程质量控 (8375)
10-20[帖子] 软件外包的形式与质量控制 (1715)
05-02[帖子] 浅析沥青路面施工中质量控制措施 (23180)
05-01[帖子] 浅谈建筑工程中混凝土的施工质量控制 (4590)
05-01[帖子] 浅析高层建筑混凝土施工要点及质量控制. (2991)
[发表评论]
本站热点
· 华师大CTO学院:科创生态建设与创新项
·宏发电声江玫瑰谈PgMP:“下好一盘棋”
·PgMP:交付能力与创造未来的项目管理方
·开放讲座|《项目组合管理与PfMP认证》
·开放讲座|项目组合管理与PfMP认证
·开放讲座|PgMP:项目管理思维与方法论
·开放讲座|《项目组合管理与PfMP认证》
·网络讲座|《项目组合管理与个人职业发展》
·开放讲座|《项目组合管理与PfMP认证》
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
活动QQ群:531390275
免费积累PDU,仅500人

2022年项目管理活动计划
2021活动精彩回顾
原创排行榜
 项目管理评论杂志 311 高扬 106
 乔东 100 项目管理 84
 高国伟 61 人月神话 60
 张为 59 郭致星 52
 蒋昕炜 46 肖杨 38
 曾伟强 37 潘德有 36
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦

企业项目化管理

PMO实践与应用

如何处理项目客户关系

更多:
经理访谈
更多:
个人专栏

王树文

赵春明

高国伟

更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
09-02·项目集管理:构想一种不同.
08-17·项目经理“催活儿”的正确.
08-17·建筑工程项目管理中施工现.
08-17·进阶项目经理必备的复盘方.
08-17·项目管理协会PMI发布新人才
08-17·互联网大厂项目经理面试的.
08-17·项目经理要如何提高自己的.
08-17·管理改进中几个确实有用的.
08-17·项目经理提升职场能力的20.
06-14·项目经理搭建团队,需要看.
06-14·5A学员董雏:PMP取证重要,
06-14·成功管理能源项目的技巧和.
06-14·拥抱敏捷—计划发布与冲刺
06-14·从PMP到PgMP :不畏浮云遮.
06-14·这30+项目管理工具,优秀项
06-14·深度剖析项目管理五大痛点.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接

项目管理者联盟 版权所有 | 京ICP备10055250号-11 | 京公网安备 11010202009440号

如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
PMI,Project Management Professional, OPM3, PMBOK, PMP,PgMP,PfMP,PMI-ACP,PMI-PBA
and the PMI Registered Education Provider logo are registered trademarks of the Project Management Institute, Inc.