Software ontwikkeling

 

Omschrijving software ontwikkeling oftewel software development:

Om misverstanden te vermijden is hier een overzicht van termen die in verband met software ontwikkeling gebruikt worden:

  • Applicatie:
    Applicaties zijn een of meer zelfstandige programmamodules die rechtstreeks met de gebruikers communiceren. Het gaat hier meestal om zakelijke en administratieve taken. Een applicatie staat los van het besturingssysteem van de computer. Applicaties zijn direct onderdeel van de bedrijfsprocessen. Systeemsoftware rekent men niet tot de applicaties, dat is wat programmeurs gebruiken om toepassingssoftware te ontwikkelen en te onderhouden.
  • Systeem:
    Een systeem is een allesomvattende en geïntegreerde oplossing voor een organisatorisch probleem. Het is dus meer dan een applicatie of een tool. Een systeem kan bestaan uit een reeks onderling verbonden componenten (modules), die samenwerken om een samenhangend geheel te vormen. Het geheel is meer dan de som der delen. Ook de hardware wordt in dit verband vaak tot het systeem gerekend.
  • Framework:
    Een Framework daarentegen is een losser verband van componenten (onderdelen, modules, subsystemen) die onderling niet geïntegreerd zijn. Frameworks worden meer gebruikt als de code in kwestie bedoeld is om rechtstreeks door andere programmatuur te worden gebruikt via een API. Frameworks bevatten vaak verscheidene bibliotheken met code om meerdere doelen te bereiken. De verschillende componenten van een framework kunnen zelf dus wel onderdeel van een systeem zijn.
  • Tool:
    Een tool is software dat een reeks functies uitvoert die een praktisch nut hebben, maar niet verbonden zijn aan een bepaald probleem of situatie. Het maakt dus geen onderdeel uit van de bedrijfsprocessen van de gebruiker. Het zijn meestal kleinere taakgerichte programma’s.

Verschillende methoden van software ontwikkeling

Feitelijk onderscheiden we drie stromen in software ontwikkeling.

  • Het waterval principe:
    Het watervalprincipe deelt het ontwikkeltraject op in verschillende fases. De ontwikkelaars maken eerst alle specificaties helder en beginnen dan pas. Elke fase uit het project moet volledige afgerond zijn voordat aan de volgende fase wordt begonnen. Chronologisch:
    • Analyseren en definiëren van het doel
    • Globaal ontwerp
    • Technisch ontwerp
    • Bouw & implementatie
    • Testen
    • Integratie
    • Beheer & onderhoud
  • Iteratieve software ontwikkeling:
    Hierbij gaat het erom dat een prototype snel ontwikkeld wordt. Niet alle specificaties hoeven perse al strak gedefinieerd te zijn, het prototype is flexibel. Deze methode van software ontwikkeling is cyclisch, het proces volgt een cyclus van ontwikkeling, verbetering, demonstratie en weer terug.
  • Spiraal software ontwikkeling:
    De spiraal methodiek is een meer een hybride van beide modellen en probeert te profiteren van de voordelen van beide methodieken. Er wordt cyclisch gewerkt en de verschillende fases uit de projectmethodiek komen verschillende malen aan bod.

Welke methoden worden het meest gebruikt?

De meeste software ontwikkelaars werken op basis van een iteratieve methodiek. Dit betekent dat ze gebruik maken van Agile methoden zoals Scrum, Kanban of Lean.

Voorbeeld van een Agile methode is FDD of Feature-Driven Development
Deze methode tot software ontwikkeling wordt gekenmerkt door vijf taken. De eerste drie van deze vijf taken worden doorlopen om tot een globaal model te komen. De overige twee dienen om de daadwerkelijke software te bouwen. Ook in FDD worden onderdelen van het software product, of features, in sprints van (meestal) twee weken ontwikkeld.

  • Opstellen globaal model
  • Opstellen lijst specificaties
  • Plannen features
  • Ontwerpen feature
  • Bouwen feature

 

 

© Multiraedt 2024