Diagram klas UML

0

Wiam serdecznie,
chciałam się uprzejmie zapytać czy dobrze stworzyłam diagram klas (załączony w załączniku), dla poniższych klas :

public class Aplikacja extends javax.swing.JFrame {  
 
    private javax.swing.JButton jButton1;    
    public Aplikacja() {
           initComponents();
    }
 @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {
        jButton1 = new javax.swing.JButton();
 
// pozostała implementacja 
 
       jButton1.setText("tabela1");
          jButton1.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  jButton1ActionPerformed(evt);
              }
          });
// pozostała implementacja 
}
// pozostała implementacja 
 
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                      
            Plik plik_tabela1 = new Plik("tabela1");
            Zapis_ola tabela1 = new Zapis_ola();
            tabela1.zaladujPlik_tabela1(plik_tabela1);
    } 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                    
            Plik plik_tabela1 = new Plik("tabela1");
            ObslugaOla1 tabela1 = new ObslugaOla1();
            tabela1.walidacjaPlik_tabela1(plik_tabela1);
 
    } 
 
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Aplikacja sl = new Aplikacja();             
                sl.setVisible(true);
            }
        });
    }            
}

W klasie Aplikacja zostaje utworzony obiekt poniższej klasy i wywołana w niej zaimplementowana metoda :

public class Zapis_ola extends Polaczenie_z_b_ola {
 
    public void zaladujPlik_tabela1(Plik plik_tabela1) {
 
        try {
 
            Connection conn_ola = Connection_ola();
            java.sql.Statement sta = conn_ola.createStatement();
 
          stmt.executeUpdate("Zapytanie SQL");
        // implemencja czytania pliku
          stmt.executeUpdate("Zapytanie SQL");
 
         conn_ola.close();
 
           } catch (Exception e) {
              e.printStackTrace();
           }
 
    }

W klasie Aplikacja jest utworzona metodą obsługi przycisku w której został utworzony obiekt poniższej klasy, a następnie wywołana metoda:

public class ObslugaOla1 extends Polaczenie_z_b_ola {    
    public void walidacjaPlik_tabela1(Plik plik_tabela1) {
        try {
 
            Connection conn_ola = Connection_ola();
            java.sql.Statement stmt = conn_ola.createStatement();
            stmt.executeUpdate("Zapytanie SQL");
            conn_ola.close();
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }   
}

W klasie Aplikacja jest utworzony obiekt poniższej klasy . Wywołany w obsłudze przycisku.

public class Plik {
    String rodzaj;
   public Plik(String rodzaj) {
       this.rodzaj = rodzaj;
    }
   public String toString() {
       return rodzaj;
    }
}

Klasa Polaczenie_z_b_ola po której dziedziczy klasa Zapis_ola

public class Polaczenie_z_b_ola {
    public static Connection Connection_ola() throws InstantiationException, IllegalAccessException {
        try {
            String drivers = "xxx.xxx.xxx.xxxxxr";
            if (drivers != null) {
                Class.forName(drivers).newInstance();
                System.out.println("Połączono z bazą danych");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("Nie można znaleźć sterownika JDBC");
            System.exit(1);
        }
 
        String data = "xxx:xxx:xxxx";
        Connection conn_ola = null;
        try {
            conn_ola = DriverManager.getConnection(data);
        } catch (SQLException e) {
            System.out.println("Nie można połączyć się z bazą danych");
            System.exit(1);
        }
        return conn_ola;
    }
}

Nie wiem czy diagram klas (załączonym w załączniku), przedstawia dobrze powiązania między klasami?
Nie jestem pewna, jeśli klasia zawierająca metody obsługi przycisku. Następnie w tych metodach zostaną utworzone obiekty innych klas to zachodzi zależność, agregacja czy kompozycja miedzy tymi klasami?

1
  1. Na moje oko to masz tam zwykłe asocjacje a nie kompozycję
  2. Wiesz że są takie magiczne narzędzia które umożliwiają generację diagramów na podstawie kodu?
0
  1. Na moje oko to masz tam zwykłe asocjacje a nie kompozycję
    Odp: ale asocjację częściowa czy całkowita?
  2. Wiesz że są takie magiczne narzędzia które umożliwiają generację diagramów na podstawie kodu?
    Odp: w NetBeans nie mogę znaleźć ..
0

Bo netbeans to nie narzędzie do UML? Eclipse ma wtyczkę eUML2 która na coś takiego pozwala.

0

rozumiem, dziękuje serdecznie za odpowiedz :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1