Custom Website Design - Web Links Directory - Software Development

Software Development, Software Offshore Outsourcing Development Service


Offshore Software Development Company, Betrouwbaar Softwareprogrammering

110 views

Software betrouwbaarheid is een belangrijk facet van software kwaliteit. Het is gedefinieerd als "de kans op storing-vrije werking van een computerprogramma in een bepaalde omgeving voor een bepaalde tijd"

Het verbeteren van software betrouwbaarheid kunnen worden toegepast in de verschillende stadia van een programma voor de ontwikkeling, in het geval van Real Software. Deze fasen omvatten hoofdzakelijk: de eisen, ontwerp, programmeren, testen en runtime evaluatie. De studie van de theoretische betrouwbaarheid software is voornamelijk bezig met het concept van de juistheid, een wiskundige gebied van informatica is een uitgroei van taal en automaten theorie.

Eisen

Een programma kan niet worden verwacht dat het gewenste effect als de ontwikkelaars van het programma niet, in feite weten de programma's gewenst gedrag van tevoren, of als zij niet ten minste het vaststellen van zijn gewenste gedrag in parallel met de ontwikkeling, met voldoende detail. Welke mate van detail wordt voldoende geacht wordt fel bediscussieerd. Het idee van de perfecte detail is aantrekkelijk, maar kan onpraktisch, zo niet onmogelijk, in de praktijk. Dit komt omdat het gewenste gedrag vaak veranderen als de mogelijke bereik van het gedrag wordt bepaald door middel van daadwerkelijke pogingen, of beter gezegd, mislukte pogingen, om dit te bereiken.

Of een programma gewenste gedrag met succes kan worden genoemd op voorhand is een betwistbaar punt indien het gedrag niet kan worden aangegeven op alle, en dit is de focus van de pogingen tot formalisering van het proces van het creëren van eisen voor nieuwe software projecten. In situ met de formalisering inspanning is een poging om te helpen de hoogte niet-specialisten, met name niet-programmeurs, die de Commissie software projecten zonder voldoende kennis van wat software is in feite in staat zijn. Communiceren van deze kennis wordt bemoeilijkt door het feit dat, zoals hierboven aangegeven, zelfs programmeurs kunnen niet altijd op voorhand weet wat er eigenlijk mogelijk voor software van tevoren proberen.

Ontwerpen

Hoewel de eisen zijn bedoeld om aan te geven wat een programma moet doen, het ontwerp is bedoeld, ten minste op een hoog niveau, om aan te geven hoe het programma zou het moeten doen. Het nut van het ontwerp is ook ondervraagd door sommige, maar degenen die kijken naar formalisering van het proces van het waarborgen van de betrouwbaarheid bieden vaak goede software ontwerp processen als de meest belangrijke middelen om het. Software ontwerp behelst doorgaans het gebruik van meer abstracte en algemene middelen van de vermelding van de onderdelen van de software en wat ze doen. Als zodanig kan worden gezien als een manier om een groot programma in veel kleinere programma's, zodanig dat deze kleinere stukjes samen het werk doen van het hele programma.

De toepassing van high-level design zijn als volgt. Het scheidt, worden geacht te zijn de problemen van de architectuur, of totale programma-concept en de structuur van de werkelijke problemen van de codering, die problemen op te lossen van de feitelijke gegevens verwerking. Het geldt aanvullende beperkingen voor het ontwikkelingsproces door het verkleinen van de omvang van de kleinere software-componenten, en daarmee - naar men hoopt - het verwijderen van variabelen die kunnen verhogen de kans op fouten programmering. Het programma biedt een sjabloon, met inbegrip van de specificatie van de interfaces, die kan worden gedeeld door verschillende teams van ontwikkelaars werkt aan uiteenlopende delen, zodat zij kunnen op voorhand weet hoe elk van hun bijdragen zal interface met die van de andere teams. Ten slotte, en misschien wel het meest omstreden, maar geeft het programma onafhankelijk van de uitvoering taal of talen, zodat de taal-specifieke vertekeningen en beperkingen die anders kruip in het ontwerp, misschien onbewust van de kant van programmeur-ontwerpers.

Programmering

De geschiedenis van de computer programmeertaal ontwikkeling kunnen vaak het best worden begrepen in het licht van de pogingen tot kapitein van de complexiteit van computerprogramma's, die anders moeilijker te begrijpen in verhouding (misschien exponentieel) aan de grootte van de programma's. (Een andere manier van kijken naar de evolutie van programmeertalen is gewoon als een manier om de computer te doen meer en meer van het werk, maar dit kan een andere manier van zeggen hetzelfde.) Gebrek aan begrip van een programma ' s algemene structuur en functionaliteit is een manier om zeker niet te detecteren van fouten in het programma, en dus ook het gebruik van betere talen moeten, omgekeerd, een vermindering van het aantal fouten door deze in staat een beter begrip.

Verbeteringen in de talen van de neiging om stapsgewijs welke software ontwerp heeft geprobeerd te doen in een klap: de software in steeds grotere mate van abstractie. Dergelijke uitvindingen als verklaring, sub-routine, dossier, klasse, sjabloon, bibliotheek, onderdelen en meer zijn toegestaan de plaatsing van een programma van de onderdelen aan te geven met behulp van abstracties zoals lagen, hiërarchieën en modules, waarvan de structuur op verschillende granularities, zodat uit een oogpunt van het programma van de code kan worden gedacht te worden ordelijk en begrijpelijk zijn.

Daarnaast verbeteringen in de talen zijn er meer precieze controle over de vorm en het gebruik van data-elementen, afgesloten met de abstracte data type. Deze gegevens kunnen worden opgegeven om een zeer goed niveau, met inbegrip van de vraag hoe en wanneer ze worden geopend, en zelfs de stand van de gegevens vóór en nadat het is geopend.

Testen

Software testen, wanneer correct gedaan, kan de algehele kwaliteit van de software conform door proeven dat het product voldoet aan haar eisen. Testen omvat, maar is niet beperkt tot:

  1. Unit Testing
  2. Functional Testing
  3. Performance Testing
  4. Failover Testen
  5. Usability Testing

Een aantal van agile methodieken gebruiken tests vroeg in de ontwikkeling cyclus om de kwaliteit te waarborgen in hun producten. Bijvoorbeeld, het test-driven ontwikkeling van de praktijk, indien tests zijn geschreven vóór de code zullen zij test wordt gebruikt in Extreme Programming om de kwaliteit te waarborgen.

Runtime

Runtime betrouwbaarheid bepalingen zijn vergelijkbaar met testen, maar verder gaan dan eenvoudige bevestiging van het gedrag van de beoordeling van de kwaliteiten zoals prestaties en interoperabiliteit met andere code of bepaalde hardware configuraties ...

Bron: http://www.articlesbase

Betrokken Website Design artikelen

Labels:

Deze ingang werd gepost op vrijdag, november 7th, 2008 om 9:07 am en wordt onder ingediend Flash, Flex Design, Software Development, Software Outsourcing, Web Development. U kunt alle reacties op dit item via de RSS 2.0 feed. U kunt verlaat een reactie, of trackback van je eigen site.

Verlaat een Antwoord

eXTReMe Tracker