PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.

Slides:



Advertisements
Podobne prezentacje
Programowanie obiektowe
Advertisements

Klasa listy jednokierunkowej Przekazywanie parametrów do funkcji
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Klasy i obiekty.
Hibernate zapytania.
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Sposoby implementacji asocjacji
Implementacja ekstensji klasy
Implementacja asocjacji
Programowanie Obiektowe w Javie (c.d.)
OOPC++ - wstêp, klasy1 Klasy Do struktury można dołączyć operacje działające na jej polach. struct date { int day, month, year; void set (int d, int m,
DZIEDZICZENIE · klasy bazowe i klasy pochodne WyświetlAutora( ) Autor
C++ wykład 6 ( ) Polimorfizm.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Odwzorowania relacyjno-obiektowe Hibernate zapytania.
Hibernate relacje.
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
przygotował Michał Wdaniec
Test Doubles Adam Gabryś , v1.1,
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
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).
Programowanie obiektowe III rok EiT
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.
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład IX.
Seminarium problemowe
Programowanie obiektowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
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.
Kurs języka C++ – wykład 3 ( )
OCPJP Inner classes.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
K URS JĘZYKA C++ – WYKŁAD 6 ( ) Polimorfizm.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
PROGRAMOWANIE W JAVA Informatyka Stosowana – ROK II / III Laboratoria mgr inż. Krzysztof Bzowski.
Odwzorowania relacyjno-obiektowe Hibernate preselekcja.
Kolekcje (3) Zbiory. Porównywanie i porządkowanie elementów kolekcji. (c) Krzysztof Barteczko 2014.
Elementy programowania funkcyjnego w Javie 8. Pragmatyczny przegląd. (c) Krzysztof Barteczko 2014.
Typy i metody sparametryzowane (generics) (c) Krzysztof Barteczko 2014.
do programowania obiektowego w języku Groovy
Asocjacja,Kompozycja,Agregacja
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 6
Wątki, programowanie współbieżne
(według:
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Klasy wewnętrzne. Praktyka użycia interfejsów i klas wewnętrznych
Iteracyjno-rozwojowy cykl oprogramowania 3
Programowanie obiektowe – zastosowanie języka Java SE
Iteracyjno-rozwojowy cykl oprogramowania 2
Zdarzenia (eventy) Zdarzenia służą do powiadomienia użytkownika, gdy w używanej klasie dojdzie do pewnych wydarzeń zdefiniowanych przez twórcę klasy.
PGO - Projektowanie i implementacja pierwszych klas
BYDGOSKI FESTIWAL NAUKI
Wykład 1-część druga Wstęp do inżynierii oprogramowania.
Tworzenie wątków w Javie
Iteracyjno-rozwojowy cykl oprogramowania 3
Zapis prezentacji:

PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3

PIO 3_2, Zofia Kruczkiewicz2 Wstawienie nowego przypadku użycia Dodaj_ksiazke w relacji > i wstawienie opisu w polu Documentation

PIO 3_2, Zofia Kruczkiewicz3 Wstawienie nowej klasy Ksiazka, która jest w relacji 1 do wiele z klasą Tytul_ksiazki i ukrycie atrybutów i operacji w klasach za pomocą opcji Compartment

PIO 3_2, Zofia Kruczkiewicz4 Ukrycie atrybutów i operacji w wybranej klasie – edytor opcji Compartment

PIO 3_2, Zofia Kruczkiewicz5 Połączenie dwukierunkową (oba końce relacji typu Navigable) relacją 1 do wiele klasy Ksiazka z klasą Tytul_ksiazki public boolean equals(Object ob) public Ksiazka [0..*] getKsiazka() public void setKsiazka(Ksiazka val [0…*] )

PIO 3_2, Zofia Kruczkiewicz6 Wstawienie nowego atrybutu do klasy Ksiazka public boolean equals(Object ob) public Ksiazka [0..*] getKsiazka() public void setKsiazka(Ksiazka val [0…*] )

PIO 3_2, Zofia Kruczkiewicz7 public boolean equals(Object ob) public Ksiazka [0..*] getKsiazka() public void setKsiazka(Ksiazka val [0…*] )

PIO 3_2, Zofia Kruczkiewicz8 Wstawienie trzech metod: w klasie Uchwyt: dodaj_ksiazke, w klasie Tytul_ksiazki: dodaj_ksiazke, w klasie Ksiazka: equals (w celu wprowadzania unikatowych numerów) public boolean equals(Object ob) public Ksiazka [0..*] getKsiazka() public void setKsiazka(Ksiazka val [0…*] ) public void dodaj_ksiazke(int numer_)

PIO 3_2, Zofia Kruczkiewicz9

10 Definicja przypadku użycia dodaj_ksiazke: definicja oparta na implementacji relacji 1:n Definicja przypadku użycia dodaj_ksiazke – oparty na implementacji relacji 1 do n między klasą Uchwyt i klasą Tytul_ksiazki oraz klasą Tytul_ksiazki i klasą Ksiazka

PIO 3_2, Zofia Kruczkiewicz11

PIO 3_2, Zofia Kruczkiewicz12 Definicja klas Uchwyt, Tytul_ksiazki, Ksiazka po dodaniu przypadku użycia dodaj_ksiazke

PIO 3_2, Zofia Kruczkiewicz13

14 public class Ksiazka { private int numer; private Tytul_ksiazki mTytul_ksiazki; public int getNumer() { return numer;} public void setNumer(int _numer) { numer = _numer; } public Ksiazka() { } public boolean equals(Object ob) // your code here { return numer==((Ksiazka)ob).getNumer(); } Definicja klasy Ksiazka po wygenerowaniu i uzupełnieniu kodu

PIO 3_2, Zofia Kruczkiewicz15 public Tytul_ksiazki getTytul_ksiazki() { return mTytul_ksiazki;} public void setTytul_ksiazki(Tytul_ksiazki val) { mTytul_ksiazki = val; } public String toString() // your code here { String pom= mTytul_ksiazki.toString(); pom+=" Numer: "+getNumer(); return pom; }

16 public class Tytul_ksiazki { private String wydawnictwo; private String ISBN; private String tytul; private String nazwisko; private String imie; public private ArrayList mKsiazka= new java.util.ArrayList (); public Tytul_ksiazki() { } public String getWydawnictwo() { return wydawnictwo; } public void setWydawnictwo(String e) { wydawnictwo = e; } Definicja klasy Tytul_ksiazki po wygenerowaniu i uzupełnieniu kodu

PIO 3_2, Zofia Kruczkiewicz17 public String getISBN() { return ISBN; } public void setISBN(String ISBN_) { ISBN = ISBN_; } public String getTytul() { return tytul;} public void setTytul(String a) { tytul = a; } public String getNazwisko() { return nazwisko; } public void setNazwisko(String b) { nazwisko = b; } public String getImie() { return imie; } public void setImie(String c) { imie = c; }

PIO 3_2, Zofia Kruczkiewicz18 public boolean equals(Object ob) // your code here { boolean a; a=ISBN.equals(((Tytul_ksiazki)ob).getISBN()); System.out.println(a); //linia tymczasowa return a; } public String toString() // your code here { String pom="Tytul: "+getTytul(); pom+=" Autor:"+getNazwisko() +" "+getImie(); pom+=" ISBN: "+getISBN(); pom+=" Wydawnictwo:"+getWydawnictwo(); return pom; }

19 public void Dodaj_ksiazke(int numer_) // your code here { Ksiazka nowa= new Ksiazka(); if (nowa != null) { nowa.setNumer(numer_); addKsiazka(nowa); } } public void addKsiazka(Ksiazka nowa) { if (!this.mKsiazka.contains(nowa)) {this.mKsiazka.add(nowa); nowa.setTytul_ksiazki(this);} } public ArrayList getKsiazka() { return mKsiazka; } public void setKsiazka(ArrayList val) { this.mKsiazka = val; } } //koniec Tytul_ksiazki

20 public class Uchwyt { private ArrayList mTytul_ksiazki= new ArrayList (); 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); } public ArrayList getTytul_ksiazki() { return mTytul_ksiazki; } Definicja klasy Uchwyt po wygenerowaniu i uzupełnieniu kodu

21 public void setTytul_ksiazki(ArrayList val) { mTytul_ksiazki = val; } public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) { if (! mTytul_ksiazki.contains(tytul_ksiazki)) mTytul_ksiazki.add(tytul_ksiazki);} public void Dodaj_ksiazke(String ISBN_, int numer_) // your code here { 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 tymczasowa }

22 public static void main(String t[]) //kod dodany { Uchwyt ap=new Uchwyt(); ap.Dodaj_tytul("1","1","1","1","1"); ap.Dodaj_tytul("2","2","2","2","2"); String lan=ap.getTytul_ksiazki().toString(); System.out.println(lan); ap.Dodaj_ksiazke("1",1); ap.Dodaj_ksiazke("1",2); ap.Dodaj_ksiazke("2",1); } } //koniec klasy Uchwyt

PIO 3_2, Zofia Kruczkiewicz23