《软件技术方案》由会员分享,可在线阅读,更多相关《软件技术方案(19页珍藏版)》请在金锄头文库上搜索。
1、 软件开发技术方案Xxxx有限公司2018年6月13日1. 开发框架开发的系统中所应用的技术都是基于JavaEE,技术成熟稳定又能保持先进性。采用B/S架构使系统能集中部署分布使用,有利于系统升级维护;采用MVC的开发模式并参考SOA体系架构进行功能设计,使得能快速扩展业务功能而不会影响现有系统功能的正常使用,可根据实际业务量进行部分功能扩容,在满足系统运行要求的同时实现成本最小化。系统采用分布式部署,系统功能隔离运行,保障系统整体运行的稳定性。图1.开发框架与体系结构图1.1. web端技术栈(1)前端采用elementUI/jquery/bootstrap/vue实现,前端和Control
2、ler交换数据基于json格式。1.2 业务端技术栈(1) 业务端基于springboot、springMVC、JPA、SpringData技术栈构建,对于复杂的系统则采用springCloud构建。(2) 四层分隔:controller(Facade)/service/dao/entity,其中faade主要用于生成json,实现和前端的数据交换。 (2)命名:按照功能模块划分各层包名,各层一致。2. 系统安全保障2.1 访问安全性权限管理是系统安全的重要方式,必须是合法的用户才可以访问系统(用户认证),且必须具有该资源的访问权限才可以访问该资源(授权)。我们系统设计权限模型,标准权限数据模
3、型包括 :用户、角色、权限(包括资源和权限)、用户角色关系、角色权限关系。权限分配:通过UI界面方便给用户分配权限,对上边权限模型进行增、删、改、查操作。基于角色的权限控制策略根据角色判断是否有操作权限,因为角色的变化 性较高,如果角色修改需要修改控制代码。而基于资源的权限控制:根据资源权限判断是否有操作权限,因为资源较为固定,如果角色修改或角色中权限修改不需要修改控制代码,使用此方法系统可维护性很强。建议使用。2.2 数据安全性可以从三个层面入手:操作系统;应用系统;数据库;比较常用的是应用系统和数据库层面的安全保障措施。在操作系统层面通过防火墙的设置。如设置成端口8080只有自己的电脑能访
4、问。应用系统层面通过登陆拦截,拦截访问请求的方式。密码不能是明文,必须加密;加密算法必须是不可逆的,不需要知道客户的密码。密码的加密算法MD5-不安全,可被破解。需要把MD5的32位字符串再次加密(次数只有你自己知道),不容易破解;加密多次之后,登录时忘记密码,只能重置密码,它不会告诉你原密码,因为管理员也不知道。3. 项目计划的编制和管理本公司项目基于敏捷过程的方式组织,项目计划基于需求和团队反复讨论的过程。在开发系统时都经过了解需求,开需求分析会议,确定开发任务,推进开发进度,测试,试点,交付等开发步骤,其中具体内容有:1,了解需求:跟客户沟通,充分了解对方的需求,然后对需求进行过滤,最后
5、整体成需求文档2,需求分析会议:也就是项目启动会议之后要做的事情,对拿来的需求进行讨论,怎么做满足需求。主要对需求进行全面的梳理,让开发,产品,项目都熟悉整个需求。3,确定开发任务:根据敏捷开发法则,需求变成一个一个功能点之后就是安排开发任务了。根据团队现有的资源合理分配任务,和时间节点4, 推进开发进度:在开发的实际过程中,注意节奏的把控,注重功能点完成的时间点。5, 每一个功能点完成之后都会有测试工程师进行单元测试。6,试点单位进行试用,然后解决问题。7,交付4. 项目进度保障体系4.1制度保障实行项目经理负责制,建立强有力的开发指挥机构和开发保障体系,投入能保证开发进度如期实现的足够的开
6、发队伍,实行专业化开发。建立从项目经理到各开发人员的开发任务,全面、及时掌握并迅速、准确地处理开发过程中遇到的各种问题。对开发过程中遇到的需求变更进行协调管理,对重大关键问题超前研究,制定措施,及时调整开发的公共类保证开发过程的连续性和高效性。强化开发过程的时间点把控问题,对开发任务实行动态管理。保证在时间点内完成开发任务。实行内部经济承包责任制。使责任和效益挂钩,个人利益和完成工作量挂钩,做到多劳多得,调动开发团队、个人的积极性。编制科学合理的总体开发进度计划,运用专业管理软件,对开发计划进行动态控制;并在总计划的基础上分解明确的月及旬计划,项目经理抓住主要技术难点,严格按计划安排组织开发,
7、重点抓好关键技术的开发。定期检查开发计划的执行情况,及时对开发进度计划进行调整;在开发过程中,根据开发进展和各种因素的变化情况,不断优化开发的方案,保证各开发有条不紊的执行。4.2开发进度开发工期保证措施任务分发将利用一流的开发策划、高效的组织、科学的领导和动态的控制,用一流的运作与协调、一流的技术框架与技术、一流的团队素质等来实现一流的管理,从而通过过程控制实现最终产品的精品,满足客户对工期、质量等各方面的要求。完善的开发计划保证体系是保证项目工期的纲要,掌握开发管理主动权,全面而宏观的控制整个开发的过程,是保证开发进度的关键。通过完善的开发计划保证体系,采用先进的开发计划计算、设计软件,制
8、定出科学合理的开发进度计划。1 编制三级网络计划在开发过程中中我单位将分级编制网络计划来控制整个项目的开发。(1)一级网路计划根据项目总工期控制项目各阶段里程碑目标。(2)二级网路计划根据各阶段分项业务的工期目标控制分解成分部目标。(3)三级网路计划主要技术使用控制周计划和日计划。通过对关键技术开发编制标准业务,建立计划统计数据库,利用项目管理信息系统对工期进行全方位管理。2.制定派生计划根据总控工期、阶段工期和分项业务工作量制定出技术保障、商务合同、物资采购、设备定货、人力资源等派生计划,是进度管理的重要组成部分,按照最迟完成或最迟准备的插入时间原则,制定各类派生保障计划,作到各项工作有备而
9、来,有章可循。工期保证体系框图技术保证体系综合保证体系组织保证体系技术总监开发组织设计 技术总监开发人员测试人员试验室项目经理制 度 保 证奖惩制度岗位责任制经济责任制开发团队单元测试技术培训测试用例开发进度计划保证月度计划季度计划年度计划技术工作责任制技术标准设计文件招标文件技术规范技术工作标准化开发团队实现工期目标4.3施工进度三阶段控制措施(一)开发进度“事前控制”1.积极做好业务需求,业务流程等准备工作,为自己尽早投入开发创造好条件,把准备工作做细做充分,确保按时无障碍开发。2.编制详细的开发进度计划,包括需求文档,业务分工计划,业务流程等。3.关键技术或特殊技术编制相应的开发进度计划
10、,制定相应的节点,编制节点控制计划。4.编制开发节点实施细则,明确搭接和流水的节拍。(二)开发进度“事中控制”1.严格审核开发人员的进度计划、季度计划、月计划,并监督各人员按照已制定的开发进度计划进行开发。2.在本项目开发期间,按开发进度需要,配备充足的开发人员,确保时间点的正常运行。3.在开发期间,每周结束前,组织召开一次碰头会,协商解决当周开发过程中和第二周开发中将会发生的问题,应解决的问题决不拖延。4.狠抓开发进度与质量,加强技术培训。只有在确保技术过关、质量的前提下才能求速度、讲进度、抓工期。5.根据开发的实际情况,及时修改和调整开发进度,并定期向客户通报系统开发进展情况。(三)施工进
11、度“事后控制”1.根据开发进度计划,及时组织测试人员通过事先编写的测试用例进行分项测试与系统测试。2.定期整理有关开发进度的资料,汇总编目,建立相应的档案。5. 项目质量保障体系5.1过程中的保证依据项目的软件特点、合作方的项目实施要求,采取需求分析,系统设计,软件项目计划,软件需求分析,软件模型设计,软件详细设计,单元测试设计,编写单元测试,系统培训,系统测试等一些列的措施在过程中保证项目的质量。5.2技术方面的保证公司研发人员均为国内高校分子计算机专业或招聘的高级技术人才,专业基础和工作经验扎实丰富,整个团队具有高级工程师、博士的人才搭配,具备强大的持续研发能力。5.3软件质量管理责任分配
12、角色职责配置管理员制定、创建和维护配置库,提供文档规范,并传达到各个部门。QA(质量保证)参与项目各个阶段的评审,进行过程评审和产品审计,检查文档和代码的规范执行情况QC(质量控制)软件测试是质量控制的主要手段,测试人员进行软件的测试设计和执行工作5.4工作产品和活动活动责任人工作产品是否可裁剪项目立项项目经理项目计划否配置管理员配置管理计划是QA质量保证计划是测试人员系统测试计划否需求管理活动项目经理需求调研报告是需求规格说明书否用户、项目经理用户确认书是QA评审报告是设计过程、决策分析活动设计组概要设计说明书否界面设计图是详细设计说明书是项目经理决策分析评议表是QA评审报告是开发编码、集成
13、过程活动项目经理版本发布记录否QA评审报告是开发人员程序代码否系统测试活动测试人员测试用例、测试报告否QA评审报告是项目结项、交付与维护活动项目经理培训教材是用户手册是安装手册是项目总结报告否项目经理、客户用户验收报告是QA评审报告是项目跟踪与监控活动项目经理项目问题跟踪日志是QA不符合项问题跟踪记录表否项目跟踪与监控活动检查单是风险管理活动项目经理风险管理列表是QA风险管理活动检查单是配置管理活动配置管理员配置状态报告是变更请求审批表是变更跟踪记录表是QA配置管理活动检查单是评审活动项目成员评审报告否QA评审活动检查单是5.5评审 评审是以一种正式的形式进行,如有正式的、事先定义好的有关职责
14、的各种角色,并遵循组织规定的流程。对于任何工作产品的审计,都会组建与之对应的专门评审组,包括作者、主持人、记录员以及陪审员若干。评审组的成员可以包括PPQA、项目组成员,但不能有作者的直接领导或者管理者。评审小组先召开一个预备,作者会针对工作产品向大家做个总体的介绍,例如讲解一下本工作产品的目标是什么,以及其相关的实现 细节、开发标准等。应该允许甚至鼓励评审组成员动手查看工作产品,或者查看开发过程中所用到的检查单。评审小组的主持人负责确定什么时间开始真正的评审会议,在预备会和正式评审会议之间,评审小组成员对工作产品进行彻底检查,并依据相关标准和准则评审工作产品。在预定时间,评审小组成员以会议形式聚在一起,依次对产品进行检查,主持人负责对整个会议的进展进行控制,记录员记录下这个过程。在工作产品中发现的每一个缺陷都会被认真记录下来,并被适当分类。会议结束后,负责人需要分析相关缺陷,找出产生此缺陷的原因并加以修正。主持人应确保所有的缺陷都会得到解决和修正。如果过程需要加以变更的话,应将相关问题移交相关的质量保证人员。阶段评审内容评审时机参加人员是否可裁剪计划阶段项目计划项目启动会议项目所有成员