Software development

Software op maat

Met meer dan 15 jaar ervaring ben ik goed vertrouwd met alle aspecten die komen kijken bij het volledige proces van software ontwikkeling:

  • Analyse: het verzamelen van de vereisten en deze verwerken in een analysedocument.
  • Architectuur: Opstellen van de software architectuur en databasemodel.
  • Ontwikkeling: Het schrijven van de code + aanmaken van de database.
  • Opvolging: Aansturen en opvolgen van een development-team.
  • Installatie: Installeren en configureren van de software, zowel bij de gebruikers als op de server(s)
  • Documentatie: Beschrijving van de software, zoals een technische beschrijving en een gebruikershandleiding.

 

Technologie

Voor de ontwikkeling maak ik voornamelijk gebruik van volgende technologieën:
User Interface (= de interface van het programma, de schermen)

Database (= hoe de gegevens bewaard worden)

 

Tools

Om de snelheid en kwaliteit van het ontwikkelingsprocess te vergroten, kunnen volgende tools/methodologieën gebruikt worden:

  • Versiebeheersysteem (Subversion, GIT, TFS)
  • Project opvolgingstools. Programma/website waar taken, bugs en vragen worden ingepland en opgevolgd (zoals JIRA)
  • Documentatiewebsite (Wiki-website waar alle informatie wordt gecentraliseerd)
  • Project management: SCRUM, Kanban
     
  • OR-mappers (Mapping tussen de database en de objecten in code) zoals Entity Framework, LLBLGenPro, NHibernate
  • Unit testing tools om aparte classes te testen, zoals nUnit, MSTest, xUnit
  • Mocking frameworks om de unit testen te vereenvoudigen, zoals nMock3, Moq
  • IoC Containers (voor Dependency injection) zoals SimpleInjector, Autofac, Unity, StructureMap
  • AOP tools voor het implementeren van cross-cutting concerns, zoals PostSharp