项目管理系统
详细设计说明书
目录
1 引言 . ....................................................................................................................................... 4
1.1 编写目的 ........................................................................................................ 4 1.2 背景 ................................................................................................................ 4 1.3 定义 ................................................................................................................ 4 1.4 参考资料 ........................................................................................................ 5
2 总体设计 . ............................................................................................................................... 5
2.1 需求概述 ........................................................................................................ 5 2.2 系统架构 ........................................................................................................ 6 2.3 数据库结构 .................................................................................................... 7
3 程序功能设计 . ....................................................................................................................... 7
3.1 项目管理 ........................................................................................................ 7
3.1.1 项目申报 ................................................................................................................. 7
3.2 尚未解决的问题 .......................................................................................... 17
4 附件 . ..................................................................................................................................... 17
文件信息
变更记录
变更审阅
1 引言
1.1 编写目的
项目管理系统详细设计是设计的第二阶段,这个阶段的主要任务是在项目管理系统概要设计说明书的基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部实现细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体地说,模块设计就是要为已经产生的项目管理系统中的各个子系统/模块设计详细的实现方法。但此阶段并不要求采用具体的系统实现阶段所用的语言编码和各类脚本,他只是对实现细节进行精确的描述,这样在编码就可以将详细设计中对功能实现的描述直接翻译、转化为用具体程序开发语言编写的程序。
1.2 背景
目前国内企业对项目管理水平和方法越来越重视,而合适的项目管理软件在其中起了极其重要的作用。处在迅速扩张阶段的中小型企业,大部分都存在管理瓶颈,其具体表现在项目目标制定不明确,任务分解不清楚,责任不落人,工作进度无法追踪等。
为了解决以上问题,达到项目立项标准化,任务执行透明化,任务进度可跟踪,任务结果可追溯的目的,就需要构建一个指标与项目管理的综合性平台来实现管理闭环。
1.3 定义
Web App
Web 应用程序
View BLL DAL
表示层 业务逻辑层 数据访问层 实体层
Model
1.4 参考资料
项目管理系统——需求规格说明书,作者:武智; 项目管理系统——概要设计说明说,作者:檀志兵;
2 总体设计
2.1 需求概述
项目管理系统是建立在统一集成的平台之上,涵盖项目立项、执行和结项的全过程,特别关注项目计划的执行,具有项目计划的制定与跟踪,项目审批的流程管理、项目预算成本、沟通、风险、人员、知识等多要素的管理功能,不仅可以供公司高层、项目经理使用,也是项目成员、财务、运管部门等各相关个部门及其他所有项目干系人共同工作的平台。
2.2 系统架构
Web App
Model
HTML
CSS
ASP.Net Web Form(With AJAX)
Javascript
/JSON
基于Web API的简易RESTful 接口
基于WCF 的各类服务接口
其他系统
Service
View
User
Role Department
Employee
提供日报明细
权限管理
指标管理项目管理
填报任务进展
日报/周报
运行参数配置
附件管理
上传/下载
外部文件系统
异常处理
写入日志文件
BLL
Project
Target
操作日志
DAL 实例 ——System.Data.SqlClient
IDAL
SQL Server 2008 R2
2.3 数据库结构
3 程序功能设计
3.1 项目管理
本章节为项目管理模块各功能的详细设计说明。
3.1.1 项目申报
3.1.1.1 程序描述
本功能用于发起一个新项目,由项目经理进行操作。需要完成“标的填报”、“任务分配”、“风险评估”以及“里程碑”四部分内容的填写。其中“标的填报”为必填内容。
点击“申报”按钮后弹出申报表单,“标的填报”、“任务分配”、“风险
评估”以及“里程碑”四项内容在页面上以四个选项卡的形式依次展现。填写完成后点击“确定”按钮进行提交。
程序拿到表单数据进行必要验证,如果验证通过则保存,验证不通过则提示用户修改并重新提交数据。
程序根据保存结果在界面给用户以相应提示。
3.1.1.2 功能
(项目申报IPO 表)
3.1.1.3 输入项
浏览器端Post 请求携带的表单数据,详细信息见下表。
3.1.1.4 输出项
3.1.1.5 程序设计
前端
封装表单数据,并以AJAX 形式提交到服务端,代码逻辑示意如下:
后端 1、 类图
特性
特性
特性
操作
操作
特性
操作
特性
操作
操作
特性
特性
操作
«接口»
特性
特性操作
+ DataTableToList... 操作
特性操作
特性操作
操作
GetModelList(str...+
+ GetModelList(be...
+ GetModelList(be...
+ GetModelList(be...
主要属性、方法说明——
2、 时序图:
数据验证
[if (验证结果==true)]
构造模型
封装实体对象
将验证结果及失败原因输出到页面
输出结果
3.1.1.6 接口
1、 代码接口: 无
2、 调用层次:
创建 ProjectBLL
创建匿名对
象
创建 MethodInterceptorHelper
创建 AnonymousType,以供封装为JSON 对象
3.1.1.7 存储分配
本模块由其自动分配内存。
3.1.1.8 注释设计
加在模块首部的注释; 加在各分枝点处的注释;
对各变量的功能、范围、缺省条件等所加的注释; 对使用的逻辑所加的注释等等。
3.1.1.9 限制条件
用户已登录,服务器Session 中用户相关信息没有超时/丢失。
3.1.1.10 界面原型设计
1、 项目申报——标的填报
2、 项目申报——计划任务
3.1.1.11 测试计划
对本单元进行单元测试。
进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。
进行白盒测试,检验各程序路径是否能执行到。
3.2 尚未解决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发过程中可能会出现功能不完善或者是功能模块缺少以及后期版本中增加的功能包括:
1、推送提醒审核信息到相关人员的未读消息库中。
4 附件
附件一:《项目管理系统数据字典》
项目管理系统
详细设计说明书
目录
1 引言 . ....................................................................................................................................... 4
1.1 编写目的 ........................................................................................................ 4 1.2 背景 ................................................................................................................ 4 1.3 定义 ................................................................................................................ 4 1.4 参考资料 ........................................................................................................ 5
2 总体设计 . ............................................................................................................................... 5
2.1 需求概述 ........................................................................................................ 5 2.2 系统架构 ........................................................................................................ 6 2.3 数据库结构 .................................................................................................... 7
3 程序功能设计 . ....................................................................................................................... 7
3.1 项目管理 ........................................................................................................ 7
3.1.1 项目申报 ................................................................................................................. 7
3.2 尚未解决的问题 .......................................................................................... 17
4 附件 . ..................................................................................................................................... 17
文件信息
变更记录
变更审阅
1 引言
1.1 编写目的
项目管理系统详细设计是设计的第二阶段,这个阶段的主要任务是在项目管理系统概要设计说明书的基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部实现细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体地说,模块设计就是要为已经产生的项目管理系统中的各个子系统/模块设计详细的实现方法。但此阶段并不要求采用具体的系统实现阶段所用的语言编码和各类脚本,他只是对实现细节进行精确的描述,这样在编码就可以将详细设计中对功能实现的描述直接翻译、转化为用具体程序开发语言编写的程序。
1.2 背景
目前国内企业对项目管理水平和方法越来越重视,而合适的项目管理软件在其中起了极其重要的作用。处在迅速扩张阶段的中小型企业,大部分都存在管理瓶颈,其具体表现在项目目标制定不明确,任务分解不清楚,责任不落人,工作进度无法追踪等。
为了解决以上问题,达到项目立项标准化,任务执行透明化,任务进度可跟踪,任务结果可追溯的目的,就需要构建一个指标与项目管理的综合性平台来实现管理闭环。
1.3 定义
Web App
Web 应用程序
View BLL DAL
表示层 业务逻辑层 数据访问层 实体层
Model
1.4 参考资料
项目管理系统——需求规格说明书,作者:武智; 项目管理系统——概要设计说明说,作者:檀志兵;
2 总体设计
2.1 需求概述
项目管理系统是建立在统一集成的平台之上,涵盖项目立项、执行和结项的全过程,特别关注项目计划的执行,具有项目计划的制定与跟踪,项目审批的流程管理、项目预算成本、沟通、风险、人员、知识等多要素的管理功能,不仅可以供公司高层、项目经理使用,也是项目成员、财务、运管部门等各相关个部门及其他所有项目干系人共同工作的平台。
2.2 系统架构
Web App
Model
HTML
CSS
ASP.Net Web Form(With AJAX)
Javascript
/JSON
基于Web API的简易RESTful 接口
基于WCF 的各类服务接口
其他系统
Service
View
User
Role Department
Employee
提供日报明细
权限管理
指标管理项目管理
填报任务进展
日报/周报
运行参数配置
附件管理
上传/下载
外部文件系统
异常处理
写入日志文件
BLL
Project
Target
操作日志
DAL 实例 ——System.Data.SqlClient
IDAL
SQL Server 2008 R2
2.3 数据库结构
3 程序功能设计
3.1 项目管理
本章节为项目管理模块各功能的详细设计说明。
3.1.1 项目申报
3.1.1.1 程序描述
本功能用于发起一个新项目,由项目经理进行操作。需要完成“标的填报”、“任务分配”、“风险评估”以及“里程碑”四部分内容的填写。其中“标的填报”为必填内容。
点击“申报”按钮后弹出申报表单,“标的填报”、“任务分配”、“风险
评估”以及“里程碑”四项内容在页面上以四个选项卡的形式依次展现。填写完成后点击“确定”按钮进行提交。
程序拿到表单数据进行必要验证,如果验证通过则保存,验证不通过则提示用户修改并重新提交数据。
程序根据保存结果在界面给用户以相应提示。
3.1.1.2 功能
(项目申报IPO 表)
3.1.1.3 输入项
浏览器端Post 请求携带的表单数据,详细信息见下表。
3.1.1.4 输出项
3.1.1.5 程序设计
前端
封装表单数据,并以AJAX 形式提交到服务端,代码逻辑示意如下:
后端 1、 类图
特性
特性
特性
操作
操作
特性
操作
特性
操作
操作
特性
特性
操作
«接口»
特性
特性操作
+ DataTableToList... 操作
特性操作
特性操作
操作
GetModelList(str...+
+ GetModelList(be...
+ GetModelList(be...
+ GetModelList(be...
主要属性、方法说明——
2、 时序图:
数据验证
[if (验证结果==true)]
构造模型
封装实体对象
将验证结果及失败原因输出到页面
输出结果
3.1.1.6 接口
1、 代码接口: 无
2、 调用层次:
创建 ProjectBLL
创建匿名对
象
创建 MethodInterceptorHelper
创建 AnonymousType,以供封装为JSON 对象
3.1.1.7 存储分配
本模块由其自动分配内存。
3.1.1.8 注释设计
加在模块首部的注释; 加在各分枝点处的注释;
对各变量的功能、范围、缺省条件等所加的注释; 对使用的逻辑所加的注释等等。
3.1.1.9 限制条件
用户已登录,服务器Session 中用户相关信息没有超时/丢失。
3.1.1.10 界面原型设计
1、 项目申报——标的填报
2、 项目申报——计划任务
3.1.1.11 测试计划
对本单元进行单元测试。
进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。
进行白盒测试,检验各程序路径是否能执行到。
3.2 尚未解决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发过程中可能会出现功能不完善或者是功能模块缺少以及后期版本中增加的功能包括:
1、推送提醒审核信息到相关人员的未读消息库中。
4 附件
附件一:《项目管理系统数据字典》