|
本文描述了怎样使用rational软件公司提出的RUP(Rational Unified Process Rational 统一过程)理论来开发web应用。本文特别关注于软件生命周期的前端部分,以及如何集成使用RUP理论的创意设计过程和软件工程过程。本文包含了context integration公司对RUP的一些应用经验和扩展,context Integration 公司是一家领先的web解决方案集成商,为其名列财富1000公司的客户提供web解决方案,并使用了该公司自己的wow(Web Opportunity Workshop)软件和web开发优化理论:inContext。 简介 过去几年里,出现了一种新一代的软件模式,即经常谈到的e-commerce, e-business等等。这些web应用软件使客户和商业公司具备了在线商务处理、供应链集成、动态满足客户要求以及个性化服务等能力。这些系统具有鲁棒的,可伸缩的和可扩展的架构,可以提升性能并且能处理大量的不可预知的商务交易负载。这种架构的特点是多层的、封装了商务逻辑、集成了多种遗留下来的异构系统。本文主要讨论如何建立这种类型的web应用软件。在本文的上下文中,我们称这种类型的软件系统为web解决方案(web solution)。 开发web解决方案与开发其他应用软件有许多相似点,但在也有许多值得注意的不同之处。在许多方面它象是一种消费媒体,例如电影和电视。就和任何一种消费类产品一样。web解决方案的外型和观感被品头论足,同时还必须被新的一类人所接受,如市场人员、创意设计师和商务执行官。因此,对于web开发人员来说,挑战不仅仅在于要掌握新的软件技术,还必须使用一种能促进上述这一类新型涉众达成一致意见的开发过程。本文试图成为成功构造web解决方案的路标,该方案将具有良好的用户界面,并使用RUP作为基本的方法来开发。 本文在关注创意设计过程的重要性的同时,也希望能指出其他过程的重要性,例如架构、配置管理和测试。例如,对架构关注不够或缺少早期的架构运行测试,将可能会导致软件架构很脆弱,并且不能适应所需承受的处理负载。在本文末尾我们主要讨论了一些最好的实践方法,这些方法对于成功地实施基于web的项目是必须的。 在传统的软件开发中集成创意设计 此前人们从未象今天对待web应用一样,如此关注应用软件的用户界面,也从没有对用户界面给予如此高的的重视度。对以前的日子和技术而言,用户在不同程度上是被动地接受软件。但现在,他们不再被动,web上的市场经济对基于软件的商务活动有了更大的影响力。为什么这样说?因为在新的由web应用软件构建的市场环境中,客户并不是购买软件,然后安装在他们的机器上,他们在web上冲浪,并且立即判断出web界面是否吸引他。要构建一个成功的web解决方案的关键之一,就是要使web应用程序有引人注目的外观。所以在软件开发的各个过程中,都有必要集成创意设计过程。 用例图统一创意设计过程和软件设计过程 web解决方案对传统软件开发进行了扩展,它把软件工程的世界和艺术与创意设计的世界融合起来。这两个世界在过程、技能和文化上都不同。因为文化上的冲突,这些不同点常常成为一个web项目中的主要绊脚石。从通常意义来说,用例提供了对web应用软件预期行为的通用表达方式,这些表达方式大家都能理解。 用例提供了项目相关人员如用户、经理、艺术指导、构架师和程序员等相互进行联系的通用语言,任何人都可以使用这种语言与项目取得沟通,并描述web应用将做些什么。它允许人们用商业解决方案方面的语言进行交谈,每个人都根据用例确定的规则来表达。 要求 构建web解决方案与开发其他应用软件相比,要涉及到更多的人员。这些人员通常包括商业执行官、市场人员、创意设计人员、客户支持人员和技术研发团队等等。拥有一种能够促进这些人员相互交流的过程是成功的关键。 成功的web解决方案起始于引人注目的视觉外观。这种视觉外观必须由该web解决方案的涉众来亲自开发,并且要确保一开始就和项目的目标保持一致。视觉表现应符合以下目标: 1、必须与要解决的问题相适应 2、定义系统的边界 3、描述系统最重要的特征 一旦视觉外观取得一致意见,项目的涉众将要召开交流促进会,以进一步定义系统的用户,以及系统应该为这些用户提供的服务。这些用户和服务将使用统一建模语言(UML)进行记录归档。在UML语言中,用户被称为活动者(actors),服务被称为用例(use cases)。这种将需求文档化的方法可以使用户说清楚他们到底需要什么服务,也能使开发人员完整而精确地验证用户需求。用例还能为开发过程提供一个前后一致的思路,我们接下来将会看到这一点。 无论何时,都要尽可能重用以前web项目的用例。在“web时代”,这对我们快速构建合适的解决方案是很重要的。正如设计模式和分析模式一样,也存在用例模式。例如:任何一个web上的零售店都有许多相同的用例。 因此不要做重复的事情,应从过去的项目中挖掘出可重用的用例来使用。 在开发系统用例的同时,还应在增补规格书中加入非功能性需求的描述,一些通用的术语也应该加入到词汇表中。增补规格书包含了一些对通常需求(对整个系统而言)的描述,如可用性、稳定性、性能、安全性、web机群和可支持性等。这个词汇表保证了项目成员对重要的概念保持统一的理解。 创意设计大纲 开发web解决方案需要更加重视用户接口的创意设计。在定义了活动者和用例的同时,就已经得到了初步的用户接口方案。更进一步的用户接口方案在web开发团体中通常被称做创意设计大纲。创意设计大纲定义了如下内容: 1、网站的总体风格(例如这个网站是权威性的,或是轻松幽默的,或是服务性的?是偏重于保守的还是充满煽动性的?) 2、用户将以什么样的方式来访问这个网站(例如他们的连接速度如何?) 3、用户将使用什么样的浏览器 4、网站是否使用了框架结构 5、网站在色彩的使用上是否有限制 6、如果有用,需要定义一个色彩标准指南(包含网站的logos和总体色调的标准) 7、需要一些什么样的动态效果点缀(例如鼠标翻滚效果、动画、滚动新闻、多媒体等等) 导航图 导航图是web解决方案中的一种用层次树方式显示的视图,能够描述网站的用户如何访问该网站。这种层次图通常被称作网站地图,但是我们选择“导航图”这种称法,因为“网站地图”这个短语有多个含义。导航图的每一层显示出到达该层对应的屏幕/页面需要多少次点击。通常,你总是希望只需在起始页(通常被称作主页)上点击一次,即可到达你的web站点上最重要的区域。 在项目的早期确定网站导航图,可以提供一种有效的沟通媒介,便于项目的涉及人员和项目开发团队之间交流。用户也可以更好地想象浏览该web应用的情况,创意设计人员可以更好地了解网站导航模式。用例模型用于描述系统向最终用户提供怎样的服务,因此导航图是自然地从用例模型进化而来的。由于上述原因,导航图应该在最初的用例模型确定后再创建。(有时,项目的涉众会在创建用例模型之前,预先勾画出了网站的导航图。在这种情况下,这个早期的导航图能起到为用例建模工作提供素材的作用,这样能保证网站能提供它的涉众所预期的所有功能。) 导航图是“用例故事板”技术的变种,“用例故事板”在Rational统一过程的“用户接口建模”行为中进行了定义。要开发导航图,首先应为每一个用例定义一个主窗口或主页面。在这个阶段,我们还不能确切地知道每一页看起来会是什么样子,甚至不能确切知道到底会有那些具体的页面。所以我们关注于定义“逻辑页面”。这些逻辑页面是可选的,将随着用户接口的发展完善被采纳或被抛弃。逻辑页面用UML的构件—边界类来分析描述。 随后在设计和实现阶段,我们将用HTML页面或其他可视元素来替代UML的描述。一旦逻辑页面被定义了,导航图着眼于描述用户如何从一个逻辑页面浏览到另一个,同时描述了逻辑页面提供的主要特性。作为例子,见图2、3和4。这使我们能从更高层次来观察导航图。对大型系统而言,人们通常会为每一个活动者定义一个导航图(见图3和4)。为了更深入地挖掘细节,每一个用例也需要定义同类的视图,以便定义那些用户在执行用例时将会浏览到的更多的页面(边界类)。当这些页面(边界类)被定义时,我们同时也描述了它们所处理的信息内容。 创意设计比选方案(Creative Design Comps) 创意设计比选方案向涉众提供了web解决方案的一些可选的视觉外观设计方案,以便推进创意设计过程,最终得到一个确实吸引人的视觉设计。 “比选方案”包含了一些网站的视觉外观模型。这些模型通常是一些有代表性的“平面”图形,由许多帧描绘浏览窗口外观的浏览视窗图组成。做方案比选的意图在于先就网站的视觉规范达成一致意见,然后才进行明显更费资金的HTML原型的开发。比选方案的非功能性(非功能性指它们仅仅是平面图形,不是真正能够交互的HTML页面—译者注)的特点也有助于避免产生误解。 Rational统一过程提供了一个活动,即用户接口原型建模,它提供了一个收集用户接口反馈意见的通用方法。在web开发方面,我们把这个活动稍微扩充了一下,提出了创意设计比选方案的概念。要创建比选方案,我们应选择一个最重要的用例,然后开发出许多可选的视觉外观设计方案(例如至少10个以上)。我们从这个方案集中选出三个最有希望的设计提交给涉众。通常在项目的涉众就最终的web设计方案达成一致意见以前会有三次迭代。这是一个创意设计和迭代的过程。 一旦这个过程达成一致意见并终止后,创意设 | |
| 初学者入门:软件测试从零开始 深入浅出基于Java的代理设计模式 Java理论与实践:一个有缺陷的微基准剖析 杂谈小议:如何制定软件项目测试计划 IT 架构和应用程序的端到端测试 跳出程序员的视界 感悟软件测试 如何制定软件项目测试计划 测试:确保软件质量的最重要一环 软件质量:如何提高软件的可测试性 性能的测试:软件测试的重中之重 |
| 文章评论 | |||