首页 > 代码库 > web服务器分析与设计(三)

web服务器分析与设计(三)

面向对象分析与设计第二步:健壮性分析,完善对象

通过上一篇的分析,已经得到了构建系统中最重要的对象-----实体对象,它们封装着构成系统最重要的数据,实体数据是系统的生命。

但是光有实体还系统是运转不起来的,这里通过健壮性分析来发现边界,控制对象,以大致完成系统对象的发现。

健壮性分析同样是以用例为单位。通过对每一个用例的分析,从中发现以及抽象出边界对象,控制对象。

边界对象:接收外部命令;控制对象:程序逻辑;实体对象:重要数据;

 

从用例1(U1)开始分析: 

    上网者:打开网站(www.xxx.com)                                                                        【需要边界接收这个命令,但是边界是浏览器的,不需要构建】

  浏览器:连接网站                                   【需要边界接收这个命令,边界对象:网站】

    目标系统:接受连接                                  【程序逻辑,控制对象:接受连接】 

                  检查连接合法性(主要是因为服务端是容易受攻击的,所以需要加入安全检查)   【程序逻辑,控制对象:检查连接】

                  合法,接入连接,等待HTTP请求(不合法看备选流程)                                【程序逻辑,控制对象:等待请求】

  浏览器: 发送GET请求                                                                                    【这个命令需要边界接收,边界对象:连接】

                  等待回复                                                                                          【无】

      目标系统:收到GET请求                                                                                  【这个和等待请求是一个意思,等待请求就说明会收到请求】

                    处理GET请求                                                                                  【程序逻辑,控制对象:处理】

                    向浏览器发回请求回复                                                                       【程序逻辑,控制对象:发回回复】

                    回复完成,断开连接                                                                          【无,这种很简单的操作没有必要抽象成对象】

  备选流程:连接不合法,断开连接。                                                                     【无,其实断开更适合做连接的一个方法/接口】    

画图表示:

其它的用例同样也要分析。但是千万不要陷于分析瘫痪。只要大致分析出就可以,不完善的地方,在开始迭代过程中可以改进。