Zajęcia, rok akademicki 2005/2006, semestr 1
Semestr 1
Konsultacje: [do ustalenia]
Projektowanie aplikacji ASP.NET + ADO.NET
Celem zajęć jest przygotowanie w pełni funkcjonalnej aplikacji ASP.NET,
składującej dane w dowolnej relacyjnej bazie danych. Aplikacje mogą być projektowane
w zespołach maksymalnie 4 osobowych.
Warunkiem uzyskania zaliczenia będzie terminowe złożenie poszczególnych faz projektu.
Orientacyjny plan:
- 2 tygodnie : ustalenie składu zespołów, propozycje projektów
- zespół powinien mieć wybranego kierownika, odpowiedzialnego osobiście za przebieg projektu
(kompletowanie dokumentacji poszczególnych faz, rozdzielanie zadań itp.)
- 2 tygodnie : faza projektu merytorycznego
- zespół wyznacza zakres merytoryczny projektu (co tak naprawdę chcemy wykonać i dlaczego warto wymyślić coś
oryginalniejszego niż tysiąc pierwszy sklep internetowy?)
- kierownik zespołu składa u prowadzącego zajęcia projekt merytoryczny (max. 1 strona A4)
- 2 tygodnie : faza projektu funkcjonalnego
- zespół wyznacza zakres funkcjonalny projektu (jakie konkretnie funkcje realizujemy:
jakich funkcji potrzebują użytkownicy a jakich administratorzy?)
- kierownik zespołu składa u prowadzącego zajęcia projekt funkcjonalny (max. 1 strona A4)
- 2 tygodnie : faza projektu technicznego
- zespół opracowuje architekturę systemu i podział zadań (kto, co i jak?)
- kierownik zespołu składa u prowadzącego zajęcia projekt techniczy (max. 2 strony A4)
- 5 tygodni : implementacja
- poszczególni członkowie zespołu implementują swoje części projektu
- kierownik zespołu składa co 2 tygodnie u prowadzącego zajęcia raport z postępu prac (max. 1 strona A4)
- 2 tygodnie : testowanie, odbiór techniczny
- gotowa aplikacja (lub wersja beta) jest w czasie zajęć testowana i oceniana przez inne zespoły
- kierownik zespołu składa u prowadzącego raport z zakończenia prac (co się udało, jak sprawdziła się organizacja pracy w zespole,
odstępstwa od wcześniejszych ustaleń, przyczyny)
Czas pracy został więc podzielony na dwie równe części: część projektową i część wykonawczą. W części
projektowej semestru zostaną dodatkowo zaproponowane do rozwiązania proste, atomowe zadania, które pozwolą zapoznać
się z ważnymi mechanizmami ASP.NET (m.in. autentykacja/autoryzacja, data-binding, moduły i handlery HTTP, AJAX).
Poszczególni członkowie zespołu będą oceniani indywidualnie w zależności od wkładu pracy w projekt i wywiązania się
z nich. Kierownicy projektów będą dodatkowo oceniani za zarządzanie projektem w czasie jego życia. Sam projekt będzie
oceniany pod kątem pomysłu, zaawansowania technologii oraz jakości wykonania.
Materiały:
Wykłady:
- 4.X.2005
- 11.X.2005
- Architektura ASP.NET
- Konfiguracja serwera IIS, logi serwera
- Intergacja IIS i ASP.NET
- Cykle życia stron, dynamiczna kompilacja stron
- Obiekty Page, Request, Response, Server
- 18.X.2005
- Stanowość/bezstanowość aplikacji ASP.NET
- Przekazywanie danych między stronami: obiekt Session+scenariusz WebFarm, HttpCookies, QueryString
- Przegląd komponentów ASP.NET, cykle życia komponentów, postback
- Skrypty server-side (języki .NET) i client-side (javascript)
- 25.X.2005
- uodparnianie QueryString na ataki typu "QueryString tampering"
- Dynamiczny download i upload danych do serwera aplikacji
- Technologia DataBinding
Pobierz przykład
- 8.XI.2005
- model trójwarstwowy aplikacji
- technologie ORM (Object-Relational Mapping)
- współpraca serwera aplikacji i serwera baz danych
- DataBinding do serwera baz danych
Pobierz przykład
- 22.XI.2005
- handlery HTTP
- moduły HTTP
- autentykacja
- autoryzacja
Pobierz wykład
Pobierz przykład
- 29.XI.2005
- AJAX (Asynchronous JavaScript + XML)
- User Controls
- Custom Controls
Pobierz wykład
Pobierz przykład
- 6.XII.2005
- Omówienie .NET 2.0 i ASP.NET 2.0
- typy generyczne
- typy nullable
- nowy model enumeracji (yields)
- formanty TreeView i Menu
- SiteMap Provider
Pobierz wykład
Pobierz przykład
- 13.XII.2005
- ASP.NET 2.0:
- Master Pages
- formant Wizard
- Provider Model
- Scripting Callbacks
- Object Data Binding
- ataki typu Cross-Side Scripting (XSS)
Pobierz wykład
Pobierz przykład
Literatura:
- Podstawy:
- Douglas J. Reilly: Designing Microsoft ASP.NET Applications
- Scott Mitchel: ASP.NET Data Web Controls Kick Start
- Zaawansowane:
Pomocnicze zestawy zadań:
- Zestaw 1, 11.X.2005
- Zestaw 2, 18.X.2005
- Zestaw 3, 22.XI.2005
- Zestaw 4, 29.XI.2005
- Zestaw 5, 06.XII.2005
Zawansowane techniki programowania .NET
Zajęcia będą prowadzone w formie seminarium.
Referaty powinny być przygotowane w formie prezentacji z użyciem dowolnych dostępnych narzędzi i materiałów.
Przewidywany czas prezentacji to jedne całe zajęcia z możliwością przedłużenia prezentacji na kolejne zajęcia.
Poniższa lista zawiera propozycje tematów do przygotowania w zespołach 1-2 osobowych. Lista ta nie zamyka
możliwości zaproponowania własnego tematu po konsultacji z prowadzącym.
W wypadku przygotowywania jednej prezentacji przez więcej osób, poszczególni prelegencji będą oceniani indywidualnie.
Kryteria oceny:
- Merytoryczna wartość prezentacji : 40%
- Forma prezentacji : 30%
- Sposób prezentacji : 30%
- Prezentacja z 08,22.XI.2005
Przegląd wybranych języków platformy .NET. Porównanie wydajności z innymi istniejącymi implementacjami.
- Obiektowe:
- Funkcjonalne:
- Skryptowe:
- Deklaratywne:
- inne wybrane
- Omówienie i porównanie wybranych narzędzi testowania aplikacji.
- Omówienie i porównanie wybranych bibliotek warstwy danych aplikacji.
- Prezentacja z 11,18.X.2005
Bezpieczeństwo platformy .NET. Polisy deklaratywne i imperatywne. Weryfikowalny IL. Code Access Security. Microsoft Management Console.
- Programowanie aspektowe na platformie .NET.
- Wybrane wzorce projektowe (strukturalne i aplikacyjne).
- (zablokowany) Internet Explorer jako edytor tekstów i kontener wydruku w aplikacji .NET.
- (zablokowany) Kierunki rozwoju platformy .NET. Języki programowania.
- C# 2.0, C# 3.0
- Cω
- Modern Concurrency Abstractions for C#. Nick Benton, Luca Cardelli, Cedric Fournet.
- The essence of data access in Cω.Gavin Bierman, Erik Meijer, and Wolfram Schulte.
- Programming with Rectangles, Triangles, and Circles. Gavin Bierman, Erik Meijer, and Wolfram Schulte.
- Unifying Tables, Objects and Documents. Erik Meijer, Wolfram Schulte and Gavin Bierman.
- Transitions in Programming Models. Luca Cardelli.
- (zablokowany) Kierunki rozwoju Windows i platformy .NET. Architektura (Avalon, Indigo, WinFX, XAML).
- (zablokowany) Alternatywne implementacje platformy .NET. Porównanie z .NET Framework. Przykłady aplikacji. Przenośne biblioteki do tworzenia interfejsu użytkownika (Gtk#, wx.NET).
- Prezentacja z 15.XI.2005
Nowe możliwości SQL Server 2005. Integracja z CLI. Data Mining & Bussiness Intelligence.