Projekt kompetencyjny - Dydaktyka
Transkrypt
Projekt kompetencyjny - Dydaktyka
Projekt kompetencyjny Opiekun projektu: dr inż. Tomasz Kowalski Cele i założenia projektu • Opracowanie i zaimplementowanie aplikacji opartej na bazie danych. • Projekt zespołowy wykonywany w grupach 2-4 osób. • Projekt będzie wykonywany zgodnie z założeniami metodologii agile/scrum w dwutygodniowych sprintach. Wymagania dotyczące projektu oraz wykorzystanych technologii Podstawowe założenia projektu dotyczą konieczności wykorzystania bazy danych i jej wybranych mechanizmów: • dostosowanie dla różnych ról użytkowników (np. widoki), • implementacja logiki (np. procedury składowe, wyzwalacze), • optymalizacja dostępu do danych (np. indeksy). Aplikacja może mieć charakter standardowy lub webowy. Interfejs graficzny powinien być czytelny i pozwalać na swobodne korzystanie z systemu zgodnie z jego przeznaczeniem, jednak nie będzie oceniany pod względem estetycznym (nie jest to celem zajęć). Aplikacja może być zaimplementowana całkowicie w środowisku bazy danych (np. Oracle APEX). Można skorzystać z dowolnych innych technologii (np. Java, .NET, php, python) w tym mapowania ORM (np. HQL). Kryteria oceny • Systematyczność - terminowa realizacja kolejnych sprintów. • Jakość - struktury projektu, kodów źródłowych, czytelność. • Ogólna zgodność projektu z założeniami. • Prezentacja (10-15 minut) dotycząca: • • zaimplementowanego projektu, • metodologii i organizacji pracy, • wykorzystanych technologii. Raport końcowy z projektu. Agile Podstawowe informacje na temat organizacji pracy w metodyce Agile: wykład - http://coach.kis.p.lodz.pl/PSOiR-agile.pdf arkusze - http://coach.kis.p.lodz.pl/agile.pdf Plan pracy (zjazdy) I. Podział na grupy, wybór projektów i ustalenie wymagań: • • wizja systemu, wstępny wybór technologii. milestone 1: krótki raport podsumowujący. • Opracowanie planu pracy i podziału obowiązków: opracowanie backlogu projektu, zaplanowanie Sprintu 1. • • Sprint 1, np.: zaprojektowanie struktury bazy danych, ... II. III. IV. Zaliczenie Sprintu 1, zaplanowanie Sprintu 2 V. Sprint 2, np.: podstawowa funkcjonalność aplikacji (np. CRUD), opracowanie interfejsu użytkownika, .... • • • VI. Zaliczenie Sprintu 2, zaplanowanie Sprintu 3 VII. Sprint 3, np.: implementacja wybranych funkcji aplikacji (logika), optymalizacja działania po stronie bazy, ... • • • VIII. Zaliczenie Sprintu 3. IX. Konsultacje i prezentacje projektów. X. Prezentacje projektów, wystawienie ocen. Propozycje systemów 1. Zwinne zarządzanie projektem: • user stories, zadania. • kontrola przebiegu zmian w harmonogramie, aktywność programistów. 2. Zarządzanie stanem magazynu: • produkty, dostawcy, zamówienia. • monitorowanie popytu i podaży. 3. Ogłoszenia (kupię, sprzedam, wezmę, oddam): • kategorie, tagi, klienci. • liczba ogłoszeń w poszczególnych kategoriach, 4. Serwis randkowy: • anonse, klienci. • liczba ogłoszeń dla każdej płci w przedziałach czasowych. 5. Obsługa recenzowania artykułów: • recenzenci, autorzy i artykuły. • najczęściej akceptowani bądź odrzucani autorzy (lub odrzucający recenzenci). 6. Obsługa konferencji: • wydarzenia i wystąpienia. • liczba uczestników dla wydarzeń, sesji, itp. 7. Katalog filmów: • aktorzy, ludzie filmu, rankingi. • najwyżej oceniani aktorzy, reżyserzy, itp.