您好,欢迎来到哗拓教育。
搜索
您的当前位置:首页软件系统开发工作组织及质量保障方案

软件系统开发工作组织及质量保障方案

来源:哗拓教育
软件系统开发⼯作组织及质量保障⽅案

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机安装家庭版win7 x系统,配置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语⾔的单元测试框架。它由Kent Beck和Erich Gamma建⽴,逐渐成为源于Kent Beck的sUnit的xUnit家族中

最为成功的⼀个。JUnit有它⾃⼰的JUnit扩展⽣态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的⼯具。JUnit是由Erich Gamma 和Kent Beck 编写的⼀个回归测试框架(regression testing framework)。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可以模拟⽤户验证页⾯内容。

Apache JMeter是Apache组织开发的基于Java的压⼒测试⼯具。⽤于对软件做压⼒测试,它最初被设计⽤于Web应⽤测试,但后来扩展到其他测试领域。它可以⽤于测试静态和动态资源,例如静态⽂件、Java ⼩服务程序、CGI 脚本、Java 对象、数据库、FTP 服务

器,等等。JMeter 可以⽤于对服务器、⽹络或对象模拟巨⼤的负载,来⾃不同压⼒类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应⽤程序做功能/回归测试,通过创建带有断⾔的脚本来验证你的程序返回了你期望的结果。为了最⼤限度的灵活性,JMeter允许使⽤正则表达式创建断⾔。

Apache jmeter 可以⽤于对静态的和动态的资源(⽂件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进⾏测试。它可以⽤于对服务器、⽹络或对象模拟繁重的负载来测试它们的强度或分析不同压⼒类型下的整体性能。你可以使⽤它做性能的图形分析或在⼤并发负载测试你的服务器/脚本/对象。1.1.3.3测试管理⼯具

测试管理⼯具选⽤了惠普旗下的QC管理软件:QC-Quality Center。QC是Mercury Interactive 公司(现在软件版权属于惠普公司)推出的⼀个基于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台

1.3.1.2应⽤服务器1台

1.3.1.3CA服务器1台

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协议及相关技术的⽇渐成熟,⽹络数据传输技术越来越稳定,⼈们才慢慢开始重视这个问题,美国国家标准与技术研究院(National Institue ofStandard and Technology,简称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技术⽂档资料安全

在各种系统的开发、运⾏、维护的各个阶段都要编制⼀定的技术⽂档。这些技术⽂档和相关技术资料同计算机程序及数据⼀样,同样是系统信息安全管理的对象,它在系统安全管理中具有重要的作⽤。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo2.com 版权所有 湘ICP备2023021991号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务