软件系统可行性研究报告模板.docx
《软件系统可行性研究报告模板.docx》由会员分享,可在线阅读,更多相关《软件系统可行性研究报告模板.docx(20页珍藏版)》请在冰豆网上搜索。
软件系统可行性研究报告模板
可行性研究报告
项目名称:
项目单位:
20XX年XX月
1.总论
描述项目产生的背景概况。
1.1.主要依据
主要依据的正常性等文件。
1.2.主要原则
1.统一性原则
应遵循统筹规划、统一设计开发和分步实施的思路。
2.实用性原则
坚持实用性原则,在实用的基础上考虑先进性和前瞻性,选用符合标准的,先进成熟的产品和开发平台,构建符合电力公司需求的功能组件。
3.标准化原则
本系统涉及XX系统,需要通过统一的应用功能规划,统一设计开发,实现系统设计的标准化。
5.可靠性原则
需要保障系统7×24小时不间断,需要配备完善的可靠性措施设计,保证系统高度可靠运行。
6.安全性原则
注重权限管理、安全隔离、信息加密等措施,构建通信层、网络层、系统层、应用层等多层面的立体安全防护体系,确保系统安全,尤其是控制功能的应用安全。
2.项目必要性
2.1.现状分析
目前,用户业务实际现状。
2.2.必要性分析
描述软件系统给现场实际业务带来的必要性。
3.项目规模及建设方案
3.1.项目目标
描述项目的整体目标
3.2.项目范围
本项目主要包括:
。
3.3.IT架构设计
3.3.1.技术原则
(1)基于J2EE的架构设计
描述项目用到的架构设计。
(2)基于SOA的设计理念
SOA(service-orientedarchitecture)是面向服务的体系结构,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。
松耦合的好处有两点,一点是它的灵活性,另一点是,组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。
(3)基于组件技术设计
a、组件式系统
系统设计应利用基于组件的开发理念,由一系列独立部署的组件组成。
组件设计应该满足以下要求:
组件多实例运行:
应该尽量满足对每一个组件都可以同时运行多个组件实例的需求,以保证系统的高可靠性与可伸缩性。
组件粒度合理确定:
应综合考虑系统性能、扩展性等方面的因素,同时兼顾系统在部署、维护和管理等方面的要求,合理确定组件粒度。
组件接口定义稳定:
应充分考虑组件间接口稳定性,使用XML或者类似的结构,以保证接口传输参数与内容的可扩展性。
b、高内聚、松耦合原则
系统设计须遵循高内聚、松耦合原则。
组件之间保持松耦合状态,组件的具体实现方式对使用者透明,在组件内部所实现的功能与结构保持高度逻辑相关性的同时,保证组件间的相互独立性。
c、共享信息服务
系统必须提供独立于业务的共享信息服务。
共享信息服务遵循企业的数据模型规范,通过企业级信息集成平台,实现系统的共享信息访问和应用集成。
d、业务过程与组件实现分离
应综合考虑业务过程与组件实现的分离原则,建议利用流程管理、策略管理和界面集成技术,动态地定义系统的行为以实现系统功能。
应用此种技术在获得灵活性与可扩展性的同时,也应当充分预见其对系统性能带来的影响。
e、分布式、面向接口访问
实现组件的分布透明访问机制。
组成系统的组件实例可以部署在一台或多台主机上。
组件提供的服务访问对分布地点、位置透明,服务使用者通过组件的逻辑名称即可获取服务而与组件所在主机的物理位置无关。
3.3.2.业务架构
业务架构图
3.3.3.应用架构
应用架构图
3.3.4.技术架构
技术架构实现上,遵循J2EE技术体系,采用组件化、动态化的软件技术,利用一致的可共享的数据模型,按照界面展现层、界面控制层、应用逻辑层、公共服务层、数据资源层、基础架构层实现多层技术体系设计,通过一体化企业级平台的应用集成,实现系统的各接口组件能够在企业内的协同工作、各层次上集成,满足不同职能层对系统的业务需求,为管理人员提供了技术先进的工作平台。
图5技术架构图
界面展示层:
采用HTML5、Flash、Flex、ActiveX、JSP等技术进行界面展示。
界面控制层:
采用MVC框架,将数据模型展现和逻辑分开,有利于大型应用程序的扩展和维护。
界面控制层由界面控制单元、界面操作单元、界面单元、代理单元等构成。
界面上的具体操作由界面操作组件通过服务代理单元调用应用逻辑层的具体服务来完成,由界面控制器组件负责统一调用不同的界面操作组件、FLEX组件和JSP网页组件。
对某些需要界面特殊展现效果的业务,可建立专用的FLASH、ActiveX处理。
应用逻辑层:
。
公共服务层:
由一组独立于业务的公共组件构成,采用OSGI框架,用于对业务进行支撑,包括联机分析引擎、任务管理、权限控制、日志管理、服务注册、报表统计与管理、数据持久化、数据同步、异常管理、接口服务等部分。
数据资源层:
数据的来源。
基础架构:
基础架构包括网络、平台、数据库、存储、备份等软硬件基础设施。
3.3.5.物理架构
物理架构图
⏹数据库服务器采用Linux服务器,运行oraclerac实现对业务数据的并行处理和故障切换;
⏹应用服务器采用Linux服务器组成应用服务器集群,统一为系统提供服务,所有客户端向应用服务器提交的服务请求通过负载均衡动态流量分配保证应用的可靠和性能;
⏹接口服务器采用Linux服务器组成集群,统一为系统提供接口服务。
⏹存储系统采用SAN架构,集中存储业务数据;
3.3.6.集成架构
集成架构示图
3.3.7.关键技术
1.开发软件技术
1)UI展现技术:
Flash+Flex:
ADOBEFlash是强大的矢量动画编辑工具,可以产生炫目的动画展现效果,Flash在RIA(richinternetapplication)富客户端应用领域站重要地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript3.0,并且建立起类似于javaswing的类库和相应component(组件)。
Flex是通过java或者.net等非Flash途径,解释.xml文件组织components,并生成相应的.swf文件。
Flex的component和flash的component很相似,但是有所改进增强。
2.数据转移技术
目前的数据复制技术主要分为基予存储的数据复制技术、基于卷管理器软件的数据复制技术、基于数据库复制软件的数据复制技术。
目前较为流行的数据库复制软件有Oracle的GoldenGate、DSG的RealSync、Quest的SharePlex数据复制软件大都通过分析数据库重做日志(redolog)和归档日志,形成sql队列,将数据传输致目标库后应用到目标数据库。
数据复制技术需要在原库与目标库都部属配制相应的软件,但对数据库资源的占用相对较小。
数据复制技术的实时性较强,数据吞吐量也较大,但不具备数据转换的功能。
3.缓存技术
使用频率较高但数据量较小的频繁读取操作(如编码、安全配置获取等场景),非常容易造成数据库的负荷瓶颈,需要对该部分操作进行相关的优化处理。
在应用服务器上采用缓存技术可实现上述要求,其实现原理就是获取数据时,到应用服务器的缓存里取,如果没有发现则再到数据库里获取,并把数据放入缓存,最后都返回数据。
这样避免对数据库的频繁获取操作,通过牺牲应用服务器的少量内存来换取数据库的频繁I/O操作以提高整个系统的性能。
图3-7应用服务器的缓存设计示意图
对于各种原因引起的数据更新,缓存管理器需要检测缓存数据是否有效,以便实现缓存数据与数据库的同步。
触发方式有实时、定时、服务重启三种更新方式,实时更新一般采用时间戳、同步消息等方式。
4.应用优化技术
1)Java堆优化
Java应用程序优化在整个系统中具有决定性的作用。
绝大多数性能问题来自于应用层。
良好的设计,选择正确的代码模式和开发方法可以避免大部分性能问题。
使用JProb等Java内存监控工具找到有问题的对象代码,有助于解决运行时问题。
在应用中20%的功能模块占据了80%的运行资源,程序中尽快释放不再使用的对象可以很大的改善垃圾回收,有效地提高堆利用,可以明显提升程序效率。
在对象不再使用时负空(NULL)可以令垃圾对象尽快回收。
2)Java应用服务器优化
应用服务器是Java应用的容器,使用恰当的应用服务器集群结构。
基于应用调整数据连接池、线程池、请求转发策略。
多次渐进的调整堆内存上下限参数。
3.4.建设内容
3.4.1.XXXXX管理
3.4.2.XXXXX管理
3.4.3.XXXXX管理
1
2
3
4
5
5.1
3.4.4.XXXXX管理
3.4.5.XXXXX管理
5.2
3.4.6.XXXXX管理
3.5.实施方案
3.5.1.项目建设策略
3.5.1.1.实施原则
本项目在整个实施过程中,为确保系统实施的有效、可控、安全,系统实施需遵循的主要原则如下:
1)充分借鉴和利用已有信息化建设成果和现有资源,避免不必要的重复投资。
2)坚持在具有技术先进性的同时,确保现场应用环境下的实用性和可操作性。
3)可扩展性原则,使用基于通用功能标准,采用可重用、可扩展的体系结构和功能组件,适应将来业务发展的需求。
3.5.1.2.实施准备
1)成立项目组织机构
为了更好开展本项目实施工作,项目组将根据实施工作不同职责成立项目领导组、项目工作组。
项目领导小组负责审批实施总体方案和工作计划,负责项目实施过程中重大事项的决策和重大问题的协调,组织对系统的功能需求规范、总体技术方案、总体设计方案的评审,组织对项目进行整体验收。
项目工作组负责项目协调、以及用户培训工作和总体计划管控,听取项目组的工作汇报,对项目进展提出工作要求。
2)部署环境准备
实施工作组进驻现场之后,根据系统需求进行硬件及网络环境的部署和测试,为系统正式部署提供环境。
3)制定实施计划
项目实施负责人与用户进行沟通,结合系统实施建设的具体需求,制定系统具体实施计划,并最终确认,作为实施工作进度依据。
4)制定管理制定
项目实施负责人与用户进行沟通,根据系统实施要求,制定系统建设实施及人员管理相关制度规范,制定实施管理制度,为系统实施工作提供保障。
5)项目启动会
准备项目启动会汇报材料,召开项目启动会。
3.5.1.3.系统部署
1)系统部署安装
实施负责人对测试、培训和正式环境进行确认后,进行测试、培训和正式环境搭建。
在搭建完毕系统测试、培训和正式环境后,实施人员需要进行简单的验证和测试。
2)应用系统初始化
实施人员在系统部署安装完成后对系统进行初始化设置,完成权限、角色、用户等系统初始化工作。
3)系统验证与测试
对系统的功能、性能等进行全面的测试。
3.5.1.4.系统培训
1)内部培训
为了更好的开展项目的培训工作,在进行用户培训前,对内部人员(培训工程师)进行专门培训,主要内容包括系统部署、功能使用以及用户培训方案及要求。
2)制定培训计划
实施负责人与用户沟通确定用户的培训方案,组织培训人员准备培训资料、培训习题等。
3)培训准备工作
每轮培训前,培训人员熟悉培训场地、相关资料印刷、发培训通知等,同时需要制定详细的培训计划、准备培训数据、编写培训资料、确定培训方式,并要求培训讲师要对培训内容做好充分的准备工作,以保证培训质量。
4)组织培训
分批次完成操作用户和运维人员的系统培训。
3.5.1.5.系统试运行
在完成系统部署、数据准备与导入、系统培训工作后,系统进入试运行阶段。
系统试运行的目的是让操作人员对系统的使用和管理模式进行熟练和掌握,为系统正式上线运行做好准备。
系统试运行阶段根据试运行的目标制定明确的试运行内容要求和试运行时间要求,系统运行的内容能够满足系统上线条件检查的主要内容:
确定系统功能是否完备、是否正确、适用,使用是否方便,性能是否满足要求等。
在试运行期间,项目实施小组和系统开发小组对系统运行情况进行跟踪,对运行过程中的问题进行汇总。
3.5.1.6.系统上线运行
在系统正式上线运行之前,需要进行系统上线运行条件审查,主要包括功能、安全、性能方面的审查。
在系统通过上线检查后,由建设单位职能管理部门负责制定系统正式上线管理办法,并提交领导小组审核。
系统完成实施安装后,正常使用各项功能并稳定运行3个月后,由开发实施单位提出申请,对项目进行功能测试和验收。
客户方组织召开验收会,按验收标准,进行现场验收,并形成验收意见和正式报告。
3.5.2.组织机构及职责
项目的组织和管理是保证一个项目实施成功的重要环节,需要采用先进的项目管理手段,充分依据项目法管理思想进行组织与管理,在保证项目质量的前提下,有秩序、按时、顺利的完成项目有关工作。
项目实施组织体系如下:
项目组织架构图
表3-1组织机构职责分工表
序号
组织机构
职责分工
1
领导组
1)审核批准项目的实施计划;
2)明确管理架构及人员,建立管理架构;
3)负责项目建设过程中的重大事件的决策;
4)根据项目过程中的进度、质量、技术、资源、风险等实行宏观监控;
5)负责组建验收组,主持验收工作;
6)协调业主与实施单位关系和项目建设的总体协调;
7)重大项目变更的决策;
8)对项目的执行、质量进行监督和调控。
2
项目管理组
1)负责对项目进行总体管理;
2)总体把控项目开发实施进度与质量;
3)组织制定工作方案和里程碑计划;
4)对关键技术方案进行审核;
5)负责协调管理各相关厂家。
3
系统设计组
1)负责需求分析;
2)负责业务模型设计;
3)负责梳理各相关系统的接口设计;
4)负责实施过程进行业务功能验证;
5)参与需求变更审查和修订;
6)负责设计模版、规范制定和维护;
7)负责数据模型的设计和维护;
8)负责标准编码的设计和维护。
4
系统开发组
负责系统程序开发、单元测试等工作。
5
系统测试组
负责对系统进行测试。
6
系统实施组
负责软件系统部署、数据准备、用户培训和系统运维技术支持等实施工作。
7
质量保证组
负责系统的质量管理工作。
3.5.3.项目进度
项目总体进度具体如下:
项目进度表
序号
阶段
计划时间(月)
提交成果
备注
1
需求分析
1
用户需求和产品需求说明书
2
系统设计
1.5
数据库设计、接口规范、详细设计
3
系统开发
1
开发
4
系统测试
1.3
系统测试报告
5
系统部署实施
1
用户操作手册、系统管理员手册、系统部署方案、用户确认测试报告
6
系统试运行
3
上线试运行报告
4.主要设备材料清册
4.1.编制说明
为确保本项目的顺利实施,根据项目的实际情况及规模,编制主要设备材料清册。
主要设备材料清册列出在项目实施的过程中需要的主要设备名称、型号、数量等信息。
(1)遵循先进性、兼容性、稳定性、保护现有投资及利旧原则。
(2)设备材料主要由主机系统等相关硬件组成。
(3)设备清册中的硬件设备均选用国网物资标准目录。
以下给出本项目部署所需的软硬件资源具体配置方案。
4.2.主要设备材料表
本项目涉及设备及服务(安装、集成实施等)均按照公司物资采购的相关规定实行。
清单如下:
序号
设备名称
配置需求
单位
设计数量
采购数量
备注
一、系统硬件
1
业务应用服务器/接口服务器
机架式PC服务器
CPU:
8颗(每颗12核),2.30GHz以上;
内存:
512GB;
硬盘:
1T
台
1
0
可利旧
2
业务应用服务器/接口服务器
机架式PC服务器
CPU:
8颗(每颗12核),2.30GHz以上;
内存:
448GB;
硬盘:
1T
台
1
0
可利旧
3
业务应用服务器/接口服务器
机架式PC服务器
CPU:
4颗(每颗6核),2.30GHz以上;
内存:
16GB;
硬盘:
1T
台
1
0
可利旧
4
业务应用/接口服务器
虚拟机
CPU:
4颗(每颗4核),2.20GHz以上;
内存:
64GB;
硬盘:
400G
台
2
0
可利旧
二、系统软件
1
数据库管理软件
ORACLEDataBaseEnterprise10G
套
1
0
可利旧
2
J2EE服务器软件
ORACLEWebBLogic11G
套
2
0
可利旧
注:
该项目不涉及新设备采购。
5.估算书
5.1.概述
本次项目资金来源为营销专项资金,费用主要包括系统设计开发费、系统实施费。
5.2.编制原则和依据
(1)应用软件设计开发费用按1600元/人天计,系统实施费按1100元/人天计。
5.3.估算表
表5-3项目投资估算表
序号
名称
计算基础及计算公式
数量
单价(万元)
金额(万元)
一
建安工程费
0
二
软件购置费
0
三
硬件购置费
0
四
咨询服务费
0
五
系统开发费
1
XX管理系统
人天*单价
131
0.16
20.96
2
XX管理系统
人天*单价
62
0.16
9.92
3
XX系统
人天*单价
18
0.16
2.88
合计
211
0.16
33.76
六
系统实施费
1
XX管理模块实施费
人天*单价
92
0.11
10.12
总计
43.88
5.4.投资分析
5.4.1.硬件购置费
无。
5.4.2.软件购置费
无。
5.4.3.系统设计开发费
项目设计开发费根据设计开发类项目WBS标准进行估算,主要包括项目的需求调研及分析、系统设计、系统开发及测试等。
按照平均0.16万元/人工日计算,最后估算得出系统开发费用估算表如下:
模块名称
子模块名称
需求
分析
(人天)
需求
设计(人天)
系统
开发
(人天)
系统
测试
(人天)
工作量
合计
(人天)
费用
合计
(万元)
4
4
5
3
16
2.56
4
3
4
3
14
2.24
5
4
3
2
14
2.24
4
3
4
3
14
2.24
3
3
3
2
11
1.76
4
4
5
3
16
2.56
3
3
5
2
13
2.08
4
3
4
2
13
2.08
5
4
7
4
20
3.20
3
2
3
2
10
1.60
4
3
4
2
13
2.08
3
2
3
3
11
1.76
6
4
5
3
18
2.88
3
2
3
2
10
1.60
6
4
5
3
18
2.88
总计
61
48
63
39
211
33.76
5.4.4.系统实施费
系统实施费根据实施类项目WBS标准进行估算,主要包括应用部署及配置、接口服务实施及联调、数据收集及处理、系统测试、培训、上线准备及切换、上线试运行支持、质保运维等。
按照平均0.11万元/人工日计算,最后估算出的系统实施费,如下表:
分类
工作内容
小计
工作量(人天)
人天单价(万)
费用(万)
运维模块实施
应用部署及配置
10
0.11
1.10
前置服务实施及联调
8
0.11
0.88
系统集成测试
9
0.11
1.10
数据收集及处理
9
0.11
0.99
系统测试
8
0.11
0.77
培训
5
0.11
0.55
上线准备及切换
3
0.11
0.33
上线试运行支持
10
0.11
1.10
质保运维
30
0.11
3.30
合计
92
0.11
10.12
6.效益分析
6.1.管理效益
(1)降低了现场运维人员对经验和水平的依赖
现场设备故障诊断技术含量高、工作量大、工作流程繁琐,对现场工作人员的技能要求比较高。
通过基于现场服务终端的现场故障诊断,协助现场作业人员自动、智能、快速地对现场运行计量设备故障进行检查、智能诊断、定位故障原因,并自动给出解决方案和处理方法,大大降低对现场工作人员的技能要求。
(2)提高了现场故障处理的准确率和工作效率
通过对现场运行计量设备的故障进行自动诊断、智能分析故障原因、给出解决方案及处理办法,替代原来只靠作业人员经验判断的做法,快速准确地分析定位故障原因,避免故障误判,提高故障处理效率和准确率。
6.2.经济效益
通过XX管理工作的开展,有效降低了运维人员的技术门槛,提升了现场分析问题、解决问题的能力,建设现场终端、水表频繁更换的投入成本。
6.3.社会效益
通过现代化智能故障诊断技术的应用,提高了现场故障处理的能力和效率,保障了用户满意度,同时,提升了公司计量工作的社会公信力,充分展示了公司认真负责和真诚规范的服务态度,增强公司品牌效应,树立良好社会形象。