• Nie Znaleziono Wyników

Inżynieria odwrotna – tworzenie diagramów klas i sekwencji na podstawie kodu źródłowego

N/A
N/A
Protected

Academic year: 2021

Share "Inżynieria odwrotna – tworzenie diagramów klas i sekwencji na podstawie kodu źródłowego"

Copied!
27
0
0

Pełen tekst

(1)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Inżynieria odwrotna –

tworzenie diagramów klas i sekwencji na podstawie kodu

źródłowego

Podstawy inżynierii oprogramowania

Zofia Kruczkiewicz

(2)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Wybór inżynierii odwrotnej – tworzenie diagramów

UML na podstawie kodu źródłowego programu

(3)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

(4)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

(5)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Generowane diagramu klas dla całej aplikacji

(6)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

(7)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

(8)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Generowanie diagramów sekwencji

(9)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Tworzenie diagramów sekwencji

(10)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

(11)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Diagramy sekwencji dla klasy

Uchwyt

(12)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void dodaj_tytul(String a, String b, String c, String d, String e)

(13)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Bez poprawek – po procesie Reverse Engineering

(14)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void dodaj_tytul(String a, String b, String c, String d, String e)

{

Tytul_ksiazki tytul_ksiazki=new Tytul_ksiazki();

tytul_ksiazki.setTytul(a);

tytul_ksiazki.setNazwisko(b);

tytul_ksiazki.setImie(c);

tytul_ksiazki.setISBN(d);

tytul_ksiazki.setWydawnictwo(e);

addTytul_ksiazki(tytul_ksiazki);

}

Kod do procesu Reverse Engineering

(15)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) – po procesie Reverse Engineering

public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) {

if (! mTytul_ksiazki.contains(tytul_ksiazki)) mTytul_ksiazki.add(tytul_ksiazki);

}

Kod do procesu Reverse Engineering

(16)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void dodaj_ksiazke(String ISBN_, int numer_)

(17)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void dodaj_ksiazke(String ISBN_, int numer_) { Tytul_ksiazki pom=new Tytul_ksiazki();

pom.setISBN(ISBN_);

int idx=mTytul_ksiazki.indexOf(pom);

if (idx!=-1) {

Tytul_ksiazki pom1=mTytul_ksiazki.get(idx);

pom1.dodaj_ksiazke(numer_);

System.out.println(pom1.getKsiazka().toString());

}

//linia tymczasowsa

}

Kod do procesu Reverse Engineering

(18)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Diagramy sekwencji dla klasy

Tytul_ksiazki

(19)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public boolean equals(Object ob)

(20)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public boolean equals(Object ob) {

boolean a=ISBN.equals(((Tytul_ksiazki)ob).getISBN());

System.out.println(a); //linia tymczasowa return a;

}

Kod do procesu Reverse Engineering

Bez poprawek – po procesie Reverse Engineering

(21)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public String toString()

public String toString() {

String pom="Tytul: "+getTytul();

pom+=" Autor:"+getNazwisko() +" "+getImie();

pom+=" ISBN: "+getISBN();

pom+=" Wydawnictwo:„

+getWydawnictwo();

return pom;

}

(22)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void dodaj_ksiazke(int numer_)

(23)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void dodaj_ksiazke(int numer_) {

Ksiazka nowa= new Ksiazka();

if (nowa != null)

{ nowa.setNumer(numer_);

addKsiazka(nowa);}

}

Bez poprawek – po procesie Reverse Engineering

Kod do procesu Reverse Engineering

(24)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public void addKsiazka(Ksiazka nowa) {

if (!mKsiazka.contains(nowa)) { mKsiazka.add(nowa);

nowa.setTytul_ksiazki(this); } }

Kod do procesu Reverse Engineering

public void addKsiazka(Ksiazka nowa) – po procesie Reverse Engineering

(25)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Diagramy sekwencji dla klasy

Ksiazka

(26)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

public String Ksiazka::toString()

(27)

Zofia Kruczkiewicz, Podstawy inż ynierii oprogramowania

Bez poprawek – po procesie Reverse Engineering

public String toString() // your code here {

String pom = mTytul_ksiazki.toString();

pom+=" Numer: "+getNumer();

return pom;

}

Kod do procesu Reverse Engineering

Cytaty

Powiązane dokumenty

Bardzo istotnym czynnikiem określanym przy związkach jest moc powiązania, która definiuje się jako maksymalną liczbę instancji jednej encji (wystąpień w danej

Wykonanie kodu źródłowego programu na podstawie wykonanego diagramu klas i diagramów sekwencji oraz pomocniczych metod do prezentacji wyników metod logiki biznesowej modelowanych

Obiekt typu ContactGroup zawiera atrybut typu kolekcja referencji do obiektów typu Contact (strona wiele do wiele) oraz atrybut typu rerefencja obiektu typu AddressBook (strona

Wybór inżynierii odwrotnej – tworzenie diagramów UML na podstawie kodu źródłowego programu... Zofia Kruczkiewicz, Podstawy inż

Kod źródłowy programu umożliwiającego wyznaczenie rozwiązań modelu matematycznego przekładni zębatej stożkowej został napisany w języku interaktywnego środowiska

Przedsta- wione w poprzednich pracach autorów [3, 4] wyniki badań dotyczyły analizy wpływu stanu magistrali danych, argu- mentu rozkazu, wyniku operacji, adresu rozkazu w pamięci

Z przeprowadzonych testów jakości działania systemu autorskiego wynika, iż tworzenie kodu źródłowego z wykorzystaniem mowy jest możliwe. Należy jednak pamiętać,

Jest jednak kilka istotnych różnic pomiędzy referencją a wskaźnikiem: po pierwsze referencja tuż przy swoim powstaniu musi wiedzieć na co ona będzie referencją, wskaźnik