软件需求分析文档.docx
《软件需求分析文档.docx》由会员分享,可在线阅读,更多相关《软件需求分析文档.docx(33页珍藏版)》请在冰豆网上搜索。
![软件需求分析文档.docx](https://file1.bdocx.com/fileroot1/2022-12/19/3032f532-b54f-4bf4-8d15-ed13421d96b3/3032f532-b54f-4bf4-8d15-ed13421d96b31.gif)
软件需求分析文档
定义业务流程
业务用例图
业务用例名称
简述
1)作业申报、审核
船代提交作业申请和相关部门的核准单据,调度进行审核
2)调度作业
为通过审核的船舶制定作业计划、实施计划
3)日志统计
对港口作业数据进行统计分析
分析业务流程
作业申报、审核的活动图
制定作业计划活动图
计划变更活动图
定义系统范围
申报、审核系统用例
系统用例名称
简述
Dec001-(调度)资料录入
调度输入船舶港口作业申报资料
Dec002-(船代)资料录入
船代输入船舶港口作业申报资料
Dec003-审核申报资料
调度审核申报资料完整性、合理性
调度作业系统用例图
系统用例名称
简述
Sche001-制定作业计划
安排作业计划
Sche002-生成港口作业单回执
将作业计划反馈给船代
Sche003-实施计划
将船舶港口作业信息通知相关单位
Sche004-制定引航计划
为需要引航的作业安排引航
Sche005-作业计划变动
调整作业地点、作业时间等信息
Sche006-引航计划变动
调整引航起止地点
Sche007-完成调度
完成调度工作,记录加入工作日志
分析系统流程
Dec001-(调度)资料录入
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程■替代流程□例外流程
□其他()
□启动事件或条件□前置条件□后置条件□失败时状态
□业务规则□其他()
□用例叙述的历史版本□UML图■参考画面□非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
■特殊需求□其他()
□其他()
用例名称
(调度)资料录入
用例编号
Dec001
用例简述
调度输入船舶港口作业申报资料
用例图
主要流程
1)输入船舶规范、进出港、货物(旅客)、作业地点代理公司等基础信息,点击“确定”按钮,保存信息,作业状态为“预报”
2)在“预报列表”中选择某条作业,点击“确保”,改作业状态变为“确报”
替代流程
1a)[必填项为空]系统弹出“XXX字段不能为空”警告框,回到主流程1
1b)[数据格式有误]系统弹出“XXX字段格式错误”警告框,回到主流程1
参考画面
特殊需求
1)相同船舶的船舶规范信息系统自动填写
Dec002-(船代)资料录入
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程■替代流程□例外流程
□其他()
□启动事件或条件□前置条件□后置条件□失败时状态
■业务规则□其他()
□用例叙述的历史版本□UML图■参考画面■非UML文档
□其他()
□优先性□迭代等级■待解决问题□基本假设□相关人员
■特殊需求□其他()
□其他()
用例名称
(船代)资料录入
用例编号
Dec002
用例简述
船代输入船舶港口作业申报资料
用例图
主要流程
1)输入船舶规范、进出港、货物(旅客)、作业地点代理公司等基础信息,点击“确定”按钮,保存信息。
作业状态为“预报”
2)在“作业列表”中选择“预报”作业,点击“添加申报资料”
3)录入申报资料信息,点击“保存”
4)在“作业列表”中选择“退回”作业,点击“修改”
5)修改被退回的资料,点击“保存”,修改完成所有退回单据后,作业状态返回被退回前的状态
6)在“作业列表”中选择某条作业,点击“确报”完成申报工作,作业状态变为“确报”
替代流程
1a)[必填项为空]系统弹出“XXX字段不能为空”警告框,回到主流程1
1b)[数据格式有误]系统弹出“XXX字段格式错误”警告框,回到主流程1
2a)[相同单据已存在]重复填写相同申报资料,系统返回“相同单据已存在”提示,回到主流程2
例外流程
6a)[确报单据不完整]缺少必要的申报资料,系统返回“确报资料不全”提示,确报失败
业务规则
1)确报必须具备《船舶港口作业申报单》《业主码头靠(离)泊申请单》
参考画面
非UML文档
1)《船舶港口作业申报单》
2)《业主码头靠(离)泊申请单》
3)《引航申请单》
特殊需求
1)相同船舶的船舶规范信息系统自动填写
待解决问题
1)申报时间与实际作业时间的提前量限制(如:
预报必须是三天以内的作业,确报必须是1天内的作业)。
系统对超过时间限制的申报作业做何处理
2)……
Dec003-审核申报资料
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程■例外流程
□其他()
□启动事件或条件■前置条件□后置条件□失败时状态
□业务规则□其他()
□用例叙述的历史版本□UML图■参考画面■非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
审核申报资料
用例编号
Dec003
用例简述
调度审核申报资料完整性、合理性
用例图
主要流程
1)在“作业列表”中选择“预报”或“确报”作业,按下“审核”按钮
2)对申报资料、单据进行审核。
不符合审核条件的给予退回
3)在“作业列表”中选择“确报”作业,按下“完成审核”按钮,作业状态变为“待调度”
例外流程
3a)[单据审核不通过]有未审核通过的单据,系统返回“单据审核未通过”提示,完成审核操作失败
前置条件
1)船代申报资料
业务规则
1)外籍船舶必须具备《引航申请单》
参考画面
Sche001-制定作业计划
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件■前置条件□后置条件□失败时状态
■业务规则□其他()
□用例叙述的历史版本□UML图■参考画面□非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
制定作业计划
用例编号
Sche001
用例简述
安排作业计划
用例图
主要流程
1)在“作业列表”中选择“待调度”作业,点击“生成计划单”
2)编辑《单船作业计划单》,点击“确定”,作业状态变为“调度中”
前置条件
1)审核通过,作业状态为“待调度”
参考画面
非UML文档
《单船作业计划单》
Sche002-制定引航计划
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程■例外流程
□其他()
□启动事件或条件■前置条件□后置条件□失败时状态
■业务规则□其他()
□用例叙述的历史版本□UML图■参考画面■非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
制定引航计划
用例编号
Sche004
用例简述
为需要引航的作业安排引航
用例图
前置条件
已存在《单船作业计划单》
主要流程
1)在“作业列表”中选择某条作业,点击“制定引航计划”
2)输入引航作业信息,点击“保存”,完成引航计划的制定
例外流程
1a)[引航计划已制定]系统返回“引航计划已制定”的错误信息,流程失败
业务规则
1)制定引航计划完成后,将引航作业信息即使发布给引航系统
参考画面
非UML文档
《引航作业单》
Sche003-生成港口作业单回执
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件■前置条件□后置条件□失败时状态
□业务规则□其他()
□用例叙述的历史版本□UML图■参考画面■非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
生成港口作业单回执
用例编号
Sche003
用例简述
将作业计划反馈给船代
用例图
前置条件
已存在《单船作业计划单》/《引航作业单》(如需引航)
主要流程
1)进入“港口作业单回执列表”,点击“新建”按钮
2)输入回执单信息,点击“保存”,完成新建
参考画面
非UML文档
《港口作业单回执》
Sche004-实施计划
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件■前置条件□后置条件□失败时状态
□业务规则□其他()
□用例叙述的历史版本□UML图■参考画面■非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
实施计划
用例编号
Sche004
用例简述
将船舶港口作业信息通知相关单位
用例图
前置条件
作业状态为“调度中”
主要流程
1)在“作业列表”中选择某条作业,点击“实施计划”按钮
2)通知相关单位,并在确认栏中做好标记
参考画面
非UML文档
《单船作业计划单》
Sche005-作业计划变动
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件□前置条件□后置条件□失败时状态
■业务规则□其他()
□用例叙述的历史版本□UML图■参考画面□非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
作业计划变动
用例编号
Sche005
用例简述
调整作业地点、作业时间等信息
用例图
主要流程
1)在“作业列表”中选择某条作业,点击“计划变更”
2)编辑《单船作业计划单》,点击“保存”完成变更,作业状态变为“计划变更”
3)在“作业列表”中选择某条作业,点击“确认变更”
4)确定变更后的计划,通知相关单位。
点击“确定”,作业恢复到“调度中”状态
5)更新港口作业单回执
业务规则
1)计划变更以后,作业单回执随之改变
2)*将引航单的变化发布至引航系统,并提示
参考画面
Sche006-引航计划变动
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件□前置条件□后置条件□失败时状态
■业务规则□其他()
□用例叙述的历史版本□UML图■参考画面□非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
引航计划变动
用例编号
Sche006
用例简述
调整引航起止地点
用例图
主要流程
1)进入“引航作业列表”,点击“引航变更”
2)编辑《引航作业单》信息,点击“保存”完成引航变更
业务规则
1)将引航变更信息发布至引航系统
参考画面
Sche007-完成调度
■用例名称■用例编号■用例简述■用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件□前置条件□后置条件□失败时状态
■业务规则□其他()
□用例叙述的历史版本□UML图■参考画面□非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
完成调度
用例编号
Sche007
用例简述
完成调度工作,记录加入工作日志
用例图
主要流程
1)在“作业列表”中选择某条作业,点击“完成调度”
2)填写作业装卸开始、完毕时间,点击“确定”,作业状态变为“已完成”
3)更新船舶在港动态表
业务规则
1)作业类型为“进港”时,新建记录
2)作业类型为“港内”时,更新记录的作业地点
3)作业类型为“出港”时,删除记录
参考画面
Stat-日志统计
■用例名称■用例编号■用例简述□用例图□系统□执行者
□相关用例□其他()
■主要流程□替代流程□例外流程
□其他()
□启动事件或条件■前置条件□后置条件□失败时状态
□业务规则□其他()
□用例叙述的历史版本□UML图□参考画面□非UML文档
□其他()
□优先性□迭代等级□待解决问题□基本假设□相关人员
□特殊需求□其他()
□其他()
用例名称
日志统计
用例编号
Stat
用例简述
对港口作业数据进行统计分析
主要流程
1)输入参数
2)返回统计结果
前置条件
1)作业状态为“已完成”
业务规则
1)统计分为“生产作业统计”和“非生产作业统计”
2)参数包括:
作业日期、作业点、英文船名、载重吨、货种、内外贸、进出口、是否在港
3)“生产作业统计”统计合计吞吐量,合计载重吨
4)“非生产作业统计”统计合计载重吨
参考画面
分析业务规则
申报(调度)、审核
申报(船代)、审核
申报、审核状态图
作业调度
调度作业状态图
定义静态结构
系统类图
定义操作及方法
申报(调度)、审核序列图
方法名、输入输出参数如下:
1.createWorkSheet(inworkSheetVO)
2.create(inworkSheetVO)
3.setStat(inworked,statCode)
4.auditDocuments(inworkId,auditItems)
5.definite(inworkId)
6.setStat(inworkId,statCode)
7.finishAudit(inworkId)
8.checkAudit(inworkId)
9.setStat(inworkId)
10.cancel(inworkId)
申报(船代)、审核序列图
方法名、输入输出参数如下:
1.createWorkSheet(inworkShhetVO)
2.create(inworkShhetVO)
3.setStat(inworkId,statCode)
4.pilotingApply(inworkId)
5.create(inworkId)
6.anchorageApply(inworkId)
7.create(inworkId)
8.portWorkApply(inworkId)
9.create(inworkId)
10.auditDocuments(inworked,docCode)
11.setStat(inworkId,statCode)
12.alterApplyInfo(inworked,applyCode)
13.update()
14.update()
15.update()
16.setStat(inworkId,statCode)
17.definite(inworkId)
18.definiteCheck(inworkId)
19.setStat(inworkId,statCode)
20.finishAudit(inworkId)
21.checkAudit(inworkId)
22.setStat(inworkId,statCode)
作业调度序列图
方法名、输入输出参数如下:
1.createWorkPlan()
2.create()
3.setStat(inworkId,statCode)
4.createPilotingPlan()
5.create(inworkId)
6.publishPilotingInfo()
7.createWorkReturn(inVO)
8.create()
9.alterWorkPlan(inVO)
10.update(inVO)
11.update(inVO)
12.update(inVO)
13.publishPilotingChanges()
14.setStat(inworkId,statCode)
15.confirmWorkAlter(inworkId)
16.setStat(inworkId,statCode)
17.excuteWorkPlan(inworkId)
18.finishDispatch(inworkId)
19.updateShipInPortInfo(VO)
20.setStat(inworkId,statCode)
数据库定义
逻辑结构
全局E-R图
物理结构
*无特别说明时,字段可为空,默认值为空。
Nationality(国籍码表)
名称
数据类型
可否为空?
默认值
描述
n_id
int(11)
否
主键,自动增长
n_name
varchar(20)
否
名称
WorkPlace(作业地点码表)
名称
数据类型
可否为空?
默认值
描述
wp_id
int(11)
否
主键,自动增长
wp_name
varchar(20)
否
名称
wp_type
varchar(10)
否
类型(码头锚地船厂)
ShipBaseInfo(船舶规范码表)
名称
数据类型
可否为空?
默认值
描述
sbi_id
int(11)
主键,自动增长
sbi_name
varchar(20)
船名
sbi_ename
varchar(45)
英文船名
sbi_nationality
varchar(20)
国籍
sbi_owner
varchar(20)
船舶所有人
sbi_length
decimal(5,1)
全长
sbi_width
decimal(5,1)
宽度
sbi_highy
decimal(5,1)
最大高度
sbi_speed
decimal(5,1)
速度
sbi_grt
int(10)
总吨
sbi_nrt
int(10)
净吨
sbi_dwt
int(10)
载重吨
sbi_type
varchar(10)
船舶类型
sbi_sign
varchar(20)
呼号
sbi_imo
varchar(20)
IMO
wStatus(作业状态码表)
名称
数据类型
可否为空?
默认值
描述
s_id
int(11)
否
主键,自动增长
s_code
varchar(20)
否
代码
s_name
varchar(10)
否
名称
s_code
varchar(10)
否
颜色代码
WorkSheet(作业信息表)
名称
数据类型
可否为空?
默认值
描述
ws_id
int(11)
否
主键,自动增长
ws_shipproxy
varchar(20)
船代公司
ws_cargoproxy
varchar(20)
货代公司
ws_workstate_code
varchar(20)
作业状态代码
ws_pilotstate_code
varchar(10)
引航状态代码(no|yes)
ws_ship_name
varchar(20)
船名
ws_ship_ename
varchar(45)
否
英文船名
ws_ship_nationality
varchar(20)
否
国籍
ws_ship_owner
varchar(20)
船舶所有人
ws_ship_length
decimal(5,1)
否
全长
ws_ship_width
decimal(5,1)
宽度
ws_ship_highy
decimal(5,1)
最大高度
ws_ship_draft_forward
decimal(5,1)
前吃水
ws_ship_draft_after
decimal(5,1)
后吃水
ws_ship_speed
decimal(5,1)
船速
ws_ship_grt
int(10)
总吨
ws_ship_nrt
int(10)
净吨
ws_ship_dwt
int(10)
否
载重吨
ws_ship_type
varchar(10)
船舶类型
ws_ship_sign
varchar(20)
呼号
ws_ship_imo
varchar(20)
IMO
ws_cargo_name
varchar(10)
货物名称
ws_cargo_amount
decimal(9,2)
货物数量
ws_cargo_danger_amount
decimal(9,2)
危险品数量
ws_cargo_general_amount
decimal(9,2)
普通货物数量
ws_work_type
varchar(10)
作业类型(进港come、出港goout、港内around)
ws_work_trade_type
varchar(10)
内/外贸(inland/outland)
ws_work_io_type
varchar(10)
进/出口(import/outport)
ws_work_route
varchar(10)
航线
ws_work_place
varchar(20)
作业点
ws_eta
varchar(45)
ETA
ws_work_time
varchar(45)
靠(移/抵)、离泊时间
ws_doc_inport
varchar(10)
none
《进出申请单》none-无,
exist-存在
checked-通过
b