当前位置:文档之家› 气象信息系统

气象信息系统

“气象信息系统”系统设计说明书 文件状态: [ ] 草稿 [√] 正式发布 [ ] 正在修改 文件标识 当前版本 1.0.0 作 者 完成日期 2011年12月5日 版本历史 版本/状态 修订人 修改日期 备注

第一部分 概述 1、文档说明 本文档描述“气象信息”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。 2、系统需求概述 气象工作人员在工作中需要查阅和管理如下信息:天气(晴、多云、阴、小雨(雪)、大雨(雪)、暴雨(雪)、雾等)、温度、湿度、空气质量状况(优、良、轻度污染、重度污染)等信息。工作人员以“天”为单位发布信息,需要进行登录认证,对数据进行增加、删除、修改、查询等。普通用户无需登录即可直接进入系统查询天气情况,使用浏览器访问该系统。系统的用例图如图一所示:

气象业务管理系统

工作人员登陆退出增加气象信息删除气象信息修改气象信息

查询气象信息普通用户

<><><><>

<><>

<>

发布气象信息<>

图一:“气象信息系统”系统的用例图 第二部分 系统总体结构 系统设计时基于MVC设计模型,采用三层架构,如图二所示。

图二:气象信息系统的体系结构 第三部分、系统设计 1、关键抽象 从需求中可以得出系统的如下关键抽象:气象工作人员、气象信息、普通用户。这些实体可以设计为JavaBean类,例如气象工作人员具有这些属性:姓名、工作证号和出生日期等。工作人员和气象信息之间具有如下关系:一个气象工作人员可以增加、修改、删除、发布、查询气象信息,每天的气象信息可以被多个气象工作人员来操作更新;每天的气象信息包括天气、温度、湿度、空气质量等。而普通人员可以查询每日的气象信息。图三描述了系统的关键抽象,他们为系统的模型。

+setuserName()+getuserName()+setpassword()+getpassword()

-userName : string-password : string-

weatherworker

+setdate()+getdate()+setweather()+getweather()+settemperature()+gettemperature()+sethumidity()+gethumidity()+setairQuality()+getairQuality()

-date : string-weather : string-temperatuer : float-humidity : float-airQuality : string

weatherinfo+getdate()+getweather()+gettemperature()+gethumidity()+getairQuality()commonperson

图3 “气象信息系统”关系模型 2、用例的设计 使用面向对象设计时,关键在于描述那些对象如何交互完成用例的功能,通常将对象发送消息的相互调用过程画成时序图。下面将逐一解释用例的时序图。 ➢ 登录 A、时序图

工作人员:login.jsp1:\输入用户名和密码\

2:\提交Form\

:workerServlet

3:doPost(req resp)\weatherworkerDAO4:verify(edto)验证通过:weatherset.jsp

5:\forward\ B、描述 编号 类名或方法名 功能描述

1 login.jsp jsp页面,显示登录界面 2 workerServlet Servlet,处理工作人员的登录请求 3 worker 其verify方法负责访问weatherworker表,验证用户名称和口令 4 weather.jsp jsp页面, 若工作人员登录成功,显示一个页面可供工作人员访问用例“操作气象信息” ➢ 退出 A、时序图

:工作人员:workerservlet:《javainterface》HttpSession:login.jsp1.\点击取消链接\2:invalidate()

3:\forward\

B、描述 编号 类名或方法名 功能描述

1 workerServlet Servlet,处理工作人员的取消请求 2 HttpSession session对象,其invalidate方法负责使客户的会话无效 3 login.jsp jsp页面, 工作人员取消后,显示主界面 ➢ 工作人员管理气象信息 A、查询气象信息时序图(工作人员)

普通人员:getsearch.jsp:getservlet:weatherDAO

3:\选择查询日期后提交\4:doPost(req,resp)5:search(date)

ArrayList7:\forward\

1:\点击查询\2:\forward\

6:search(weather,tem,humi,air) B、描述 编号 类名或方法名 功能描述

1 getServlet Servlet,处理工作人员的更新气象信息的请求 2 weatherDAO 其search方法负责访问weatherinfo表完成查询气象信息 3 getsearch.jsp jsp页面, 可供工作人员选择要查询的气象日期和信息

A、增加气象信息时序图(工作人员) 工作人员:getaddinfo.jsp:getservlet:weatherDAO

3:\选择增加信息日期后提交\4:doPost(req,resp)5:addinfo(date)

ArrayList7:\forward\

1:\点击增加\2:\forward\

6:addinfo(weather,tem,humi,air) B、描述 编号 类名或方法名 功能描述

1 getServlet Servlet,处理工作人员的增加气象信息的请求 2 weatherDAO 其addinfo方法负责访问weatherinfo表完成增加气象信息 3 getaddinfo.jsp jsp页面, 可供工作人员选择要增加的气象日期和信息 A、修改气象信息时序图(工作人员) 工作人员:getupdate.jsp:getservlet:weatherDAO

3:\选择修改信息日期后提交\4:doPost(req,resp)5:update(date)

ArrayList7:\forward\

1:\点击修改\2:\forward\

6:aupdate(weather,tem,humi,air) B、描述 编号 类名或方法名 功能描述

1 getServlet Servlet,处理工作人员的修改气象信息的请求 2 weatherDAO 其update方法负责访问weatherinfo表完成修改气象信息 3 getupdate.jsp jsp页面, 可供工作人员选择要修改的气象日期和信息

A、删除气象信息时序图(工作人员) 工作人员:getdeleteinfo.jsp:getservlet:weatherDA

3:\选择删除信息日期后提交\4:doPost(req,resp)5:delete(date)

ArrayList7:\forward\

1:\点击删除\2:\forward\

6:deleta(weather,tem,humi,air) B、描述 编号 类名或方法名 功能描述

1 getServlet Servlet,处理工作人员的删除气象信息的请求 2 weatherDAO 其delete方法负责访问weatherinfo表完成删除气象信息 3 getdelete.jsp jsp页面, 可供工作人员选择要删除的气象日期和信息 ➢ 普通用户查询信息 A、时序图

普通人员:getsearch.jsp:getservlet:weatherDA1:\选择查询日期后提交\2:doPost(req,resp)3:search(…)

ArrayList5:\forward\

B、描述 编号 类名或方法名 功能描述 1 getServlet Servlet,处理普通人员的查询气象信息的请求 2 weatherDAO 其search方法负责访问weatherinfo表完成查询气象信息 3 getsearch.jsp jsp页面, 可供普通人员选择要查询的气象日期和显示信息

第四部分、数据库设计 1.逻辑设计 系统的E-R图如下:

-id-date

date

-username-password

workers

-id-weather-temperature-humidity-airQuality

weatherinfo

**

**

相关主题