ComputersSoftware

Software levenscyclus: concept, standaarden, processen

Softwareontwikkeling is onmogelijk zonder de zogenoemde software levenscyclus te begrijpen. Dit hoeft niet bekend te zijn aan een gewone gebruiker, maar het is wenselijk om de basisnormen te beheersen (het wordt verder besproken waarom het nodig is).

De levenscyclus van software: wat is het in formele zin?

In de levenscyclus van elk softwareproduct is het gebruikelijk om de tijd van zijn bestaan te begrijpen, vanaf het ontwikkelingsfase en tot het moment van volledige weigering om het in de gekozen applicatie te gebruiken totdat de applicatie volledig van het dagelijks gebruik is verwijderd.

In eenvoudige termen zijn informatiesystemen in de vorm van programma's, databases of zelfs "besturingssystemen" alleen in de vraag indien de gegevens en de mogelijkheden die door hen zijn verstrekt relevant zijn.

Er wordt aangenomen dat de definitie van de levenscyclus op geen enkele wijze van toepassing is op testtoepassingen, bijvoorbeeld bij bèta-versies, die het meest onstabiel zijn in het werk. De levenscyclus van een software hangt af van vele factoren, waaronder een van de hoofdrollen wordt gespeeld door de omgeving waarin het programma wordt gebruikt. Het is echter mogelijk om de algemene voorwaarden te identificeren die gebruikt worden bij het bepalen van het concept van de levenscyclus.

Aanvankelijke vereisten

Zoals algemeen wordt aangenomen, worden voor elke softwareproduct meerdere voorwaarden gebruikt voor de ontwikkeling en toepassing ervan, namelijk:

  • Verklaring van het probleem;
  • Analyse van wederzijdse eisen van de toekomstige software voor het systeem;
  • design;
  • programmering;
  • Codering en compilatie;
  • testen;
  • debuggen;
  • Implementatie en onderhoud van het softwareproduct.

Softwareontwikkeling bestaat uit alle bovengenoemde fasen en kan niet zonder ten minste één van hen. Maar voor de controle op dergelijke processen worden speciale normen vastgesteld.

Standaarden van software levenscyclus processen

Onder de systemen die de voorwaarden en eisen voor dergelijke processen vooraf vaststellen, zijn er vandaag maar drie hoofden:

  • GOST 34.601-90;
  • ISO / IEC 12207: 2008;
  • Oracle CDM.

Voor de tweede internationale standaard is er een Russisch analoog. Dit is GOST R ISO / IEC 12207-2010, verantwoordelijk voor systeem- en software engineering. Maar de software levenscyclus beschreven in beide regels is identiek in wezen. Dit wordt eenvoudig uitgelegd.

Soorten software en updates

Moderne informatiesystemen zijn zodanig dat zij algemeen aanvaarde concepten van het toepassingsgebied vaststellen.

Er zijn bijvoorbeeld systeemprogramma's en hulpprogramma's, multimedia tools, stuurprogramma's, kantoorapplicaties, enz. Voor elk type softwareproducten kunt u de stadia van de levenscyclus van het bestaan definiëren.

Om het te vernieuwen, worden meestal de meest gebruikte tools gebruikt (voor zowel besturingssystemen als platforms en applicatiesoftware). Waarschijnlijk is het niet nodig om te verklaren dat elke gebruiker van een computersysteem gebaseerd op Windows de fase heeft ondernomen om het systeem zelf of componenten zoals het Microsoft .NET Framework of de virtuele Java -computer te updaten.

Ontwerp stadium

Nu een paar woorden direct over de ontwikkelingsstadia. De levenscyclus van software omvat in eerste instantie projectplanning, analyse van systeem- en doelvereisten, de mogelijkheid van voorlopig of gedetailleerd ontwerp, codering en testen, de mogelijkheid om programma's in gespecialiseerde systemen te gebruiken, enzovoort.

Software levenscyclusmodellen nemen aan dat de initiële taak van het maken van software moet worden beperkt tot de ontwikkeling van universele toepassingen of softwareproducten die een bepaalde startomgeving gebruiken.

ontwerp

Ontwikkelingssystemen programmeren talen. Het ontwerp van software in de eerste fase kan hierdoor worden gereduceerd.

Of het nu C + / C ++, Java, Delphi of hetzelfde verouderde Pascal is, is dat niet zo belangrijk. De vraag is hoeveel de gecreëerde applicatie kan integreren in het besturingssysteem en zonder fouten te werken.

In deze zin is 1 levenscyclus van de software de tijd van het testen van de oorspronkelijke installatie van het product tot de volledige verwijdering ervan wegens niet-naleving van de systeemvereisten, onvermogen of onmogelijkheid om de oorspronkelijk ingestelde taken uit te voeren.

Volgende stappen

Verdere onderhoud, die de levenscyclus van de software bepaalt, wordt verminderd tot codering en het verkrijgen van de broncode van de applicatie.

In het geval van de gratis (open) distributie wordt een zogenaamd certificaat gebruikt op basis van de GNU-licentie, die voorziet in de mogelijkheid om de software zelf te wijzigen op verzoek van een derde partij die vertrouwd is met de programmeertaal waarmee de applicatie is gemaakt.

Als het een gesloten code is, kunt u gebruik maken van hulpprogramma's zoals Disassembler. Maar in dit geval is het mogelijk om alleen de decodering van het uitvoerbare EXE-bestand te bereiken, en op welke manier dan ook, geen dynamische DLL's.

Maar dit is een theorie. In de praktijk bevatten de fasen van de levenscyclus van software veel meer elementen in hun lijst. Zelfs de eenvoudigste gesimuleerde situatie bestaat uit het onderzoeken van normen en het formuleren van opmerkingen (architectuurvereisten op hoog niveau, naleving van uitvoerbare code, middelen en verificatiemethoden). Dit is de levenscyclus van de software. Maar hier is het belangrijk om te begrijpen en een aantal principes van het beheer van dergelijke programma's en systemen.

Basis van het management

Software Lifecycle Management wordt uitgevoerd op basis van het splitsen van programma's in componenten, wat een redelijk breed scala aan tools biedt om ze te creëren.

Er is ook een nadeel aan de munt. De keuze van modules is beperkt tot de ontwikkelaar van het eerste platform, op basis waarvan de programmering is uitgevoerd. Natuurlijk, als we rekening houden met de eenwording en het typen van de gebruikte ontwikkelingsinstrumenten (vooral de herbruikbare modules), zijn er geen vragen.

Maar de fasen van de levenscyclus van de software omvatten noodzakelijkerwijs de opstelling van dataverwerkingsprotocollen, subroutines, standaardbibliotheken en nog veel meer.

Gebruikte modules

En geen enkel levenscyclusproces van een software is compleet zonder gebruik te maken van zeer specifieke componenten. Onder hen worden de volgende prioriteiten beschouwd:

  • De hoofdmodule (hoofd) die verantwoordelijk is voor het starten van het softwareproduct;
  • Een controle module die verantwoordelijk is voor het bellen van de bijbehorende componenten of dynamische bibliotheken;
  • Functionele en service tools voor gegevensverwerking en extra utilities.

Het uitvoerbare bestand, in de regel, voor Windows-systemen wordt gepresenteerd in de vorm van "exeshnika". Controle componenten hebben een configurator extensie (config.sys voor besturingssystemen), bijkomende verbonden bibliotheken hebben een DLL-extensie. De besturingselementen en de verwerking van de functies en instellingen van sommige toepassingen kunnen eruit zien als XML-bestanden.

Overigens, voor de meerderheid van de bekende multimediaprogramma's, zijn ze middelen om de basisconfiguratieparameters te behouden. Het gebruik van software van dit type is natuurlijk beperkt, maar het begrijpen van de algemene beginselen van het werken met dezelfde mediaspelers zal niet pijn doen. En dat is waarom.

In feite ligt de levenscyclus van software alleen op het niveau van de update-versie van de speler zelf of de installatie van codecs en decoders. En audio- en video-transcoders zijn inherente eigenschappen van elk geluids- of videosysteem.

Voorbeeld gebaseerd op FL Studio

Aanvankelijk werd de virtuele studio sequencer FL Studio genaamd Fruity Loops. De levenscyclus van de software in zijn primaire modificatie is verlopen, maar de applicatie is enigszins getransformeerd en verwierf het huidige formulier.

Als we over de fasen van de levenscyclus praten, eerst in het stadium van de taakstelling, werden verschillende verplichte voorwaarden vastgesteld:

  • Het creëren van een drummodule door het type ritmeproducten zoals de Yamaha RX, maar met behulp van monsters met één shot of sequenties in WAV-formaat opgenomen in studio's live;
  • Integratie in Windows-besturingssystemen;
  • Het vermogen om projecten te exporteren in WAV-, MP3- en OGG-formaten;
  • Compatibiliteitsprojecten met een aanvullende applicatie Fruity Tracks.

In de ontwikkelingsfase werden de middelen van C programmeertalen gebruikt. Maar het platform keek nogal primitief uit en gaf de eindgebruiker niet de nodige geluidskwaliteit.

In dit opzicht moesten de ontwikkelaars tijdens het test- en debug-stadium de weg van het Duitse Steinberg-bedrijf volgen en ondersteuning voor de Full Duplex-modus toepassen in de eisen aan de belangrijkste geluidschauffeur. De geluidskwaliteit werd hoger en liet het tempo, toonhoogte veranderen en extra FX-effecten realiseren in real time.

De voltooiing van de levenscyclus van deze software wordt beschouwd als de release van de eerste officiële versie van FL Studio, die in tegenstelling tot zijn voorouders al de interface van een volledige sequencer heeft gehad met de mogelijkheid om parameters op een virtuele 64-kanaals mixconsole te wijzigen met onbeperkt toevoegingen van audio tracks en MIDI tracks.

De promotie van het programma stond daar niet op. Tijdens het project management stadium is de ondersteuning voor het aansluiten van VST plug-ins (eerste, tweede en dan derde versie) die Steinberg destijds ontwikkelde, geïntroduceerd. In ieder geval kan elke virtuele synthesizer die VST-host ondersteunt, verbinding maken met het programma.

Niet verrassend, elke componist kan binnenkort analoges van "ijzeren" modellen gebruiken, bijvoorbeeld complete sets van geluiden van de eens populaire Korg M1. Verder - meer. Het gebruik van modules zoals Addictive Drums of de Universal Contact plug-in maakte het mogelijk om de live geluiden van echte instrumenten te reproduceren die zijn opgenomen met alle tinten van artikulatie in professionele studio's.

Tegelijkertijd probeerden de ontwikkelaars de maximale kwaliteit te bereiken door ondersteuning te creëren voor de ASIO4ALL-drivers, die hoger bleken dan de Full Duplex-modus. Bijgevolg is de bitrate ook toegenomen. Tot op heden is de kwaliteit van het uitgevoerde audiobestand 320 kbit / s bij een bemonsteringssnelheid van 192 kHz. En dit is een professioneel geluid.

Wat de oorspronkelijke versie betreft, kan de levenscyclus volledig worden genoemd, maar een dergelijke verklaring is relatief, aangezien de applicatie alleen zijn naam heeft veranderd en nieuwe mogelijkheden heeft gekregen.

Vooruitzichten voor ontwikkeling

Welke fasen van de software levenscyclus vertegenwoordigen zijn al duidelijk. Maar het is de moeite waard om de ontwikkeling van dergelijke technologieën afzonderlijk te vermelden.

Het is niet nodig om te zeggen dat elke softwareontwikkelaar niet geïnteresseerd is in het creëren van een vluchtig product dat voor een aantal jaren onwaarschijnlijk op de markt blijft. Op de lange termijn kijkt iedereen naar haar lange termijn gebruik. Dit kan op vele manieren worden bereikt. Maar meestal koken bijna iedereen op het loslaten van updates of nieuwe versies van programma's.

Zelfs bij Windows OS kunnen dergelijke trends met het blote oog worden gezien. Bijna vandaag zijn er ten minste één gebruiker die systemen gebruikt zoals wijzigingen 3.1, 95, 98 of Millennium. Hun levenscyclus eindigde na de release van de versie van XP. Maar serverversies gebaseerd op NT-technologieën zijn nog steeds relevant. Zelfs Windows 2000 tot op heden is niet alleen zeer relevant, maar ook voor sommige parameters van installatie of beveiliging, zelfs de laatste ontwikkelingen overtreffen. Hetzelfde geldt voor het NT 4.0-systeem, evenals de gespecialiseerde wijziging van Windows Server 2012.

Maar in relatie tot deze systemen wordt de ondersteuning op het hoogste niveau nog steeds aangegeven. Maar de beruchte in zijn tijd Vista is duidelijk de zonsondergang cyclus ervaren. Niet alleen was het onvoltooid, er waren ook fouten in en er was zoveel schade in zijn beveiligingssysteem dat men alleen maar kon raden hoe het mogelijk was om zo'n onhoudbare oplossing op de softwaremarkt te laten vallen.

Maar als we praten over het feit dat de ontwikkeling van software van elk type (manager of applicatie) niet stilstaat, kunnen we alleen de feiten vermelden. Immers, vandaag zijn het niet alleen computersystemen, maar ook mobiele apparaten, waarbij de gebruikte technologieën vaak voor de computersector liggen. De opkomst van processor chips gebaseerd op acht kernen - is niet het beste voorbeeld? En toch kan elke laptop niet zo'n ijzer hebben.

Enkele extra vragen

Wat het begrip van de levenscyclus van software betreft, kan het heel willekeurig zijn om te zeggen dat het op een bepaald tijdstip is beëindigd, omdat softwareproducten nog steeds steun hebben van de ontwikkelaars die hen hebben gecreëerd. Het einde verwijst eerder naar verouderde toepassingen die niet voldoen aan de eisen van moderne systemen en niet in hun omgeving kunnen werken.

Maar zelfs rekening houdend met de technische vooruitgang, kunnen veel van hen al in de nabije toekomst blijkbaar onhoudbaar zijn. Dat is wanneer u moet beslissen of u updates wilt vrijgeven of het volledige concept volledig herzien, oorspronkelijk ingebed in het softwareproduct. Vandaar - en een nieuwe cyclus die de initiële condities verandert, de ontwikkelomgeving, het testen en mogelijk langdurig gebruik in een bepaald gebied.

Maar in de computertechnologie wordt de voorkeur gegeven aan de ontwikkeling van geautomatiseerde controlesystemen (ACS) die in de productie worden gebruikt. Zelfs besturingssystemen, in vergelijking met gespecialiseerde programma's, verliezen.

Dezelfde omgevingen gebaseerd op Visual Basic blijven veel populairder dan Windows-systemen. En de applicatiesoftware voor UNIX-systemen is helemaal niet. Wat te zeggen, als bijna alle communicatienetwerken van dezelfde Verenigde Staten uitsluitend op hen werken. Overigens werden systemen zoals Linux en Android oorspronkelijk op dit platform gemaakt. Waarschijnlijk heeft UNIX veel meer vooruitzichten dan andere producten gecombineerd.

In plaats van het totaal

Er moet nog worden toegevoegd dat in dit geval alleen algemene principes en fasen van de levenscyclus van de software worden gegeven. In feite kunnen zelfs de initiële taken heel erg verschillen. Bijgevolg kunnen verschillen in de overige stadia waargenomen worden.

Maar de basis technologieën voor het ontwikkelen van software producten met hun daaropvolgende onderhoud moeten duidelijk zijn. Anders moet u rekening houden met de specificaties van de aangemaakte software en de omgeving waarin het zou moeten werken en de mogelijkheden van de programma's die aan de eindgebruiker of de productie worden geleverd, en nog veel meer.

Daarnaast kunnen soms levenscycli afhangen van de relevantie van ontwikkelingshulpmiddelen. Als bijvoorbeeld een aantal programmeertalen verouderd wordt, zullen er geen programma's op basis daarvan worden geschreven, en nog meer - om ze te introduceren in geautomatiseerde controlesystemen in de productie. Hier komen zelfs programmeurs niet in de voorhoede, maar marketeers die tijdig op veranderingen in de computermarkt moeten reageren. En er zijn niet zo veel dergelijke specialisten in de wereld. Hooggekwalificeerd personeel, in staat om een hand in de puls van de markt te houden, wordt steeds meer in de vraag. En ze zijn vaak de zogenaamde "grijze kardinalen", waarop het succes of verlies van een bepaald softwareproduct in het IT-veld hangt af.

Laat ze niet altijd de essentie van de programmering begrijpen, maar ze kunnen de levenscyclusmodellen van de software duidelijk bepalen en de duur van hun applicatie, gebaseerd op de globale trends in dit gebied. Effectief beheer levert vaak meer tastbare resultaten op. Ja, in ieder geval PR-technologie, reclame, enz.. Eventueel een applicatie aan de gebruiker en niet nodig, maar als het actief geadverteerd wordt, zal de gebruiker het installeren. Dit is al, zo te zeggen, het onderbewuste niveau (hetzelfde effect van het 25e kader, wanneer informatie wordt opgeslagen in het bewustzijn van de gebruiker, onafhankelijk van zichzelf).

Natuurlijk zijn dergelijke technologieën in de wereld verboden, maar veel van ons raden zelfs niet aan dat ze nog steeds op een bepaalde manier kunnen worden gebruikt en de onderbewustzijn beïnvloeden. Wat is de enige 'zombificatie' van nieuwszenders of websites, en niet om het gebruik van krachtiger instrumenten, zoals blootstelling aan infrasound (dit werd gebruikt in een opera-productie), zodat een persoon angst of onvoldoende emoties kan ervaren.

Terugkerend naar de software, het is de moeite waard toe te voegen dat sommige programma's een geluidssignaal gebruiken wanneer ze starten, wat de aandacht van de gebruiker trekt. En zoals studies laten zien, zijn dergelijke applicaties levensvatbaarder, in vergelijking met andere programma's. Uiteraard neemt de levenscyclus van de software toe, ongeacht welke functie er aanvankelijk toegewezen is. En dit wordt helaas door vele ontwikkelaars gebruikt, waardoor twijfels ontstaan over de geldigheid van dergelijke methoden.

Maar beoordeel ons hier niet over. Misschien worden in de nabije toekomst instrumenten ontwikkeld die dergelijke bedreigingen bepalen. Tot nu toe is dit slechts een theorie, maar volgens sommige analisten en deskundigen blijft weinig voor praktische toepassing. Als u al kopieën van de neurale netwerken van het menselijke brein maakt, dan wat te zeggen?

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 nl.atomiyme.com. Theme powered by WordPress.