Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008.

Slides:



Advertisements
Podobne prezentacje
Modelowanie przypadków użycia
Advertisements

K orzystanie z ogólnodostępnej wersji internetowej.
Opis metodyki i procesu produkcji oprogramowania
Interaktywna prezentacja użytkowa
Tomasz Pieciukiewicz Rafał Hryniów
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
Projektowanie Aplikacji Komputerowych
Tablice.
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008.
Rational Unified Process
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
Malowanie na ekranie- Paint (Paintbrush).
Lekkie metodologie wytwarzania oprogramowania Raport z gry planistycznej Jakub Nowak Przemysław Warzyński.
Projekt i implementacja aplikacji wspomagającej testowanie
The GAME. Ogólna hierarchia klas PLANSZA Hierarchia klas POLE TripBoxNormalBoxSpecialBox.
System zarządzania parafią
Łukasz Sobczak. 1)Co to jest Office 2010 Web Apps 2)SharePoint 2010 a narzędzia pakietu office 3)Integracja Office Web Apps z SharePoint )Problemy.
ADRESOWANIE WZGLĘDNE I BEZWZGLĘDNE Ćwiczenia
Elektroniczny Obieg Dokumentów i Elektroniczna Skrzynka Podawcza
Podstawy programowania
EXCEL TO HTML Wykonawca Jarosław Ferenc. CO CHCEMY UZYSKAC Przed uzupełnieniem Po uzupełnieniu.
Źródła: podręcznikopracował: A. Jędryczkowski.
Instrukcja USOS Rejestracja na zajęcia obieralne wersja by Marek Opacki.
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
BUDOWANIE SCHEMATU BLOKOWEGO REALIZUJĄCEGO PROSTY ALGORYTM
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Instrukcja USOS Ankiety wersja by Marek Opacki.
Dziedziczenie Maciek Mięczakowski
Programowanie obiektowe – język C++
Formatowanie tekstu w Microsoft Word
Zawansowane techniki programistyczne
Korzystanie z katalogu komputerowego ALEPH
Metodyki wytwarzania i utrzymywania aplikacji
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Tworzenie ankiet online
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Podstawy języka skryptów
Opracowanie mgr Karol Adamczyk
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Iga Lewandowska I EMII MU
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008.
Temat Prezentacji : ZNACZNIKI META TAGS wyk.H. Kozłowski.
Witam Państwa!.
Programowanie Zaawansowane
Projektowanie postaci formularza:
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Struktura systemu operacyjnego
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
MAS Rafał Hryniów. Agenda  Zasady  Referaty  Projekt  Kolosy.
1 Mapan i Mapnik. Czyli kilka słów o przeglądarkach leśnej mapy numerycznej. Zespół Zadaniowy ds. Leśnej Mapy Numerycznej. Margonin r.
Ochrona wizerunku a publikacja w Internecie Kwestia ochrony wizerunku jest uregulowana w przepisach art. 81 oraz art. 83 ustawy o prawie autorskim i prawach.
Temat: Tworzenie bazy danych
Akademia ETI 2016 LABORATORIUM 2 – OBSŁUGA WYŚWIETLACZA GRAFICZNEGO.
Bartosz Knapik GRY Planszowe.
Agile Programming a jakość
Inżynieria systemów informacyjnych
Gildia Testowa Sposób na koordynację testów w „dużym scrumie”
Typy wyliczeniowe, kolekcje
Zarządzanie projektami informatycznymi
Programowanie Obiektowe – Wykład 2
Tworzenie stron WWW w programie Microsoft FrontPage
PGO Interfejsy Michail Mokkas.
G Staś Toporkiewicz
Zapis prezentacji:

Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008

Plan Prezentacja przykładowych tematów projektów: z EFL i z firmy Insert Jak rozszerzyć naszą realizację O i X Projekt i wokół (realizacja na ETO) Historyjki użytkownika – element XP

Kółko i krzyżyk - określanie zakresu Pytania:  Czy będziemy wspomagać inne gry?  Czy powinien być interfejs graficzny?  Czy gra powinna odbywać się w sieci? Przez przeglądarkę?  Czy gry mogą być magazynowane i odtwarzane? Monolityczny projekt papierowy – zły! Iteracyjna strategia rozwijania:  ograniczyć początkowy zakres do minimalnej liczby wymagań  rozszerzać system przez dodawanie cech i przypadków testowych  pozwalać, aby projekt ukazywał się poprzez refaktoryzację ról i powinności ! Ile funkcjonalności należy dostarczyć w 1. wersji systemu? Wybrać minimalny zbiór wymagań, który ma znaczenie dla klienta

Kółko i krzyżyk - obiekty Pewne obiekty mogą być identyfikowane z wymagań ObiektyPowinności Grapielęgnuje zasady gry Graczwykonuje ruchy pośredniczy w interakcji z użytkownikiem Polezapisuje znaki Figura (stan) pielęgnuje stany gry

Ulepszamy interakcję Chcemy mieć graczy zarówno testowych jak i rzeczywistych, a więc powinni być tworzeni przez instancję Driver. Osobnymi operacjami powinno być uaktual- nianie oraz drukowanie stanu gry. Gra (Game) powinna prosić gracza o wyko- nanie ruchu, a gracz powinien to zrobić.

Scenariusze testowania Nasze scenariusze testowania powinny grać i testować przykładowe scenariusze gry.

Kółko i krzyżyk - kontrakty Jawne inwarianty:  ruchem (bieżącego gracza) jest albo X albo O  X i O są naprzemienne (ruch nigdy nie jest taki sam jak ruch poprzedni)  stanem gry jest tablica 3 na 3 wypełniona X, O lub puste (‘ ’)  zwycięzcą jest X lub O wtedy i tylko wtedy, gdy zwycięzca ma 3 w jednym wierszu, kolumnie lub na przekątnej Niejawne inwarianty:  na początku nikt nie jest zwycięzcą; na początku ruch ma X  gra jest zakończona, gdy wszystkie pola są zajęte lub jest zwycięzca  gracz nie może zaznaczyć pola, które jest już zaznaczone Kontrakty:  bieżący gracz może zrobić ruch, jeśli spełnione są inwarianty

Kodowanie kontraktu Musimy wprowadzić zmienne stanu, aby zaimplementować kontrakty.

Inwarianty Te warunki wyglądają, jako oczywiste. Dlatego właśnie powinny być sprawdzane. Asercje i testy często mówią nam, jakie metody powinny być implementowane i czy powinny być one publiczne czy prywatne.

Delegowanie powinności Gracz (Player) wywołuje teraz metodę move z Game:

Małe metody Wprowadzaj metody, które czynią intencje Two- jego kody bardziej przejrzystymi.

Metody dostępu Metody dostępu (accessor) zabezpieczają klienty przed zmianami w implementacji. Zmienne nie powinny być na ogół publiczne. Zamiast tego lepiej stosować metody dostępu.

Sterownik gry (Driver) Aby uruchomić gry testowe oddzielamy instancje gracza (Player) od grania.

Gomoku Gra rozgrywana jest na planszy 19x19 lub 15x15 pól. Każdy z dwóch graczy ma do dyspozycji kamienie: jeden koloru białego, drugi -- czarnego, które układają na przemian na wolnych polach planszy. Celem gry jest ułożenie na planszy DOKŁADNIE PIĘCIU (nie więcej) kamieni swojego koloru w ciągłej linii -- poziomej, pionowej lub ukośnej. Pierwszy gracz, który tego dokona, zostaje zwycięzcą; jeśli nie uda się to nikomu (plansza zostanie zapełniona), następuje remis.

Gomoku – O i X Chcemy dzielić jak najwięcej kodu z O i X 1.Pomysł – dziedziczenie (implementacji) z TTT 2.Kopiować kod – duplikacja kodu 3.Zmienić projekt, aby grać O i X lub Gomoku (oba implementują ten sam interfejs; część kodu wspólna) – klasa abstrakcyjna, interfejs?? Kto po kim dziedziczy

O i X - Gomoku Najprościej: 1.Zdefiniować interfejs Plansza wymagany przez granie – X i O imlementuje ten interfejs 2.Ustalić interfejs – większa plansza zmiana set() get() inRange() 3. Wprowadzić AbstrakcyjnąGrę „działającą” dla obu O i X oraz Gomoku O i X oraz Gomoku nadpisują ją i rozszerzają

Projekt i wokół Planowanie pracy Organizacja zespołu Pułapki Zadania

Projekt i wokół Raport – status prac W regularnych odstępach info o postępach prac „mały” raport cotygodniowo „duży” na końcu wydania (lub iteracji)

Projekt i wokól Na stronie m. in. Nazwa projektu Członkowie zespołu i ich adresy Każdy prowadzi dziennik Zadania do realizacji, w trakcie realizacji, zrealizowane (termin realizacji, priorytet) Raport o postępach prac (cotygodniowy)

Projekt i wokół Raport (info) o spotkaniach zespołu np. rzeczy do zmiany, nierozpatrywane, procedura, ważne daty Ponadto 2-3 spotkania tygodniowo 15-minutowe

Projekt – strona WWW Opis projektu (temat, cele, wizja itp.) Raporty ze spotkań Plan: szczegółowy na najbliższy tydzień oraz na cały okres (może się zmieniać) Pojedyncze dokumenty, np.: słownik, przypadki użycia, historyjki użytkownika Informacje o narzędziach

Projekt - terminy Do 28.X.2008 Kierownik zespołu zgłasza tytuł projektu i dane członków, aby założyć stronę repozytorium projektu na CVS