Podstawy inżynierii oprogramowania Zofia Kruczkiewicz

Slides:



Advertisements
Podobne prezentacje
Wstęp do programowania
Advertisements

Mgr inż.Marcin Borkowski Podstawy Java Część II
Programowanie obiektowe
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
Klasy i obiekty.
Hibernate zapytania.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Systemy rozproszone W. Bartkiewicz
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
Sposoby implementacji asocjacji
Java applet (c.d.) Nguyen Hung Son Uniwersytet Warszawski.
Programowanie obiektowe w Javie
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Model – View - Controler
DZIEDZICZENIE · klasy bazowe i klasy pochodne WyświetlAutora( ) Autor
Bartosz Walter Inżynieria oprogramowania Lecture XXX JavaTM – część II Bartosz Walter
Widoki.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
Język Java Wielowątkowość.
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Odwzorowania relacyjno-obiektowe Hibernate zapytania.
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Techniki i języki programowania
C# Windows Forms Zastosowania Informatyki Wykład 3
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Programowanie urządzeń mobilnych – wykład IV
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 7.
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
W większości języków programowania biblioteki wejścia/wyjścia ukrywają szczegóły obsługi poszczególnych mediów pod abstrakcją strumienia (ang. stream).
Tworzenie aplikacji mobilnych
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Seminarium problemowe
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
PIO. Autor -Zofia Kruczkiewicz1 Wykład 1-część druga Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowania (część biznesowa aplikacji) iteracyjno-rozwojowy.
PIO. Autor -Zofia Kruczkiewicz1 Wykład 1-część druga Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowania (część biznesowa aplikacji) iteracyjno-rozwojowy.
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Kurs języka C++ – wykład 3 ( )
OCPJP Inner classes.
Dobry kod OO Jeżeli zapytamy statystycznego programistę z czym kojarzy mu się dobry kod OO to najprawdopodobniej będzie mówił o wzorcach projektowych.
BJUG_1: Typy Generyczne, Kolekcje
PAT: Persistent Applications Toolkit Aplikacje bazodanowe bez bazy danych Tomasz Nazar.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Biblioteka DLL w oparciu o źródła w języku C
Piotr Czapiewski Wydział Informatyki ZUT Wykład 2.
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
Wykład 11 Aplikacje SDI PO11-1 / 22 Single Document Interface 1.Klasy aplikacji SDI 2.Menu systemowe aplikacji SDI 3.Serializacja 4.Tworzenie widoku 5.Tworzenie.
Krok po kroku – Jak zrobić zamówienie w sklepie Crimson Circle Wybierz stronę:
Kolekcje (3) Zbiory. Porównywanie i porządkowanie elementów kolekcji. (c) Krzysztof Barteczko 2014.
do programowania obiektowego w języku Groovy
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Refaktoryzacja „Any fool can write a code that computer understands. Good programers write code that human can understand” – Martin Fowler.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 6
(według:
Iteracyjno-rozwojowy cykl oprogramowania 3
Programowanie obiektowe – zastosowanie języka Java SE
Aplikacje i usługi internetowe
Iteracyjno-rozwojowy cykl oprogramowania 2
PGO - Projektowanie i implementacja pierwszych klas
Wykład 1-część druga Wstęp do inżynierii oprogramowania.
Iteracyjno-rozwojowy cykl oprogramowania 3
Zapis prezentacji:

Podstawy inżynierii oprogramowania Zofia Kruczkiewicz Inżynieria odwrotna – tworzenie diagramów klas i sekwencji na podstawie kodu źródłowego Podstawy inżynierii oprogramowania Zofia Kruczkiewicz Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

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

Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Generowane diagramu klas dla całej aplikacji Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Generowanie diagramów sekwencji Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Tworzenie diagramów sekwencji Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Diagramy sekwencji dla klasy Uchwyt Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania public void dodaj_tytul(String a, String b, String c, String d, String e) Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Bez poprawek – po procesie Reverse Engineering Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public void dodaj_tytul(String a, String b, String c, Kod do procesu Reverse Engineering 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); } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) { public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) – po procesie Reverse Engineering Kod do procesu Reverse Engineering public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) { if (! mTytul_ksiazki.contains(tytul_ksiazki)) mTytul_ksiazki.add(tytul_ksiazki); } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public void dodaj_ksiazke(String ISBN_, int numer_) Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public void dodaj_ksiazke(String ISBN_, int numer_) Kod do procesu Reverse Engineering 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 } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Diagramy sekwencji dla klasy Tytul_ksiazki Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public boolean equals(Object ob) Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public boolean equals(Object ob) { Bez poprawek – po procesie Reverse Engineering Kod do procesu Reverse Engineering public boolean equals(Object ob) { boolean a=ISBN.equals(((Tytul_ksiazki)ob).getISBN()); System.out.println(a); //linia tymczasowa return a; } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public String toString() { String pom="Tytul: "+getTytul(); pom+=" Autor:"+getNazwisko() +" "+getImie(); pom+=" ISBN: "+getISBN(); pom+=" Wydawnictwo:„ +getWydawnictwo(); return pom; } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public void dodaj_ksiazke(int numer_) Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Bez poprawek – po procesie Reverse Engineering Kod do procesu Reverse Engineering public void dodaj_ksiazke(int numer_) { Ksiazka nowa= new Ksiazka(); if (nowa != null) { nowa.setNumer(numer_); addKsiazka(nowa);} } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public void addKsiazka(Ksiazka nowa) – po procesie Reverse Engineering Kod do procesu Reverse Engineering public void addKsiazka(Ksiazka nowa) { if (!mKsiazka.contains(nowa)) { mKsiazka.add(nowa); nowa.setTytul_ksiazki(this); } } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

Diagramy sekwencji dla klasy Ksiazka Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public String Ksiazka::toString() Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania

public String toString() // your code here { Bez poprawek – po procesie Reverse Engineering Kod do procesu Reverse Engineering public String toString() // your code here { String pom = mTytul_ksiazki.toString(); pom+=" Numer: "+getNumer(); return pom; } Zofia Kruczkiewicz, Podstawy inżynierii oprogramowania