Определение
In1983,theIEEEComputerSocietyoftheUnitedStatesmadeacleardefinitionof"softwarereliability".Afterthat,thedefinitionwasacceptedbytheAmericanInstituteofStandardizationasanationalstandard,andmycountryalsoaccepteditin1989Thisdefinitionisanationalstandard.Thedefinitionincludestwomeanings:
(1)Theprobabilitythatthesoftwarewillnotcausesystemfailurewithinthespecifiedtimeunderspecifiedconditions;
(2)Theabilityoftheprogramtoperformtherequiredfunctionsunderthestatedconditionswithinthetimeperiod;
Theprobabilityisafunctionofthesysteminputandsystemusage,andisalsoafunctionofthefaultsinthesoftware.ThesysteminputwillDeterminewhetheryouwillencounteranexistingfault(ifthefaultexists).
Влияещи фактори
Softwarereliabilityisaboutthenatureofthesoftware'sabilitytomeettherequirements.Thesoftwarecannotmeettherequirementsbecauseofsoftwareerrorscausedbysoftwarefailures.Whatarethepossibleerrorsinthesoftware?
Softwareerrorsarehumanerrorsthatsneakintothevariousstagesofsoftwaredevelopment:
1.Requirementsanalysisdefinitionerrors.Forexample,therequirementsputforwardbyusersareincomplete,thechangesofuserrequirementsarenotdigestedintime,theunderstandingofrequirementsbetweensoftwaredevelopersandusersisdifferent,andsoon.
2.Designerror.Suchasprocessingstructureandalgorithmerrors,lackofconsiderationofspecialcircumstancesanderrorhandling,etc.
3. Грешка при кодиране. Като грешки при синтакс, грешки при инициализация на променливи и др.
4. Грешка при тестване. Такива грешки при подготовката на данни, грешки в тестови случаи и др.
5. Грешка в документа. Като завършени документи, непоследователно третирано съдържание на документи, непоследователни версии на документи, липса на пълнота и др.
Fromupstreamtodownstream,theimpactoferrorsdiverges,sotrytoeliminateerrorsintheearlystagesofdevelopment.
Thewaysofintroducingerrorsintosoftwarecanbesummarizedintotwocharacteristics:programcodecharacteristicsanddevelopmentprocesscharacteristics.
Oneofthemostintuitivecharacteristicsoftheprogramcodeisthelength,inadditiontothealgorithmandsentencestructure,thelongertheprogramcode,themorecomplexthestructure,andthemoredifficultitistoensureitsreliability.
Thecharacteristicsofthedevelopmentprocessincludetheengineeringtechnologyandtoolsused,aswellasthedeveloper’spersonalbusinessexperiencelevel.
Inadditiontosoftwarereliability,anotherimportantfactoraffectingreliabilityisrobustnessandfaulttolerancetoillegalinput.
Sotheprincipleofimprovingreliabilityistoreduceerrorsandimproverobustness.
Корелационен анализ
Гарантиране на надеждност
Thescaleoftheapplicationsoftwaresystemisgettingbiggerandbiggerandmorecomplicated,anditsreliabilityisgettingmoreandmoredifficulttoguarantee.Theapplicationitselfhashigherandhigherrequirementsforthereliabilityofsystemoperation.Insomekeyapplicationfields,suchasaviationandaerospace,itsreliabilityrequirementsareparticularlyimportant.Inserviceindustriessuchasbanks,thereliabilityofitssoftwaresystemisalsodirectlyrelatedtoToitsownreputationandsurvivalanddevelopmentcompetitiveness.Inparticular,softwarereliabilityismoredifficulttoguaranteethanhardwarereliability,anditwillseriouslyaffectthereliabilityoftheentiresystem.Inthedevelopmentprocessofmanyprojects,thereisnoclearrequirementforreliability,andthedeveloper(department)doesnotspendmoreenergyonreliability,andoftenonlypaysattentiontothespeed,thecorrectnessoftheresultsandthefriendlinessoftheuserinterface.Ignorereliability.Alargenumberofreliabilityproblemswerediscoveredafterbeingputintouse,whichincreasedmaintenancedifficultiesandworkload.Inseverecases,theycouldonlybeputontheshelfandcouldnotbeputintoactualuse.
Разлики между надеждността на софтуера и хардуера
Themaindifferencesbetweensoftwarereliabilityandhardwarereliabilityareasfollows:
1.ThemostobviousisthatthehardwarehasaginglossPhenomenon,hardwarefailureisaphysicalfailureandaninevitableresultofphysicalchangesinthedevice.Thereisabathtubcurvephenomenon;thesoftwaredoesnotchange,thereisnowearphenomenon,thereareoldandbackwardproblems,andthereisnobathtubcurvephenomenon.
2.Thedeterminantofhardwarereliabilityistime,whichisaffectedbyalltheprocessesofdesign,production,andapplication.Thedeterminantofsoftwarereliabilityisthesoftwareerrorrelatedtotheinputdata,whichistheinputdataandtheinternalprogramThefunctionofstatedependsmoreonpeople.
3.Thehardwareerrorcorrectionandmaintenancecanberestoredbyrepairingorreplacingthefailedsystem,andthesoftwarecanonlyberedesigned.
4.Preventivemaintenancetechniquescanbeusedforhardwaretopreventfailures,andfailurescanbediagnosedbydisconnectingfailedcomponents,whilesoftwarecannotusethesetechniques.
5.Pre-estimatereliabilitytestingandthegradualincreaseinreliabilityandothertechnologieshavedifferentmeaningsforsoftwareandhardware.
6.Inordertoimprovethereliabilityofthehardware,redundancytechnologycanbeused,andtheredundancyofthesamesoftwarecannotimprovethereliability.
7.Thehardwarereliabilityverificationmethodhasbeenestablishedandstandardized,andthereisacompletesetoftheories,whilethesoftwarereliabilityverificationmethodhasnotyetbeenestablished,letaloneacompletetheoreticalsystem.
8.Thehardwarereliabilityhasamatureproductmarket,whilethesoftwareproductmarketisstillverynew.
9.Softwareerrorsareeternalandreproducible,andsomemomentaryhardwareerrorsmaybemistakenforsoftwareerrors.
Ingeneral,softwarereliabilityismoredifficulttoguaranteethanhardwarereliability.EvenforNASA'ssoftwaresystem,itsreliabilityisstillanorderofmagnitudelowerthanhardwarereliability.