Computerprogramma's worden tegenwoordig overal geïmplementeerd, van onze auto's tot onze smartphones, en in bijna elke baan. Naarmate de wereld steeds digitaler wordt, zal de behoefte aan nieuwe programma's altijd toenemen. Als je het volgende grote idee hebt, waarom zou je het dan niet zelf maken? Zie stap 1 hieronder om erachter te komen hoe u aan de slag kunt gaan met het leren van een taal, uw idee kunt ontwikkelen tot een testbaar product en het vervolgens kunt herhalen totdat het klaar is voor release.
Stappen
Deel 1 van 6: Een idee bedenken
Stap 1. Brainstorm ideeën. Een goed programma zal een taak uitvoeren die het leven van de gebruiker gemakkelijker maakt. Kijk naar de software die momenteel beschikbaar is voor de taak die u wilt uitvoeren en kijk of er manieren zijn om het proces eenvoudiger of soepeler te laten verlopen. Een succesvol programma is er een waar gebruikers veel nut in zullen vinden.
- Onderzoek uw dagelijkse taken op uw computer. Is er een manier om een deel van die taken te automatiseren met een programma?
- Schrijf elk idee op. Zelfs als het op dat moment dwaas of bizar lijkt, kan het veranderen in iets nuttigs of zelfs briljants.
Stap 2. Onderzoek andere programma's
Wat doen ze? Hoe zouden ze het beter kunnen doen? Wat missen ze? Door deze vragen te beantwoorden, kunt u op ideeën komen voor uw eigen kijk erop.
Stap 3. Schrijf een ontwerpdocument
Dit document beschrijft de kenmerken en wat u met het project wilt bereiken. Door tijdens het ontwikkelingsproces naar het ontwerpdocument te verwijzen, kunt u uw project op schema en gefocust houden. Raadpleeg deze handleiding voor meer informatie over het schrijven van het document. Door het ontwerpdocument te schrijven, kunt u ook beslissen welke programmeertaal het beste werkt voor uw project.
Stap 4. Begin eenvoudig
Wanneer u net begint met computerprogrammering, moet u klein beginnen en in de loop van de tijd groeien. Je leert veel meer als je concrete doelen stelt die je met een basisprogramma kunt bereiken. Bijvoorbeeld,
Deel 2 van 6: Een taal leren
Stap 1. Download een goede teksteditor
Bijna alle programma's zijn geschreven in teksteditors en vervolgens gecompileerd om op computers te draaien. Hoewel u programma's zoals Kladblok of Teksteditor kunt gebruiken, wordt het ten zeerste aanbevolen om een editor voor het markeren van syntaxis te downloaden, zoals Notepad++ JEdit of Sublime Text. Dit maakt uw code veel gemakkelijker visueel te ontleden.
Sommige talen, zoals Visual Basic, bevatten een editor en compiler in één pakket
Stap 2. Leer een programmeertaal
Alle programma's zijn gemaakt door middel van codering. Als u uw eigen programma's wilt maken, moet u bekend zijn met ten minste één programmeertaal. De talen die u moet leren, zijn afhankelijk van het type programma dat u wilt maken. Enkele van de meer nuttige en belangrijke zijn:
- C - C is een taal op laag niveau die nauw samenwerkt met de hardware van de computer. Het is een van de oudere programmeertalen die nog steeds wijdverbreid wordt gebruikt.
- C++ - Het grootste nadeel van C is dat het niet objectgeoriënteerd is. Dit is waar C++ om de hoek komt kijken. C++ is momenteel de populairste programmeertaal ter wereld. Programma's zoals Chrome, Firefox, Photoshop en vele andere zijn allemaal gebouwd met C++. Het is ook een zeer populaire taal voor het maken van videogames.
- Java - Java is een evolutie van de C++-taal en is extreem draagbaar. De meeste computers, ongeacht het besturingssysteem, kunnen een Java Virtual Machine draaien, waardoor het programma bijna universeel kan worden gebruikt. Het wordt veel gebruikt in videogames en bedrijfssoftware en wordt vaak aanbevolen als een essentiële taal.
- C# - C# is een op Windows gebaseerde taal en is een van de belangrijkste talen die worden gebruikt bij het maken van Windows-programma's. Het is nauw verwant aan Java en C++, en zou gemakkelijk te leren moeten zijn als je al bekend bent met Java. Als je een Windows- of Windows Phone-programma wilt maken, moet je eens naar deze taal kijken.
- Objective-C - Dit is een andere neef van de C-taal die speciaal is ontworpen voor Apple-systemen. Als je iPhone- of iPad-apps wilt maken, is dit de taal voor jou.
Stap 3. Download de compiler of interpreter
Voor elke taal op hoog niveau, zoals C++, Java en vele andere, heb je een compiler nodig om je code om te zetten in een formaat dat de computer kan gebruiken. Er zijn verschillende compilers om uit te kiezen, afhankelijk van de taal die u gebruikt.
Sommige talen zijn geïnterpreteerde talen, wat betekent dat ze geen compiler nodig hebben. In plaats daarvan hebben ze alleen de taaltolk nodig die op de computer is geïnstalleerd en kunnen de programma's onmiddellijk worden uitgevoerd. Enkele voorbeelden van geïnterpreteerde talen zijn Perl en Python
Stap 4. Leer elementaire programmeerconcepten
Welke taal u ook kiest, u zult waarschijnlijk enkele algemene basisconcepten moeten begrijpen. Als u weet hoe u met de syntaxis van de taal om moet gaan, kunt u veel krachtigere programma's maken. Veelvoorkomende concepten zijn onder meer:
- Variabelen declareren - Variabelen zijn de manier waarop uw gegevens tijdelijk in uw programma worden opgeslagen. Deze gegevens kunnen vervolgens worden opgeslagen, gewijzigd, gemanipuleerd en later in het programma worden opgeroepen.
- Voorwaardelijke instructies gebruiken (als, anders, wanneer, enz.) - Dit is een van de basisfuncties van programma's en dicteert hoe de logica werkt. Voorwaardelijke verklaringen draaien om "waar" en "onwaar" verklaringen.
- Loops gebruiken (for, goto, do, etc.) - Loops stellen je in staat om processen steeds weer te herhalen totdat een commando wordt gegeven om te stoppen.
- Escape-reeksen gebruiken - Deze opdrachten voeren functies uit zoals het maken van nieuwe regels, inspringingen, aanhalingstekens en meer.
- Reageren op code - Opmerkingen zijn essentieel om te onthouden wat uw code doet, om andere programmeurs te helpen uw code te begrijpen en om delen van code tijdelijk uit te schakelen.
- Begrijp reguliere expressies.
Stap 5. Zoek enkele boeken over de taal van uw keuze
Er zijn boeken voor elke taal en voor elk kennisniveau. U kunt programmeerboeken vinden bij uw plaatselijke boekhandel of bij een online winkel. Een boek kan van onschatbare waarde zijn, omdat u het tijdens het werk bij de hand kunt houden.
Naast boeken is internet een eindeloze schat aan handleidingen en tutorials. Zoek naar handleidingen in de taal van uw keuze op sites zoals Codecademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools en nog veel meer
Stap 6. Volg enkele lessen
Iedereen kan zichzelf leren een programma te maken als hij of zij er zin in heeft, maar soms kan het hebben van een leraar en een klasomgeving echt nuttig zijn. Een-op-een tijd met een expert kan de tijd die nodig is om de basisprincipes en concepten van programmeren onder de knie te krijgen aanzienlijk verkorten. Klassen zijn ook een goede plek om geavanceerde wiskunde en logica te leren die nodig zijn voor complexere programma's.
Lessen kosten geld, dus zorg ervoor dat u zich aanmeldt voor lessen die u zullen helpen te leren wat u wilt weten
Stap 7. Stel vragen
Het internet is een fantastische manier om in contact te komen met andere ontwikkelaars. Als je vastloopt bij een van je projecten, vraag dan om hulp op sites zoals StackOverflow. Zorg ervoor dat je op een intelligente manier vraagt en kunt aantonen dat je al meerdere mogelijke oplossingen hebt geprobeerd.
Deel 3 van 6: Uw prototype bouwen
Stap 1. Begin met het schrijven van een basisprogramma met je kernfunctionaliteit
Dit wordt het prototype dat de functionaliteit laat zien die u wilt bereiken. Een prototype is een snel programma en moet worden herhaald totdat u een ontwerp vindt dat werkt. Als u bijvoorbeeld een kalenderprogramma aan het maken bent, zou uw prototype een basiskalender zijn (met de juiste datums!) en een manier om er gebeurtenissen aan toe te voegen.
- Gebruik bij het maken van uw prototype een top-downbenadering. Laat in het begin zoveel mogelijk details weg. Voeg vervolgens langzaam fijnere en fijnere details toe. Dit versnelt het prototypingproces en zorgt er ook voor dat uw code niet te complex en onhandelbaar wordt. Als uw code te moeilijk wordt om te volgen, kan het zijn dat u helemaal opnieuw moet beginnen.
- Je prototype zal tijdens de ontwikkelingscyclus vaak veranderen als je nieuwe manieren bedenkt om problemen aan te pakken of later een idee bedenkt dat je wilt opnemen.
- Als je een game maakt, moet je prototype leuk zijn! Als het prototype niet leuk is, is de kans groot dat de volledige game ook niet leuk is.
- Als je gewenste mechanica gewoon niet werkt in het prototype, is het misschien tijd om terug te gaan naar de tekentafel.
Stap 2. Stel een team samen
Als u uw programma alleen ontwikkelt, kunt u een prototype gebruiken om een team op te bouwen. Een team helpt je om bugs sneller op te sporen, functies te herhalen en de visuele aspecten van het programma te ontwerpen.
- Een team is zeker niet nodig voor kleine projecten, maar zal de ontwikkeltijd aanzienlijk verkorten.
- Het runnen van een team is een complex en moeilijk proces en vereist goede managementvaardigheden en een goede structuur voor het team. Raadpleeg deze handleiding voor meer informatie over het leiden van een groep.
Stap 3. Begin indien nodig helemaal opnieuw
Als u eenmaal bekend bent met uw taal, kunt u binnen een paar dagen prototypes in gebruik nemen. Vanwege hun snelle karakter, wees niet bang om je idee te schrappen en opnieuw te beginnen vanuit een andere hoek als je niet tevreden bent met hoe het uitpakt. Het is veel gemakkelijker om in dit stadium grote veranderingen aan te brengen dan later wanneer de functies op hun plaats beginnen te vallen.
Stap 4. Geef overal commentaar op
Gebruik de commentaarsyntaxis in uw programmeertaal om notities achter te laten over alle, behalve de meest elementaire coderegels. Dit zal je helpen herinneren wat je aan het doen was als je het project een tijdje moet neerleggen, en zal andere ontwikkelaars helpen je code te begrijpen. Dit is vooral essentieel als u werkt als onderdeel van een programmeerteam.
U kunt opmerkingen gebruiken om tijdens het testen delen van uw code tijdelijk uit te schakelen. Voeg gewoon de code die u wilt uitschakelen toe aan de syntaxis van opmerkingen en deze wordt niet gecompileerd. U kunt dan de commentaarsyntaxis verwijderen en de code wordt hersteld
Deel 4 van 6: Alfatesten
Stap 1. Verzamel een testteam
In de alfafase kan en moet het testteam klein zijn. Een kleine groep helpt je om gerichte feedback te krijgen en geeft je de mogelijkheid om één op één met testers te communiceren. Elke keer dat u het prototype bijwerkt, worden er nieuwe builds naar de alfatesters gestuurd. De testers proberen vervolgens alle meegeleverde functies en proberen ook het programma te breken en hun resultaten te documenteren.
- Als u een commercieel product ontwikkelt, wilt u er zeker van zijn dat al uw testers een geheimhoudingsverklaring (NDA) ondertekenen. Dit voorkomt dat ze anderen over uw programma vertellen en voorkomt lekken naar de pers en andere gebruikers.
- Neem de tijd om met een solide testplan te komen. Zorg ervoor dat uw testers een manier hebben om gemakkelijk bugs in het programma te melden, en ook gemakkelijk toegang te krijgen tot nieuwe versies van de alfa. GitHub en andere code-opslagplaatsen zijn een geweldige manier om dit aspect eenvoudig te beheren.
Stap 2. Test uw prototype keer op keer
Bugs zijn de vloek van elke ontwikkelaar. Fouten in code en onverwacht gebruik kunnen allerlei problemen veroorzaken in een afgewerkt product. Terwijl u aan uw prototype blijft werken, moet u het zoveel mogelijk testen. Doe er alles aan om het te breken, en probeer dan te voorkomen dat het in de toekomst kapot gaat.
- Probeer oneven datums in te voeren als uw programma met datums te maken heeft. Echt oude data of datums in de verre toekomst kunnen voor vreemde reacties zorgen met het programma.
- Voer de verkeerde soort variabelen in. Als u bijvoorbeeld een formulier heeft waarin naar de leeftijd van de gebruiker wordt gevraagd, voert u in plaats daarvan een woord in en kijkt u wat er met het programma gebeurt.
- Als uw programma een grafische interface heeft, klikt u op alles. Wat gebeurt er als je teruggaat naar een vorig scherm of op knoppen in de verkeerde volgorde klikt?
Stap 3. Los bugs op in volgorde van prioriteit
Bij het herzien van het programma in de alpha, besteedt u veel tijd aan het repareren van functies die niet correct werken. Bij het organiseren van uw bugrapporten van uw alfatesters, moeten ze worden gesorteerd op basis van twee statistieken: Ernst en Prioriteit.
- De ernst van een bug is een maat voor hoeveel schade de bug veroorzaakt. Bugs die het programma laten crashen, corrupte gegevens, waardoor het programma niet kan worden uitgevoerd, worden blokkers genoemd. Functies die niet werken of onjuiste resultaten opleveren, krijgen het label Critical, terwijl moeilijk te gebruiken of slecht uitziende functies het label Major krijgen. Er zijn ook normale, kleine en triviale bugs die van invloed zijn op kleinere secties of minder cruciale functies.
- De prioriteit van een bug bepaalt in welke volgorde je ze aanpakt bij het oplossen van bugs. Het oplossen van bugs in software is een tijdrovend proces en neemt de tijd weg die u nodig hebt om functies toe te voegen en op te poetsen. Als zodanig moet u rekening houden met de prioriteit van een bug om ervoor te zorgen dat u deadlines haalt. Alle Blocker- en Critical-bugs hebben de hoogste prioriteit, ook wel P1 genoemd. P2-bugs zijn meestal grote bugs die volgens de planning moeten worden opgelost, maar die de verzending van een product niet tegenhouden. P3- en P4-bugs zijn meestal geen geplande reparaties en vallen in de categorie "leuk om te hebben".
Stap 4. Voeg meer functies toe
Tijdens de alfafase voegt u meer functies toe aan uw programma om het dichter bij het programma te brengen dat in uw ontwerpdocument wordt beschreven. In de alfafase evolueert het prototype naar de basis van het volledige programma. Tegen het einde van de alfafase zou je programma alle functies moeten hebben geïmplementeerd.
Ga niet te ver van uw originele ontwerpdocument af. Een veelvoorkomend probleem bij softwareontwikkeling is "feature-creep", waarbij steeds nieuwe ideeën worden toegevoegd, waardoor de oorspronkelijke focus verloren gaat en de ontwikkeltijd tussen te veel verschillende functies wordt verspreid. U wilt dat uw programma de beste is in wat het doet, geen manusje van alles
Stap 5. Test elke functie terwijl u deze toevoegt
Terwijl u tijdens de alfafase functies aan uw programma toevoegt, stuurt u de nieuwe build naar uw testers. De regelmaat van nieuwe builds is volledig afhankelijk van de grootte van je team en hoeveel vooruitgang je boekt met de functies.
Stap 6. Vergrendel uw functies wanneer de alfa is voltooid
Zodra u alle functies en functionaliteit in uw programma heeft geïmplementeerd, kunt u de alfafase verlaten. Op dit moment mogen er geen verdere functies worden toegevoegd en zouden de meegeleverde functies in wezen moeten werken. Nu kunt u verder gaan met testen en polijsten, ook wel de bètafase genoemd.
Deel 5 van 6: Bètatesten
Stap 1. Vergroot de grootte van uw testgroep
In de bètafase wordt het programma beschikbaar gesteld aan een veel grotere groep testers. Sommige ontwikkelaars maken de bètafase openbaar, wat een open bèta wordt genoemd. Hierdoor kan iedereen zich aanmelden en deelnemen aan het testen van het product.
Afhankelijk van de behoeften van uw product, wilt u misschien wel of niet een open bèta doen
Stap 2. Test de connectiviteit
Naarmate programma's meer en meer onderling verbonden raken, is de kans groot dat uw programma afhankelijk is van verbindingen met andere producten of verbindingen met servers. Met bètatests kunt u ervoor zorgen dat deze verbindingen onder een grotere belasting werken, wat ervoor zorgt dat uw programma bij de release door het publiek kan worden gebruikt.
Stap 3. Poets je software
In de bètafase worden er geen functies meer toegevoegd, zodat de focus kan worden gelegd op het verbeteren van de esthetiek en bruikbaarheid van het programma. In deze fase wordt UI-ontwerp een prioriteit, zodat de gebruikers zonder problemen door het programma kunnen navigeren en kunnen profiteren van de functies.
- UI-ontwerp en functionaliteit kunnen erg moeilijk en complex zijn. Mensen maken een hele carrière van het ontwerpen van gebruikersinterfaces. Zorg er gewoon voor dat uw persoonlijke project gebruiksvriendelijk en aangenaam voor de ogen is. Een professionele gebruikersinterface is misschien niet mogelijk zonder een budget en een team.
- Als u het budget heeft, zijn er veel freelance grafische ontwerpers die mogelijk een gebruikersinterface op contract voor u kunnen ontwerpen. Als je een solide project hebt waarvan je hoopt dat het het volgende grote ding zal worden, zoek dan een goede UI-ontwerper en maak ze onderdeel van je team.
Stap 4. Ga door met het zoeken naar bugs
Tijdens de bètafase moet u nog steeds bugrapporten van uw gebruikersbestand catalogiseren en prioriteren. Aangezien meer testers toegang hebben tot het product, is de kans groot dat er nieuwe bugs worden ontdekt. Elimineer bugs op basis van hun prioriteit, rekening houdend met uw uiteindelijke deadlines.
Deel 6 van 6: Het programma vrijgeven
Stap 1. Breng uw programma op de markt
Als u gebruikers wilt krijgen, moet u ervoor zorgen dat ze weten dat uw programma bestaat. Net als bij elk product, moet je een beetje reclame maken om mensen bewust te maken. De omvang en diepte van uw marketingcampagne wordt bepaald door de functie van uw programma en uw beschikbare budget. Enkele eenvoudige manieren om de bekendheid van uw programma te vergroten zijn:
- Posten over uw programma op gerelateerde prikborden. Zorg ervoor dat je de regels voor het plaatsen van berichten volgt van welk forum je ook kiest, zodat je berichten niet als spam worden gemarkeerd.
- Verstuur persberichten naar technische sites. Zoek een aantal technische blogs en sites die passen bij het genre van uw programma. Stuur de redactie een persbericht met details over uw programma en wat het doet. Voeg een paar screenshots toe.
- Maak wat YouTube-video's. Als je programma is ontworpen om een specifieke taak uit te voeren, maak dan een paar YouTube-video's die je programma in actie laten zien. Structureer ze als 'How-To'-video's.
- Social media pagina's maken. U kunt gratis Facebook- en Google+ pagina's voor uw programma maken en Twitter gebruiken voor zowel bedrijfs- als programmaspecifiek nieuws.
Stap 2. Host uw programma op uw website
Voor kleine programma's kunt u het bestand waarschijnlijk op uw eigen website hosten. Misschien wilt u een betalingssysteem opnemen als u kosten gaat aanrekenen voor uw software. Als uw programma erg populair wordt, moet u het bestand mogelijk hosten op een server die meer downloads aankan.
Stap 3. Stel een ondersteuningsservice in
Als je programma eenmaal in het wild is uitgebracht, heb je altijd gebruikers met technische problemen of die niet begrijpen hoe het programma werkt. Uw website moet uitgebreide documentatie beschikbaar hebben, evenals een soort van ondersteuningsservice. Dit kan een technisch ondersteuningsforum, een ondersteuningsmail, live hulp of een combinatie daarvan zijn. Wat u kunt bieden, is afhankelijk van uw beschikbare budget.
Stap 4. Houd uw product up-to-date
Bijna alle programma's worden tegenwoordig gepatcht en bijgewerkt lang na hun eerste release. Deze patches kunnen kritieke of niet-kritieke bugs oplossen, beveiligingsprotocollen bijwerken, de stabiliteit verbeteren of zelfs functionaliteit toevoegen of de esthetiek opnieuw doen. Door uw programma up-to-date te houden, kunt u concurrerend blijven.
Voorbeeldprogramma's
Voorbeeld C++-programma
Ondersteuning wikiHow en ontgrendel alle voorbeelden.
Voorbeeld MATLAB-programma's
Ondersteuning wikiHow en ontgrendel alle voorbeelden.