Надеждност на софтуера

Определение

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.

Related Articles
TOP