《非程序员》电子杂志下载(1-22期)

Posted UMLChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《非程序员》电子杂志下载(1-22期)相关的知识,希望对你有一定的参考价值。

在2001-2005年间发布的免费电子杂志《非程序员》,杂志从“软件以用为本”出发,重点关注软件需求和设计技能。杂志发行到51期后停刊。许多内容到今天依然有参考价值。

全51期-百度网盘下载>>

http://pan.baidu.com/s/1bnHE5mn


第1期下载>>

http://www.umlchina.com/xprogrammer/XProgrammer1.pdf

《非程序员》电子杂志下载(1-22期)

千年决心,Scott Ambler

......在新千年的开始,让我们花点时间为自己的事业下点决心。

【访谈】

Dassault Aviation为业务的成功实施面向对象技术和UML

......Dassault Aviation是行业领先的跨国军用和民用航空产品的制造商

【方法】

用Use Cases捕获需求,Pete McBreen,苏康胜

......Use Cases是非常有效的需求捕获技术,它能使需求变得容易回顾,并且避免在需求中有实现细节的偏好出现。

《分析模式:可重用对象模型》前言和介绍(笔记版),Martin Fowler,Windy J

......重用才刚刚开始,更多的是在GUI开发和数据库交互上,还没有出现的地方是在业务级。

【过程】

参与变革,Lisa J. Roberts,mirnshi

......论述了为什么要建立可重用过程以及从中得到的好处。

创建成功的工程,Bruce Eckel,Hairui

......以下工程开发指导是我对决定一项使用任何语言的软件工程成功与否的决定因素的一些认识。

更好地领导一个项目的诀窍,Warren Keuffel,Think

......技术管理就像开车。当你做得正确时,没有人注意,一旦某个环节出错,问题会接踵而来。

【工具】

选择一种UML建模工具,objectsbydesign,think

......以下标准用于评估一种UML工具。

【服务】

国内出版的软件工程书籍一览


第2期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer2.pdf

《非程序员》电子杂志下载(1-22期)

【方法】

用UML设计Java应用程序,Hans-Erik Erikkson, Magnus Penker,刘忠

......本文的案例学习提供了一个例子,说明如何将UML用在现实中。一个处理图书馆借阅和预定图书和杂志的应用程序,可以大到足够检验UML解决现实问题能力的程度。但是如果太大的话,则不适合在杂志上发表...

《分析模式:可重用对象模型》学习笔记之二:责任模式,Martin Fowler,Windy J

《分析模式:可重用对象模型》学习笔记之三:观察与测量,Martin Fowler,Windy J

......许多计算机系统记录现实世界中各种对象的信息,这些信息通常表现为计算机系统中的记录、属性、对象等其他各种各样的形式。最典型的方式是把某项信息记录成某个对象的一个属性,例如,一个人体重70公斤记录成“人(Person)”类的体重(Weight)属性,值为70。本章将讲述这种方式的不足,并提出一些更合理的解决方法。...

用户需要什么-软件的工程可用性,Larry L. Constantine,Huang Yin

......并不是行业中认为可用性不重要。新的用户界面窗口小部件和GUI开发工具的广告充斥了商业杂志。关于用户界面设计的书在书店里的书柜中排列成行。所有的软件公司都详细地描述他们在昂贵的可用性试验支持下的用户界面测试程序。我们过多的关注用户界面设计--对于一些项目而言几乎是预算的三分之二--但仍然与项目的目标谬之千里。肯定在某些地方出了问题。......

【过程】

深刻理解CMM-成功的关键,蓝尔公司

......当看到国内众多软件企业正轰轰烈烈进行CMM二级评估(评估的费用昂贵),我们想,大概美国人在笑。...

项目管理规范-RUP管理实施 (1),李杰

......此规范是基于CMM模型规范,以RUP软件工程过程为蓝本,由我本人根据项目实际情况而选择修改

成功项目管理的秘密,Karl Wiegers,Shids

......在最好的情况下,管理软件项目也是很困难的。不幸的是,许多新项目经理实质上没有受到任何就职培训。这里有20个成功的管理经验供项目经理参考。...

【工具】

UML相关产品价格,ObjectsByDesign,Cliff


第3期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer3.pdf

《非程序员》电子杂志下载(1-22期)

【方法】

模式的讨论FAQ,Doug Lea,Qian_x_j

......本文的话题提炼并精简于模式讨论列表,格式为问答方式

Abstract Class模式,Bobby Woolf,透明

......为一个类体系(hierarchy)定义接口,并将具体实现交给子类。

Document-View-Presentation模式,Ku-Yaw Chang等,透明

......本模式建立在Document-View模式的基础上,并且很有效的将翻译函数与翻译结果的输出相解耦。

Role Object模式,Dirk Bäumer等,透明

......每个角色对象扮演了组件对象需要在一个用户的环境(context)中扮演的角色

Matcher-Handler模式,Frank Metayer,透明

......用一种松耦合的方式将原始数据分发传递给一个或多个数据处理器。

Alternator模式,John Liebenau,透明

......在一个层次化结构中允许多个候选子树

Authenticator模式,F. Lee Brown, Jr.等,透明

......描述了一个一般性的机制,它为服务器提供了对用户的身份鉴定与认证方法。

用户需要什么-软件的工程可用性(二),Larry L. Constantine,Huang Yin

......为何要问“为什么”?因为只有询问了用户为什么要用这个系统之类的问题才能帮助

【过程】

项目管理入门,Karl E. Wiegers,mirnshi

......终于来到了:从工程师的队伍里你被提拔到了软件项目领导或者团队领导的位置。

项目管理规范-RUP管理实施(二),李杰

......此规范是基于CMM 模型规范,以RUP 软件工程过程为蓝本,由我本人根据项目实际情况而选择修改


第4期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer4.pdf

《非程序员》电子杂志下载(1-22期)

【方法】

用例的使用误区:管理需求之一,Dr. Timothy Korson,James Zhong

......如果我发现另一个小组以“用例驱动方法”名义如此行事,真想在下届Object Expo(对象博览会)时,由一支行刑队带着蒙着眼睛的整个小组去面对公众执行枪决!

构造用例过程:管理需求之二,Dr. Timothy Korson,June Fourteenth

......这次我将阐述一下误解和滥用最常发生的部分,即用例的构造(Configuration)过程。

创建有用的用例:管理需求之三,Dr. Timothy Korson,June Fourteenth

......他仍认为在他部门的编程人员应该具备可以解读这一切的基本知识。“没有任何雷达专家会犯如此基本的错位”,他坚持说。

《分析模式:可重用对象模型》学习笔记之四:企业财务分析中的观察和测量,Martin Fowler,Windy J

......是要发现这些问题的根源却比较困难,因为这样的企业会产生大量的信息,以至于很容易分析人员就被淹没在这些信息当中了。

勇于直面需求变更,Windy. J

......针对当前软件系统建设中普遍存在的需求变更问题提出了自己的见解

掌握可用性规则,Lucy Lockwood,Nothing

......下面这些规则将能帮助开发小组提高项目界面设计的质量。

【过程】

在小型软件开发组织中使用CMM,Mark C. Paulk,张俊

......CMM SM 是适用于小工程项目和小规模组织的经剪裁的CMM 版本。

项目管理规范-RUP管理实施(三),李杰

......此规范是基于CMM 模型规范,以RUP 软件工程过程为蓝本,由我本人根据项目实际情况而选择修改

威赛儿商务通系统开发员手册,苏康胜

......为了保证商务通系统项目开发成本优化并且有利于将来的扩展及重用


第5期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer5.pdf

《非程序员》电子杂志下载(1-22期)

【方法】

面向对象分析和设计技术,Martin Fowler,easehawking

......在早期使用一种技术时你倾向于按着书来做。一旦你习惯之后你会发现它并不按你喜欢的方式去做。别犹豫去改变事物。技术是为你服务的,而不是相反。如果你觉得某些构想没帮助,那就别用它们。如果你需要某种有用的构想,那就加上它吧...

数字录音机设计方案,Ivan Porres Paltor,Johan Lilius,乐林峰

......本文内容是采用统一建模语言(UML)对一个嵌入式系统进行面向对象分析和设计的实例。被分析的系统是一个数字录音机或称口授留声机。设计实现采用一个嵌入式微处理器和C++编码...

怎样避免用例陷阱,Susan Lilly,qian_x_j

......我们应该能够扫视用例模型,并且列举那些在用户使用系统中想要做的事。这些并非是琐碎的用户的交互,而是真正的目标。选择那些反映附带的行为,而不是真正的角色目标,会导致过多的用例,并且导致用户的问题表述同基于用例的需求规格的脱离...

使用UML设计数据库应用,Michael Blaha,张启鹏

......范式对于基于面向对象(或基于实体)的开发不是很重要。如果你采用OO方法并且你的模型经过很好的构思,那你就正在把数据组织成为有意义的单位,也在本质上满足了范式的规定。如果你愿意,你仍能够检查范式,但这样的检查是不必要的...

【过程】

统一变更管理的威力,Brian White,James Zhong

......本文针对UCM的诸多能力及优点,权作抛砖引玉。从根本上讲,软件项目变更管理流程--通过Rational ClearCase和Rational ClearQuest来自动化--提升了抽象级别,以及通过将现实世界对象引入到CM系统中的自动化可行性...

项目管理规范-RUP管理实施(四),李杰

......在项目开发过程中,最麻烦的就是个别'高手'的要胁。这种'高手'掌握了系统关键的部份,并且此时无人可替,非他不可,这时'高手'借机要求加薪,升职...


第6期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer6.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina和《设计模式》作者John Vlissides交流实录,透明,think,Qingrun 整理

......我认为在分析模式和设计模式之间有非常多的关系。同样的关系也存在于分析和设计之间。你不能将分析从设计中独立出来,如果你打算这么做,那么你一定会失败的。分析模式捕捉反复出现的领域建模问题的通用解决方案;设计模式捕捉反复出现的程序设计问题的通用解决方案。...

【方法】

Temporal(时效) 模式,Andy Carlson, Sharon Estepp, Martin Fowler,透明

......在面向对象设计中,我们不断使用"对象"(object)这个词。对象不仅仅用来表现真实世界中存在的物件,它们也被用来表现那些曾经存在但已经消失了的物件,以及那些可能存在于未来的物件。上述的要求给我们的建模工作提出了一个特别的挑战,因为如果建模者必须考虑物件随着时间的变化情况,出现在某一特定时间点的对象的复杂度就会大大增加。...

Java 中的Singleton (上),石一楹

......在面向对象的程序中,某些类只需要一个实例。譬如,在一个窗口应用程序中,我们只需要一个主窗口。又如在一个数据库应用程序中,我们往往希望将所有的数据库连接集中于一处,并能为整个程序所使用。...

建模鸡汤,Scott Ambler,乐林峰

......我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?将下列原则应用到你的软件工程中,你会获得立杆见影的成果。...

【过程】

回顾过去,展望未来,Karl Wiegers,Johanna Rothman,亚玲

......回顾,这种小小的投资,将几乎肯定地获取比它大的收益。在今天速度驱动和有明显交货底线的开发世界里,你无法承受重犯过去的错误和一个项目接一个项目地遇到相同的意外。...

功能点过程,Adams Wang

......本规程的目的是基于软件需求产生软件规模的估计。功能点是基于应用软件的外部、内部特性以及软件性能的,一种间接的软件规模的测量。...

【工具】

CASE工具赛马,Gary K. Evans,张启鹏

......正在搜索完美的面向对象建模工具?谁不是呢?那些由开发者创建并且也是为开发者创建的工具,总是承诺即将是成熟的产品,却鲜有实现。随之,我们已经学会了讨厌它们,但又不能离开它们。在过去的五年里,OO世界已经从工具能力令人绝望的缺乏,变成令人困惑的选择过剩...


第7期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer7.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

交互设计之父Alan Cooper访谈,uidesign.net,亚玲

......拯救这个世界 -- “一点一滴地”...“让人做他们胜任的事情,让计算机做他们真正胜任的事情。”...

【方法】

模式与XP,Joshua Kerievsky,Gigix

......由于我继续学到更多关于XP的知识,我很快开始考虑这样一个事实:那些清楚介绍"XP是什么"和"XP如何工作"的人毫不提及模式。看起来,焦点已经全部从开发转向了重构。构造一点,测试一点,重构一点,然后再重复。那么,模式怎么了?...

预订和使用可重用实体的分析模式,Eduardo B. Fernandez,Xiaohong Yuan,Shane

......一个客户(个人或机构)需要预定一个可重用的实体(如旅馆房间、车辆、演出座位)供他随后使用。...

仓库管理器:一个库存的分析模式,Eduardo B. Fernandez,邓克

......现代制造系统中,制造过程中所涉及信息的管理已经成为降低产品成本,提高产品质量的一个关键因素。很多公司和机构在这个领域投入了大量的资源,制造资源计划系统(MRP)已经变得重要了[Salv92]。库存是MRP系统中最重要的一部分,用来跟踪目标对象的数量和位置。...

使用模式集成UML视图,Alexander Egyed,davidqql

......视图集成的主要的障碍是缺乏完好定义的(工程的)模型基础。视图经常使用迥然不同的表示信息方法,而这使得确定它们在哪里和怎样出现重叠非常困难。这样,组合和比较视图的任务经常是手工的而且潜伏着错误的。集成框架的目标是要补偿鉴别和解决体系结构不匹配自动化辅助手段的不足。...

【过程】

项目经理面试指南(上),Patricia L. Ferdinandi,zhoufang

......本文的目的是为应聘项目经理提供帮助。项目管理是升迁的途径,需要运用你过去的开发经验,而且薪水通常高于程序员。应聘项目经理的准备工作包括:复习一些常用的概念、术语,问自己一些在面试中经常问到的问题。学会运用一个或多个项目管理计划编制工具。通过以上的准备,将为你应聘这个职位增加信心。...

《人月神话》节选,Fred Brooks,Adams Wang


第8期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer8.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

Ivar Jacobson访谈,Adriano Comai,Tang Xiaoming

......我想最接近的东西是通信案例这个想法。但是我必须指出一点:我因为用例而出名,这的确是事实,但是1967年我们有基于组件的开发方式的时候,用例还没有诞生。因此基于组件的开发是我一生一直在努力的东西。另外一个是体系结构,我的意思是指真的先辨别出一个体系结构---在做任何事以前。...

UMLChina访谈高焕堂:恢复中华民族设计自己产品的信心

......我想更合理的是:一开始,不必使用include或extend, 因为增加了很多初学者的困扰. 初学者常常分不清Use Case与SubSystem两者之间的关系,常把include看成模组之间的呼叫关系。...

【方法】

程序调试的智力游戏,David Burns,史彦军

......对于软件开发人员来说,程序调试实际上就是一种生活。而对于职业程序员来说,"捉虫"是专门描述这个智力游戏的名称。以下是关于"捉虫"和修正的10个建议。...

Chain Constructors,Joshua Kerievsky,透明

......在同一个类的两个或更多的构造子中编写重复代码,这就是在为自己埋下麻烦的种子。别人会在你的类中添加新的变量,然后更新一个构造子来对这个变量进行初始化,但是却忘了更新别的构造子。于是,"砰"的一声,向新的bug问好吧。...

设计模式的理解,Adams Wang

......面向对象指使用离散的对象来构建软件系统;设计模式利用了对象的继承、组合和代理(delegation),在较OOP高的层次上考虑问题。尤其是使用代理来对任何不稳定或不确定的方面,如状态、对象的创建、应用平台等等,进行封装,从而保证了源代码的重用和设计的稳定。...

【过程】

项目经理面试指南(下),Patricia L. Ferdinandi,zhoufang

......问题10:怎样确定人员需求?答案10:不考虑资源限制进行计划开发。在任务旁边加上诸如数据模型制作者,业务分析员和用户等角色。再加上能将任务重叠起来的补充性的资源。在计划中要考虑开发团队包括支持团队和用户代表失去一个或多个资源的情况,要在每个任务上增加15%的余量。要使项目小组的组成容易理解,要有角色所必备的技术水平的说明。

为什么还不编码?,张俊

......您正从事着一项专业品质的应用开发,正处于其设计阶段--您正在和用户面谈,正在记录对象的定义,正在绘制对象的模型--这时--就在这时!--您的老板走过来问道:"为什么你还不写代码?!"--好吧,也许不尽然都是这样露骨的质问--但老板对你缺乏那些在开发进程中眼见为实的东西而心怀不快,却是显而易见的。...

《面向对象项目成功之道》节选,Alistair Cockburn,乐林峰

......"Surviving Object-Oriented Projects: A Manager's Guide"是Alistair Cockburn所著的经典著作之一。它的中文译本《面向对象项目成功之道》即将发行,译者为UMLChina翻译组的乐林峰,这是翻译草稿的片段。...


第9期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer9.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Kent Beck:只是一种正确做事的方法

......XP在长远的未来将变得脆弱及老旧,并且将有某些更好的东西来替换,在50年之内。不管如何,我期望许多XP实践被当做"只是以正确的方式做事情的方法"接受。...

UMLChina访谈Alan Cooper:垃圾,都是垃圾!

......手机不应该成为一团。为什么我需要将键盘举到我的耳边?为什么作为一个和人交流的工具要有号码?我认为手机应当是隐形的,一个带小型麦克风的听筒放在头部。...

【方法】

极端编程中"坏气味"的发现与响应,Amr Elssamadisy,Dr. Gregory Schalliol,herman

......Martin Fowler在他的书"Refactoring"中引用Kent Beck对"坏气味"隐喻,描述如何识别一种早期的警示信号,它们指示程序代码的某一部分必须重写。在本文中,我们希望把这一隐喻扩展到必须重新构造整个软件开发流程的早期征兆。对于大型项目,把重写所包括的所有流程与重构单一的过程相比较,我们觉得错误流程的征兆(坏气味))应该引起更多的关注。...

用创建方法取代多个构造子,Joshua Kerievsky,透明

......某些语言允许你用自己喜欢的任何方式为自己的构造子命名,而不用管类的名字。另一些语言(例如C++和Java)则不允许这样做:每个构造子都必须按照所属的类的名字来命名。如果只有一个构造子,不成问题;但是如果拥有多个构造子,程序员就必须去了解构造子期望的参数、观察构造子的代码,这样才能正确选择自己要使用的构造子。这有什么毛病?毛病太多了。...

【过程】

通过CMM评估的战略,Victor Stachura,zhoufang

......我所在的组织进行CBA IPI时,我会经常做噩梦,但我建议你要放松。如果你已经作了评估过程中的所有工作,那么你就没有什么可担心的了。...

软件项目管理小说《最后期限》(草稿)节选,Tom DeMarco,透明

......是的。我们从六个关键性的项目开始,目标是制造出六个精心挑选的软件产品。我们的最高领袖--元首--亲自挑选出这些产品。而你,你的工作就是让这六个项目和整个机构正常运转。...


第10期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer10.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Martin Fowler

...使用团队自己选择的方法。是团队选择了XP,而不是你强加给他们的。...

【方法】

返璞归真:通过简化用例来简化用户界面,Larry Constantine,harvey

......我们常被问及精简那些最简化、抽象和通用窗体用例的重要性。到底有多重要呢?在以用户为中心的设计中,简化那些重要窗体的用例是获得成功的关键。它能够为开发者设计优秀的用户界面助一臂之力。通过消除不必要的或技术驱动的操作步骤,设计者可以使用户界面上那些最常用或最基本的操作变得简捷。...

对于模式的"十大误解",John Vlissides,透明

......过去,我一直认为第一项是模式最大的好处。现在我认识到,第二条起码也同样重要。请想一想,在一个开发项目的过程中,有多少字节的信息在开发者之间流动(包括口头的和电子的)?我猜就算没有1G也有好几兆。(在推出了《设计模式》之后,我已经收到了好几十兆给GoF的电子邮件。而且我们所描述的还都是小型到中型的软件开发项目。)由于有如此之大的信息交流量,所以效率上任何微小的提升都能大量节约时间。在这个意义上,模式拓宽了人们交流的带宽。我对第三、四条的评价也在逐渐提高,特别是在项目越来越大、软件生存周期越来越长的今天。...

用户界面的交互模式,Martijn van Welie, Hallvard Trætteberg,James Zhong

......由用户界面设计(UID)模式引发的兴趣可追溯至1994年(Rijken 1994,Bayle 1998),但即使存在多种模式集,也未能形成一套被接受的模式集合,即模式语言。似乎缺乏对UID模式的格式及焦点的一致意见。既然UID的模式语言必须在开发足够多的采用同样焦点或"视点"编写的模式后才能出现,它当然没有确立起来。我们认为UID的模式需要一种以可用性为中心的特殊格式。...

糟糕界面集锦-控件篇,iarchitect,bucher

......????没反应--我再"剪切"--我又"剪切"--我"剪切"……却不知道其实早就完成了操作。"雷德蒙(微软总部)里的那些家伙正因为这个被人嘲笑...

用UML描述工作流管理系统规约,Pavel Hruby,wind.deng

...统一建模语言(UML)为描述面向对象系统定义了一系列的标准符号。使用UML增强了领域专家、工作流专家、软件设计者和其他不同背景的专家之间的交流联系。UML可以在普遍的场合使用,对工作流系统的用户而言很直观。除了这些,UML符号具有准确的语义,也就是说可视化的工作流描述可以作为软件规约。这一章侧重讨论了如何使用UML来描述工作流管理系统,如何跟踪从业务流程到面向对象软件设计的描述信息,如何用UML可交互工件来结构化项目知识库。...


第11期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer11.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Roger S. Pressman:CMM不是宗教

......任何过程模型和评估成熟度的相关方法都是有意义的。但是必须避免过分强调过程。每个机构必须自己选择...

【方法】

面向对象开发中的本质用例及其职责,Robert Biddle,zhangxxin

......本质用例(Essential Use Cases)是一种轻量级的方法,它简单明了,不受技术约束,用于沟通用户意图和系统职责,能够有效地捕捉用户界面的设计需求。在设计过程中,使用本质用例从系统职责中提取的关键词汇可以直接作为对象来使用,具有显著的优点。本文描述如何使用本质用例直接驱动面向对象开发过程,并实现与用户界面进行并行开发的方法。...

利用角色扮演和用例卡片进行需求复审,Robert Biddle,caorui

......我指定我要哪一个座位。除非我不想这样做……,如果我这样做,但没有座位,我就得不断的选择座位,直到找到。要是系统能告诉我哪些座位可用就好了。停!--在这个例子中,用户已经深入到角色中去了,并且发现了当前版本用例的不足。...

针对用户界面设计的用例结构和式样,Larry L. Constantine, Lucy A. D. Lockwood,zhen_lei

......不管增加的定义多么微小,当前的"官方"定义实际上从Jacobson最初重于使用的定义转移到"系统为中心"的观点:重点放在系统如何工作而不是用户完成的或所希望的用途。我们的观点是,这种从内到外的透视方法,虽然精致,但实际上导致在界面设计中使用用例时出现问题。...

网上商店的模式,Eduardo B. Fernandez,Huang Yin

......网上购物已经变得很普遍,许多网站都为此提供了方便的用户界面。为了支持不同种类的导航视图,网上商店需要良好的基础结构。目录模式和购买流程模式是网上商店基础结构的一部分:目录模式描述了如何组织网上商店的商品信息,购买流程模式描述了在网上购买商品所必需的步骤。我们还将展示在网上商店中如何结合应用这两种模式。...

分析模式学习笔记之四:企业财务分析中的观察和测量(下),Windy J

......最常见的是用Name(名称)来识别对象,但任何有商业意义的属性都不适合作为对象的唯一标识,因为商业规则是不稳定的。关于这点可以参考Scott Ambler的文章"Mapping Objects to Relational Databases"...

【过程】

《人件》节选,Tom Demarco、Tim Lister,方春旭、叶向群

......用Billy的话来说,维也纳正在等着你,那是你人生之路的最后一站。当你到达那里时,一切都完了。如果你认为你的项目组成员对如此沉重的话题一点也不担心,请你再想想。你的下属很清楚上帝赐予每个人的生命都是短暂的,他们也非常清楚在他们这种无聊的工作之外还有更重要的事情在等着他们。...


第12期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer12.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Scott W.Ambler: 空手道和太极拳

......我学习刚柔流空手道和太极拳,也很喜欢风景摄影。我也喜欢旅行,去年我去过南极,希望有一天会去中国。我很想看到长城、沙漠还有很多其它东西。...

【方法】

发明软件,Larry Constantine,zhen_lei

......看其他人的工作的第三个理由是可以帮助打破只有一种方法或只有一种正确方法的思维模式。尤其针对开发经理,需要学习不去接受程序员们的肯定说法。"这可能不灵活(或效率不高,浪费资源,粗糙),但这是采用Java(html、C++或API、MFC)仅有的一种方法。",程序员说。"胡说,"精明的经理说,"回去,找到另一种方法。"...

软件设计模式的非软件例子,Michael Duell,Wu

......代理模式提供一个中介以控制对这个对象的访问。一张支票或银行存单是账户中资金的代理。支票在市场交易中用来代替现金,并提供对签发人账号上资金的控制。...

GOF模式用于GUI设计,James Noble,cntang

...某些对象从来不在用户想要的地方。比如,用户想要存储目录结构下很深的一个文件,想让它很容易存取。或者用户希望下载一个网页,放弃任何包含的图像而保持文档结构不变。一个对象如何才能同时出现在两个地方呢?...

业务资源管理模式语言,Rosana T. Vaccare Braga 等,zhen_lei

......本文的模式语言反映了十年资源管理系统开发的职业经验。它的应用使分析新系统变得容易,因为它为系统分析提供了指南,包括了这一领域需要注意的主要问题。我们计划扩展这种语言,包括仓储管理和更好地处理付款,基于这种语言的框架也会开发出来。...

用户界面设计从抽象到实现——基于规范抽象组件的抽象原型,Larry Constantine,* Helmut Windl, James Noble, Lucy Lockwood,Lin George

......一个有前途的、同时支持新手和更高级使用模式的联合应该既支持在列表内用上-下按钮移动,又支持用拖放移动。初始设计可能类似于图7(a),它凸显了几个问题。如果将上-下按钮和滚动条按钮放在他们通常的位置上,很容易造成混淆。如果只是简单地移到左边,则它们可能容易被忽略,并且它们的功能可能不清晰。...

用创建方法封装子类,John Vlissides,透明

......如果客户(client)需要知道每个具体类的存在,那么让客户直接控制这些类的实例化也是个不错的选择。但是,如果客户不想知道这些,又该怎么办呢?如果这些具体类都被放在一个包的内部,并且都实现了同一个接口,而这个接口又不太可能发生变化,那么就应该把这些具体类隐藏起来,让包外部的客户去使用超类公开的创建方法(Creation Method),并通过创建方法得到满足需要的实例。..


第13期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer13.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈James J. Odell:UML的将来

......是的--很不幸--UML变得越来越复杂。我们正在努力改善这个问题,我们都需要新特性,所以,这是一个永久的矛盾。从哲学上说,我们已经决定UML的核心不会支持每个人的所有要求,相反,我们提供一个基本的核心,供大家使用"profiles"来扩展。通过这种方法,你可以在UML的基础上添加自己喜爱的方法,并使它成为标准,却没有把每件事都弄得复杂。例如,我们打算产生一种Agent profile,不是每个人都需要agent,但需要的人可以使用基本UML的这个扩展。...

UMLChina访谈Alan Shalloway:面向对象设计的新视角

......模式会从分析、设计和实现的角度来告诉我们问题。比如说,在分析阶段,我可能会发现我有几种不同的文档,需要支持不同的输出设备。所以,我看到系统中有文本、图片……它们使用激光打印机、绘图仪、点阵等等作为输出设备。这正是Bridge模式的场景。所以,我可以用一个抽象(不同的文档类型)来定义问题领域,然后给它以不同的实现(点阵、绘图仪等等)。现在我不必担心如何实现,因为我对Bridge模式很有把握。要求更快得到反馈则使你不得不对开发过程进行调整,因为你不能再等待完整的需求,也不能再希望做完整的系统设计,也不能先做完所有的编码工作再测试。...

【方法】

为什么用例如此难用?,Gary K. Evans,zhen_lei

......IT企业一直在尽力使自己开发的软件符合指定的需求,但是如何才能更有效地发现、捕获与沟通这些需求的确是个难题。用例在6年前的出现似乎提供了一个与该目标接近的解决方案。用例虽然已被权威的统一建模语言(UML)吸收采纳,许多组织却发现其约定令人感到困惑。虽然用例的意图是简洁和直接的,但许多IT组织发现使用用例收集和定义项目需求非常困难,它们往往难于管理和难于理解。...

隐喻的使用及误用,Larry Constantine,whoisred

......在现实生活中,你走进一家商店去购物,却被告知你虽然需要购物车,但却不能在购物时携带。相反,你只能把购物车放置在商店对面的屋子里。在你走进那间屋子前,你不能检查购物车内的商品,你甚至无法直接看到车内的东西,而只能看到一张车内物品的清单。在进行这样的购物时,你会有什么样的感想呢?...

停止过分设计!,Joshua Kerievsky,透明

......习惯所致,我马上就想到了模式。首先浮现在我脑海中的是Decorator模式,于是我就提议用Decorator模式来封装要显示的对象,然后重载封装对象的toString()方法。可惜,我的搭档的回答让我大吃一惊:"杀鸡焉用牛刀?"他创建了一个名叫NodeDisplay的类,它的构造子接收一个待显示类的实例。NodeDisplay类很容易写,因为它的全部代码量还不到10行。而我的Decorator模式起码需要50行代码,要通过很多次委托才能调用到需要显示的对象。...

【过程】

大型项目中的XP-开发者角度,Amr Elssamadisy,simaetin

......我们在ThoughtWorks的开发过程中采用了XP方法,我们根据经验对该方法加以剪裁以适应我们这个超过35名开发人员和15名分析员的大型项目。这个在内部称为ATLAS的项目是一个租用应用,它开始于三年以前,使用传统项目开发过程中标准的分析和front-loading(前载)设计方法。本文基于开发者的视角,讲述他们实践并积累的经验和技术。我们将通过列出与Kent Beck的《Extreme Programming Explained》(《极限编程精解》)中不同的实践方法,并给出我们的体会。之后,作为全文的总结,我们将给出对XP过程的推荐修改,使之可以在应用于大型项目时仍能快速产生高质量的代码。...

通过CMM 4级和5级的组织,SEI,shiyy

......我们根据最新的调查结果编辑了以下高成熟度级别的组织名单,需要说明的是,这个名单不是永久性的,它一直保持更新状态。该网页在不久的将来可能和"公布的成熟度级别"在某些方面结合起来。在http://www.sei.cmu.edu/sema/profile.html上可以看到即时的最新消息。...

【工具】

使用Rational Rose全景追踪,Richard Felsinger,盖九宇

......启动 Rose:选择菜单File-New,选择File-SaveAs,将文件另存为BusinessModel.然后选择File-New-SaveAs,另存为Requirements-AnalysisModel;注意,当Requirements-Analysis(需求分析)完成后要另存为Design-ImplementationModel(设计-实现模型);选择View(视图)选中Status Bar,Browser, Documentation, As Unified;选择Tools-Options-Diagram 选中Stereotype...

Rational ClearCase LT 使用指南,Jim

......b. 选择"高级"页面,点击"环境变量"按钮,进入环境变量设置。在"用户变量"一栏中点击"新建"按钮,输入变量名称:CLEARCASE_PRIMARY_GROUP 变量值设置为将要访问ClearCase的用户组,例如CLEARCASE_USERS,表示CLEARCASE_USERS组可以访问ClearCase。(在安装ClearCase...


第14期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer14.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Alistair Cockburn:选择你所需要的

......最常犯的错误是太细化了。有时,人们书写非常非常细的用例,读起来都很烦。用例是一种叙述,我从未写过一个用例超过九步。如果你超过九步,那么要么是出现了界面设计,要么是步骤太详细了。...

【方法】

界面耻辱纪念堂--隐喻使用不当,iarchitect,金哲凡

......我五岁的侄女爱死了这个回形针,我每次打印,她都会兴奋得尖叫起来,因为回形针会模仿纸张在打印机上的动作,在滚轴上被压扁。五岁的孩子们认为回形针很可爱,Microsoft应该从中意识到一些问题:五岁的孩子是不会购买$500.00的软件包的,这是成年人的事,而大部分成年人会很快对这种"可爱"感到厌烦。...

界面耻辱纪念堂--可视元素,iarchitect,wanghongbao

......当我们最后意识到这个导航栏是可以滚动的,我们选这个例子的第二个原因就变得很清晰了:WebZip 为新用户提供了一个"Quick Start"选择,这个选择使用了一个向导风格的界面来清晰地说明如何使用这个程序。不幸的是,这个选择是导航栏的最后一项,直到用户知道如何使用这个定制的滚动控件才为用户所见。...

设计模式之路(一),Jun Qian

......很快在我做的项目里就碰到了我平生的第一个模式, Factory模式.这个项目是与加拿大一家公司合作的项目,他们的程序是用COBOL在MainFrame的机器上面写的。而我们的程序是C++在Unix机器上运行的。我们小组的项目就是中间的一个转接层程序(现在流行叫Multi-tierJ),通过TCP/IP接受加拿大来的信息,然后根据不同的信息类型,送到不同的处理单元去处理,最后通过TCP/IP返回给加拿大....

提取创建类,Joshua Kerievsky,透明

......从根上来说,这个重构其实就是Extract Class[Fowler],只不过是对类的创建方法进行的。一个类中存在创建方法,这很正常;但是随着创建方法越来越多,类本身的主要责任--它存在的主要目的--可能就变得越来越模糊,甚至被对象创建的逻辑给遮蔽住了。如果情况真是这样,就应该对这个类做一些调整,将创建方法移动到一个专门的创建类(Creation Class)中去,还这个类以本来面目。...

利用重构改进面向对象设计,Lance Tokuda and Don Batory,koun

......重构是一种保留程序行为的程序转变,能够使得面向对象程序进行设计的自动改进。存在三种设计改进,它们分别是:方案转换、设计模式微结构、特点驱动式趋进。这个研究展示如何利用重构使这三种方式得以自动进行;也给出一个全面的为设计改进的的重构方式的列表,同时分析了所支持的方案转换、设计模式以及特点驱动元模式。...

一个产品的订货和配送(系统)的分析模式,Eduardo B. Fernandez, Xiaohong Yuan, and Sandra Brey,li.sining

......本文给出的这些分析模式描述了顾客提交产品订单和订货之后的产品的配送过程。我们首先给出了两个基本的模式――订单和配送,然后把基本模式组合成为一个我们称之为语意分析的模式,与实际应用中增加灵活性相反,我们强调应用模型的语意方面。这类模式的目的是作为把需求转化为真正系统设计的起点。这个模式代表一个最基本的应用,可以把它应用在不同的场合,也可以与其它的相关模式组合在一起来描述更复杂的应用。产品的订货和配送是现实生活中一个非常通用的问题,这个模式集中在订单和交货以及它们之间的相关过程的基本特征。...



第15期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer15.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Bruce Powel Douglass:实时系统和UML

......内存碎片回收是个大问题,因为它给系统增加了非常大的不确定性,很多RT都难以解决。你可以用C, C++, Java,Ada...甚至汇编语言来实现UML模型。我曾经用6502汇编语言为一个心脏起搏器写过一个多任务操作系统,而它来自一个OO模型。...

【方法】

界面耻辱纪念堂--颜色的使用,iarchitect,freeyourmind251

对象-关系数据库之间的映射,Scott W. Ambler,Adams Wang

......面向对象设计基于如耦合、聚合、封装等理论,而关系模型基于数学原理。不同的理论基础导致了不同的优缺点。对象模型侧重于使用包含数据和行为的对象来构建应用程序;关系模型则主要针对于数据的存储。当为访问数据寻找一种合适的方法时,这种不匹配就成为了主要矛盾:使用对象模型,常常通过对象之间的关系来进行访问;而关系理论则通过表的连接、行列的复制来实施数据的存取。这种基本的不同使两种机制的结合并不理想。换言之,需要一种映射方法来解决这个矛盾,从而获得成功的设计。...

如何用状态图进行设计,Dr. Doron Drusinsky,Jill

......所有软件实质上都可以认为是一种特殊的状态机。状态机是一个公共术语,用来描述一个系统在某种条件下会做什么以及按什么顺序去做。就像一个程序员写的声明,必须按某种顺序执行,每条声明说明计算机状态的改变。...

保险系统的部分模式,Wolfgang Keller,liwenhua

......对于许多保险公司来说,要建立一个能够缩短产品周期,柔性灵活的保险系统可谓是一个挑战。虽然这个系统有着巨大的市场,围绕这些相同的问题开展了许多项目,但是这些项目似乎仍然有些扑朔迷离。实际上,这个问题没有答案。这篇文章收集了一些模式,他们解释了那些驱动保险系统运转的各个部分在设计上的基本规律和方案。...

【过程】

XP的价值和局限,张恂

......国际著名杂志IEEE《Software》2001年最后一期对极限编程(eXtreme Programming,XP)做了深入报道,一共刊出4篇文章,分别是:《从CMM角度看极限编程》(Mark...

《极限编程研究》样章-设计死亡了吗,Martin Fowler

......对于许多开始粗略接触极限编程(Extreme Programming,XP)的人来说,似乎XP宣告了软件设计的死亡。不但许多设计工作被奚落为"Big Up-Front Design(巨大的前置设计)",而且诸如UML、富有柔性的框架,甚至模式这样的设计技术都不被重视或者近乎于忽略了。实际上,XP包含有许多设计思想,只是采用了一种与既定的软件过程不同的方式来进行设计。XP借助的多种实践让演进成为一种可行的设计策略,以此使演进设计的概念焕发青春。设计者需要学会如何进行简单设计、如何使用重构技术保持设计清晰,以及如何以演进的方式使用模式,因此XP也带来了新的挑战和技巧。...


第16期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer16.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈David Van Camp:模式、构架和XP

......模式不是技术——它们是简单的文档和教学技巧。当你逐渐熟悉模式,你就建立了一个模式“词汇表”。这使你能够更好地寻找模式和应用模式。这是一个学习过程。在美国和欧洲,许多人已经建立“模式讨论组”讨论模式。他们通常提出一个模式,然后大家评阅并相聚讨论。鉴别新的模式是一种艺术,不妨试一试,假以时日,你的能力会得到提高。鉴别一种新的模式,关键是要认识到其他人已经独立地找到了相同的解决方案并且得到确认。适当运用模式能够带来“良好”或改善的结果(不是其它途径能够带来的)。John Vlissides已经写了很多关于寻找和编写模式文档的文章。...

【方法】

使用UML和Rhapsody 开发导航控制系统,G.R. de Boer,ottafei

......本方案的目的是为了深入了解基于统一建模语言(UML)的开发工具Rhapsody。使用Rhapsody能够设计和构建高水平的嵌入式软件。我们选用Rhapsody为导航控制(CC)建模,目的是从中找到Rhapsody这种开发工具的各种可能性。目前导航控制(CC)在小汽车上的应用已经非常普遍。因而非常适合作为控制系统在日常生活应用的案例。导航控制(CC)包括基本的循环控制和一些用户接口。...

处理对象的特性,Martin Fowler,Xu Zhiling

......几乎每个创建的对象都需要特性:有关对象的一些声明,例如,人的身高,公司的CEO,航班的航班号。有许多种方法可以模拟特性,在本文中,我将探索其中的一些方法,以及可能在什么时候使用它们。常见到一些模式(pattern)涉及到这个主题,但是它们通常仅覆盖部分图景(picture)。在此,我想广泛地研究这个问题,给出对这些选择的更好讨论。...

根据合同进行分析--录像店案例研究,Richard Mitchell,zhen_lei

......本文包括录像店案例研究的一些片段,用来说明根据合同进行分析的原理。本文假定读者已经从其它渠道学习了一些关于根据合同进行分析的方法。...

Reactor模式――同步事件复用和处理调度的对象行为模式,Douglas C. Schmidt,Tonny Tam

......为图解Reactor模式, 考虑一个如图1所示的提供分布式日志服务的事件驱动式服务器程序。客户程序在分布的环境中使用日志服务记录它们的状态信息。这些状态信息通常包括错误通知,除错跟踪,还有执行效率报表等。日志记录被送到中央的日志服务器,并被日志服务器记录到各种输出设备上,例如控制台,打印机,文件,或者是数据库。...

【过程】

《人月神话》20周年纪念版评论集,陈懋戍

......Brian Kernighan:我唯一一本读过一遍以上的书,是Fred Brooks的《人月神话》,实际上我每过一两年都重读一遍。部分原因是这本书文笔很好,部分原因是书中的忠告很有价值,即使是25年以后。当然,现在很多细节上的地方,和我们做事情的方法,都有不同。我们的工作更自动化,计算机的“马力”更强劲,但书中依然有许多好的忠告,我非常推崇这本书。这是我唯一能想起来的你能从中体会到乐趣和思想的计算机科学书籍。...

《敏捷软件开发》翻译草稿样章,Alistair Cockburn,Jill

......通常,极限一小时的主持者会选择一个有趣的任务,如设计一个捕鱼设备,它能够保证鱼在交到厨房的时候还是活的,也能保证啤酒在全天时间里一直是凉的。(当然,在迭代过程中他们不得不缩小范围!)我们使用90分钟的微缩流程来帮助一个有50个人的公司的团队来体验我们建议的新的开发流程(你将注意到这个微缩流程经验与第57页所描述的信息是多么相似)。...


第17期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer17.pdf

《非程序员》电子杂志下载(1-22期)

【访谈】

UMLChina访谈Marko Boger:XP、UML和Poseidon

......ArgoUML是一个开放源代码的项目,这便是它与一般的项目所不同的。这也只是简单的提法。当然,Poseidon还会有很多不同之处。很显然,我们是Rational的竞争对手。如果Rose是更好的工具的话,我想我们就不会开始Argo的开发了。...

UMLChina访谈Peter Merel:妻子告诉我该睡觉了

......我曾经好几次遇到过这种情况,我并不认为有非常完美的解决方案。最好你的远端客户能指定一个本地的代表,这个人有相关领域业务知识并能定期和客户沟通。在HP工作的时候,曾经有一次有三个小组介入了我负责的一个项目,主要的两个在圣地亚哥。除了相当昂贵的电视会议系统的花费外,我们每个月还必须派人飞来飞去。...

【方法】

用户界面的UML建模,Paulo Pinheiro da silva, Norman W. Paton, 李巍

......统一建模语言(UML)是对应用程序进行面向对象建模的标准标记语言(notation),因此我们会很自然地将其作为用户界面(UI)建模的选择。但是,我们并不清楚如何使用UML来进行UI的建模。本文给出了一个使用UML进行用户界面建模的案例。该案例指出了那些无法使用UML标记来进行建模的UI侧重面,以及一组可用于UI建模的UML构建法(constructor)。其中的建模问题说明了使用UML进行UI建模的一些缺陷,而采用的这组构建法也同时表明了一些该方面的能力。这些被证实的能力和缺陷可作为公式来表达成一种对UML进行扩展(extend)的策略,从而对用户界面的设计提供更好的支持。...

界面耻辱纪念堂-术语,iarchitect,金哲凡

......如果程序开发者和用户具有相同的知识背景,那可就太好了。程序就会按用户完成任务的需要来设计,双方都知道对方说的是什么。不幸的是这样的情况太少了。有太多的程序给人的印象是:它们使用不同的语言。下面就是一些非常不清楚的程序元素的例子。...

用户界面软件,Jens Coldewey,Tom.X

......象SmallTalk或Java这些语言,通常需要一行代码来使得某个菜单选择失效,或者弹出一个简单的对话框来提醒用户。所以,当你的域层面的代码(domain code)里发生了一些奇怪的事情时就总想提示用户,问:“要不要继续运行?(是/否/帮助)”然而,这真的是一个好主意吗?或迟或早你就会发现有不同的用户要对系统进行操作。它们必须每天重复上千遍的工作,希望按尽可能少的键来让这个系统帮他完成工作。...

分析模式学习笔记:LOG-日志记录模式,Windy.J

......轻轻地我走了,正如我轻轻地来,我挥一挥衣袖,不带走一片云彩。这样的情况在有了日志记录的系统里是不可能发生的,因为,日志把发生的一切都“记录在案”了,这一节,我们就来看看日志记录建模和实现的各种思路。我们首先来看一张Windows系统日志的图片...

电子商务应用系统的几种模式,Dragos A. Manolescu,Adrian E. Kunzle,杨德仁

......软件开发业见证了从桌面应用系统的开发向高扩展的、分布式的、基于服务器的电子商务应用系统的开发的转移。大多数开发者来自于PC世界,很少知道如何处理分布式应用、服务器、并发性、扩展性、高可用性和容错事宜。电子商务应用开发模式将使开发者意识到他们需要处理的核心问题,并向他们展示解决这些问题的方法。本文的构建电子商务应用系统的模式集迈出了这方面的第一步。...

重构过程中的行为保持,William Opdyke,透明

......显然,重构应该保持程序的行为不发生变化。在本章中,我将讨论几个与“行为保持”相关的主题。在第1节中,我首先向读者介绍几个很容易在重构过程中被破坏的程序属性。在第2节中,我对重构的作用范围做了一个定义。在第3节中,我列出了用于描述重构前提条件的函数式,这些前提条件可以保证重构前后程序的行为保持一致。...


第18期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer18.pdf

《非程序员》电子杂志下载(1-22期)

【方法】

驳UML三大“硬伤”论,张恂,think

......本文对2002年5月《程序员》杂志刊登的《UML三大“硬伤”》(指UML“上不着天、下不着地、一盘散沙”)一文所存在的18个错误逐一进行了批驳,指出原文在论据、论证、论点和文风上存在的严重问题,并结合RUP(瑞理统一过程)给出UML建模实例,演示了如何对原文所提及的商业公司进销存系统进行正确的业务分析。本文适合的读者包括UML和面向对象技术的爱好者、初学者,软件开发人员、软件企业与行业企业的技术主管等。...

电梯系统的UML文档,Lu Luo,王君

......作为我们的教学项目,电梯系统的设计与“真实”的系统相比省去了很多技术上的细节。我们的电梯系统有所有的电梯系统都有的基本功能,如上升和下降、开门和关门当然还有载客。电梯假设被用在一幢大楼的第一层到第MaxFloor层,第一层是大厅。电梯里有每一层对应的呼叫按钮。除了第一层和顶层,每一层都有两个按钮,乘客可以呼叫上楼或下楼。顶楼只有一个下楼按钮,而大厅只有一个上楼按钮。当电梯停在某一层,电梯开门,电梯指示灯亮标明当前运行的方向,这样乘客就知道了当前电梯运行的方向。电梯在两个楼层之间快速移动,但它应该能提前减速停在目的层。为了保证电梯系统的安全,在任何不安全的情况下,紧急制动就会被促发,电梯被强制停止。...

构建EJB应用—模式集合(上),Eberhard Wolff,杨德仁

......虽然EJB为相对复杂的任务提供了简单的API,然而设计和实现一个基于EJB的可扩展的、可维护的和合理的快速应用系统并不容易。随着时间的推移,一套公认的模式已经形成,本文将讨论其中的一些。这些模式将是本文作者写作中的有关EJB体系结构和应用模式一书的部分篇章。我们不准备讨论J2EE的其它部分如Servlets或JMS,只讨论由EJB组成的中间层。...

一种在线拍卖管理的模式语言(上),Paulo C. Masiero,vicky wei

......商业资源管理的模式语言主要处理商业资源的交易、位置和维护。在线拍卖管理的模式语言正是在这种环境中开发出来的,用以帮助开发那些通过web方式拍卖来进行交易管理的系统。在线拍卖管理的模式语言的开发是基于三个现有Internet拍卖系统——DBay,iBazar,Arremate.com。由于缺乏对这些系统的文档或源代码的访问权限,我们基于用户界面对这些系统作了逆向工程。然后基于我们自己对拍卖系统的理解,并参考现有的关于拍卖系统的手册,我们开发了一些模型以描述系统的功能。通过发掘三个系统的共有功能,我们从这些模型抽象出这些模式。他们展示了在线拍卖系统中的功能特点,而非设计或实现问题。本文中提供的范例也是从这些模型中抽象出来的。...

CRC建模方法――跨跃开发者与用户之间的交流障碍,Scott W. Ambler,huang_shen

......当小球传到某人的手里,他应该将这个职责的业务逻辑一步一步地描述出来。应该看作:BDE正在为职责叙述伪代码(高层程序代码)。这往往是用例场景测试中最难的部分,许多BDE也许不太习惯一步一步地描述业务过程。遇到这种情况时,辅导员应该帮助他们理顺逻辑。你会发现,通过头几个场景的测试,BDE能很快地掌握描述过程逻辑的技巧。BDE描述过程逻辑时,记录员应该将其记录下来(记录员的工作就是为系统记录业务逻辑和规则,这正是BDE所描述的)。...

【过程】

轰然巨响,Martin Fowler,Jady

......我曾经跟客户谈到他们要我完成的一个对象模型复审。“我们能先给你一些文档,有用吗?”他们问。希望我没有说谎,我给了肯定的答复。两天后,随着一声闷响,UPS在我的门外卸下了包裹。那是足有1.5英寸厚的文档。我打开包裹,发现那些由CASE工具产生的印刷品。显示了一些图、给出了每个类的详尽描述、包括类的所有的属性和操作。这些都有定义。Contract类定义成“一个很多团体之间的合同”,其dateSigned属性定义为“签订合同的日期”。我读遍了这1.5英寸厚的文档,最后我却糊涂了。那有很多关于那些对象是什么的描述,但是没有它们真正意味着什么的解释。这种情况已经不是第一次出现了,我想也不会是最后一次。...

烧毁这本书,别让员工看到―《人件》评论集,柳林

......这是我一直喜爱的软件工程书籍。《人件》正确指出软件工程是对人,而不是针对技术。它看到在软件开发过程中人的许多方面,并指出人并不是软件开发机器中简单的小齿轮。这本书花费了许多的时间讨论团队,使你认识到团队的价值。但它没有一般的管理书籍列出“好团队”的标准,而是论述如何创造一个好团队,并指出它有多难。对于一个尽力去建造一个团队的管理者,这本书帮助他认识到成功的技术与技巧。它并不教你关于开发过程的知识,而是通过教你认识到在软件开发中人的价值去管理开发过程(但它并不仅仅论述管理者,我强烈推荐这本书给每一个人,从低级工程师到CEO)。这本书也包含涉及办公环境的章节,并提供证据说明为什么通常的观点并不适用于软件开发。我只学了这些章节,就促使我辞掉了原来的工作!...


第19期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer19.pdf

《非程序员》电子杂志下载(1-22期)

【新闻】

Borland以1.85亿美元收购UML工具厂商

......Borland这次在设计方面有目的的扩张对UML巨头Rational形成强有力的挑战。TogetherSoft由UML领袖之一Peter Coad创立, 迅速在分析设计领域获得关注,与其他Java IDE一起广泛使用。Coad有望在提升Borland在软件开发中的地位方面扮演重要角色。...

【访谈】

UMLChina访谈高焕堂:何谓世界软件之神

......iteration 与 prototyping 来不断修正 architecture的分析与设计。吴清源大师说:「整体、和谐、创新」代表的即是在以架构为主的设计上,要能注重团队的和谐、一致性。在团队的脑力激荡下,是需要发挥 design 的创意的。「兵无常势,水无常形,能因敌之变化而取胜者,谓之神」,希望能藉以孙子兵法的这句话让各位对软件的 design 有更多的深思。因为软件的需求是善变的,所以善于利用需求之变化而取胜者,将能称霸软件世界,谓之:世界软件之神。...

UMLChina访谈尤克滨:简单正是用例的价值

......用户一般不会说看不懂我们写的需求,而是等我们开发出他们认为不对的结果之后告诉我们,原因是我们没有在早期提供一个用户作出正确判断的机会(组织形式)。各种方式表述的需求在微观层面没有差异,但组织形式完全有可能阻碍用户正确地理解。...

【方法】

致面向对象技术初学者的一封公开信,Alistair Cockburn,袁峰

......过去6年中,我曾经无数次地在饭店、酒吧、旅店大厅等各种地方以同一种方式度过愉快而漫长的夜晚:和同样追求真理、光明和智慧的伙伴一起探讨面向对象的真谛。现在,我已经可以回答很多当年我遇到的问题。这些同样的问题也在困扰着我的一位新同事,在一家饭店里,我花了整整一个晚上和他讨论这些问题。结果第二天,他的同事又来问这些问题,并建议把我们的谈话内容记录下来,这样他可以拿去给他的同事看。考虑到还有很多和他的同事一样询问这些同样问题的人,我决定写下这篇文章。...

高焕堂答疑录(一)

......所谓business process是有很多个views, 有些人重视activity flow, 就会抽象出activities而抽掉data 及worker等, 成为activity diagram. 有些人重视data flow, 就会抽象出data而抽掉activities 及worker等, 成为Data Flow Diagram. 有些人重视workers之间的message passing及互助合作, 就会抽象出objects而把data 及activity纳入objects内, 成为object model. UML是来自OO领域, 比较偏重object model, 需要习惯于object thinking, 一般人会觉得不太直观. 但是要将MIS系统落实到N-tier或component-based环境, 就必须将activity flow & data flow的model转为object model, 因为object model 的内涵(semantics)最丰富, 能提供充足的information给software developers. UML2.0已经吸收IDEF, 强化了business activity flow的表达.因为manager喜欢activity flow diagram, UML2.0 比较能抓到manager’s view 了. 记得, use case不是用来表达business内部的work flow!...

构建EJB应用—模式集合(下),Eberhard Wolff,杨德仁

......通常,不保留旧数据就删除实体组件或改变数据,因此一个改变仅仅是用新数据覆盖旧数据。但是,往往因法律原因这种做法不可接受。法律要求旧数据归档而非删除,以便能重建旧数据。在这种情形下,通常存储旧数据以便能用手工SQL查询语句(历史化)重新产生它就足够了。但存储旧版本以备发生错误时撤销就有意义了。在这种情形下,旧数据必须能被应用和用户(版本)访问。...

一种在线拍卖管理的模式语言(下),Paulo C. Masiero,vicky wei

......图8就是在线拍卖网站Arremate.com所采用的拍卖资源模式的范例,它采用多重拍卖Multiple Auction方式拍卖单个或多个资源项。Arremate.com还使用了其他两种拍卖方式:底价拍卖Reserve Price Auction和赢家拍卖Winner Auction(是采购拍卖Purchase Auction的实例)。eBay在多项产品的交易中使用荷式拍卖Dutch Auction,在单项产品的交易中则使用标准拍卖Standard Auction。它还提供底价拍卖Reserve Price Auction和采购拍卖Purchase Auction方式。iBazar只提供标准拍卖Standard Auction和底价拍卖Reserve Price Auction两种方式。...

一种关于物品修理的分析模式,Eduardo B. Fernandez,Xiaohong Yuan,刘巍

......把一件损坏的东西拿到修理店去修理,在日常生活中是一件很平常的事。顾客将损坏的东西,如电脑或者汽车送到修理店时,一个负责接待的技工会对要做的修理作出大致的估算,他同时会对修理的内容作纪录。所有修理活动都被记录到修理日志中。一次修理可能因为缺少零件或其他原因而被耽搁,也可能被取消。...

【过程】

《人月神话》节选,Fred Brooks,Adams Wang

......第二个经常提及的解释——《人月神话》仅仅是顺便提及了软件,而主要针对团队中的成员如何创建事物。这种说法的确有些道理,1975年版本的前言中提到,软件项目管理并不像大多数程序员起初所认为的那样,而更加类似于其他类型的管理。现在,我依然认为这是正确的。人类历史是一个舞台,总是上演着相同的故事。随着文化的发展,这些故事的剧本变化非常缓慢,而舞台的布局却在随时改变。正是如此,我们发现二十世纪本身会反映在莎士比亚、荷马的作品和圣经中。因此,某种程度上,《人月神话》是关于人与团队的书,所以它的淘汰过程会是缓慢的。...


第20期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer20.pdf

《非程序员》电子杂志下载(1-22期)

【新闻】

IBM收购Rational

......Rational为开发企业应用和开发软件产品提供开放的,工业标准的工具、最佳实践和服务。通过收购Rational,IBM将能够提供一个全面的开发环境,从整合业务流程和软件基础架构。这次收购是IBM的“e-business on demand”策略的重要组成部分。...

【方法】

家用报警器的UML设计及其在C++和VxWorks上的实现,M.W.Richardson,liuweiw

......论文描述了如何运用UML(统一建模语言)设计一个简单的家用报警器,并实现到VxWorks操作系统上。本文分两个部分,第一部分描述了如何用UML设计和验证家用报警器的模型,以使其独立于特定的硬件和操作系统。第二部分则细节地描述如何将此模型实现于运行VxWorks操作系统的486硬件平台上。模型的设计、开发和验证使用了I-Logix公司的可视化编程环境“Rhapsody”。...

使用模式和XP构造复杂的面向对象系统,Eduardo B. Fernandez,曲俊生

......复杂是很多重要系统的特性。这些系统都具有大量交互的实体,复杂的约束,同时需要满足非功能性需求。在语义分析模式(SAP)中,每个模式都对应一系列用例。我们利用SAP在增量式开发中建立一个整体的概念模型。这个整体模型为XP提供了一个能够考虑分布式、安全以及测试性等因素的结构。SAP也可以应用在XP的每个增量开发阶段,从而保证良好软件开发原则的应用。...

【过程&人月神话专题】

钱五哥答疑录(一),钱岭

......软件开发不是一个随便玩玩就可以的事情,一些非专业人员的程序更本无法投入使用。能够发布使用的产品即需要在软件工程的管理下进行,同时也很需要开发人员的编程水平,完成同样的功能,高水平程序员和业余程序员写出来的程序,在性能、可靠性、可维护性等方面都相距很远。最近看有报道说高水平技工在国内看好,我想在软件开发领域也是一样的。国外,很多程序员会一辈子搞程序开发,因为他们把这当作一种事业和一种追求。...

Frederick Brooks传

......20世纪最后一年也就是1999年的图灵奖,授予了年已69岁 的资深计算机科学家布鲁克斯(Frederick Phillips Brooks, Jr.)。布鲁克斯这个名字在中国知之者不多,但在美国却是大名鼎鼎。因为他在60年代初只有29岁时就主持与领导了被称为人类从原子能时代进入信息时代标志的IBM/360系列计算机的开发工作,取得辉煌成功,从而名噪一时。以后他作为硬件和软件的双重专家和出色的教育家始终活跃在计算机舞台上,在计算机技术的诸多领域中都做出了巨大的贡献。从某种意义上说,对于布鲁克斯而言,图灵奖是一个“迟到的荣誉”。...

《人月神话》各章精选,Fred Brooks,Adams Wang

......史前史中,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝 见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越 紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。...

《人月神话》软玉生香,刘天北

......“大”,对于书--尤其是技术书--来说,不见得就“了不起”。以我个人的阅读习惯,多于五百页、开本又超过“大32开”的技术专著,那就只能当字典查,又好比皇宫里的大龄宫女,偶一调情也可,若要三千宠爱集一身,不啻为非分之想。本来一卷在手,有如软玉生香在抱,总以“轻”、“薄”为妙,若是庞然巨物,体态狼伉,未免让人产生心理障碍(借此一角向通读了《C++ Primer》的各位致意:你们都可以去做《大内密探零零发》里艳福齐天的皇上)。眼下说的这本MMM,正是技术书中的赵飞燕,可作字面意义上的掌上舞:大32的开本,算上注释、索引共332页,要紧的是,每章前的大量篇幅留给题图和题记,19章下来,实在要读的内容不到200页。...

《人月神话》与实践,Adams Wang

......许多朋友认为现在的软件工程数据比较理论化,可操作性不高,往往只能了解一些理念。在面对具体项目的时候,还是有些迷茫。而在整个翻译的过程中,Brooks的观点以及治学态度经常令人叹为观止。这里,就自己的一些体会和实践同大家探讨。...

《人月神话》20周年纪念版评论集,陈懋戍

《人月神话》争论:软体尚方宝剑何在,欧阳进

......本文以时间的前后﹐依序交叉介绍两位大师的见解﹐期能引起读者对软体未来的些微兴趣。由于笔者的学养和功力远不如两位大师﹐只能介绍他们文章里的精华﹐并未添加笔者的阐释或见解以免您受到笔者有限能力的误导或局限您的思想和视野。希望您有空细读两位大师的原文著作﹐培养您自己的思维和创意。...

《人月神话》出版后的网友评论,chinapub、cnforyou

......一本多年来看到被无数的工程、实践著作引用的文献,终于乖乖地躺在了我的手心里。第一件事就是把中国人写的那些页数,统统裁下来扔进垃圾筒,本来中文的表达力已经限制了我们对全书的理解,请不要再让那些什么UMLChina之类的废话把整本书的导向都弄错了吧!在《神秘的人月》诞生的时候,别说UML,连C++都还没有呢。什么印度,呵呵,印度注定要失败的。不过客观地说,翻译的水平虽然没有我期望的那么高,但居然也不像我想像得那么差。总体而言,还算差强人意。排版不错,我喜欢这种小开本的书,封面也不错。如果是裘宗燕老师来翻译,一定又是一本旷世译作。...


第21期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer21.pdf

《非程序员》电子杂志下载(1-22期)

【新闻】

年度回顾:开发工具的UML/MDA趋势

Visual Studio .Net 2003--“Whitehorse”蓄势待发

《人月神话》与软件开发基本问题研讨会在京举行

【访谈】

UMLChina访谈Jutta Eckstein:没有客户就没有项目

......但是如果你希望忽略客户,你为什么去开发一个系统?没有客户,没有项目;或者说,没有客户,就没有成功的项目。请你牢记:客户是每个项目所必须的,而不仅仅只是XP的项目。...

【方法】

傻姑之路:通往职业初段—前言,think

......此方法基于UML,但只专注三个核心要素:用例、类、交互。通过这三个要素的协作,“自外而内,由粗至精”,就能解决软件开发的基本问题。就如金庸小说中的黄药师,只教给傻姑三招,让她练得精熟。开发人员只关注这三样东西,但对每一个细节中蕴含的道理细细体会。每个细节都要精熟,到位,不浪费一分力气。...

过程敏捷性和软件可用性:以使用为中心的轻量级设计,Larry L. Constantine,huang_shen

......现在的软件开发有时像一场奇怪的比赛。场地的一边,站着一帮身着各种颜色的破旧运动衫的没规矩的家伙,他们象征许多公司在程序设计时所呈现出的毫无章法的混乱状态。而在场地的另一边,我们看到了排着整齐方队的重量级选手们,每一个大汉的胸前都镶嵌着一个大大的“U”字。现代软件开发的重量级选手正是统一过程(Unified Process)和它的追随者以及统一建模语言(UML)。...

Web应用模型中的抽象和复用机制,Gustavo Rossi,ydr

......建设复杂的WEB应用是一项耗时的任务,因为它们必须提供对重要信息资源的导航访问,不仅允许用户全面浏览潜在的信息世界,也允许对信息进行操作。在某些领域如电子商务中,客户的行为触发了那些必须要与核心业务软件集成的复杂工作流。这种集成也必须以另外一种方式进行;例如,电子商店中的营销软件应该监视顾客的行为,以便更有效地为顾客导航。第一个明显结果是,我们不仅必须仔细设计导航体系结构,而且要有效地与业务模型集成。...

GUI设计精髓:交互,Weinschenk,Ma Yaohua

......只对那些频繁或关键的操作设置命令按钮(见图1)。实际上,命令按钮扮演着醒目显示操作内容的角色。在一个窗体上,命令按钮不应当超过六个。同时命令按钮的操作内容也要出现在菜单项中。如果操作既不频繁也不关键,将其放到下拉菜单中即可。...

【最后期限】

总把新桃换旧符——写在《最后期限》出版之前,透明

......如果有可能的话,在一个星期之内读《人月神话》和《最后期限》这两本书,绝对是一个绝妙的阅读体验。你能看到Brooks和DeMarco在几乎相同的知识背景下得到的两种截然不同的态度:“人月是神话、银弹无处求”的悲观,和“逢山开路、遇水架桥”的乐观。如果读者再带着项目的紧迫压力希望在这些武林秘籍中找到一些灵丹妙药,被这一阴一阳的两股内力搅和搅和,怕是脑子会被弄晕掉。...

《最后期限》:一本软件开发小说,Huang Yin

......几年以前,我读过Eliahu Golden的目标和思想,“哇,如果有个人能够写一本象工程技术方面的《目标》那样的关于软件项目管理的小说来取代那些软件工程教科书,该有多好!”在《最后期限》中,梦想成真了。DeMarco用一种幽默而有趣的方式为软件工程教学作了一项伟大的工作。实际上,有时我发现自己总是在没有认识到一个项目管理教训的价值之前学习它。......

《最后期限》各章精选,Tom DeMarco,透明

......“没问题。唔……”元首似乎有点走神。他懊悔的回头看着屏幕,好象是想找回刚才做的事情。现在汤普金斯可以看到屏幕了,上面似乎是一页程序代码。C++,他想。一个声音从房间的后面传过来,莱恩小姐端来一盘软饮料和点心。元首稍微愉快了些。“噢,好。”他说道,然后拿起一块奶油蛋糕,塞进了嘴里。......


第22期《非程序员》电子杂志下载(1-22期)下载>>

http://www.umlchina.com/xprogrammer/XProgrammer22.pdf

【新闻】

SteelTrace公司集成Catalyze套件与Rational Rose

Chick-fil-A统一使用Together ControlCenter进行Java开发

Sun整合第三方UML建模工具

【方法】

用例:十年风雨,Alistair Cockburn,think

......用例是与外界交互时系统行为的平直叙述。我想你们中的大多数人已经使用或听说过用例。其中一些人可能还听说过关于用例实际上是怎样有用(或怎样无用)的热烈争论。在过去的十年间,我们对用例的理解已经向前迈进了一大步。本文的目标是为了说明:了解这些发展能让你了解现在人们使用、滥用、或者只是误解用例的方法,以及你自己如何更好地使用用例。为了展示发展的阶段,我把文章分成4幕来讨论:史前(比十年前还早),过去十年,现在,未来。...

通往职业初段—使用用例组织需求(上),think

......伴随着UML到来的“用例”,为需求技术在国内的普及起到了至关重要的作用。目前,“用例”是UML中讨论得最多的话题之一,从UMLChina讨论组的帖子可以统计出。用例是什么?用例是文档还是图?用例的粒度如何把握….都是经常被讨论的话题。...

UML与XP,Alan Cameron Wills,刘巍

......在我们给客户咨询过程中,我们已经取得了一些适应上述需要的经验,同时保留了极限编程(XP)的优势。当然,其结果非常类似如RUP这样的其他的迭代过程。不过,我们注意到了其他方式的许多改进。现在,我们把这种方式叫做XP/RM。...

分析模式应用――帐务模式,Windy.J

......代理是一种销售方式,代理商通过出售源厂商的产品或推广服务商提供的服务获得利润,不管是产品还是服务,代理商和产品/服务商之间的利润计算都是基于更优惠的代理价格(对产品代理而言,代理价格可能跟历史代理销售收入有关,如果上年度或上季度的代理销售收入较高,可能代理价格就更优惠),或者基于代理销售收入本身(对服务代理而言,更有可能是这种形式,代理销售收入越高,代理佣金也就越高),或者可能的其他方式;因为基于代理价格的结算相对而言较为简单,结算通过代理商对购买的产品付费已经完成,所以,我们在这里要应用到帐务模型进行处理的,不是基于代理价格的结算,而是基于代理销售收入的结算。...

【人件】

别把开发人员当成牲口,Mike Gunderloy, think

......幸运的是,在某些公司或者在某些领域,事情还是好转了。Microsoft因为在办公设施方面“浪费钱”而“声名狼藉”:给开发人员配备带有门和窗的办公室,还提供免费饮料,休息区,还有其他很多无聊的东西。结果呢?Microsoft的人们确实喜欢呆在办公室,自由自在地集中精神,写出高质量的代码。事实上,Joel Spolsky曾声称:微软成功的原因之一就是公司里的所有经理都读过《人件》。Joel推荐软件经理每年重读这本书一遍――这主意不坏。...

《人件》各章精选,Tom DeMarco、Timothy Lister,方春旭、叶向群

......几年前,我与南加州一个大项目的项目经理交流各自的艰辛历程。他开始叙述将项目和疯狂的时间表压到他下属的身上产生的影响。一是发生的两宗离婚案,其中原因可以直接追溯到与他的人经常加班有关;再者就是一个员工的孩子吸毒,其中原因可能是由于在过去的一年里,孩子的父亲太忙,未能尽到做父亲的责任,最后,测试团队的负责人又神经崩溃。......












以上是关于《非程序员》电子杂志下载(1-22期)的主要内容,如果未能解决你的问题,请参考以下文章

电力电子基于matlab Simulink AC-AC交换变频调压含Matlab源码 2359期

独立跟踪下载进度 UI

[高清·非影印] Python机器学习经典实例(电子书+源码)

java精品项目源码第138期电子病历管理网站

Java精品项目项目源码第107期在线电子书小说阅读系统

下载!闲鱼最新升级版 Flutter 技术电子书!