Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
|
|
- Radosław Mucha
- 5 lat temu
- Przeglądów:
Transkrypt
1 Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji: Relacja 1 do 1..0 instrukcja z lab1 Relacja 1 do 0..* - nowy materiał
2 Cele laboratorium 2 Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium 1 sformułować wymagania funkcjonalne i niefunkcjonalne dla wybranego projektu jako zadanie domowe. Zadanie domowe będzie stanowić podstawę do zaprojektowania przypadków użycia na kolejnych laboratorium. Wykonać projekt UML i wykonać prosty program stanowiący realizację 1-go etapu wykonania wybranego projektu. Instrukcja zawiera przykłady powiązań 1:1 (jeden do jeden) oraz 1:* (jeden do wiele) między klasami, użytymi do realizacji 1-go etapu programu Katalogu tytulów i książek należy wykorzystać te dwa typy powiązań w wykonywanym 1-ym etapie projektu i jego implementacji.
3 Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z maszyny wirtualnej VM API (interfejs programowania aplikacji). Rezultat niezaleŝność od platformy, duŝe moŝliwości, stabilność, łatwość rozwoju, bezpieczeństwo Rodzaje platform Javy: Java Platform, Standard Edition (Java SE) Java Platform, Enterprise Edition (Java EE) Java Platform, Micro Edition (Java ME) Java Platform CARD
4 Warstwy aplikacji (Java EE)
5 Materiał z lab1 (slajdy 5-71)
6 1) Wykonanie projektu typu aplikacja Javy
7
8
9
10 2) Utworzenie projektu UML typu Java Platform-Idependent Model
11 Projekt UML należy utworzyć w tym samym katalogu, w którym znajduje się projekt typu Java Application
12 3) Wstawianie do projektu pierwszego diagramu typu Use Case Diagram (diagram przypadków użycia diagram PU). Należy wybrać z listy Diagram Type pozycję Use Case Diagram i nadać nazwę diagramowi w polu Diagram Name
13 4) Należy wykonać opis biznesowy świata rzeczywistego Katalog tytułów i książek 1. Opis zasobów ludzkich Pracownik wypożyczalni może dodawać do katalogu tytułów nowe tytuły. Każdy tytuł jest reprezentowany przez następujące dane: tytuł, autor, wydawnictwo, ISBN oraz informacje o liczbie egzemplarzy i miejscu ich przechowywania i występuje w bibliotece jako pojedyncza informacja dla każdego tytułu. Pewna grupa tytułów opisuje książki nagrane na kasety, dlatego dodatkowo tytuł zawiera dane nagrania np nazwisko aktora. Każdy egzemplarz, niezależnie, czy jest książką czy kasetą, jest opisany odrębną informacją zawierajacą numer egzemplarza i ewentualnie (dotyczy to wyodrębnionych egzemplarzy) informację o liczbie dni, na które można wypożyczyć egzemplarz. Numery egzemplarzy mogą się powtarzać dla różnych tytułów. Pracownik bilioteki (bibliotekarz) może dodawać nowe tytuły i egzemplarze oraz je przeszukiwać, natomiast klient może jedynie przeszukiwać tyutły i sprawdzać egzemplarze wybranych tytułów. 2. Przepisy Pracownik ponosi odpowiedzialność za poprawność danych - odpowiada materialnie za niezgodność danych ze stanem wypożyczalni. 3. Dane techniczne Klient może przeglądać dane wypożyczalni za pośrednictwem strony internetowej lub bezpośrednio za pomocą specjalnego programu. Pracownik biblioteki może dodatkowo wstawiać, modyfikować i usuwać dane o tytuiłach oraz egzemplarzach. Zakłada się, że klientów jednocześnie przeglądajądających dane wypożyczalni może być ponad 1000 oraz wypożyczalnia może zawierać kilkadziesiąt tysięcy tytułów oraz przynajmniej dwukrotnie więcej egzemplarzy. Biblioteka składa się z kilku ośrodków w różnych miastach na terenie kraju (lista miast jest dołączona do umowy). Zaleca się stosowanie technologii Java.
14 5) Należy zdefiniować wymagania aplikacji Wymagania funkcjonalne System powinien wspierać wypożyczanie książek Biblioteka wypożycza podane książki i czasopisma osobom zarejestrowanym, o ile je posiada Biblioteka dokonuje zakupu nowych książek, przy czym popularne książki kupuje w kilku egzemplarzach. Usuwa zniszczone książki i czasopisma. Bibliotekarz jest pracownikiem biblioteki, komunikuje się z wypożyczającym. Jego praca jest wspierana za pomocą systemu Wypożyczający może zarezerwować książkę lub czasopismo, które nie jest dostępne w danej chwili, W momencie, kiedy zamówione rzeczy są dostępne- albo po zwrocie lub dzięki zakupowi, można je wypożyczyć i usunąć rezerwację. Rezerwację można usunąć niezależnie. Biblioteka może łatwo utworzyć, zmienić i usunąć informację o tytułach, wypożyczających, wypożyczeniach i rezerwacjach Wymagania niefunkcjonalne System powinien pracować w popularnych systemach (UNIX, Windows, OS/2) i powinien mieć nowoczesny graficzny interfejs użytkownika System powinien się rozwijać np. wprowadzenie możliwości zawiadamiania rezerwującego książkę o jej dostępności
15 6) Wykonanie diagramu przypadków użycia (PU) Przeciągnięcie ikon Actor i Use Case pobranych z palety (Palette) i upuszczenie na diagramie PU
16 7) Otwieranie okna dokumentacji dla wybranego elementu diagramu wykonanie (ew. wklejenie wcześniej wykonanych) opisu biznesowego systemu oraz wymagań funkcjonalnych i niefunkcjonalnych w oknie dokumentacji diagramu PU Należy kliknąć na wolną powierzchnię diagramu PU. W okienku Properties diagramu PU wybrać wiersz Documentation klikając na przycisk
17 8) Otwieranie niemodalnego okna dokumentacji z MenuBar: Window/Other/UML Documentation
18
19 9) Dodanie dokumentacji do przypadku użycia cd. specyfikacja przypadku użycia (PU)
20 Relacja jeden do jeden (materiał z lab1 - slajdy 20-71)
21 1) Dodawanie nowego diagramu do projektu UML Należy w oknie Projects w tworzonym projekcie typu UML wybrać pozycję Diagrams/New/Diagram
22 2) Utworzenie diagramu klas Należy wybrać z listy Class Diagram i nadać nazwę diagramowi w polu Diagram Name
23 3) Wstawienie nowej klasy Przeciągnięcie ikony klasy Class pobranej z palety i upuszczenie na diagramie
24 Nadawanie nazwy klasie Po zaznaczeniu klasy w polu Unnamed lewym klawiszem myszy, w okienku Properties tej klasy należy wpisać w wierszu Name nazwę klasy Tytul_ksiazki
25 4) Wstawienie nowego atrybutu - menu Po kliknięciu prawym klawiszem w polu tytułu ikony klasy należy wybrać w wyskakującym menu pozycję Create Attribute
26 5) Edycja atrybutu W okienku Properties zaznaczonego nowego atrybutu Unnamed, w wierszu Name wpisać nazwę atrybutu np. wydawnictwo, w wierszu Type wpisać typ atrybutu String
27 Stan po wstawieniu pierwszego atrybutu: po wstawieniu atrybutu pojawiły się dwie metody typu set (do nadania wartości atrybutowi) i get (do pobrania wartości atrtybutu)
28 6) Klasa Tytul_ksiazki po wstawieniu wszystkich atrybutów przy wstawianiu kolejnych atrybutów w wierszu Type należy wybrać z listy typ String
29 Stan po wstawieniu pięciu atrybutów do klasy Tytul_ksiazki
30 7) Generowanie kodu klasy Tytul_ksiazki do projektu Katalog1 Należy zachować projekt typu UML (saveall z Menu File) Po zaznaczeniu klasy Tytul_ksiazki prawym klawiszem myszy wybrac pozycję Generate Code
31 8) Wybór projektu Javy w Target Project o nazwie Katalog1, utworzony wg slajdów z p. 1 i 2 jako miejsce do generowania kodu Uwaga: Należy skompilować (Build) projekt typu Java Application po wygenerowaniu kodu z projketu UML.
32
33 9) Wygenerowany kod wyświetleni klasy Tytul_ksiazki utworzonej w projekcie Katalog1 w wyniku generowania kodu z projektu UMLKatalog1 typu UML
34 public class Tytul_ksiazki { private String wydawnictwo; private String ISBN; private String tytul; private String nazwisko; private String imie; public Tytul_ksiazki() { } public String getwydawnictwo() { return wydawnictwo; } public void setwydawnictwo(string val) { this.wydawnictwo = val; } public String getisbn() { return ISBN; } public void setisbn(string val) { this.isbn = val; } public String gettytul() { return tytul; } public void settytul(string val) { this.tytul = val; } public String getnazwisko() { return nazwisko; } public void setnazwisko(string val) { this.nazwisko = val; } public String getimie() { return imie; } public void setimie(string val) { this.imie = val; } }
35 10) Wstawienie klasy fasadowej Uchwyt (podobnie jak klasę Tytul_ksiazki) będzie zastosowana do obsługi wywołań przypadków użycia przez warstwę interfejsu graficznego użytkownika.
36 11) Wstawienie powiązania typu Association między klasami Uchwyt i Tytul_ksiazki Przeciągnięcie wskazanej Association, wybranej z podręcznej palety klasy Uchwyt i przeciągnięcie jej od klasy Uchwyt do powierzchni klasy Tytul_ksiazki
37 Stan po wstawieniu Association między klasami Uchwyt i Tytul_ksiazki
38 12) Nadanie Multiplicity na końcu Association należącym do klasy Tytul_ksiazki Należy prawym klawiszem zaznaczyć koniec Association przy klasie Tytul_ksiazki i z wyskakującego menu wybrać pozycję Multiplicity równą 1
39 13) Wstawianie nowego diagramu w okienu Projects należy zaznaczyć prawym klawiszem myszy zagnieżdżoną pozycję Diagram/New/Diagram w projekcie UMLKatalog1 1
40 14) Wstawianie nowego diagramu typu Sequence Diagram wybranym z listy Diagram Type; w polu Diagram Name należy wpisać nazwę diagramu tostring.
41 15) Wstawianie linii życia - Lifeline Należy przeciągnąć ikony typu Lifeline pobrane z palety i upuszczenie na diagramie. Po zaznaczeniu Lifeline z lewej strony diagramu lewym klawiszem myszy, z jej okienka Properties, z listy Representing Clasifier wybrać klasę Uchwyt, a potem podobnie Tytul_ksiazki dla Lifeline umieszczonej z prawej strony diagramu.
42 16) Wstawianie nazw obiektów reprezentowanych przez Lifeline w ich okienkach Properties, w wierszu Name, dostępnych po zaznaczeniu koleno Lifeline lewym klawiszem myszy nazwać uchwyt_ dla Lifeline typu Uchwyt i tytul_ dla Lifeline typu Tytul_ksiazki
43 18) Wstawienie 17) Wstawianie synchronicznej metody typu wiadomości Synchronous ( Synchronous Message Message ) do klasy typu metody klasy Tytul_ksiazki Tytul_ksiazki należy z podręcznej palety zaznaczonej Lifeline o nazwie uchwyt_ wybrać strzałki typu Synchronous Message i przeciągnąć je od Lifeline uchwyt_ do Lifeline tytul_
44 18) Nadawanie nazwy nowej metodzie w klasie Tytul_ksiazki (1) Po zaznaczeniu wstawionej metody typu Synchronous Message prawym klawiszem myszy należy z wyskakującego menu wybrac pozycję Operations i wybrać AddOperation
45 Nadawanie nazwy nowej metodzie w klasie Tytul_ksiazki (2) wstawić nazwę metody (name) tostring, a zwracany wynik (returntype) ustawić jako String
46 19) Wstawienie wiadomości typu Synchronous Message do jednej linii życia reprezentującej wywołanie własnej metody przez linię życia ciało metody tostring. Należy z palety zaznaczonej Lifeline typu Tytul_ksiazki wybrać strzałki metody Synchronous Message i przeciągnąć ją na Lifeline typu Tytul_ksiazki.
47 Rezultat po wstawieniu w ciele metody tostring należącej do klasy Tytul_ksiazki nienazwanych metod należących do linii życia obiektu typu Tytul_ksiazki
48 20) Kojarzenie nienazwanych metod linii życia Tytul_ksiazki z konkretnymi metodami klasy Tytul_ksiazki Należy kolejno każdą z nienazwanych metod zaznaczyć prawym klawiszem myszy, wybrać z wyskakującego menu pozycję Operations i następnie wybrać z listy istniejących metod klasy Tytul_ksiazki kolejną metodę z przedrostkiem get
49
50 21) Pojawienie się nowej metody tostring w klasie Tytul_ksiazki wstawionej do linii życia obiektu typu Tytul_ksiazki na diagramie sekwencji
51 22) Wygenerowanie nowej metody tostring do klasy kodu klasy Tytul_ksiazki sposób generowania kodu z wybranek klasy opisano wcześniej
52 23) Wstawienie ręczne kodu nowej metody tostring do klasy Tytul_ksiazki na podstawie diagramu sekwencji tej metody
53 public class Tytul_ksiazki { private String wydawnictwo; private String ISBN; private String tytul; private String nazwisko; private String imie; public Tytul_ksiazki() {} generated */ public String getwydawnictwo() { return wydawnictwo; } generated */ public void setwydawnictwo(string val) { wydawnictwo = val; } public String getisbn() { return ISBN; } generated */ public void setisbn(string val) { ISBN = val; } generated */ public String gettytul() { return tytul; } generated */ public void settytul(string val) { tytul = val; } generated */ public String getnazwisko() { return nazwisko; } generated */ public void setnazwisko(string val) { nazwisko = val; } generated */ public String getimie() { return imie; } generated */ public void setimie(string val) { imie = val; } generated */ public String tostring() // your code here { String pom="tytul: "+gettytul(); pom+=" Autor:"+getNazwisko() +" "+getimie(); pom+=" ISBN: "+getisbn(); pom+=" Wydawnictwo:"+getWydawnictwo(); return pom; } } 53
54 24) Wstawienie do projektu drugiego diagramu typu Sequence Diagram dla przypadku użycia dodaj_tytul. Należy wstawić linię życia typu Actor oraz zwykłą Lifeline, której należy nadać typ Uchwyt, pobrany z listy Representing Classifier. Następnie należy połączyć metodą typu Asynchronous Message linię życia typu Actor z liną życia typu Uchwyt
55 25) Następnie należy wstawić nową linię życia z podręczej palety linii życia typu Uchwyt za pomocą Create Message
56 27) Nadanie nazwy Tytul_ksiazki linii życia wykonanej jako Create Message
57 28) Użycie metod typu Asynchronous Message klasy Tytul_ksiazki nadanie im nazwy metod z przedrostkiem set, pobranych z listy Operations (podobnie jak przy definiowaniu metody tostring )
58 29) Transformacja związku między klasą Uchwyt a klasą Tytul_ksiazki - na Navigable Usunięcie ustawionej jawnej własności typu Multiplicity na domyślną równą 1 Wybór właściwości Multiplicity w okienku Properties relacji typu Association Otwarcie okienka edycji właściwości Multiplicity po kliknięciu na przycisk
59 29.2. Należy usunąć ustawioną Multiplicity równą 1 dla Association należącej do klasy Tytul_ksiazki, gdyż domyślna implementacja to kolekcja typu LinkedBlockingDeque : As ArrayList (wtedy związek 1:1 jest implementowany jako jednoelementowa kolekcja)
60 29.3. Stan diagramu klas po usunięciu jawnej liczności związku typu Association po stronie klasy Tytul_ksiazki (Multiplicity równej 1)
61 29.4. Ustawienie w okienku Properties Association w części należącej do klasy Tytul_ksiazki właściwości typu Navigable spowodowało to implementację związku po stronie klasy Uchwyt (teraz obiekt klasy Uchwyt posiada pojedynczą referencję obiektu typu Tytul_ksiazki ) Ustawienie właściwości Navigable po stronie klasy Tytul_ksiazki
62 30) Implementacja związku między klasą Uchwyt a klasą Tytul_ksiazki w klasie Uchwyt za pomocą referencji typu Tytul_ksiazki oraz dwóch metod gettytul_ksiazki i settytul_ksiazki
63 31) Generowanie kodu (wybrać projekt Katalog1)
64 Generowanie kodu
65 32) Wygenerowanie kodu nowej metody dodaj_tytul w klasie Uchwyt Referencja do obiektu klasy Tytul_ksiazki reprezentuje relację 1 do 1 po stronie klasy Uchwyt, która jest właścicielem relacji
66 33) Wstawienie ręczne kodu nowej metody dodaj_tytul na podstawie diagramu sekwencji tej metody oraz metody main testującej działanie wykonanego przypadku użycia
67 package katalog1; public class Uchwyt { private Tytul_ksiazki mtytul_ksiazki; public Uchwyt() { } public void dodaj_tytul(string a, String b, String c, String d, String e) // your code here { mtytul_ksiazki=new Tytul_ksiazki(); mtytul_ksiazki.settytul(a); mtytul_ksiazki.setnazwisko(b); mtytul_ksiazki.setimie(c); mtytul_ksiazki.setisbn(d); mtytul_ksiazki.setwydawnictwo(e); } public Tytul_ksiazki gettytul_ksiazki() { return mtytul_ksiazki; } public void settytul_ksiazki(tytul_ksiazki val) { this.mtytul_ksiazki = val; } } public static void main(string t[]) // your code here { Uchwyt ap=new Uchwyt(); ap.dodaj_tytul("1","1","1","1","1"); String lan=ap.gettytul_ksiazki().tostring(); System.out.println(lan); }
68 34) Uruchomienie programu
69 35) Wykonanie dokumentacji UML typu strona HTML
70
71
72 Materiał z lab2 Relacja jeden do wiele Realizacja głównego celu przypadku użycia Dodaj_tytul wstawianie nowych tytułów bez powtórzeń (slajd p.28)
73 1) Relacja jeden do wiele zmiana Multiplicity w Association dla klasy Tytul_ksiazki na 1:0..* (jeden do wiele)
74 2) Generowanie kodu dla klasy Uchwyt
75 3) Wygenerowany kod implementujący relację jeden:wiele ArrayList jako kolekcja referencji typu do obiektu klasy Tytul_ksiazki reprezentuje relację 1 do 0..* po stronie klasy Uchwyt, która jest właścicielem relacji
76 4) Zmiana scenariusza dodaj_tytul - dodanie LifeLine dla kolekcji mtytul_ksiazki typu ArrayList
77 5) Zmiana scenariusza dodaj_tytul - dodanie metody typu Synchronous Message do linii życia typu Uchwyt wywoływanej jako własna metoda tej linii życia addtytul_ksiazki. W ciele metody addtytul_ksiazki należy wstawić synchroniczną metodę contains, wywoływaną z linią życia typu ArrayList.
78 6) Dodanie do metody addtytul_ksiazki metody add wywoływanej przez linię życia Uchwyt z linii życia typu ArrayList
79 7) Dodanie bloku warunkowego Combined Fragment z palety dla Sequence Diagram Należy przeciągnąć ikonę typu Combined Fragment na diagram sekwencji.
80 Zmiana scenariusza addtytul_ksiazki dodanie bloku warunkowego Combined Fragment z palety dla Sequence Diagram w celu warunkowego wywołania metody add z linii życia typu ArrayList (można dodać nowy tytul, gdy metoda contains zwróciła wynik false oznaczający, że w kolekcji mtytul_ksiazki nie ma jeszcze tytulu o takim samym ISBN.)
81 8) Edycja wyrażenia warunkowego bloku typu Combined Fragment Po zaznaczeniu bloku typu Combined Fragment prawym klawiszem myszy należy wybrać pozycję Interaction Operand/Edit Interaction Constraint
82
83 9) Po wyborze tego bloku typu Combined Fragment lewym klawiszem myszy od dołu bloku - zmiana typu bloku na alt w okienku Properties
84 10) Na diagramie klas pojawiła się dodana metoda addtytul_ksiazki na diagramie sekwencji dodaj_tytul
85 11) Wygenerowanie kodu z klasy Uchwyt
86 12) Wygenerowanie kodu z klasy Tytul_ksiazki
87 13) Uzupełniono kod metody addtytul_ksiazki, wg scenariusza ze zmodyfikowanego diagramu sekwencji dodaj_tytul public class Uchwyt { private ArrayList<Tytul_ksiazki> mtytul_ksiazki = new ArrayList<Tytul_ksiazki>(); public Uchwyt() { } Kolekcja referencji do obiektu klasy Tytul_ksiazki reprezentuje relację 1 do 0..* po stronie klasy Uchwyt, która jest właścicielem relacji public ArrayList<Tytul_ksiazki> gettytul_ksiazki() { return mtytul_ksiazki;} public void settytul_ksiazki(arraylist<tytul_ksiazki> val) { this.mtytul_ksiazki = val;}
88 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 void addtytul_ksiazki(tytul_ksiazki tytul_ksiazki) { if (! this.mtytul_ksiazki.contains(tytul_ksiazki)) this.mtytul_ksiazki.add(tytul_ksiazki); } public static void main(string t[]) // your code here { Uchwyt ap=new Uchwyt(); ap.dodaj_tytul("1","1","1","1","1"); ap.dodaj_tytul("2","2","2","2","2"); ap.dodaj_tytul("2","2","2","2","2"); String lan=ap.gettytul_ksiazki().tostring(); System.out.println(lan); } } 88
89 public class Tytul_ksiazki { private String wydawnictwo; private String ISBN; private String tytul; private String nazwisko; private String imie; public Tytul_ksiazki() {} public String getwydawnictwo() { return wydawnictwo; } public void setwydawnictwo(string _wydawnictwo) { wydawnictwo = _wydawnictwo; } public String getisbn() {return ISBN; } public void setisbn(string _ISBN) {ISBN = _ISBN; } public String gettytul() {return tytul; } public void settytul(string _tytul) {tytul = _tytul; } public String getnazwisko() public void setnazwisko(string _nazwisko) {return nazwisko;} {nazwisko = _nazwisko;} public String getimie() {return imie; } public void setimie(string _imie) {imie = _imie; } public String tostring() // your code here { String pom="tytul: "+gettytul(); pom+=" Autor:"+getNazwisko() +" "+getimie(); pom+=" ISBN: "+getisbn(); pom+=" Wydawnictwo:"+getWydawnictwo(); return pom; } }
90 14) Skutki wywołania metody equals w metodzie contains, dziedziczonej od klasy Object, która nie uwzględnia właściwości klasy dziedziczącej Tytul_ksiazki należy przedefiniować metodę equals w klasie Tytul_ksiazki
91 15) Uzupełniono scenariusz metody dodaj_tytul o wywołanie metody equals przesłaniającej metode equals dziedziczoną od klasy Object teraz w metodzie contains wywoływana jest metoda equals z klasy Tytul_ksiazki
92 16) Uzupełniona definicja klasy Tytul_ksiazki o metodę equals, która przesłania metodę equals dziedziczoną od klasy Object 92
93 17) Uzupełniono kod metody equals, która przesłania metodę equals dziedziczoną od klasy Object
94 public class Tytul_ksiazki { private String wydawnictwo; private String ISBN; private String tytul; private String nazwisko; private String imie; public Tytul_ksiazki() {} public String getwydawnictwo() {return wydawnictwo; } public void setwydawnictwo(string _wydawnictwo) { wydawnictwo = _wydawnictwo; } public String getisbn() { return ISBN; } public void setisbn(string _ISBN) { ISBN = _ISBN; } public String gettytul() { return tytul; } public void settytul(string _tytul) { tytul = _tytul; } public String getnazwisko() { return nazwisko; } public void setnazwisko(string _nazwisko) { nazwisko = _nazwisko;} public String getimie() { return imie; } public void setimie(string _imie) { imie = _imie; } public boolean equals(object ob) //your code here { boolean a=isbn.equals(((tytul_ksiazki)ob).getisbn()); //System.out.println(a); return a; } public String tostring() // your code here { String pom="tytul: "+gettytul(); pom+=" Autor:"+getNazwisko() +" "+getimie(); pom+=" ISBN: "+getisbn(); pom+=" Wydawnictwo:"+getWydawnictwo(); return pom; } } 94
95 18) Poprawne wstawianie obiektów typu Tytul_ksiazki każdy tytul może mieć inny ISBN dzięki metodzie equals zdefiniowanej w klasie Tytul_ksiażki i wywoływanej w metodzie contains klasy typu ArrayList
Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania. Relacja 1 do 1..0 instrukcja z lab1
Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania Relacja 1 do 1..0 instrukcja z lab1 Cele laboratorium 1 Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium
Bardziej szczegółowoInstrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
Bardziej szczegółowoIteracyjno-rozwojowy cykl oprogramowania cykl 2. Java Zofia Kruczkiewicz 1
Iteracyjno-rozwojowy cykl oprogramowania cykl 2 Java Zofia Kruczkiewicz 1 Kod klasy Uchwyt Java Zofia Kruczkiewicz 2 package katalog1; public class Uchwyt { private Tytul_ksiazki mtytul_ksiazki; public
Bardziej szczegółowoInstrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania. Relacja 1 do 1..0 instrukcja z lab1
Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania Relacja 1 do 1..0 instrukcja z lab1 Cele laboratorium 1 Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium
Bardziej szczegółowoInstrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania Diagramy klas i sekwencji: Relacja 1 do 0..* między klasami modelu obiektowego Cele laboratorium 3 Dokończyć 1-y etap z lab2. 2-i etap projektu.
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INP
Laboratoria 5-7- część 1 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
Bardziej szczegółowoInstrukcja Wprowadzenie do tworzenia oprogramowania. Relacja 1 do 1..0 instrukcja z lab1
Instrukcja Wprowadzenie do tworzenia oprogramowania Relacja 1 do 1..0 instrukcja z lab1 Cele ćwiczenia Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium 1 sformułować
Bardziej szczegółowoPrzykład 1 Iteracja 1 tworzenia oprogramowania
Przykład 1 Iteracja 1 tworzenia oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji: Relacja 1 do 0..*
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 2
Instrukcja 2 Laboratorium 2 Wykonanie opisu biznesowego świata rzeczywistego projektowanego oprogramowania, definicja wymagań funkcjonalnych i niefunkcjonalnych projektowanego oprogramowania 1 Cel laboratorium:
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5
Instrukcja 5 Laboratorium 7 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
Bardziej szczegółowoWykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4
Wykład 4_2 część druga Iteracyjno-rozwojowy cykl oprogramowania 4 I. Przykład pierwszy programu z warstwą klienta (interfejs graficzny użytkownika) i warstwą biznesową dostępną za pomocą metod klasy
Bardziej szczegółowoLaboratorium 2_3_4 Wzorce oprogramowania zastosowane w modelu obiektowym (wg Alan Shalloway, James R.Trott)
Laboratorium Wzorce oprogramowania zastosowane w modelu obiektowym (wg Alan Shalloway, James R.Trott) Implementacja warstwy biznesowej stosującej wzorce obiektowe oprogramowania laboratorium2_ 3_4 1 Identyfikacja
Bardziej szczegółowoInstrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwa klienta: Interfejs graficzny użytkownika
Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania Warstwa klienta: Interfejs graficzny użytkownika Cel laboratorium 4 Należy wykonać interefejs graficzny użytkownika wg p.1 oraz p.2 lub p.3
Bardziej szczegółowoMetryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz
Metryki Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Dodatek Powtórka z metryk ilustrowana wynikami pomiaru realizowanymi przez narzędzia ckjm 1.8,
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5
Instrukcja 5 Laboratorium 7 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
Bardziej szczegółowoProjekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz
Projekt INP002017 Instrukcja 1 Autor Dr inż. Zofia Kruczkiewicz I. Czynności wykonane zgodnie z harmonogramem grupy w tygodniach 1-6 1. Czynności (str. 3-12) wg instrukcji do lab3: http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/inp002017/lab_inp002017_3.pdf
Bardziej szczegółowoInstrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoTe atrybuty wewnętrzne są wyrażane za pomocą tzw. metryk, czyli prostych wyrażeń, wiążących pewne elementy programu (projektu, kodu źródłowego itp.).
Wykład 13 Złożoność strukturalna programów, Metryki międzymodułowe 1. Podstawowe definicje Struktura programu to: przedstawienie programu na różnych poziomach abstrakcji rozumiane jako odseparowanie danych
Bardziej szczegółowo1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Bardziej szczegółowoInstrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie
Bardziej szczegółowoInstrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),
Bardziej szczegółowoWykład 6. Charakterystyki zewnętrzne a wewnętrzne oprogramowania (2) Narzędzia do pomiaru programowania. autor: Zofia Kruczkiewicz
Wykład 6 Charakterystyki zewnętrzne a wewnętrzne oprogramowania (2) Narzędzia do pomiaru programowania autor: Zofia Kruczkiewicz 1 Zagadnienia 1. Metryki złożoności modułowej i międzymodułowej Chidamber
Bardziej szczegółowoInstrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),
Bardziej szczegółowoTe atrybuty wewnętrzne są wyraŝane za pomocą tzw. metryk, czyli prostych wyraŝeń, wiąŝących pewne elementy programu (projektu, kodu źródłowego itp.).
Wykład 13 ZłoŜoność strukturalna programów, metryki Metryki międzymodułowe 1. Podstawowe definicje Struktura programu to: przedstawienie programu na róŝnych poziomach abstrakcji rozumiane jako odseparowanie
Bardziej szczegółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoWstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem
Bardziej szczegółowoMetryki logicznej struktury programu, czyli przepływu sterowania Liczby cyklomatyczne McCabe V LI (G) = e n +p+1, V(G) = e n + 2*p
Wykład 14 Złożoność strukturalna programów, metryki złożoności modułowej Wzmocnienie powiązań wewnątrz-modułowych prowadzi do zmniejszenia oddziaływań między modułami oraz poprawy struktury oprogramowania.
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoLaboratorium 8 Diagramy aktywności
Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoProjektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu:
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO zawierającej aplikację klienta typu EE oraz internetową aplikację uruchamianą za pomocą przeglądarki. Projektowanie
Bardziej szczegółowoLaboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Bardziej szczegółowoMetryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz 1
Metryki Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Zagadnienia 1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK) 2.
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6
Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Bardziej szczegółowoModelowanie obiektowe - Ćw. 1.
1 Modelowanie obiektowe - Ćw. 1. Treść zajęć: Zapoznanie z podstawowymi funkcjami programu Enterprise Architect (tworzenie nowego projektu, korzystanie z podstawowych narzędzi programu itp.). Enterprise
Bardziej szczegółowoInstrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM
Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM Cel laboratorium 5 Należy wykonać dwie aplikacje zawierające warstwę integracji
Bardziej szczegółowoJęzyki i metody programowania Java Lab2 podejście obiektowe
Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoZastosowanie komponentów EJB typu Session
Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1 1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać
Bardziej szczegółowoASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
Bardziej szczegółowoBudowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz
Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie
Bardziej szczegółowoInstrukcja 1 Laboratorium 1 Zapoznanie się z wybranym narzędziem UML wprowadzenie do UML
Instrukcja 1 Laboratorium 1 Zapoznanie się z wybranym narzędziem UML wprowadzenie do UML 1 Cel laboratorium: Wprowadzenie do UML wykonanie prostego projektu programu za pomocą wybranych diagramów UML i
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoTworzenie modelu konceptualnego systemu informatycznego część 1
Tworzenie modelu konceptualnego systemu informatycznego część 1 1. Elementy diagramów przypadków użycia (usecases) 2. Wytyczne tworzenia diagramów przypadków użycia (use-cases) (wg Booch G., Rumbaugh J.,
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoDiagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Składnia elementów na diagramach UML 1. W prezentacji składni diagramów
Bardziej szczegółowoDiagram stanów Laboratorium 9
Diagram stanów Laboratorium 9 Zofia Kruczkiewicz Zofia Kruczkiewicz lab_inp002017_9 1 Modelowanie zachowania obiektu za pomocą diagramu stanów. Opracowanie diagramu stanów dla obiektu wybranej klasy, reprezentującego
Bardziej szczegółowo{ Dane1 d=(dane1)o; return nazwisko.equals(d.nazwisko) && srednia==d.srednia && uwagi.equals(d.uwagi); }
1. Inżynieria odwrotna w środowisku NetBeans na przykładzie p. 3 instrukcji Należy uruchomić środowisko NetBeans 6.7.1, otworzyć rozpakowany wcześniej projekt Katalog4. Wykonać za pomocą inżynierii odwrotnej
Bardziej szczegółowoWykład 5 Okna MDI i SDI, dziedziczenie
Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie
Bardziej szczegółowoAplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoWprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.
Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie
Bardziej szczegółowodr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1
Ćwiczenie 1 Uruchamianie programu w Netbeans Uruchom środowisko Netbeans. Stwórz nowy projekt typu Java Application. Nadaj projektowi nazwę HelloWorld (Project Name), zwróć uwagę na folder, w którym zostanie
Bardziej szczegółowoWindows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):
Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow): 1. Utworzenie projektu - Sequential Workflow. File - New Project - Visual C# -Workflow- Sequential Workflow Console Application
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoKomunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Komunikatory typu TCP/IP lab2 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 - klient wysyła jeden komunikat (typu String) do serwera i kończy swoje istnienie, a serwer go odbiera
Bardziej szczegółowoSpecyfikowanie wymagań przypadki użycia
Specyfikowanie wymagań przypadki użycia Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych
Bardziej szczegółowoProjektowanie aplikacji internetowych laboratorium
Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoPolimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Bardziej szczegółowo1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
Bardziej szczegółowoWykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper
Bardziej szczegółowoWYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Bardziej szczegółowo- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w
Bardziej szczegółowoPapyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Zaawansowane metody programowania Copyright c 2014 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoInstrukcja laboratoryjna cz.3
Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Bardziej szczegółowoJava: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń
Bardziej szczegółowoTworzenie systemów informatycznych. Inżynieria oprogramowania Zofia Kruczkiewicz
Tworzenie systemów informatycznych Inżynieria oprogramowania Zofia Kruczkiewicz 1 Zagadnienia 1. Wielowarstwowa architektura systemu informatycznego 2. Refaktoryzacja architektury wielowarstwowej systemu
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoBudowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)
Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) 1. Udostępnianie wszystkich prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwa plików nazwy plików
Bardziej szczegółowoProgramowanie Obiektowe GUI
Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu
Bardziej szczegółowoAutor Zofia Kruczkiewicz Wzorce oprogramowania - laboratorium5_6
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych (podrozdziały 1, 2, 3) Tworzenie warstwy prezentacji pierwszy etap (podrozdziały
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste
Bardziej szczegółowoJęzyki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek podanych
Bardziej szczegółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Bardziej szczegółowoBudowa aplikacji wielowarstwowych. Obsługa zdarzeń
Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Laboratorium 6 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_6, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab6, które
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoBudowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List.
Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List. Laboratorium 5 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_5, Zofia Kruczkiewicz
Bardziej szczegółowoDiagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial
Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz Zofia Kruczkiewicz Projektowanie oprogramowania
Bardziej szczegółowoProtokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Protokół JDBC współpraca z relacyjnymi bazami danych lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 Połączenie z bazą danych travel systemu bazodanowego Derby (metoda void
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoTesty jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz
Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną
Bardziej szczegółowoBudowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz
Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą
Bardziej szczegółowoInformatyka I : Tworzenie projektu
Tworzenie nowego projektu w programie Microsoft Visual Studio 2013 Instrukcja opisuje w jaki sposób stworzyć projekt wykorzystujący bibliotekę winbgi2 w programie Microsoft Visual Studio 2013. 1. Otwórz
Bardziej szczegółowo