• HelloWorld

    UML diagram behöverhjälp

    Hej, jag håller på att sliter av mig håret just nu med en uppgift till skolan och jag hittar inga bra artiklar eller förklaringar på youtube som förklarar exakt hur man gör för att skapa en java kod utifrån ett UML klass diagram eller tvärtom.
    Vi ska översätta det här bifogade klassdiagrammet till java kod. Jag har kommit en bit och vill veta om det är korrekt och om någon kan hjälpa mig om jag gjort fel..

    Här är UML diagrammet

    och här har jag försökt koda så gott jag kan utifrån det:

     


    class vara
    //Instance Fields

    private String name;
    private double pris;
    private int antal;

    //methods

    public void setNamn(String namn)
    public void setPris (String double pris)
    public void setAntal (int antal)
    public getNamn

    Nu undrar jag om jag är på rätt väg och hur man gör med resten... jag blir så arg för det finns ingen bra sida som beskriver hur man gör.... tycker det här är svårare än vanligt kodande.
    Tacksam för hjälp


     
  • Svar på tråden UML diagram behöverhjälp
  • SkåneP
    Gräsrot skrev 2013-07-01 22:19:24 följande:

    Aha.. Okej nu förstår jag hur du menar. Okej litet tips om du vill jobba som utvecklare är att UML inte är allt.
    I många fall så skippas den (tyvärr) eftersom de agila metoderna inte prioriterar den. Där prioriteras att koda framför att dokumentera (åsikter om detta är vettigt varierar). Men vill du bli bra på det med exempel så kolla
    Applying UML and Patterns av Larman.   

    Du kan lära dig detta (det är inte raketvetenskap trots allt) om någon kan förklara det för dig på ett bra sätt.

    Ett bra sätt är att gå via överkurs. Jag lärde mig efter att jag sökte jobb  fick ett test som egentligen var avsett för mer seniora personer. Efter en mycket förnedrande sågning av den kod jag producerat behöll jag uppgiften och satsade på att knäcka den. Jag upptäckte då att ett av felen med böckerna var att de fokuserar mycket på "gömma integer" exempel istället för real World. (hur ofta gör du en fizzbuzz egentligen när du utvecklar en app). Dessutom märker du snart att konsolprogram inte lär dig mer än hur datatyper funkar.
    Ska du göra grafiskt så blir det problem.

    Jag är inte enligt mig själv en större utvecklare (Linus Torvald som gjorde Linux OS är en bra utvecklare) utan jag ser mig mer som en i mängden. Ibland blir det rätt och ibland inte alls. 

    Vilken skola går du på förresten.        

         
    "Okej litet tips om du vill jobba som utvecklare är att UML inte är allt."
    +1 på det.
    Jobbat som utvecklare i 15 år och även om en del av det varit ganska dokumenationsintensivt (inom medicintekniska system kan inte ens agile kollra bort dokumenationsbehovet, och tur är väl det) har det aldrig inneburit en djupare dykning i UML. Grundläggande kunskap om statiska- och sekvensdiagram räcker ganska långt.

    Torvlads förträfflighet som utvecklare kan f.ö. också diskuteras.

    Att han är expert på att utveckla linuxkärna i C är det ingen tvekan om, men hur representativt är det för all utveckling som sker egentligen?

    Kod kan ha andra kvalitéer än att kunna exekveras av en CPU. Mänskligt läsbar, reviewbar eller testbar är också egenskaper värda att väga in i bedömningen om vad som är "bra kod", eller vad man kan begära av en  "bra utvecklare".
      
  • Gräsrot
    HelloWorld skrev 2013-07-03 12:36:51 följande:
    Detta går käpprätt åt skogen... error efter error efter error... är det såhär att vara programmerare så tackar ja för mig. Tur att vi har inrikting design i programmet annars hade jag avlidigt.  Nu har jag kollat på videos, snurrat til det helt ...Såhär  ser det ut nu men det är inget som fungerar...

    public class Vara {

    //Deklarerar variabler
    private String name;
    private double price;
    private int antal;
    }

    class Test {
    public static void main(String[] args) {
    Vara var = new Vara();
    }
    //constructors
    public void Vara (String name)
    {
    this.name = name;
    }
    public Vara (int antal)
    {
    this.antal = antal;
    }
    public Vara (double price)
    {
    this.price = price;
    }

    public void setName(String name) {
    var.setName (("Halstabletter");
    // this.name syftar på name i deklarerade variabler (private string name) och name syftar på det som står i parrantesen i void metoden
    }

    public void setPrice (double price) {
    var.setPrice(("12.5"); //det är ju en double

    }
    public void setAntal (int antal) {
    var.setAntal() = (("10");

    }

    public String getName()
    {
    return this.name;
    }

    public double price()
    {
    return this.price;
    }

    public int getAntal()
    {
    return this.antal;
    }
    }

    Det där klasstestet verkar störa en del också... vwt varken ut eller in nu.... Kommer hålla på tills jag klarar det..har inget val...men att det ska vara så jäkla svårt...blir galen
    Lugn och fin nu HelloWorld..
    Det du går igenom är vanligt i början. Man fattar inte ett skit av felmeddelanden och alla hjälpforum ger kryptiska svar i still med "kolla i library efter extensionen för Object Class och kör enumerering".

    Du har gjort ett mindre fel. 
    Det bästa du kan göra är att skriva två separata klasser en som heter Vara och en som heter Test.
    Jag gissar att du sett massor av exempel där main ligger i klassen du skriver och så kan man göra när man känner sig lite mer varm i kläderna.

     Men för att vara till nytta.

    1. Skapa ditt projekt i kompilatorn (använder du eclipse eller jdev eller vad)
    2. I projektet skapar du ny klass som du döper till vara (kryssa i default construktor men kontrollera så att inte main står ifyllt)
    3. Skapa en ny klass i projektmappen som du döper till Test och i denna kryssar du i main     

    I vara klassen skriver du in det först jag skrev observera att kolla all { } har du 5 öppningar {  måste du även ha 5 } (datorn blir ledsen annars).

    I klassen test skriver du

    class Test {   public static void main(String[] args) {      Vara var = new Vara();  

    var.setName = "Halstablett" 
    String s = var.getName;
    system.out.write(s );  //strängen s kommer skrivas om allt går som det ska
       }

    Det gick inte att skicka material över Familjeliv men har du någon annan mail så kan jag skicka lite av mitt gamla kursmaterial till dig.

    Ge dig bara inte.. Att du vill försöka förstå visar att du kan bli en bra utvecklare.
    Jag har sett stora tuffa utvecklare med längre erfarenhet än jag darra i knävecken för mindre..

      
  • Gräsrot
    SkåneP skrev 2013-07-03 13:08:19 följande:
    "Okej litet tips om du vill jobba som utvecklare är att UML inte är allt."
    +1 på det.
    Jobbat som utvecklare i 15 år och även om en del av det varit ganska dokumenationsintensivt (inom medicintekniska system kan inte ens agile kollra bort dokumenationsbehovet, och tur är väl det) har det aldrig inneburit en djupare dykning i UML. Grundläggande kunskap om statiska- och sekvensdiagram räcker ganska långt.

    Torvlads förträfflighet som utvecklare kan f.ö. också diskuteras.

    Att han är expert på att utveckla linuxkärna i C är det ingen tvekan om, men hur representativt är det för all utveckling som sker egentligen?

    Kod kan ha andra kvalitéer än att kunna exekveras av en CPU. Mänskligt läsbar, reviewbar eller testbar är också egenskaper värda att väga in i bedömningen om vad som är "bra kod", eller vad man kan begära av en  "bra utvecklare".
      
    wow.. har du jobbat med sjukvårdsIT.. Oj respekt åt dig..
    Jag har sett folk bli vita i ansiktet och ta sig för bröstet så fort man nämnt vården och IT..  
    Jag är inte ens nära din nivå, jag har (1) år som systemvetare och har under den tiden mest fått
    springa omkring och göra saker i språk och system som jag inte ens har kompetens i bara för att ingen annan vågade eller orkade.

    (Nämnde Torvald för att jag faktiskt tycker att det var ganska strongt att göra ett eget OS endast för att han var missnöjd med hur UNIX kärnan behandlade anropen från hårdvaruportarna.)    
  • HelloWorld
    Gräsrot skrev 2013-07-03 14:07:15 följande:
    Lugn och fin nu HelloWorld..
    Det du går igenom är vanligt i början. Man fattar inte ett skit av felmeddelanden och alla hjälpforum ger kryptiska svar i still med "kolla i library efter extensionen för Object Class och kör enumerering".

    Du har gjort ett mindre fel. 
    Det bästa du kan göra är att skriva två separata klasser en som heter Vara och en som heter Test.
    Jag gissar att du sett massor av exempel där main ligger i klassen du skriver och så kan man göra när man känner sig lite mer varm i kläderna.

     Men för att vara till nytta.

    1. Skapa ditt projekt i kompilatorn (använder du eclipse eller jdev eller vad)
    2. I projektet skapar du ny klass som du döper till vara (kryssa i default construktor men kontrollera så att inte main står ifyllt)
    3. Skapa en ny klass i projektmappen som du döper till Test och i denna kryssar du i main     

    I vara klassen skriver du in det först jag skrev observera att kolla all { } har du 5 öppningar {  måste du även ha 5 } (datorn blir ledsen annars).

    I klassen test skriver du

    class Test {   public static void main(String[] args) {      Vara var = new Vara();  

    var.setName = "Halstablett" 
    String s = var.getName;
    system.out.write(s );  //strängen s kommer skrivas om allt går som det ska
       }

    Det gick inte att skicka material över Familjeliv men har du någon annan mail så kan jag skicka lite av mitt gamla kursmaterial till dig.

    Ge dig bara inte.. Att du vill försöka förstå visar att du kan bli en bra utvecklare.
    Jag har sett stora tuffa utvecklare med längre erfarenhet än jag darra i knävecken för mindre..

      
    Hej igen, tack så mycket igen för att du orkar. Jag ska försöka allt det här du beskrev (kom nyss hem) men vad jag int e förstå är (använder netbeans) är att när jag vill skapa en ny klass så högerklickar jag på mitt projekt (har det också öppet) så skapas inte testklassen i samma fönster,, utan i ett nytt... ska det vara så? Jg har inte heller någonstans valet att fylla i eller inte fylla i main... 
    Är det någonstans i rullgardinsmenyn man kan kirra det kanske?

     
  • HelloWorld
    Gräsrot skrev 2013-07-03 14:07:15 följande:
    Lugn och fin nu HelloWorld..
    Det du går igenom är vanligt i början. Man fattar inte ett skit av felmeddelanden och alla hjälpforum ger kryptiska svar i still med "kolla i library efter extensionen för Object Class och kör enumerering".

    Du har gjort ett mindre fel. 
    Det bästa du kan göra är att skriva två separata klasser en som heter Vara och en som heter Test.
    Jag gissar att du sett massor av exempel där main ligger i klassen du skriver och så kan man göra när man känner sig lite mer varm i kläderna.

     Men för att vara till nytta.

    1. Skapa ditt projekt i kompilatorn (använder du eclipse eller jdev eller vad)
    2. I projektet skapar du ny klass som du döper till vara (kryssa i default construktor men kontrollera så att inte main står ifyllt)
    3. Skapa en ny klass i projektmappen som du döper till Test och i denna kryssar du i main     

    I vara klassen skriver du in det först jag skrev observera att kolla all { } har du 5 öppningar {  måste du även ha 5 } (datorn blir ledsen annars).

    I klassen test skriver du

    class Test {   public static void main(String[] args) {      Vara var = new Vara();  

    var.setName = "Halstablett" 
    String s = var.getName;
    system.out.write(s );  //strängen s kommer skrivas om allt går som det ska
       }

    Det gick inte att skicka material över Familjeliv men har du någon annan mail så kan jag skicka lite av mitt gamla kursmaterial till dig.

    Ge dig bara inte.. Att du vill försöka förstå visar att du kan bli en bra utvecklare.
    Jag har sett stora tuffa utvecklare med längre erfarenhet än jag darra i knävecken för mindre..

      
    Jag kan förstå att folk gåttigenom samma som jag gör nu men ibland känns det som andra har lätt för sig, eller så fuskar de...haha
    Jag vill verkligen lära mig, men jag får lätt för att ge upp när allt bara flyter ihop till hieroglyfer och jag inte förstår ett smack . Tack för dina vänliga ord dock.
    Du kan skicka över till thea_despina@hotmail.com om du vill/kan. Det vore jättesnällt av dig!! 
  • Gräsrot
    HelloWorld skrev 2013-07-03 20:53:38 följande:
    Jag kan förstå att folk gåttigenom samma som jag gör nu men ibland känns det som andra har lätt för sig, eller så fuskar de...haha
    Jag vill verkligen lära mig, men jag får lätt för att ge upp när allt bara flyter ihop till hieroglyfer och jag inte förstår ett smack . Tack för dina vänliga ord dock.
    Du kan skicka över till thea_despina@hotmail.com om du vill/kan. Det vore jättesnällt av dig!! 

    Hej igen helloworld.

    läste dina inlagor.. Okej netbeans använde jag inte utan lärde mig i Jdeveloper och använde sen eclipse.
    Troligtvis skapar din kompilator nya klasser när den gör nya fönster. Om det inte finns någon knapp för main
    i netbeans så får du skriva det själv tror jag.

    Skriv först färdig Vara klassen och glöm inte att spara först.
    skriv sedan tesklassen och spara innan du kompilerar.

    jag kommer skicka till dig.. Framgången hos alla andra är att det alltid finns en person som är grym på detta eller att man känner någon som har gått kursen. Han/hon förklarar för någon vad man ska skriva och varför och sedan kopierar man från internet eller från andra kursare. Jag lade märke till detta när jag gjorde som du och försökte göra det hela själv från början. Jag lade också märke till att det även brast mycket från mina duktigare kursare när det blev frågan om att göra svårare saker.        
  • HelloWorld
    Gräsrot skrev 2013-07-03 21:06:43 följande:

    Hej igen helloworld.

    läste dina inlagor.. Okej netbeans använde jag inte utan lärde mig i Jdeveloper och använde sen eclipse.
    Troligtvis skapar din kompilator nya klasser när den gör nya fönster. Om det inte finns någon knapp för main
    i netbeans så får du skriva det själv tror jag.

    Skriv först färdig Vara klassen och glöm inte att spara först.
    skriv sedan tesklassen och spara innan du kompilerar.

    jag kommer skicka till dig.. Framgången hos alla andra är att det alltid finns en person som är grym på detta eller att man känner någon som har gått kursen. Han/hon förklarar för någon vad man ska skriva och varför och sedan kopierar man från internet eller från andra kursare. Jag lade märke till detta när jag gjorde som du och försökte göra det hela själv från början. Jag lade också märke till att det även brast mycket från mina duktigare kursare när det blev frågan om att göra svårare saker.        
    Hej igen, Ok det kan vara så att det är så det fungerar...
    Ja det kan säkert vara som du säger..jag känner ingen som kan java, så därför har jag vänt mig till FL. Jag går program på distans också och svaren man får från läraren ofta när man ställer frågor är att ma nska kolla youtube. Visst är det bra det med, har lärt mig massor på det men det räcker liksom inte...
    du har hjälpt mig mer än vad någon av mina lärare gjort iallafall jag säga. Jag funderar på att skriva om allt sen och göra om. Jag vet inte om jag hinner fixa något idag, väntar besök snatrt...men imorrn ska jag ta tag i det, kan hålla dig informerad om hur det går, sen när jag väl klarat det kan du känna dig stolt över att du hjälpt en helt vilsen person på att bli lite duktigare :)
  • HelloWorld
    Gräsrot skrev 2013-07-03 21:54:18 följande:
    du har fått mail
    jag var precis inne och tittade... såg inget :/ kan det hamnat bland skräp?
  • HelloWorld
    HelloWorld skrev 2013-07-04 17:52:05 följande:
    jag var precis inne och tittade... såg inget :/ kan det hamnat bland skräp?
    Ok fick det, tack :) 
    Jag får error iaf när jag skapar den andra klassen. Det står att illegal static declaration in inner class Test.Vara

    Jag ger faktiskt upp snart  
Svar på tråden UML diagram behöverhjälp