什么工件/图表用于记录Web应用程序的流程,同时考虑静态页面之间的链接以及动态视图组件(html表单,JSP,Ajax等)如何与服务器端组件交互(Servlet,Struts操作等) ?使用UML图表?
解决方法
我们使用了Conallen的文章
Modeling Web Application Design with UML的变体来使用UML类图.你会发现这篇文章已经发展到
different incarnations around the net,甚至已成为一本书
Building-Web-Applications-UML-2nd.
我对我们使用的方法的2美分之旅:
根据Conallen的论文,我们定义了一个新的UML实体(构造型)来表示网页或页面的一部分,以便我们可以区分服务器端代码(例如Java servlet或JSP)和客户端HTML / javascript / AJAX它生成的.例如:
> [网页]
> [导航栏]
> [页面内容]
> [标题]
> [页脚]
有新的协会,如:
> [builds] – 将服务器端代码与其生成的网页或页面片段相关联
> [apparent-link] – 在站点地图上的客户端页面之间使用
> [link] – URL链接,即GET请求
> [提交] – 表单回发到服务器,即POST请求
> [client-redirect] – 客户端重定向
> [服务器重定向] – 呃
最后,一些新的图表(大多数只是类图的特化),例如:
> [sitemap] – >像类图一样 – 从用户的角度显示[网页]之间的静态关系([apparent-link] s)
> [page-generation] – >像类图一样 – 显示与显示特定网页静态相关的类:生成它的代码,处理提交后的代码
> [page-composition] – 就像一个类图 – 显示构成给定[网页]的内容
> [序列图] – 唯一的另一个变化是序列图现在可以包含客户端实体作为actor.
好消息:
>我们发现了我们需要的Rational Rose图标扩展,使图表看起来不太合适.
坏消息:
>这种方法做了很多工作 – 我们现在有两倍的实体要建模,因为我们现在除了服务器端类之外还对客户端实体进行建模.
阅读其中一篇Conallen论文,了解我正在谈论的内容,但正如我所说的那样,并没有严格遵循他的方法 – 我们只拿走了我们需要的部分.希望这可以帮助.