zoukankan      html  css  js  c++  java
  • web服务器分析与设计(二)

    面向对象分析与设计第二步:寻找对象,建立问题域模型

    1,用例场景描述

    接上一篇中的用例,编写用例场景

    U1:

        上网者:打开网站(www.xxx.com)

      浏览器:连接网站

        目标系统:接受连接

                      检查连接合法性(主要是因为服务端是容易受攻击的,所以需要加入安全检查)

                      合法,接入连接,等待HTTP请求(不合法看备选流程)

      浏览器: 发送GET请求

                      等待回复

          目标系统:收到GET请求

                        处理GET请求

                        向浏览器发回请求回复

                        回复完成,断开连接

      备选流程:连接不合法,断开连接。

    U2 

        上网者:点击提交按钮

      浏览器:连接网站

        目标系统:接受连接

                      检查连接合法性(主要是因为服务端是容易受攻击的,所以需要加入安全检查)

                      合法,接入连接,等待HTTP请求(不合法看备选流程)

      浏览器: 发送POST请求

                       等待回复

          目标系统:收到POST请求

                        处理POST请求

                        向浏览器发回POST请求回复

                        回复完成,断开连接

      备选流程:连接不合法,断开连接。

    U3,U4与U1,U2基本一样,不再赘述。

    U5 (由于不清楚网站怎么发现,我参考了IIS的新建站点)

         网站发布人:打开发布界面

         目标系统   :显示发布界面

         网站发布人:填写网站配置(主目标,端口等)

                         确认启用网站

      目标系统 :启动网站

                       开始等待浏览器连接

    (突然想到系统还需要提供管理站点的功能,如日常维护等等,不过没有考虑到也不要紧,

     在上一遍中已经进行过“需求复核”,确保了我们的目标系统,可以完成重要需求。)

    2,用例场景分析:提取对象

    利用前辈发明的方法:动名词法。流程中的名词,有可能为系统中重要的实体对象。

    U1中的名词:网站  连接  HTTP请求  GET请求   请求回复  

    U2中的名词:按钮  连接  HTTP请求  POST请求  POST请求回复  

    U5中的名词:发布界面 网站配置  网站 

    找到了可能的对象,那么哪些是系统中的对象?

    按钮肯定不是。

    HTTP请求,GET请求等明显是系统中的对象。

    连接是客户端与系统通信的实体,也是系统的对象。

    发布界面是提供发布人的操作界面,也是系统中的对象。

    网站是什么?实质是用来接收浏览器的连接的,也是系统中的对象。

    网站配置可能是网站的一个重要属性。

    3,对象分析,建立类型关系

    分析对象的共性与修改,用类来归纳它们。下面是用ArgoUML画的类图。

  • 相关阅读:
    TFS2017持续发布中调用PowerShell启停远程应用程序
    基于BUI开发Asp.net MVC项目
    WebAPI应用问题整理
    C#多线程顺序依赖执行控制
    TFS下载文件已损坏问题
    Asp.net core中使用Session
    为什么使用.Net Core, Asp.net Core以及部署到云端
    基于微软开发平台构建和使用私有NuGet托管库
    TFS2017代码搜索功能
    [转】[tip] localhost vs. (local) in SQL Server connection strings
  • 原文地址:https://www.cnblogs.com/cppp/p/3774916.html
Copyright © 2011-2022 走看看