分享到:

设计一个好的开发框架

框架是一种特殊的软件,它在软件开发中有很高的重用性,同时它也需要高超的设计技巧。软件组织,使用框架来积累知识,对推动软件开发是一种有效的方式,那么,什么是框架呢?在设计模式中,Gamma等人为框架给出了一个定义: “框架就是一组协同工作的类,它们为特定类型的软件构筑了一个可重用的设计。”因此,框架是针对特定的问题领域的。 $$框架包括了一组抽象概念,这些抽象概念来源于问题领域。例如,struts是基于MVC模式进行设计的,所以它必须为model、view、control建立抽象概念。框架使得这些抽象概念相互协作,并提供了一种扩展的形式,以实现重用。这是框架的具体工作。框架在抽象概念上进行工作,定义抽象概念之间的协作方式。框架和普通软件或是类库的区别就在于,用户通过扩展框架来重用该框架。这些扩展点的设计称为框架设计的核心。例如,在struts1.0中,采用的是类继承的扩展方式(对Action进行扩展)。 $$框架对软件开发...  (本文共2页) 阅读全文>>

《程序员》2010年04期
程序员

借鉴丰田方法对大型软件组织进行敏捷改造(下)

在上篇基础上,详尽介绍了QWS团队进行的持续改善,为大型软件组织的敏捷改造指明了道路。上一期的文章里,我介绍了由百余人组成、工作在2000万行规模的代码库上的QWS团队如何在Thoughtworks咨询师的帮助下,由原本混乱低效的状态达到能够稳定有序地交付工作软件的状态。此时,持续改善才刚刚开始。俪呱重森{{橇}石代表造成浪费的问题。精益的过程就是不断降低水位看清问题,解·决问题的过程。当批量规模减小、交付周期缩短之后,湖水中的岩石一就会基落出来,这样就可以迫使管理层处理水位降低之后发现的岩石.(问题)。如果周期太长,我们就一看不清我们的问题在哪里。当配置管理、持续集成等最严重的问题得到解决之后,QWS的管理者们开始隐约流露出自满情绪:“我们应该可以按期交付了,我们已经做得很不错了。”此时,帮助团队建立持续改善的目标,识别当前最高优先级的改善点,成为顾问组的首要任务。精益生产大师常讲的“湖水和岩石”的故事同样适用于软件行业。在制...  (本文共3页) 阅读全文>>

《甘肃科技》2007年04期
甘肃科技

软件体系结构与软件组织管理

随着软件体系结构等先进软件工程理论和方法的引进,我国软件生产和项目开发的工程化管理水平正在逐步提升,这有力地促进了我国软件产业的发展。但无论是与美国、印度等软件生产强国,还是与建筑业、制造业等成熟行业相比,其差距仍然十分明显。造成这种差距的主要原因之一是我国软件组织管理水平相对落后。影响软件产品或项目成败的主要因素包括软件体系结构、过程和组织三个方面,其中软件体系结构是决定软件产品内在质量的核心因素,合理的开发过程与高效的组织管理则是软件体系结构乃至软件产品、产品线成功的重要保障[。1]因此就产生了以软件体系结构为中心的软件开发和组织管理方式。1软件体系结构决定软件产品质量软件体系结构既是一个设计计划,也是对于设想要实现的产品的抽象。软件质量可从它的运行特性、它承受改变的能力和对新环境的适应能力三方面进行衡量[2],它们都与软件体系结构密切相关。1.1软件体系结构是软件系统受益者进行交流的手段软件体系结构是一种常见的对系统的抽象...  (本文共3页) 阅读全文>>

上海交通大学
上海交通大学

知识管理在软件组织中的应用研究

在知识经济时代,企业开始关注知识管理。知识管理是一个复杂的过程,涉及到企业的方方面面,是将企业的智力资本转化为价值的一系列过程,包括知识的创造、获得、组织、应用、共享和更新等。进行知识管理,不仅需要有技术和工具的支持,更需要组织工作方式的变革。由于知识管理的目的并不仅仅是保存知识,更重要的是通过有效的方法促进人们利用知识,而当今的知识管理在一些知识管理厂商的推动下成为了一些技术和工具的堆砌,形成了工具和技术越来越多,但知识依然分散在组织的各个角落,没有得到合理的管理和利用。组织在知识管理上的投入没有得到真正的产出。同时知识管理本身是门跨学科的领域,不同的专家从各自的视角提出多种理论,目前缺乏明确的具有指导具体行业实施知识管理改进的理论。以上这些问题导致在一些以项目运作的软件组织中实施知识管理,遇到理论上缺乏具体改进步骤上的指导,在具体知识识管理改进工作上没有抓住对于组织来说最急迫的和产生最大效益关键点。技术上容易陷入众多知识管理...  (本文共68页) 本文目录 | 阅读全文>>

《程序员》2010年03期
程序员

借鉴丰田方法对大型软件组织进行敏捷改造(上)

WS是一款电信交换机产品,其软件部分用C语言开发。经过长期的发展演化,当本文所述的咨询项目开始时,QWS的总体代码量已经超过2000万行,代码库体积超过4GB。本咨询项目所涉及的版本需要新开发的代码量约90万行。QWS的版本交付团队大致由90名开发人员和30名测试人员组成。这支交付团队又按特性和模块划分为6个特性团队和2个任务团队,共计8个子项目组。每个项目组分别有一个SVN工作分支,项目组成员将代码提交到分支,项目经理再负责将分支代码合并到主干。在Thoughtworks顾问组进入该团队之时,这支多年沿用CMM方法的团队正在自行尝试敏捷方法,刚刚开始第一个为期3周的迭代。但这第一个迭代并非一帆风顺。一方面,由于团队从来没有迭代交付的习惯,开发人员在编码阶段忽视质量,导致提交到SVN的代码有时甚至不能编译,即使编译出软件大多也存在严重功能缺陷,无法进行测试;另一方面,由于团队成员对SVN缺乏了解,多个分支的配置管理遇到了极大的困...  (本文共4页) 阅读全文>>

《中国质量》2002年06期
中国质量

ISO9001:2000版国际标准在软件组织的应用

随着信息产业的飞速发展,计算机硬件按照摩尔定律18个月集成度增加一倍而成本下降一半,运算能力呈指数增加。硬件的快速增长使软件的需求激增,软件的复杂性和规模也与日剧增。而软件作为计算机系统中的逻辑部件,其开发过程的进展和开发质量是较难评价的,故在软件开发和维护过程中遇到了一系歹J的严重问题: (l)软件开发成本和进度的估计常常不准确,降低了软件组织的信誉; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往不稳定,导致软件产品常常发生质量问题; (4)软件常常是不可维护的,可再用软件是难以实现的; (5)软件通常没有适当的文档资料,给软件开发和维护带来许多困难和问题; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产率提高速度远远跟不上计算机应用迅速普及及深人的趋势。 为解决“软件危机”,软件组织引人软件工程过程管理和软件工程过程改进的概念,以指导软件的设计开发和维护。软件工...  (本文共4页) 阅读全文>>