mboost-dp1

Flickr - HJ Barraza

Effektiv softwareudvikling får hjælp

- Via Physorg - , indsendt af zin

Der arbejdes hver dag på utallige softwareprojekter verden over, og mange programmører starter fra bunden, når en opgave skal udføres. Det fører ofte til dobbeltarbejde, idet mange programmer benytter funktioner, der allerede er lavet.

Det er flere gange forsøgt at lave systemer, der skal minimere dobbeltarbejdet, men oftest uden større held, men det laves der måske nu om på.

Et EU-sponsoreret projekt ved navn ReDSeeDS (Requirements-Driven Software Development System) har gennem de seneste par år arbejdet på et system, der automatisk kan finde den ønskede kode ud fra beskrivelser af, hvad man vil lave.

Michal Smialek, projekkoordinator for ReDSeeDS skrev:
The big difference with our platform is that it allows you to simply sketch out the requirements of your proposed new system and then these are automatically compared with the requirements and capabilities of existing systems.

ReDSeeDS indeholder en stor samling af “byggeblokke” af kode, som man kan søge i og på den måde effektivisere sin softwareudvikling. Yderligere informationer om projektet kan hentes her.





Gå til bund
Gravatar #1 - D_V
25. nov. 2009 14:44
Umiddelbart lyder det da bare som en samling libraries...
Og hvem betaler så for udviklingen af de kode blokke ?, eller skal de være open-source.
Og så er der igen noget vedligeholdelse af de forskellige blokke.
Gravatar #2 - zin
25. nov. 2009 14:49
#1: Så vidt jeg forstår er de umiddelbart opensource.
Gravatar #3 - gensplejs
25. nov. 2009 15:03
Hvor længe er det lige man har forsøt at opnå bare nogenlunde Model Driven Development. Altså muligheden for at "compile" UML???
Hvor godt er det lige det virker??? Min erfaring er at de værktøjer der idag findes til den slags, virker et sted mellem elendigt og meget elendigt....
Så vidt jeg kan se må auto generering af kode ud fra krav, da være en god tand sværere end auto generere kode ud fra en model???? eller va???
Hvorfor skulle der komme noget som helst godt ud af det her???
Gravatar #4 - Windcape
25. nov. 2009 15:28
#3

Microsoft Oslo var et forsøg på det, men er blevet forsimplet noget. Derudover var der ikke særlige mange udviklere som var positive over for det.

#0

Projektet lyder smart, men der er jo ikke meget ved at finde kodeblokke rundt omkring på nettet, det er jo bare en special udvikling Google i så fald.

Derudover er der ingen garenti for at det findes i det sprog man ønsker at benytte, og så det er det dobbeltarbejde alligevel.

Jeg tror mere på gode frameworks som .NET med god sprogintegration (C#, VB.NET, og mange andre i CLR), frem for at man forsøger at lave en kodesøgemaskine.

Gravatar #5 - arne_v
25. nov. 2009 15:29
gensplejs (3) skrev:
Hvor længe er det lige man har forsøt at opnå bare nogenlunde Model Driven Development. Altså muligheden for at "compile" UML???
Hvor godt er det lige det virker??? Min erfaring er at de værktøjer der idag findes til den slags, virker et sted mellem elendigt og meget elendigt....


MDA virker faktisk i nogen sammenhænge.

gensplejs (3) skrev:

Så vidt jeg kan se må auto generering af kode ud fra krav, da være en god tand sværere end auto generere kode ud fra en model???? eller va???
Hvorfor skulle der komme noget som helst godt ud af det her???


Som jeg læser nyheden genererer de ikke kode udfra kravene.

De identificerer genbrugelig kode udfra kravene ved at søge efter kode som har løst samme/lignende krav.

SELECT kode FROM repository WHERE krav = ?
Gravatar #6 - Windcape
25. nov. 2009 15:31
Men hvor tit skriver søger udviklere efter software ud fra krav, frem for tekniske specifikationer?
Gravatar #7 - arne_v
25. nov. 2009 15:34
Windcape (4) skrev:
Microsoft Oslo var et forsøg på det, men er blevet forsimplet noget. Derudover var der ikke særlige mange udviklere som var positive over for det.


Der er en verden udenfor Microsoft.

Der er arbejdet på og med MDA mange år før Microsoft forsøgte sig med det.

Windcape (4) skrev:
Projektet lyder smart, men der er jo ikke meget ved at finde kodeblokke rundt omkring på nettet, det er jo bare en special udvikling Google i så fald.


Det er nyt at søge udfra hvilken opgave koden løser fremfor hvad kdoen indeholder.

Windcape (4) skrev:
Derudover er der ingen garenti for at det findes i det sprog man ønsker at benytte, og så det er det dobbeltarbejde alligevel.


Hvis de kan finde kode der løser en bestemt opgave, så tror jeg også at de kan tilføje muligheden for at restricte på et eller flere specifikke sprog.

Det er svært at genkende krav.

Det er meget nemt at gemme sprog sammen me dkoden og søge på det.
Gravatar #8 - arne_v
25. nov. 2009 15:35
Windcape (6) skrev:
Men hvor tit skriver søger udviklere efter software ud fra krav, end ud fra tekniske specifikationer?


Aldrig. Fordi det ikke er muligt idag.

Men hvis det bliver muligt tror jeg da at stort set alle vil bruge det.
Gravatar #9 - Windcape
25. nov. 2009 15:40
arne_v (7) skrev:
Der er en verden udenfor Microsoft.

Der er arbejdet på og med MDA mange år før Microsoft forsøgte sig med det.
Helt sikkert, jeg var/er bare ikke bekendt med andre projekter end Oslo, som tog skridte væk fra rent akademisk snak og skriverier.

Men jeg synes den generelle respons jeg har oplevet i forhold til MDA har været meget negativ.

arne_v (7) skrev:
Hvis de kan finde kode der løser en bestemt opgave, så tror jeg også at de kan tilføje muligheden for at restricte på et eller flere specifikke sprog.

Det er svært at genkende krav.

Det er meget nemt at gemme sprog sammen med koden og søge på det.
Det er nok rigtigt, men jeg stiller mig bare lidt skeptisk.

Men typisk leder jeg efter kode for at lære et API bedre at kende, frem for at benytte det direkte i produktion 10 minutter senere.

Der er nok stor forskel på hvad man kan få ud af denne her form for søgning.
Gravatar #10 - arne_v
25. nov. 2009 15:41
#mig selv

Jeg skal måske understrege, at jeg finder projektet potentielt interessant.

Det er ikke det samme som at det er en garanteret success.

Faktisk er det ret sikkert, at det er svært at lave - ellers ville det have været for lang tid siden.
Gravatar #11 - arne_v
25. nov. 2009 15:44
Windcape (9) skrev:
Helt sikkert, jeg var bare ikke bekendt med andre projekter end Oslo, som tog skridte væk fra rent akademisk snak og skriverier.


MDA er gammel. OMG standardiserede i 2001.

Og det bruges.

Omend det er mit indtryk at den største brug er til generering af Ada til embedded systemer i militært isenkram.

Windcape (9) skrev:
Men jeg synes den generelle respons jeg har oplevet i forhold til MDA har været meget negativ.


Prøv og snak med nogen af de software leverandører som lever af at levere MDA software.

De har nok et andet budskab.
Gravatar #12 - arne_v
25. nov. 2009 15:47
Windcape (9) skrev:

Men typisk leder jeg efter kode for at lære et API bedre at kende, frem for at benytte det direkte i produktion 10 minutter senere.

Der er nok stor forskel på hvad man kan få ud af denne her form for søgning.


Ja.

Din process nu er at du manuelt laver:
problem => valg af library
og så bruger du Google/grep/whatever til:
valg af library => finde kode

Hvis jeg har forstået dette korrekt så vil du med det kunne gå:
problem => finde kode

Hvilket er ret fedt. *HVIS* det altså virker godt.
Gravatar #13 - Windcape
25. nov. 2009 15:50
arne_v (11) skrev:
MDA er gammel. OMG standardiserede i 2001.

Og det bruges.
Okay, men jeg synes bare ikke jeg har hørt særlig meget om brugen af det i Objekt Orienteret udvikling, Java/C++/Delphi/C#.

Hvilket jo ellers er sprog jeg mener burde kunne udnytte MDA utrolig meget, da det er nemt at modellere OO kode.

Måske kombineret med en IoC container *drømmer*
Gravatar #14 - webwarp
25. nov. 2009 16:10
#en masse
Visual studio 2010 kan automatisk generere kode ud fra UML
Gravatar #15 - Windcape
25. nov. 2009 16:12
#14

Det kan 2008 også :-) Medmindre du mener de har indbygget endnu bedre (rigtige?) UML værktøjer (Jeg har ikke checket).
Gravatar #16 - arne_v
25. nov. 2009 16:16
#14

Generere stubs udfra UML har været almindeligt i mange år.

ArgoUML kan f.eks. generere både Java, C# og PHP.

Gode tools (som Borland kunne allerede for en 6-7 år siden) gør at man kan rette både i kode og UML konsistent.

Men fra den form for generering til MDA er der et godt stykke vej.
Gravatar #17 - arne_v
25. nov. 2009 16:18
Windcape (13) skrev:

Okay, men jeg synes bare ikke jeg har hørt særlig meget om brugen af det i Objekt Orienteret udvikling, Java/C++/Delphi/C#.

Hvilket jo ellers er sprog jeg mener burde kunne udnytte MDA utrolig meget, da det er nemt at modellere OO kode.


Ada95 er OO.

Hvis jeg skulle gætte, så er en af årsagerne til at MDA ikke er så udbredt for de sprog du nævner, at de sprog ikke er så brugte til den type applikationer som jeg nævnte som MDA kerne marked.
Gravatar #18 - webwarp
25. nov. 2009 16:21
#16 jo jo men nu var vi også en flok der savnede reel mulighed for dette i visual studio-.. Det sagt tror jeg vi er gået meget offtopic, kan slet ikke se at det er det, som artiklen handler om :=)
Gravatar #19 - arne_v
25. nov. 2009 16:24
#18

Korrekt. Diskussion har flyttet sig lidt:

søgning efter kode ud fra krav -> MDA -> UML tools
Gravatar #20 - Windcape
25. nov. 2009 17:34
Det giver vel mening at diskussionen flytter sig, når nyheden bare er at et firma vil lave noget, og så skriver et whitepaper omkring deres koncept ;-)
Gravatar #21 - arne_v
25. nov. 2009 17:42
#20

Så vidt jeg kan læse er det ikke et firma med et produkt men et EU finanseret forskningsprojekt.

Gravatar #22 - arne_v
25. nov. 2009 17:43
#21

Således at flere firmaer kan få lov til at bruge teknologien.

PS: Inden du selv går igang skal du dog live notere dig at de har valgt Eclipse som GUI platform .... :-)
Gravatar #23 - Softy
25. nov. 2009 19:13
Hmmmm.... er det ikke også det man så vil kalde for et open-source Design Pattern Library, som er en samling implementationer af diverse design patterns, så man derefter ikke behøver implementere disse gængse kodeblokke?

Lidt a'la Microsoft Application Blocks thingy? ... Bare evt. med meta-data som man kan søge på? tags-based? .... Det kan man jo snildt lave i Application Blocks eller et hvilket som helst andet library jo. Er der ikke en standard for sådanne "tags" i bla. Doxygen?

På den måde kan man jo bare bruge et custom tag i Doxygen på samtlige libraries til at gøre documentationen searchable på "krav"?

Måske er det noget i den retning de har haft gang i?
Håber da ikke de har udviklet lortet heeelt fra scratch... så modsiger projektet jo ligesom lidt sig selv :P ;)
Gravatar #24 - Windcape
25. nov. 2009 19:18
Softy (23) skrev:
er det ikke også det man så vil kalde for et open-source Design Pattern Library, som er en samling implementationer af diverse design patterns, så man derefter ikke behøver implementere disse gængse kodeblokke?
Nej, design patterns er aldrig implementationer, men kun eksempler på implementationer.

Dette her er mere business krav orienteret, end teknisk.
Gravatar #25 - El_Coyote
25. nov. 2009 19:42
"se nu har vi det her program som er bygget på..." *SAGSØGT*
Gravatar #26 - mojo
25. nov. 2009 22:51
Er dette mon starten på en art CodePedia, hvor man søger på al den viden (i form af velkommenteret kode + evt. wikipedia/artikel link) som udviklere og forskere gennem tiden har udviklet og raffineret?
Gravatar #27 - tazly
26. nov. 2009 08:33
VANDFALD!
De afslører deres begrænsede forståelse for sw-udvikling i grafikken her: http://redseeds.iem.pw.edu.pl/index.php?option=com...

De mener altså, at man kan mappe fra krav til arkitektur og fra arkitektur til detaljeret design og fra detaljeret design til kode. Også kendt som vandfaldsudvikling, hvor man går igennem en serie af faser.
Agil udvikling er vejen frem - ikke gammeldags vandfald.

Typisk fejl fra Business orienterede personer, at de tror at man står med en forretning og mangler software til den. Verden er ligeså ofte den modsatte: Du har nogle sw-kompetencer og noget software, hvilken forretning får du så ud af det. SW kan meget mere end at automatisere gamle, støvede forretningsprocesser.
Gravatar #28 - zin
27. nov. 2009 12:31
#27: Bortset fra:
1) det ikke er sådan deres software fungerer, sådan som jeg forstår det - du skriver faktisk kode/problemstillinger, som så slår op i et centralt område for at finde noget kode der kan det, du har brug for - ikke i en UML- eller løsnings-orienteret funktion.
Dvs. du kunne skrive: software connects to postgreSQL eller noget lignende, og så får du et library der kan dét, og behøver ikke skrive det selv.
2) De ikke er business-orienterede; Det er et EU-finansieret projekt, altså noget offentligt.
3) Agile/Vandfald er alle valide metoder. Der er ikke én rigtig.
... Har du helt ret.
Gravatar #29 - Windcape
27. nov. 2009 13:29
#28

EU projekter er business-orienteret, jeg kan virkelig ikke se hvorfor du tror andet.

Og vandfald er ikke en valid metode. Det er "Set Sail for Fail", at benytte vandfaldsmodellen på andet end meget små projekter, hvor at det ender med at fungere som agile metoder alligevel.
Gravatar #30 - arne_v
30. nov. 2009 02:07
Softy (23) skrev:

Hmmmm.... er det ikke også det man så vil kalde for et open-source Design Pattern Library, som er en samling implementationer af diverse design patterns, så man derefter ikke behøver implementere disse gængse kodeblokke?

Lidt a'la Microsoft Application Blocks thingy? ... Bare evt. med meta-data som man kan søge på? tags-based? .... Det kan man jo snildt lave i Application Blocks eller et hvilket som helst andet library jo. Er der ikke en standard for sådanne "tags" i bla. Doxygen?

På den måde kan man jo bare bruge et custom tag i Doxygen på samtlige libraries til at gøre documentationen searchable på "krav"?


Så vidt jeg kan se er det mere generelt kode og en mere præcis form for krav end bare nogle keywords tagget på.

Gravatar #31 - arne_v
30. nov. 2009 02:08
mojo (26) skrev:

Er dette mon starten på en art CodePedia, hvor man søger på al den viden (i form af velkommenteret kode + evt. wikipedia/artikel link) som udviklere og forskere gennem tiden har udviklet og raffineret?


Hvis systemet blev implementeret som et public system fremfor internt i virksomheden, så kunne det blive det.
Gravatar #32 - arne_v
30. nov. 2009 02:15
tazly (27) skrev:

VANDFALD!
De afslører deres begrænsede forståelse for sw-udvikling i grafikken her: http://redseeds.iem.pw.edu.pl/index.php?option=com...

De mener altså, at man kan mappe fra krav til arkitektur og fra arkitektur til detaljeret design og fra detaljeret design til kode. Også kendt som vandfaldsudvikling, hvor man går igennem en serie af faser.


Der er ikke noget i den figur som indikerer vandfald.

Figuren viser at krav styrer arkitektur, arkitektur styrer detalied design og detailed design styrer kode.

Det gælder vist for enhver bare nogenlunde udviklings process.

Figuren fortæller ikke noget om hvorvidt det er vandfald, RUP, XP eller noget andet.

tazly (27) skrev:

Typisk fejl fra Business orienterede personer, at de tror at man står med en forretning og mangler software til den. Verden er ligeså ofte den modsatte: Du har nogle sw-kompetencer og noget software, hvilken forretning får du så ud af det.


Generelt er ideen med at udvikle noget software og så tro at forretningen an tilpasses til den software vist opgivet for 20-30 år siden.
Gravatar #33 - arne_v
30. nov. 2009 02:17
Windcape (29) skrev:
Og vandfald er ikke en valid metode. Det er "Set Sail for Fail", at benytte vandfaldsmodellen på andet end meget små projekter, hvor at det ender med at fungere som agile metoder alligevel.


For en 10 år siden var alle dem der ville sælge en ny udviklingsmetodik meget gode til at sælge synspunktet at vandfal duer slet ikke.

Jeg synes at det kniber ret meget med at bevise af de nye metodikker er bedre.
Gravatar #34 - mojo
30. nov. 2009 13:38
arne_v (31) skrev:
Hvis systemet blev implementeret som et public system fremfor internt i virksomheden, så kunne det blive det.


Ja, se dét ville nemlig være brugbart. Et CodePedia kunne eliminere mange af de genopfundne dybe tallerkner som på daglig basis sløver udviklere verden over. Jeg søger personligt altid efter eksisterende implementationer (helst fra OpenSource projekter) og eksempler på de algoritmer eller brug af de biblioteker som jeg skal anvende i min kode. IDE'er kunne bruge CodePedia til at søge i og give lignende funktion som #0 omtaler - og samtidig give mulighed for at alle kunne dele ud af deres viden og ideer. Men hvilken licens skulle man så bruge? LGPL?
Gravatar #35 - arne_v
1. dec. 2009 02:00
mojo (34) skrev:
Men hvilken licens skulle man så bruge? LGPL?


Det er nok ret håbløst at forsøge at få al open source over på samme license, så systemet skulle nok indexere alt open source uanset licens.

Selve systemet kunne være en hvilket som helst licens.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login