-
活动:定义候选体系结构
任务:体系结构分析利用了以下知识:Web 应用程序具有相对明确定义的体系结构,包括一组明确定义的机制(Web
浏览器、Java applet 和 servlet、ASP 和 JSP 等等)。通常,除非 Web 应用程序开发框架更为特殊,否则如概念:分层中所述的简单分层结构就足够了。在许多情况下,可以购买或从以前的 Web 开发项目中重用预定义的现成体系结构。Web 应用程序框架(如 IBM 的
WebSphere 或 Microsoft 的 Windows DNA)只提供这种体系结构模板。
Web 应用程序通常不安排停机时间。体系结构可能(并通常会)需要在系统运行的同时提供升级,并在主服务器出现故障或者维护或升级服务器时切换到备用服务器。某些 Web
应用程序框架为生产支持提供工具。无论应用程序是否具有高度可用的需求,您都将需要计划购买或构建支持此需求所必需的基础结构,并将此功能的支持集成到体系结构中。
-
活动:分析行为
任务:设计用户界面是在精化迭代中以迭代方式执行的。此活动的早期执行注重于生成“创意设计组件”,这些组件是站点中关键 Web
页面设计的实体模型表示。这些“组件”通常是由浏览器窗口图形构成的“平面”图片,从而形成浏览器窗口的外观。“组件”的主要好处是推迟对更精细也更昂贵的 HTML 原型的投资,直到对于站点的特定图形显示顺序达成共识为止。
通过查看最重要用例的界面需求并制定界面外观的多个备选设计方案(可能有 10 以上)来创建“创意设计组件”。从这一批次中,选择三个最有希望的选项来向项目干系人展示。反复进行此项工作,直到对最终的 Web
设计达成共识,产生一组故事板和导航图。
一旦达成共识并完成签署,创意设计组件会通过重复任务:构造用户界面原型发展为功能性用户界面原型。初始 Web UI
原型通常只支持系统上最重要的和最具体系结构意义的用例。在开发原型之前,用例事件流中具有良好结构是很重要的,这可确保是功能促成了用户界面的布局,反之则不然。
在随后的迭代中,扩展 Web 原型,逐渐扩大用例覆盖范围和加强体系结构的练习。
任务:用例分析是相对不变的,例外情况是不仅注重于 GUI 的行为很重要,而且注重于底层业务逻辑也很重要(这部分通常将在
Web 服务器或应用程序服务器上运行)。如果忘记了这一点,则将忽略最重要的系统行为部分。Web 页面本身表示为“边界”类,数据元素表示为“实体”类,而服务器端行为(例如,活动服务器页面、servlet
之类)通过“控制”对象来表示。
紧接在用例分析之后,任务:确定设计元素优化工作产品:分析类,将它们映射到 Web
开发框架中的现有机制,在可能的情况下从以前的项目或迭代中重用现有设计元素。这通常需要重新调整已确定的分析类的范围和定义,来实现预期程度的重用。
关于使用 UML 描述 Web 应用程序的更详细说明在白皮书:使用 UML 对 Web 应用程序体系结构建模中有所描述。
-
活动:准备环境。
除了制定用户界面指南外,还创建 Web 设计元素 - 汇集起来可建立站点 Web 页面的分散图形图像。用户界面跨 Web 站点的一致性对于可用性而言是必不可少的;Web
站点应该提供一致的用户体验。要确保这一点,项目必须始终在整个站点中使用一组标准图形元素。
这些元素的开发是任务:准备项目指南的扩展,并包括创建指南以供其使用。请确保所有团队成员均了解何时和如何使用这些元素。Web
设计元素的示例包括图形元素,如导航设备和页面背景。在整个站点中重用高质量的标准图形元素,可通过部署更小的一组更高质量的元素来确保一致性、缩短投放市场时间、降低开发成本和提高质量。
指南的准备是结合初始 Web 用户界面原型的开发共同进行的,可生成站点的风格指南。此风格指南将特别指定应如何及何时使用 Web
设计元素、颜色方案、字体、级联样式表和关于导航元素如何运作和放置的详细信息。
-
活动:优化体系结构
任务:确定设计机制变得更注重于将系统的非功能需求映射到由 Web
开发框架提供的机制上;并将需要确定并非由框架(如果存在)提供的机制以及找到备选解决方案。
任务:描述运行时体系结构变为主要注重于 Web 服务器和应用程序服务器层(请参阅概念:分发模式),以及用于管理应用程序并行的进程和线程。通常很少或不控制客户端机器上的处理。
任务:描述分发的重点从确定“拥有的服务器节点类型”改为“拥有的每种服务器节点的数量”。通常,Web
开发框架将提供固定数量的服务器类型(例如,Web
服务器、应用程序服务器、邮件服务器和通信网关服务器),并具有相对定义良好的功能边界。软件设计人员的技能因此变为注重于确定如何使用可用的服务器类型(通常通过确定每种服务器的需要数量)来处理可伸缩性和故障容许度需求。此外,还需要做出评估计划,以确定如何知道何时需要附加服务器。
-
活动:定义评估任务
计划在很大程度上注重于性能测试,以确保 Web 应用程序可支持并发用户数量的激增。因此,测试活动验证测试方法、测试和评估、实现可接受的任务和改进测试资产也将更注重于性能测试,以确保体系结构是可伸缩的。
其他重要的测试类型为可用性测试和结构测试。测试用户交互来验证 Web 应用程序的结构是否适合其用户,这是必要的。 在某些情况下,您必须在 Internet
上具有该应用程序,这样就可以监视用户是如何使用该应用程序的。
消耗大量时间的另一种测试是浏览器测试,因为浏览器和浏览器版本之间的兼容性经常会限制用户界面中的设计选项。
-
活动:实施组件、集成每个子系统和集成系统
为了验证到目前为止对项目所做的体系结构决定,开发并测试了一个或多个体系结构原型,包括连续执行活动:实施组件、活动:集成每个子系统和活动:集成系统。如上面所述,测试应特别注重于应用程序针对不可预测的系统负载增加的可伸缩性。