Автор Тема: EA-Почему в диаграмме не отображается extends?  (Прочитано 315 раз)

kirka

  • Newbie
  • *
  • Сообщений: 42
  • Рейтинг читателей: 4
    • Просмотр профиля
Здравствуйте.

В Enterprise Architector с помощью обратного инжиринга, отобразил исходный код приложения в виде диаграммы классов.
Однако ЕА отобразила ассоциативные (association) связи между объектами (как я понял), но не показывается связи "расширения"(extends). Почему не отображается? Как и можно ли в ЕА отобразить подобные связи между классами?

Спасибо


Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6011
  • Рейтинг читателей: 187
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
Re: EA-Почему в диаграмме не отображается extends?
« Ответ #1 : 16 Января 2017, 22:23:28 »
Добрый вечер.

Вы что-то путаете. В ДК нет никаких связей расширения, наверное Вы путаете ее с наследованием.
Для того, чтобы помочь Вам нужен исходный код, а также сведения о версии ЕА.

kirka

  • Newbie
  • *
  • Сообщений: 42
  • Рейтинг читателей: 4
    • Просмотр профиля
Re: EA-Почему в диаграмме не отображается extends?
« Ответ #2 : 17 Января 2017, 12:53:03 »
EA 12 версии.
Да наследование.
ЕА отобразила ассоциативные (association) связи между объектами (как я понял), но не показывается наследование (extends). Почему не отображается (должна отображаться другая стрелка)?
public class SimpleAdapter extends RecyclerView.Adapter<SimpleAdapter.VerticalItemHolder> {

Исходный Код - прилагаю файл.
Скриншот прилагаю.






Добрый вечер.

Вы что-то путаете. В ДК нет никаких связей расширения, наверное Вы путаете ее с наследованием.
Для того, чтобы помочь Вам нужен исходный код, а также сведения о версии ЕА.

Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6011
  • Рейтинг читателей: 187
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
Re: EA-Почему в диаграмме не отображается extends?
« Ответ #3 : 17 Января 2017, 23:03:02 »
В присланном вами коде есть только это классы реализованные вами
AlarmReceiver.java
BootReceiver.java
DateTimeSorter.java
LicencesActivity.java
MainActivity.java
Reminder.java
ReminderAddActivity.java
ReminderDatabase.java
ReminderEditActivity.java

Все они и отображаются на диаграмме,
а вот классы-предки - части библиотек, которых у вас в пакете нет, откуда же он возьмет эту информацию и отобразит ее на диаграмме?
Далее Класс SimpleAdapter показан как внедренный объект в которые еще другие внедрены в трассировке показана связь принадлежит.
Попробуйте разделить в разные файлы и еще раз импортируйте код. Думаю парсер кода спотыкается на том, что классы наследники (а также и интерфейсы) записаны в одном файле mainactivity - как гипотеза

Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6011
  • Рейтинг читателей: 187
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
Re: EA-Почему в диаграмме не отображается extends?
« Ответ #4 : 17 Января 2017, 23:16:11 »
Еще замечу, не все так просто с вашим кодом

public class MainActivity extends AppCompatActivity {
    private RecyclerView mList;
    private SimpleAdapter mAdapter;

Т.е. MainActivity является по вашей версии родителем SimpleAdapter, одновременно содержит его объект в качестве частного атрибута - отсюда ассоциация между родительским классом и его потомком

Но если попробовать все-таки разделить классы в отдельные файлы, а интерфейсы в отдельные файлы также  - и попробовать реинжиниринг должно получиться, либо надо шаманить с кодом трансформации с java в uml