|
楼主 |
发表于 2007-3-5 22:13:43
|
显示全部楼层
a.程序设计方法应采用公认的工业标准,如面向对象的程序设计;
b.选用的软件工具符合公认的工业标准并能获得供应商的良好支持;
c.编制符合规范的设计文档,建立文档评审和会签制度;
d.采用先进的技术方法,如利用网络工作站来提高开发组的工作质量和效率;
e.设计评审,确认详细设计正确、恰当地细化了概要设计,完整又不多余地反映了用户或系统对软件的最终需求,可靠性要求在设计中得到考虑,可靠性设计的方法和原则得到恰当应用。
f.软件的设计、实现和检测人员的合理分工。
2.2.4软件测试
软件测试是为发现程序错误而执行程序的过程,也包括检查程序实现与设计要求的一致性。软件测试的真正目的是剔除软件隐含错误,提高软件的正确性,从而保证可靠性,本身便是软件开发过程中可靠性保证的一个重要环节。软件测试可靠性保证主要体现为保证测试质量、测试完备性和充分性而采用的方法和过程上,包括:
a.编制完善的测试文档,包括测试计划、测试说明和测试报告;?
b.建立问题记录、分析和纠正规范和程序修改控制与工作版本管理制度;
c.采用自测、互测与专测相结合的工作方式;
d.选择恰当的测试策略:在层次上首先和重点要做好单元测试,然后逐级上溯到软件产品级测试和系统测试;在测试方法上,要动态测试(执行程序)与静态分析相结合;在权重选择上,要一般测试与重点测试(关键功能点测试)相结合
中国可靠性网KekaoXing.com
e.选择恰当的测试和分析工具;
f.测试评审,包括测试准备工作评审和测试结果评审。
2.3验证与确认过程的可靠性保证
广义的验证与确认过程应包括从软件需求定义开始各阶段设立的评审和检查,活动本身便是可靠性保证工作的内容,操作中应注意的事项:
a.根据开发进程设立的节点按时评审或检查;
b.评审或检查应遵循用户和开发商都接受的程序、规范或指南;
c.预先确定通过和不通过的标准;
d.参与评审的人员是相应领域的专家,且与被评审对象为非直接利益相关者;?
e.评审或检查应严格认真,实事求是;
f.评审结束给出明确的结论。
下面所说的验证与确认过程,指一些专用软件(如某些军用软件),在开发商完成全部开发工作,正式交付用户使用前对软件功能、可靠性和其它特性满足开发合同和软件需求分析确认的要求而进行的检查、测试和评估活动。由于这是对软件产品最后一次审验并决定产品可否交付,因此不仅对交付的软件产品的质量和可靠性起把关作用,而且能够促进开发商在软件开发过程中扎扎实实地贯彻落实可靠性保证的方法和措施。验证与确认过程可靠性保证应注意的事项:
a.应由与软件开发商和用户无利益相关的软件测评专业机构承担软件产品的验证与确认工作,以保证审验结果的客观与公正;
KekaoXing.com
b.测评机构应与开发商共同拟制一份验证与确认活动的指导文件,确认工作内容和程序,双方的职责、权利和义务,可利用的资源和限制条件,故障(或错误)的识别、隔离和处理程序,数据处理方法,合格判据等;
c.审查开发商的测试文档,选择典型的测试用例,如等价类测试用例、边值分析测试用例等,进行复测;
d.不仅检查、运行计算机程序,还要审验随程序交付的各类文档;
e.系统运行检测,即在真实或模拟真实的物理环境下,输入系统任务剖面典型的及特别的事件,检查软件与系统的各类接口关系,软件的功能和可靠性是否满足系统要求;
f.评审,对各项审验结果进行检查,给出评价意见和验证确认的结论。
2.4运行和维护阶段的可靠性保证?
由于人们认识事物需要一个过程,因此在一定的时限内不可能提出绝对完善的软件需求,此外软件测试受开发周期和开发成本控制的限制,不可能达到完全测试。因此交付运行的软件仍然是不完善的产品,表现为:
a.随着时间的推移,用户的需求扩展了,软件的原有功能已不能完全满足用户的要求;
b.软件接受任务域内各种随机输入时,潜藏的错误也会不时地暴露出来。
因此在软件运行与维护阶段的可靠性保证工作的目标是维持软件产品的可靠性并使之获得有序和持续地改善,同时也为软件下一个生存期积累数据。该阶段的可靠性保证工作相关事项是:
a.开发商和用户形成利益相关的合作关系;
b.开发商提供及时的技术支持和服务;
c.建立并运行故障报告、分析和纠正措施系统;
d.软件的修改和补充应严格遵循配置管理的规定;
e.及时更新的用户文档;?
f.开发组与软件直接用户定期的交流;
g.建立软件运行与维护档案。
缩写说明:
I:软件审查(SoftwareInspection)?
V&V:验证和确认活动(VerificationandValidationActivity)
IV&V:独立验证和确认活动(IndependentV&V)
SRR:系统需求评审(SystemRequirementReview)
SDR:系统设计评审(SystemDesignReview)?
SSR:软件规格说明评审(SoftwareSpecificationReview)
PDR:概要设计评审(PreliminaryDesignReview)
CDR:关键设计评审(CriticalDesignReview)
Kekaoxing_com
TRR:(TestingReadinessReview)
FCA:功能配置检查(FunctionalConfigurationAudit)
PCA:物理配置检查(PhysicalConfigurationAudit)
FQR:正式鉴定评审(FormalQualificationReview)
结束语?
本文将软件过程视为一个周而复始又螺旋推进的进化过程,软件某一版本(类似硬件产品的“代”)的生存期看作是这个进化过程的一个周期,并按时序分为初始过程、开发过程、验证与确认过程、运行与维护过程。可靠性保证工作包括可靠性工程技术应用和可靠性管理两方面。可靠性工程技术应用指软件开发运用的可靠性设计、分析、评估的技术、方法和工具,可靠性管理指软件开发的计划、规范以及各阶段的评审、检查、监督、控制。软件可靠性保证工作应贯穿软件生存期的始终,落实到各阶段的每个环节。唯有这样,软件生存期中影响软件可靠性的各种因素才能得到控制,才能获得可靠性有保证且能得到有序而持续改进的软件产品。 |
|