2009-07-22 16 views
7

Szukam narzędzie, które:Aplikacja do generowania Java klas Hierarchia schemat

  • tworzy miłą dla oka (nie krzykliwy), prostopadle strukturze hierarchii wykres
  • Wyjścia wysokiej jakości obrazów PNG (300dpi +)
  • Wizualnie rozróżnia klasy, klasy abstrakcyjne, interfejsy i typy wyliczeniowe (najlepiej według kolorów)
  • Interaktywny interfejs użytkownika
  • Umożliwia przycinanie pakietów i/lub poszczególnych klas od Diagram
  • Nasiona (np pliku » Otwarte) za pomocą zestawu:
    • Katalogi
    • pliki jar
    • Poszczególne pliki źródłowe
    • Indywidualne skompilowane klasy
  • Wykonuje w pełni automatyczna analiza zależności klasowych
  • Wyszukiwania ścieżce klasy rozwiązać jak najwięcej niespełnione zależności możliwie
  • wykorzystuje pojedynczy plik wykonywalny
  • jest lekki (~ 5MB) i szybkie (ładunki w ramach jednej sekundy na przeciętnym komputerze 1.5GHz)
  • jest prosta (poniżej 10 kliknie wygenerować wykres)
  • jest szybki (wykres 100 obiektów w ciągu kilku sekund)
  • jest łatwy w obsłudze (minimalny interfejs, koncentruje się na generowaniu wykresu)
  • Czy OSS lub GPL
  • (opcjonalnie) generuje hierarchia wywołania-wykresu

Narzędzia, które nie dokona tego zadania obejmują:

  • Doxygen + Graphviz (lub kropka)
  • Eclipse
  • UML modelarzy
  • Structural Analysis for Java (nie można analizować pliki źródłowe)
  • Społeczność JUDE (interfejs awkard, nieodpowiednia autogeneracja)
  • In Zintegrowane środowiska programistyczne (zbyt złożone i zużywają zbyt dużo pamięci)

Jakieś pomysły?

+0

Będę zainteresowany, jeśli znajdziesz rozwiązanie.Programy, o których wiem, że są w stanie wykonać wszystkie te rzeczy, nie są ani otwarte, ani lekkie (ani darmowe). – Nick

+0

Które z tych wymagań są najbardziej elastyczne? Nie jestem pewien, czy znajdziesz takiego, który spełnia wszystkie z nich. Czy uczeń szkoły średniej, który miał tylko 2 dni java, naprawdę musi analizować wykresy z 10 000 obiektów? –

+0

Link do "wizualnego odwołania" nie zawiera strony Niestety strona, której zażądałeś, nie została znaleziona. –

Odpowiedz

2

Wtyczka Netbeans UML obejmie niektóre z Twoich wymagań.

  • Produkuje wizualnie hierarchię wykresie: kwestia gustu
  • Zapisuje wysokiej jakości obrazów PNG (300dpi +): nie wiem
  • Wizualnie różnicuje klas, klasy abstrakcyjne, interfejsy oraz wymienione typy: tak to robi, ponieważ korzysta UML
  • interfejs użytkownika Interactive: tak
  • Umożliwia cięcie pakietów i/lub indywidualnych zajęć z wykresu: tak
  • Nasiona (np Plik »Otwórz) za pomocą zestawu: pracować z NetBeans projektów
    • Katalogi
    • pliki JAR
    • Poszczególne pliki źródłowe
    • indywidualne skompilowane klasy
  • Wykonuje pełni automatyczną anal ysis: może
  • wykorzystuje pojedynczy plik wykonywalny: nie dotyczy, to jest plugin NetBeans
  • jest lekki i szybki: jak NetBeans
  • jest prosty, szybki i łatwy w użyciu: zależy użytkownika
  • Czy OSS lub GPL: myślę, że to jest OSS, na pewno jest on wolny jak w wolnej napoju
  • (opcjonalnie) Generuje hierarc call-graph hy (oprócz hierarchii klas): Nie sądzę robi
+3

Czy przeczytałeś wyrażenie "obejmie * niektóre * Twoich wymagań"? –

3

Odpowiedź jest prawdopodobnie „nie ma takiego OSS/darmowa aplikacja istnieje”. Czemu? Ponieważ:

  1. Większość ludzi, którzy chcą dziedziczenie schemat dla dużej liczby klas już pracują w kontekście z IDE lub podobne. Ergo jest mało motywacji dla twórców OSS do tworzenia takiego narzędzia.
  2. Automatyczne tworzenie wizualnych atrakcyjnych diagramów dużych liczb klas jest prawie niemożliwe.

Proponuję, abyś odprężył swoje wymagania. Mam na myśli, co jest złego w używaniu modelera IDE lub UML na dużą skalę? Pamięć jest tania. Co jest nie tak z czekaniem kilku sekund na załadowanie/uruchomienie diagrammera? Pasikonik pasjansa! Jaki uczeń szkoły średniej z dwudniowym szkoleniem będzie patrzył na bazę kodu źródłowego z ponad 10 000 klas?

+2

Moje podstawowe punkty wciąż są aktualne. Twoje wymagania prawdopodobnie nie zostaną spełnione przez żaden istniejący produkt OSS. –

+0

maven z niektórymi wtyczkami jest prawdopodobnie lepszym rozwiązaniem. JXR jest o wiele bardziej użyteczny niż diagramy. –

3

Wygląda na to, że Class Visualizer spełnia wszystkie twoje wymagania (z wyjątkiem zapisywania diagramu jako PNG).

+0

Chociaż wykresy nie są atrakcyjne wizualnie, ani nie ma opcji wiersza polecenia, aby automatycznie eksportować diagramy do obrazu, narzędzie jest dość obszerne. Dziękuję Ci. –

+0

Według autora http://class-visualizer.net/ jest najnowszą wersją wizualizatora klasowego. Najnowsza wersja 0.7.0 działa tylko z Java 7+ –