Architecture 记录Web应用程序流/i操作

Architecture 记录Web应用程序流/i操作,architecture,web-applications,documentation,uml,diagram,Architecture,Web Applications,Documentation,Uml,Diagram,考虑到静态页面之间的链接以及动态视图组件(html表单、JSP、Ajax等)如何与服务器端组件(servlet、Struts操作等)交互,哪些构件/图表用于记录web应用程序的流程?是否使用UML图?我的一些同事使用用例作为活动图的一部分,但这对于一些静态高级导航概述可能是好的 我即将开发定制DSL,它将类似于Cucumber和Webrat中使用的BDD场景格式,我认为这样的场景包含足够的信息来创建交互和网页模型。我过去使用UML状态图来记录web应用程序的页面导航。我们使用Conallen文章

考虑到静态页面之间的链接以及动态视图组件(html表单、JSP、Ajax等)如何与服务器端组件(servlet、Struts操作等)交互,哪些构件/图表用于记录web应用程序的流程?是否使用UML图?

我的一些同事使用用例作为活动图的一部分,但这对于一些静态高级导航概述可能是好的


我即将开发定制DSL,它将类似于Cucumber和Webrat中使用的BDD场景格式,我认为这样的场景包含足够的信息来创建交互和网页模型。

我过去使用UML状态图来记录web应用程序的页面导航。

我们使用Conallen文章的变体使用UML类图。你会发现这篇文章已经演变成一本书,甚至成为一本书

我对我们使用的方法进行了2%的介绍:

在Conallen的论文之后,我们定义了一个新的UML实体(原型)来表示网页或网页的一部分,以便我们能够区分服务器端代码(例如Java servlet或JSP)和它生成的客户端HTML/javascript/AJAX。例如:

  • [网页]
  • [导航条]
  • [网页内容]
  • [标题]
  • [页脚]
有新的关联,例如:

  • [构建]-将服务器端代码与其生成的网页或网页片段关联
  • [明显链接]-在站点地图图上的客户端页面之间使用
  • [链接]-URL链接,即获取请求
  • [提交]-表单post返回服务器,即post请求
  • [客户端重定向]-客户端重定向
  • [服务器重定向]-duh
最后,一些新的图表(主要是类图的专门化),例如:

  • [站点地图]->类似于类图-从用户的角度显示[网页]之间的静态关系([明显链接])
  • [页面生成]->类似于类图-显示与显示特定网页静态相关的类:生成它的代码是什么,处理提交后的代码是什么
  • [页面组成]-类似于类图-显示组成给定[网页]的内容
  • [序列图]-唯一的其他变化是序列图现在可以包括客户端实体作为参与者
好消息是:

  • 我们找到了我们需要的RationalRose图标扩展,以使图表看起来有几分像样
坏消息是:

  • 这种方法需要做大量的工作-我们现在有两倍多的实体来建模,因为除了服务器端类之外,我们现在还要建模客户端实体

阅读Conallen的一篇论文,了解我所说的内容,但正如我所说的,我们没有严格遵循他的方法——我们只取了我们需要的部分。希望这能有所帮助。

我建议采用37signals方法进行应用程序开发

每一页都需要有目的。首先关注这个目的,然后围绕它设计其他一切

过程:

  • 用草图勾画出主要部分
  • 列表项
  • 早期(他们只是挡道)
  • 尽快创建一些真实的东西(例如,创建一些html文件,其中包含指向其他页面的链接,以显示应用程序将如何运行)
  • 一旦设置了站点的流程,然后添加设计组件并开始编程
将编程添加到已经设计和构思好的东西上要比设计一个应用程序来解决现有编程容易得多(在大多数情况下,需要重写代码以适应设计/流程问题,而这些问题在一开始就被忽略了)