软件系统开发工作组织及质量保障方案.docx
- 文档编号:3695136
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:14
- 大小:34.22KB
软件系统开发工作组织及质量保障方案.docx
《软件系统开发工作组织及质量保障方案.docx》由会员分享,可在线阅读,更多相关《软件系统开发工作组织及质量保障方案.docx(14页珍藏版)》请在冰豆网上搜索。
软件系统开发工作组织及质量保障方案
1软件系统开发工作组织及质量保障方案
1.1系统测试方案设计
1.1.1测试资源
系统测试采用研发部门内部测试组内测+模拟实际生产环境测试方式进行。
测试手段包括自动化软件测试、第三方测试工具测试、实际模拟生产环境大批量数据测试等。
测试团队完成测试后出具测试报告,测试报告作为工程验收的依据。
1.1.2测试环境
测试环境主要包括硬件环境、软件环境和网络环境。
本系统测试主要依托单独的内网测试环境进行。
针对本次项目的特殊性,提前准备好大批量的模拟生产数据,用于检测实际环境中能否应对生产库庞大的数据压力。
1.1.2.1硬件环境
测试所需WWW服务器1台,数据库服务器2台,客户端1台(PC机),CA服务器1台。
1.1.2.2软件环境
软件环境包括了服务器系统环境、软件运行环境、其他网络控制环境。
WWW服务器采用CentOS7.2操作系统,安装Apache2.4+PHP7.0运行环境。
对外允许公网访问;对内允许互访问配套的数据库服务器,且为内网访问。
数据库服务器采用CentOS7.2操作系统,安装MySQL5.7、MongoDB4.0运行环境。
只允许特定外网ip登录以及内网指定ip访问数据。
客户端PC机安装家庭版win7x64系统,配置24英寸16:
9显示器。
客户端PC机允许访问互联网及WWW服务器。
CA服务器完全模拟真实CA认证服务器配置,根据CA证书提供商做相应配置的调整。
1.1.2.3网络环境
采用单独建立局域网方式组建测试网络环境,网络内相对隔离,仅对上述需要开放公网的设备开放公网访问功能,同时加入网络监控服务器,实时监控系统运行对网络的压力情况。
1.1.2.4测试人员组织架构及职责
本项目的测试人员可分为:
测试经理、测试组长、需求分析师、系统架构师、测试工程师、质量保障人员等。
测试分析组由需求分析师、测试工程师组成;测试设计组由系统设计架构师、测试工程师组成;测试执行组由测试工程师组成,如图10-1所示。
图10-1测试人员组织架构
其岗位和职责分别定义如下:
工作岗位
职责
测试经理
全面领导,对测试项目进行监督、管理,对重大问题进行决策。
制定测试策略;制定测试计划。
测试组长
组织和管理测试过程,确保所有测试活动按照计划进行;根据测试工具的有效应用产生测试度量数据。
需求分析师
负责测试需求的分析;负责开发业务方面的测试用例。
系统架构师
负责性能测试用例的开发和执行;负责性能测试指标的定义和结果分析;协助开发组定位性能瓶颈和确定优化应用系统。
测试工程师
测试用例的设计;测试脚本的编制;测试用例的执行;自动化测试脚本制作。
质量保障人员
协助测试经理完成测试过程中的质量管理。
1.1.3测试设备与工具
1.1.3.1单元测试工具
本次单元测试采用Junit工具,系统代码中集成Junit,并通过TestRun方式运行测试。
各单元代码负责人辅助单元测试人员编写测试程序。
JUnit是一个Java语言的单元测试框架。
它由KentBeck和ErichGamma建立,逐渐成为源于KentBeck的sUnit的xUnit家族中最为成功的一个。
JUnit有它自己的JUnit扩展生态圈。
多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
JUnit是由ErichGamma和KentBeck编写的一个回归测试框架(regressiontestingframework)。
Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
1.1.3.2系统测试工具
系统测试采用了开源功能自动化测试工具Watir以及开源性能自动化测试工具Jmeter,从多维度测试系统整体功能正确性和性能稳定性。
Watir是一个Ruby库,使用多版本浏览器进行Web应用程序测试。
Watir可以使用IE(IE5.5及以上版本),Firefox,Chrome进行Web应用测试。
支持Windows(2000及以上版本),Linux,Ubuntu,Mac。
Watir可以模拟用户访问网页、点击链接,填写表单,点击按钮。
Watir可以模拟用户验证页面内容。
ApacheJMeter是Apache组织开发的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器,等等。
JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apachejmeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java对象,数据库和查询,FTP服务器等等)的性能进行测试。
它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。
你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
1.1.3.3测试管理工具
测试管理工具选用了惠普旗下的QC管理软件:
QC-QualityCenter。
QC是MercuryInteractive公司(现在软件版权属于惠普公司)推出的一个基于Web(伪)且支持测试管理的所有必要方面的应用程序。
该软件提供统一、可重复的流程,用于收集需求、计划和安排测试、分析结果并管理缺陷和问题。
组织可使用该软件在较大的应用程序生命周期中实现特定质量流程和过程的数字化。
该软件还支持在IT团队间进行高水平沟通和协调。
1.2系统试运行方案设计
项目试运行检验需要我方和用户配合完成,对系统按各项技术、指标、系统功能、使用范围等进行检验。
在试运行检验中,在不增加新的业务功能前提下,我方承诺无偿根据业主需求的变更,进行系统的变更调整。
1.2.1目的内容
试运行的目的是让用户熟悉系统的各项功能操作,同时对系统的可靠性与稳定性进行验证。
在系统试运行阶段,我们负责系统的技术支持工作,对可能出现的问题及时响应,搜集用户完成试运行产生的各种运行报表和状况评价表,作为验收材料。
试运行的主要任务包括:
(1)检验安全体系在实际应用环境中的运行状况,根据试运行期间发现的问题调整安全系统的配置参数,使安全体系达到设计要求的状态。
(2)在实际运行中发现系统设计中可能存在的问题,及时予以调整。
(3)检验安全体系的有效性、稳定性。
(4)安全体系与原有网络设施和应用之间的“磨合”。
(5)安全防护技术与管理制度之间的“磨合”。
1.2.2各系统运行情况
在试运行期间,需要系统维护人员依据配置维护中所列出的注意事项进行管理。
我们列出了系统试运行期间中可能遇到的一些问题,并给出了相应的解决方法。
管理人员在对系统进行日常维护的过程中,请及对我们反馈系统运行时的状态,以便我们更好地掌握系统在试运行期间的可靠性、稳定性以及出现的问题。
1.2.3各系统运行报告
在项目试运行期间,当系统出现异常状况或发生部署变更、策略调整时,需要维护人员进行记录,以便我们对试运行期间设备的使用状况、运行状态、策略配置有一个全面的了解,确保试运行过程的顺利完成。
1.2.4定期巡检
在用户没有提出技术支持服务时,我们会与用户沟通确定在每周的特定时间到各用户现场对系统进行定期巡检,以确保系统在试运行期间的可靠性、稳定性运行。
1.2.5应急预案
1.2.5.1技术支持保障
在用户需要普通技术支持服务时,可以以热线电话、传真或电子邮件的形式通知技术支持人员,技术支持人员将在第一时间与用户联系,了解用户的准确需求,如果是系统运行问题,技术人员将会对问题的相关现象进行详细记录,同时为用户提供解决方案,或者告知明确的答复时间,随后组织相应的技术力量进行问题分析,制定解决方案。
在用户需要特殊技术支持服务时,直接拨打我们的服务电话。
我们的技术工程师会根据用户提供的信息和技术支持保障体系对故障进行定级处理,同时与用户确认时间提供支持。
1.3系统实施方案设计
1.3.1系统运行环境建设
1.3.1.1数据库服务器2台
指标
技术参数
品牌规格
HUAWEIFusionServer2288HV5
处理器
IntelXeonE7-4800v32颗,CPU插槽4个
内存
DDR416G16条,内存插槽24个
RAID
2G缓存,支持raid0/1/1E/5/6/10/50/60等
硬盘
900G10Krpm2.5英寸8块,硬盘插槽25个
硬盘扩展性
最大支持25个2.5"SATA/SAS/SSD硬盘
I/O扩展槽
10个PCIe插槽
I/O端口
后置:
2个USB3.0接口、1个VGA接口;
前置:
2个USB2.0接口;
内置:
2个USB3.0接口、1个内置串口;
网卡
2个万兆光口;四个千兆网口
电源
2个550W热插拔电源;
光驱
无内置光驱,配备外置DVD-RW光驱
显示器与键鼠
27寸液晶显示器,键盘,光电鼠标
管理特性
独立接口,支持SNMP、IPMI,提供GUI用户管理界面、虚拟KVM、虚拟媒体、SQL、远程控制、硬件监控;
支持华为eSight管理软件,支持被VMVarevCenter、微软SystemCenter、Nagios等第三方管理系统集成
1.3.1.2应用服务器1台
指标
技术参数
品牌规格
HUAWEIFusionServer2288HV5
处理器
IntelXeonE7-4800v32颗,CPU插槽4个
内存
DDR416G16条,内存插槽24个
RAID
2G缓存,支持raid0/1/1E/5/6/10/50/60等
硬盘
900G10Krpm2.5英寸4块,硬盘插槽25个
硬盘扩展性
最大支持25个2.5"SATA/SAS/SSD硬盘
I/O扩展槽
10个PCIe插槽
I/O端口
后置:
2个USB3.0接口、1个VGA接口;
前置:
2个USB2.0接口;
内置:
2个USB3.0接口、1个内置串口;
网卡
2个万兆光口;四个千兆网口
电源
2个550W热插拔电源;
光驱
无内置光驱,配备外置DVD-RW光驱
显示器与键鼠
27寸液晶显示器,键盘,光电鼠标
管理特性
独立接口,支持SNMP、IPMI,提供GUI用户管理界面、虚拟KVM、虚拟媒体、SQL、远程控制、硬件监控;
支持华为eSight管理软件,支持被VMVarevCenter、微软SystemCenter、Nagios等第三方管理系统集成
1.3.1.3CA服务器1台
指标
技术参数
品牌规格
HUAWEIFusionServer2288HV5
处理器
IntelXeonE7-4800v32颗,CPU插槽4个
内存
DDR416G16条,内存插槽24个
RAID
2G缓存,支持raid0/1/1E/5/6/10/50/60等
硬盘
900G10Krpm2.5英寸4块,硬盘插槽25个
硬盘扩展性
最大支持25个2.5"SATA/SAS/SSD硬盘
I/O扩展槽
10个PCIe插槽
I/O端口
后置:
2个USB3.0接口、1个VGA接口;
前置:
2个USB2.0接口;
内置:
2个USB3.0接口、1个内置串口;
网卡
2个万兆光口;四个千兆网口
电源
2个550W热插拔电源;
光驱
无内置光驱,配备外置DVD-RW光驱
显示器与键鼠
27寸液晶显示器,键盘,光电鼠标
管理特性
独立接口,支持SNMP、IPMI,提供GUI用户管理界面、虚拟KVM、虚拟媒体、SQL、远程控制、硬件监控;
支持华为eSight管理软件,支持被VMVarevCenter、微软SystemCenter、Nagios等第三方管理系统集成
1.3.2系统实施流程
根据本次实际需求及系统建设特点,系统实施流程主体分为以下环节逐步进行:
数据整理、清洗、入库、地图标点采集与地图绘制、业务系统配置与调试、人员培训、试运行。
其中由于数据整理过程繁琐,费时较多,可与地图绘制同步进行。
人员培训根据项目特点,分批次进行。
各业务系统在配置与调试过程中,考虑现有各社区情况复杂,业务数据项存在差异,且目前正处于秦皇岛经济技术开发区行政区划调整阶段,系统需要对源码进行优化和兼容性增量开发,以确保系统能兼容以上各社区具体情况,保障社区内各业务的正常使用以及其他兄弟系统的协同工作正常。
在系统进行优化和兼容性增量开发完成后,进行人员培训,并在培训后试运行XX相关各系统。
1.3.3系统主要交付成果
本次XX推广复制实施项目主要交付成果包括
以及以下产品相关文档:
1、概要设计说明书
2、详细设计说明书
3、数据库设计说明书
4、测试用例
5、测试报告
6、操作手册
7、培训手册
8、培训分步教程
1.3.4系统实施保障策略
1.3.4.1项目进度管理
项目进度管理,是指采用科学的方法确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、费用目标协调的基础上,实现工期目标。
项目进度管理的主要目标是要在规定的时间内,制定出合理、经济的进度计划,然后在该计划的执行过程中,检查实际进度是否与计划进度相一致,保证项目按时完成。
根据工程项目的进度目标,编制经济合理的进度计划,并据以检查工程项目进度计划的执行情况,若发现实际执行情况与计划进度不一致,就及时分析原因,并采取必要的措施对原工程进度计划进行调整或修正的过程。
工程项目进度管理的目的就是为了实现最优工期,多快好省地完成任务。
项目进度管理是项目管理的一个重要方面,它与项目投资管理、项目质量管理等同为项目管理的重要组成部分。
它是保证项目如期完成或合理安排资源供应,节约工程成本的重要措施之一。
系统开发和实施过程中,个人每日提交工作进度,每周进度总结,项目主管每月进行进度调用和统筹规划,并制定下月进度。
1.3.4.2项目变更、冲突管理
项目冲突管理是从管理的角度运用相关理论来面对项目中的冲突事件,避免其负面影响,发挥正常作用,以保证项目目标的实现。
一般包括诊断、处理和结果三个阶段;回避或撤退:
回避或撤退是使项目组织卷入冲突的其他成员从冲突情况中撤退或让步,以避免发生实际或潜在的争端;逼迫或强制:
逼迫或强制是采用非输即赢的方法来解决冲突。
用这种方法处理冲突,一般会导致成员的心里产生怨恨,使工作气氛更加紧张。
1.3.4.3项目文档管理
项目文档管理,是指在一个系统(软件)项目开发进程中将提交的文档进行收集管理的过程。
通常,文档管理在项目开发中不是很受重视,当发现其重要性时,往往为时已晚。
整个项目可能因此变得管理混乱,问题产生后无据可查。
文档管理对于一个项目的顺利进行有着至关重要的作用,其关键性不容忽视。
文档分为两大部分提交管理:
项目常规文档和项目归档文档。
常规文档的提交和使用根据项目组内部小组成员任务的不同进行权限划分;项目归档文档由项目管理主管(或项目文档管理员)将项目中的重要文档从常规文档中进行分类归档。
常规文档管理目录分为项目日常管理文档和项目流程管理文档。
日常管理文档包括项目报告、会议纪要、项目管理模板、重大问题跟踪、数据质量管理。
项目报告又可分为个人周报、小组周报、项目周报、项目简报,项目简报。
并都按照不同目录进行分类管理。
提交完整的项目开发、应用开发流程文档。
一般包括:
项目计划、业务需求说明书、数据需求说明书、模块、应用开发文档、系统测试文档、详细设计文档、系统测试文档、用户手册、上线文档、培训资料、系统运行维护等。
1.4系统安全方案设计
系统安全设计是系统的一个重要组成部分,由于其业务的特殊性,涉及到辖区内每位居民的切身利益和个人核心信息,数据安全和系统安全都尤为重要。
遵循国家相关安全政策规定,结合内外网互联网安全防护设备和措施,本系统采用如下安全管理方案和策略。
1.4.1安全管理对象
安全管理的对象主要包括以下四类:
1、实现、运行、维护系统的相关数据交换操作人员和可视化控制中心系统操作人员;
2、系统内的电子数据及其存储媒体,包括尤为重要的CA证照、数据附属文件等;
3、构成系统的相关设备、设施及通信线路;
4、系统的实现方法和相关技术。
1.4.2数据库安全
数据库开启日志,且部署于内网服务器,只有授权的各系统可访问数据库,同时数据库对于恶意撞库的行为进行自动过滤。
数据库采用多路主从库设计,配合增量备份,异常监听,容灾处理等软件,保证数据库安全性。
建立数据库管理员、数据库审计员和安全管理员三个管理权限,实行三权独立原则。
严格的身份审查,赋予最小的管理权限,针对数据库管理人员结合需求进行分配权限。
建立账号集中管理平台系统,集中管理用户、设备、系统账号;集中管理用户、系统账号的密码;集中配置账号密码策略、访问控制策略;集中管理所有用户操作记录;实现账号实名制管理、定点登陆。
1.4.3操作系统安全
所有服务器操作系统安装防毒程序,开启定期扫描病毒,并主动更新病毒库,保证病毒库始终处于最新状态。
系统严格限制内外网访问规则,严格限制端口开放。
同时,系统管理员账户应有专人维护,并定期更换。
1.4.4通讯安全
我们说的数据加密与解密通常是为了保证数据在网络传输过程中的安全性。
在网络发展初期,网络的数据安全性是没有被足够的重视的。
事实上,当时为了实现数据可以通过网络进行传输已经耗费了科学家大部分脑细胞,因此在TCP/IP协议设计的初期,他们也实在没有太多精力去过多考虑数据在网络传输过程中可能存在的安全性问题。
随着TCP/IP协议及相关技术的日渐成熟,网络数据传输技术越来越稳定,人们才慢慢开始重视这个问题,美国国家标准与技术研究院(NationalInstitueofStandardandTechnology,简称NIST)也开始制定相关的安全标准。
通讯安全这里指在网络数据传输过程中,可能收到的威胁,其中常见的有数据窃听、数据篡改、身份伪装。
针对以上威胁,系统从以下方面进行了安全防御和特殊处理。
1.4.4.1机密性
机密性是指对要传输的数据进行加密和解密,防止第三方看到通信数据的明文内容。
在XX综合服务管理平台和民情通互相通信,以及涉及文件上传、读取过程中,所有通讯均进行了SHA256密级加密,保障系统传输中数据被拦截后无法进行可读性的阅读和复制。
1.4.4.2完整性
数据完整性是指不允许数据在传输过程中被修改(第三方恶意篡改或电平信号造成的部分数据丢失),但是它不要求数据的机密性,也就是说允许其他人看到明文数据。
XX项目相关系统采用CSRF密钥技术,每个表单提交均会带有系统分发的带有时间戳的密钥,可有效的防止抓包篡改数据、CSRF攻击等手段,保证数据的完整性和数据源的真实性。
1.4.4.3身份认证
身份验证通常是指数据接收方需要确认发送数据给自己的数据是自己想要通信的那一方,防止他人冒充通信对方的身份进行通信。
XX工程相关系统采用统一的身份授权认证机制,在用户登录成功后可以获取身份标识,并做到单点登录功能。
同时,系统中加密技术的对称密钥组都是根据用户单独生成的,因此,即使获取了系统源码,仍然无法通过自行运行一个程序来进行身份伪造攻击,因为他们的通讯加密内容是无法互相识别的,从而保障身份认证的更加严谨和安全。
1.4.5运行安全
1.4.5.1应急响应
应急响应的目的是在发生紧急事件或是安全事件时,确保系统不中断或紧急恢复。
应急响应方案应包括的措施有:
具有完善的应急计划和多种切实可行的备选方案,应急小组在法定时间内对发生的事件做出响应。
1.4.5.2病毒感染应急预案
如果服务器不慎遭遇大面积网络病毒感染事件,则需要消除感染病毒,恢复被感染的主机和网络,修补系统的防病毒漏洞。
具体处理方案:
记录受感染的网段地址、受感染的主机操作系统和应用程序、感染病毒的发作特征及危害情况,分析感染的病毒种类和病毒名称、病毒传播的主要方式、病毒可能造成的危害程度、受病毒感染严重的和易感染的重点网段和主机。
如果受感染的网段可以暂时关闭网络连接,则采取关闭网络连接清除病毒;如果受感染网段不允许断开网络连接,则只能采取现场联机清除病毒。
建议尽可能采取暂时断开网络连接的处理方式。
如果现有的防病毒软件可以彻底查杀清除感染病毒,则立即采用网关杀毒、网络杀毒和主机杀毒结合的方式,有效清除病毒。
如果现有的防病毒软件病毒特征库不能有效清除病毒,则应立即更新病毒特征库,并向相关的防病毒服务厂商需求支持和协作解决。
针对病毒感染的系统漏洞,立即采取有效的措施修补漏洞。
在消除病毒感染影响后,应分析造成病毒感染的主要因素:
如果属于外网个别用户或个别子网段病毒防护措施不到位,而引起病毒大面积传播的,应立即限其补救;如果是由于新的病毒变种,病毒防范体系无法防护造成感染的,应审查病毒特征库的更新制度,并在全网通告发现的系统漏洞做到统一及时修补。
1.4.5.3系统维护
维护的目的是确保系统的正常运行,减少安全风险,不同信息系统的安全要求不同,其维护安全的要求也会不同,对所有系统进行一周一次的一般性的检测和维护。
对特殊的设备进行日巡检维护。
1.4.6冗余备份
数据库和服务器以及软件的冗余备份,即多准备几份,以备不时之需。
1.4.6.1冗余备份服务器
备份服务器是规划冗余备份系统解决方案的一个重要步骤。
在大多数情况下,备份服务器是整个备份基础设施中的关键部分,应该极力避免备份服务器成为一个单点故障。
冗余的备份服务器部署位置要基于具体的备份系统架构。
避免尝试部署平行的、彼此操作独立的备份服务器,因为这样很可能会出现备份一致性的问题。
实施基于磁盘的备份系统,设计两步备份流程。
第一步是使用一台备份服务器来保护生产系统。
第二步是使用第二台备份服务器来保护第一台备份服务器。
这样如果主备份服务器发生故障,备用的备份服务器就可以用来接替出现故障的备份服务器,并恢复之前备份的数据。
1.4.6.2冗余备份介质
使用冗余备份介质来保护备份系统。
有许多不同种类型的冗余介质。
在使用磁带备份的情况下,为每一个磁带创建两个独立的备份。
一个侧重访问的简易型,另一个则被发送到另一个地点,用于安全保存。
在使用基于磁带的备份的情况下,要实现介质冗余,可以使用磁盘到磁盘再到磁带的备份,将数据复制到磁盘用于备份,再复制到磁带用于安全保存。
1.4.6.3避免数据还原
数据还原应该是在万不得已的情况下才进行的操作,如果可能,避免从备份系统中还原数据。
数据还原流程可能是破坏性的,而且通常会有一些从还原点时间算起的数据丢失。
为减少从备份系统中还原数据,有必要在生产环境中使用冗余的服务器和冗余的存储。
例如,Windows分布式文件系统(DFS)可以用来将文件数据复制到镜像服务器,这样即便有文件服务器或存储阵列发生故障,数据仍然是完整的,并且还可以访问。
1.4.7技术文档资料安全
在各种系统的开发、运行、维护的各个阶段都要编制一定的技术文档。
这些技术文档和相关技术资料同计算机程序及数据一样,同样是系统信息安全管理的对象,它在系统安全管理中具有重要的作用。
技术文档资料是对系统研制、开发、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 开发 工作 组织 质量 保障 方案