Givi, O. (2001) Integrated Development Environment. Master's Thesis / Essay, Computing Science.
Text
Infor_Ma_2001_OGivi.CV.pdf - Published Version Restricted to Registered users only Download (2MB) |
Abstract
Er zijn veel obstakels die software ontwikkeling negatief beInvloeden en vertragen. Version Control, coördinatie met het programmeerteam, onthouden van veel commando's voor verschillende tools, debugging, gebrek aan een editor met gewenste functionaliteiten, niet systematisch definiëren van relaties tussen verschillende onderdelen van de software zijn voorbeelden hiervan. Hoe groter de software systemen worden, des te vaker heeft men te maken met dit soort problemen: Met het toenemen van het aantal source codes, stijgen onder anderen het aantal regels code, de kans op fouten, de kans op miscommunicatie tussen de verschillende leden van bet team, etcetera. Tevens dalen hierdoor onder anderen de overzichtelijkheid van het geheel. de overzicht op onderdelen en de samenhang daartussen. Programmeren op command line is van recht toe recht aan om te beginnen. In het begin zal men voldoende hebben aan een shell, een teksteditor en een compiler. Dit eenvoudige command line interface vergt zo veel energie van de programmeur(s) dat er naar andere betere oplossingen gezocht is. De energie dat de programmeur(s) aan triviale zaken besteden kan goed gebruikt worden in het proces van de software ontwikkeling en niet aan de te elimineren zaken daar omheen. Een IDE, Integrated Development Environment is een tool die ontwikkeld is om de software ontwikkelaars van dit soort problernen (gedeeltelijk) te bevrijden. Omdat wij, mensen, informatie in de vorm van beelden veel makkelijker kunnen analyseren dan in de vorm van teksten, biedt een IDE een grafische user interface, waarmee de programmeur veel makkelijker onderliggende abstracte onderdelen kan sturen. Een IDE voorziet de gebruikers meestal van de volgende onderdelen: Een grafische user interface; Een teksteditor met de functionaliteiten dat een programmeur nodig zal hebben, bijvoorbeeld texthighlighting, code completion, idents, etcetera; Een Interface met een shell waarrnee commando's doorgegeven kunnen worden aan de Operating Systeem; Een interface met de compiler; Een (semi) intelligent onderdeel die in staat is om beslissingen te nemen om minder triviale zaken te geautomatiseerd te kunnen uitvoeren; Verschillende tools en gebruikersvriendelijke interfaces hiertoe, bijvoorbeeld CVS, debugger, grafische programma's, etcetera; De mogelijkheden dat een IDE kan bieden, zijn in principe ongelimiteerd. Er is veel dat een programmeur doet, en er is ook veel wat daaruit geautomatiseerd kan worden. Hoewel de IDE's tegenwoordig een onmisbaar onderdeel zijn geworden van de software ontwikkeling, bestaan er een aantal min punten. Zo zijn helaas bijvoorbeeld de meeste IDE's gelimiteerd tot één taal. Dit betekent dat het nodig is cm van IDE te veranderen om in een andere taal te kunnen programmeren. Een ander min punt is dat er vaak voor programmeertalen die minder gebruikt worden geen IDE beschikbaar. Modula-3 en Haskell zijn hier voorbeelden van.Onze doel is het streven naar een geintegreerde ontwikkel omgeving die zodanig opgezet is dat de integratie van vreemde talen niet rationele veranderingen in de IDE nodig zou hebben. Modula-3 is een van de talen waar wij in het bijzonder geIntreseerd in zijn. Het zal niet verstandig zijn om alles opnieuw vanaf scratch te gaan bouwen. Bestaande onderdelen opnieuw gaan produceren, is geen efficient werk. Omdat er waarschijnlijk een aantal ontwikkelomgevingen al bestaan, zullen wij gebruik gaan maken van een bestaande ontwikkelomgeving, om dat te veranderen/om te zetten. Het gebruik van een reeds bestande IDE vermijdt onnodig werk dat al gedaan is door een ander. Verschillende onderdelen dat wij nodig zouden hebben, zullen vermoedelijk in een of meer IDE's voorkomen, waar wij goed gebruik van kunnen maken. Aan zo'n ontwikkelomgeving is vermoedelijk al genoeg tijd besteed, dat wij gemakkelijk mee kunnen nemen. De te kiezen IDE zal aan een aantal criteria moet voldoen, welke in een later hoofdstuk zijn behandeld.
Item Type: | Thesis (Master's Thesis / Essay) |
---|---|
Supervisor name: | xx, xx |
Degree programme: | Computing Science |
Thesis type: | Master's Thesis / Essay |
Language: | Dutch |
Date Deposited: | 15 Feb 2018 07:29 |
Last Modified: | 27 Aug 2018 09:15 |
URI: | https://fse.studenttheses.ub.rug.nl/id/eprint/8851 |
Actions (login required)
View Item |