PO: Java PROJEKTY. Małgorzata Janik. Zakład Fizyki Jądrowej

Podobne dokumenty
PO: Java PROJEKTY. Małgorzata Janik. Zakład Fizyki Jądrowej

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

PRZEWODNIK PO PRZEDMIOCIE

Zajęcia trwają 15 tygodni (2 godziny wykładu, 2 godziny laboratorium tygodniowo) Zaliczenie zajęć jest uwarunkowane zaliczeniem zajęć laboratoryjnych

Inżynieria oprogramowania II

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie i analiza systemów informatycznych

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Inżynieria oprogramowania (Software Engineering) Wykład 1

Projektowanie oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania III WYKŁAD 4

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

Współczesne modele oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Egzamin / zaliczenie na ocenę*

Opis. Liczba godzin zajęć dydaktycznych z

Inżynieria oprogramowania (Software Engineering)

Dokument Detaliczny Projektu

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Studentom zostaną dostarczone wzory lub materiały opisujące. Zachęcamy do wykonania projektów programistycznych w postaci apletów.

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Projektowanie oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Inzynieria Oprogramowania 2... nazwa przedmiotu SYLABUS A. Informacje ogólne. Wydział Ekonomiczno-Informatyczny w Wilnie

PRZEWODNIK PO PRZEDMIOCIE

Warsztaty Dyplomowe. Paweł Kułakowski. prezentacja dostępna pod adresem:

Projektowanie oprogramowania

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Regulamin przedmiotów: Modelowanie symulacyjne

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria oprogramowania - opis przedmiotu

Programowanie obiektowe

Informatyczne fundamenty

Podstawy informatyki i algorytmizacji. Wykład 1 organizacja zajęć

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

PRZEWODNIK PO PRZEDMIOCIE

Wykład 1 Inżynieria Oprogramowania

Projektowanie baz danych za pomocą narzędzi CASE

tel. (+48 81) tel. (+48 81) Wykład Ćwiczenia Laboratorium Projekt

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

PRZEWODNIK PO PRZEDMIOCIE

Informatyczne podstawy projektowania Kod przedmiotu

Pytania z przedmiotów kierunkowych

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH 2-go STOPNIA (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM A K L S P

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

SCENARIUSZ LEKCJI. TEMAT LEKCJI: O czym mówią współczynniki funkcji liniowej? - wykorzystanie arkusza kalkulacyjnego na lekcjach matematyki

PRZEWODNIK PO PRZEDMIOCIE

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

SCENARIUSZ LEKCJI. Czas realizacji. Podstawa programowa

Współczesne modele oprogramowania

Tworzenie wersji demonstracyjnych enova365 na potrzeby prezentacji u Klienta

Liczba godzin w semestrze II r o k. Nazwa modułu. PLAN STUDIÓW (poziom studiów) I STOPNIA studia (forma studiów) niestacjonarne

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Załącznik 1 instrukcje instalacji

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Rok I, semestr I (zimowy) Liczba godzin

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Programowanie zespołowe

Dokument Detaliczny Projektu

PRZEWODNIK PO PRZEDMIOCIE

Załącznik 1 instrukcje instalacji

Doskonalenie warsztatu dydaktycznego i podnoszenie jakości kształcenia

KARTAKURSU. Efekty kształcenia dla kursu Student: W01wykazuje się znajomością podstawowych koncepcji, zasad, praw i teorii obowiązujących w fizyce

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 2-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

KARTA MODUŁU KSZTAŁCENIA

Projekt systemu informatycznego

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Zespołowy projekt informatyczny. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Historia jednego WEBQUESTU. Kamienna ścieżka sensoryczna

PRZEWODNIK PO PRZEDMIOCIE

Laboratorium Dyplomowe

Języki programowania I - opis przedmiotu

Modelowanie obiektowe - Ćw. 6.

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

PRZEWODNIK PO PRZEDMIOCIE

S Y L A B U S P R Z E D M I O T U

edycja 3 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

Program nauczania informatyki w gimnazjum Informatyka dla Ciebie. Modyfikacja programu klasy w cyklu 2 godzinnym

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa, Inżynieria oprogramowania, Technologie internetowe

MŁODY PROGRAMISTA WARSZTATY PROGRAMOWANIA DLA UCZNIÓW KLAS MŁODSZYCH

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH 2-GO STOPNIA (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2015/16

Seminarium dyplomowe Master Thesis Seminar Forma studiów: Stacjonarne. Poziom kwalifikacji: II stopnia. Liczba godzin/tydzień: 1S

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

Liczba godzin w semestrze II r o k. Nazwa modułu. PLAN STUDIÓW (poziom studiów) I STOPNIA studia (forma studiów) stacjonarne

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Gry komputerowe i multimedia, GKiM studia niestacjonarne Dla rocznika:

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

PO: Java PROJEKTY Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl

Projekty Po co? Etapy kontrolne Tematy i Ocena

Programowanie Obiektowe Strona internetowa przedmiotu http://java.fizyka.pw.edu.pl/ Projekt realizowany w domu, specyfikacja + trzy zajęcia projektowe sprawdzające postępy prac Szczegoły na temat projektów można znaleźć na stronie: http://java.fizyka.pw.edu.pl/projekty Na stronie można znaleźć również przykładowe tematy Temat projektu każdy zespół ustala indywidualnie z prowadzącym laboratoria 3/17

Po co robimy projekty? Abyście Państwo: napisali kawałek kodu, który ma kilka tysięcy lini: do tej pory Wasze największe projekty informatyczne miały zwykle kilkaset linii kodu teraz możemy to zmienić przećwiczyli pracę samodzielną (tj. bez ciągłego wsparcia prowadzącego) przypomina rzeczywistą pracę w relacji klient - wykonawca będziecie musieli sami rozwiązywać napotkane problemy korzystanie ze stack overflow oraz zwykłego google a to powszechna praktyka wśród programistow przećwiczyli pracę w zespole Do tej pory Państwa projekty były pisane dla Państwa, miały jednego użytkownika; praca w zespole to (bardzo porządana) umiejętność pisanie kodu dla szerszego odbiorcy musi zawierać odpowiednie nazewnictwo oraz być odpowiednio okomentowany 4/17

Wymogi biznesowe Praca dla biznesu jest specyficzna Klient biznesowy często nie do końca wie czego potrzebuje, a już na pewno nie wie jak to uzyskać Prowadzący zamienia się dla Państwa w klienta biznesowego i podaje przykładowe wymagania Jeśli potrzebujecie pomocy: Formalnej (zaliczenie projektu, przedłużenie terminu, zmiana wymagań ): konsultacje z prowadzącym laboratoria Programistycznej: Http://stackoverflow.com/ - "forum" ogólnoświatowe, mediana czasu oczekiwania na pierwszą odpowiedź to 21 minut Google Konsultacja z prowadzącym jest ostateczną instancją, jeśli pozostałe metody zawiodły 5/17

Projekty Realizowane zespołowo zespoły dwuosobowe Zaliczenie czterech etapów kontrolnych: I. Specyfikacja (3 zajęcia), 10% oceny II. Prototype - User Interface (5 zajęcia), 20% oceny [zajęcia projektowe] III. Release Candidate (10 zajęcia), 20% oceny [zajęcia projektowe] IV. Final (15 zajęcia). 50% oceny [zajęcia projektowe] Zaliczenie polega na: I. Wysłanie dokumentu specyfikacji prowadzącemu laboratoria II IV. Zajęcia projektowe Prezentacja: (5-12 min na grupę) pierws pierwsza godzina zajęć Omówienie kodu pierws druga godzina zajęć 6/17

Realizowany Zespołowo W drugim tygodniu zajęć należy wysłać prowadzącemu e-mail z informacją o: Członkach zespołu Pomyśle na projekt Temat projektu powinien zostać uzgodniony z prowadzącym laboratoria przed przygotowaniem specyfikacji Przykłady tematów na stronie http://java.fizyka.pw.edu.pl/lista-projektow Zawsze można wybrać własny projekt Tematy w danej grupie nie mogą się powtarzać (kto pierwszy ten lepszy) Wystarczy OK od prowadzącego Projekt jest realizowany zespołowo, ale uzyskana ocena jest indywidualna. Wkład każdego z członków zespołu będzie oceniany indywidualnie przez prowadzącego. 7/17

Tematy Projektów Układ słoneczny w 3D Fizyka ruchu wielu ciał Modelowanie ruchu cząstki w polu EM Symulacja toru lotu pocisków artylerii Symulacja gry w bilard Model bomby atomowej Twój Własny Pomysł Kilka przykładów Programowanie Obiektowe (Wykład) 8/30

Specyfikacja W trzecim tygodniu zajęć należy wysłać prowadzącemu e-mail z przygotowaną specyfikacją. Punktowana jest oddzielnie, 0 5 pkt. Specyfikacja jest dokumentem opisującym funkcjonalności waszego programu Dokładnie opisać działanie programu Model matematyczny; wzory Szkice interfejsu Scenariusze użycia (+ ewentualnie diagramy UML) Listę dodatkowych funkcjonalności Należy określić ocenę, jaką Państwo chcielibyście uzyskać oraz przygotować tabelę zadań. Jak długa? Jak najkrótsza, ale musi byż zrozumiała i zawierać wszystkie niezbędne elementy Jakość specyfikacji (język, edycja) też jest oceniana Programowanie Obiektowe (Wykład) 9/30

Specyfikacja Wszystkie szczegóły są opisane w szablonie specyfikacji Do ściągnięcia tutaj: http://java.fizyka.pw.edu.pl/specyfikacja Specyfikacja może ewoluować w czasie Programowanie Obiektowe (Wykład) 10/30

Specyfikacja Programowanie Obiektowe (Wykład) 11/30

Specyfikacja Programowanie Obiektowe (Wykład) 12/30

Scenariusze użycia Sceriusze (przypadki) użycia (ang. Use cases) to technika stosowana w inżynierii oprogramowania w celu opisania wymagań tworzonego systemu Określają cel jaki użytkownik chce osiągnąć Określają kroki jakie w tym celu wykonuje = opis typowej interakcji między aktorem a systemem 13/17

Specyfikacja Programowanie Obiektowe (Wykład) 14/30

Scenariusze użycia: efekt Comptona Sceriusz: zebranie statystyki CEL: użytkownik chce zebrać istotny statystycznie rozkład przekrojów czynnych Kroki: Użytkownik wybiera rodzaj źródła Użytkownik ustala energię fotonu padającego Użytkownik naciska przycisk szybka animacja System iteracyjnie oblicza wartość energii rozproszonego fotonu metodą Monte-Carlo i modyfikuje wykres zliczeń Dodatkowe punkty 15/17

UML: Class Diagrams Dodatkowe punkty 16/17

Specyfikacja Programowanie Obiektowe (Wykład) 17/30

Funkcjonalności dodatkowe dostępne dla niemal wszystkich projektów Program można zainstalować za pomocą java web start Program można zainstalować za pomocą instalatora w systemie Windows Skorzystanie z technik/bibliotek nie omawianych na wykładzie Program wykorzystuję bazę danych SQL Użycie systemu kontroli wersji GIT / svn Projekt jest dostępny na licencji open source Program jest napisany w Javie FX, w zależności od jakości animacji Program jest wielojęzyczny (ma wersje językowe przynajmniej polską i angielską) Wielojęzyczność zaimplementowano za pomocą mechanzmu internacjonalizacji wbudowanych w JDK: http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html 18/17

GIT Obowiązkowe jest wykorzystanie systemu kontroli wersji GIT w trakcie przygotowywania projektu powszechnie wykorzystywane narzędzie zarówno w biznesie jak i w nauce często używane również do dzielenia się kodem 19/17

Specyfikacja Obowiązkowo brak tej części skutkuje niezaliczeniem projektu. Programowanie Obiektowe (Wykład) 20/30

Ocena? Zależy od Was sami określacie, ile i jakie funkcjonalności chcecie oprogramować więcej funkcjonalności/lub ambitny projekt = wyższa ocena Projekt na 5: 50 punktów Projket na 4.5: 45 punktów, itd Projekt na 3: 30 punktów. prowadzący może zasugerować dodatkowe funkcjonalnosci jeśli wasza planowana ocena jest niewspółmierna do zaproponowanych funkcjonalności I od waszej pracy Ocena będzie obniżana za niespełnienie warunków formalnych (styl kodu, itp), brak założonych funkcjonalności oraz nieterminowość Ocena indywidualna dla każdego członka zespołu Programowanie Obiektowe (Wykład) 21/30

Zaj. Proj. II - Prototype 8 12 min na zespół Prezentacja zespołu zawierająca: Opis projektu skrót specyfikacji Wykorzystana fizyka (z wzorami / wykresami) można poprzeć wzory wstępnymi obliczeniami z arkusza kalkulacyjnego (dodatkowe punkty) Zrzut ekranu interfejsu użytkownika GUI (interfejs użytkownika) Okienko, wszystkie przyciski, suwaki, menu, panele Będzie sprawdzany również kod, łącznie z weryfikacją wkładu członków zespołu 22/17

Zaj. Proj. III Release Candidate Prezentacja Krótki wstęp Przypomnienie o czym jest projekt Opis osiągniętych funkcjonalności Jasna lista co udało się osiągnąć / zaprogramować Zrzuty ekranu i/lub przykłady kodu Wersja beta projektu Spodziewany prototyp projektu (działająca wersja) Przynajmniej część obliczeń zaimplemenentowana Przynajmniej część funkcjonalności działa całkowicie poprawnie Oczekiwania: minimum połowa projektu powinna być skończona 5 8 min na zespół Będzie sprawdzany kod, łącznie z weryfikacją wkładu członków zespołu 23/17

Zaj. Proj. IV - Final Prezentajca 5 8 min na zespół Krótki wstęp Przypomnienie o wszystkich założeniach projektu Weryfikacja założeń Jasna lista co udało się osiągnąć z założonych funkcjonalności Opis ewentualnych zamian czy różnic Prezentacja projektu Uruchomić napisany projekt i zaprezentować jak działa całej grupie Wersja finalna projektu Spodziewana ostateczna werja projektu Finalna ocena kodu, łącznie z weryfikacją wkładu członków zespołu 24/17

Weryfikacja wkładu Omówienie kodu wraz z prowadzącym na zajęciach "projektowych" ma za zadanie zweryfikować wasz wkład w napisany kod. Przykłady pytań: Jaką rolę pełni ta klasa w projekcie? Co robi tutaj ten nawias trójkątny? Jaką rolę pełni ta funkcja for? Proszę przepisać tą funkcję by robiła to a to. W przypadku braku satysfakcjonującej odpowiedzi na pytania, prowadzący ma obowiązek nie zaliczyć odpytywanemu studentowi danego etapu projektu (dany etap zostaje oceniony na 0 punktów). Zalecane jest więc, by klarownie wyjaśnić prowadzącemu podział obowiązków w zespole zanim pytania zostaną zadane Zalecane jest oznaczanie autorstwa klas w kodzie Odpowiedzi, które nie będą uznawane za satysfakcjonujące: "Już dawno to pisałem, nie pamiętam dokładnie co ta funkcja robi..." "Siedziałem do 4 w nocy nad kodem, teraz już nie mogę się skupić..." 25/17

Więcej informacji http://java.fizyka.pw.edu.pl/projekty Wymogi formalne Przykładowe tematy Zawsze programuj jak gdyby osoba zajmująca się twoim kodem w przyszłości była agresywnym psychopatą, który wie gdzie mieszkasz. Podział pracy w zespole, plagiaty Proponowane dodatkowe funkcjonalności Programowanie Obiektowe (Wykład) 26/30