notatki W1

background image

ZWINNE PROGRAMOWANIE

Agile software

development

o wytwarzanie oprogramowania w oparciu o programowanie iteracyjne

(czynności wykonywane w każdej iteracji)

testowanie

zebranie wymagań

rozwiązania

o

wymagania i rozwiązania ewoluują

o

inspekcje wymagań

o brak rozbudowanej dokumentacji
o brak hierarchii
o

szybkość wytwarzania oprogramowania

o okresowe dostarczanie oprogramowania
o

bliska współpraca, bezpośredni kontakt

o adaptacja do zmian

LOOP

o

– przekroczony termin

Late

o

Over Budget

– przekroczony budżet

o

- nadgodziny

Overtime

o

– niska jakość

Poor quality

XP

Extreme Programming – Programowanie Ekstremalne

(twórca: Kent Beck)

ZALETY:

XP

Nie piszemy dokumentacji

komunikacja ustna

Brak specyfikacji wymagań

kod + przypadki testowe

Brak f. Albrechta

gra planistyczna

(rozmowa z klientem)

Brak inspekcji Fagana

programowanie parami

Krótkie wydania

background image

ZAGROŻENIA:

Χ

Programowanie parami

Χ

Pielęgnacja oprogramowania

(brak dokumentacji)

Χ

Złe planowanie

(nie ma okresów dłuższych niż 1-2 mies)

Χ

Niespełnialne założenia

F

AZY CYKLU ŻYCIA PROJEKTU

XP

o Eksploracja

(temat pracy, podstawowe inf. od klienta, zarys architektury i

funkcjonalności)

o Planowanie

(analiza inf., harmonogram prac)

o Iteracje wykonawcze

(implementacja, kodowanie, testowanie)

o Przygotowanie do produkcji

(wdrożenie, uwagi użytkownika, dodatkowe testy)

o Utrzymanie w ruchu

(nadzór, tworzenie ew. kolejnej wersji oprogramowania)

o Zakończenie projektu

(dokumentacja systemu i projektu)

(Model – View –Controller)

MODEL MVC

o Model – rdzeń aplikacji
o Widok – wyjście interfejsu użytkownika
o Kontroler – wejście interfejsu użytkownika

Separacja prezentacji i

modelu

– umożliwia zmianę interfejsu użytkownika bez

potrzeby modyfikacji modelu

Separacja widoku i kontrolera

– umożliwia zmianę kontrolera bez konieczności

modyfikacji widoku

MODEL – Cechy i własności:

o Odpowiedzialny za tzw. logikę biznesową
o

Sposób przechowywania danych nie jest istotny

o

Szczegóły implementacyjne resztą aplikacji

o Dostarczać innym komponentom spójny interfejs
o Implementacja  oddzielne klasy dla logicznych obiektów
o Informacje w BD 

1

klasa odpowiada

1

tabeli

o Odporny na wewnętrzne zmiany
o Zmiana struktury danych nie zmienia interfejsu

background image

o Model powinien być

(łatwe przeniesienie kodu do nowej

PRZENOŚNY

aplikacji)


WIDOK:

o Wyświetla (prezentuje) dane
o Format wyjściowy dla aplikacji internetowych (X)HTML
o Wykorzystuje model do pobrania danych

(instancje klas, aby wywołać

odpowiednie metody)

o Nie zmienia stanu aplikacji
o Implementacja w postaci wielu klas, po jednej na każdą stronę, dokument,

plik…

o Powinien być

(zmiana wyświetlanych danych powinna być

WYMIENNY

osiągalna przez prostą wymianę klas widoku)

STEROWNIK:

o Centrum dowodzenia aplikacji
o Przechwytuje żądanie HTTP i wie co należy wykonać (akcja) i wyświetlić

(widok)

o Pozostaje bez zmian (część biblioteki)
o Powinien być jeden w całej aplikacji webowej
o Skrypt, który korzysta z danych zawartych URL-u lub POST
o Dobrze skonfigurowany  plik konfiguracyjny
o Ma zaimplementowane akcje

(pojedyncza czynność, np. dodaj użytkownika)

implementowana jako klasa

o Zmiana w modelu za pośrednictwem akcji

FRAMEWORK-i

PHP Symfony

o Oddziela od siebie logikę biznesową, model danych i interfejs

użytkownika

o Kompatybilny z serwerami baz danych
o

Działa na platformach „unixopodobnych” i „windowsowych”

background image

o Język PHP5
o Wzorzec projektowy MVC
o OOP - Object-Oriented Programming
o Niezależny od RDBMS
o Walidacja
o Zarządzanie sesjami
o

Łatwość rozbudowy

o Technologia

(programista pisze specyfikację

SCAFFOLDINGU

opisującą strukturę i zależności w bazie danych, a generator buduje kod
umożliwiający tworzenie, czytanie, aktualizowanie i usuwanie wpisów w bazie
danych

o Ochrona przed atakami

CSRF Cross-site request forgery

(skłonienie użytkownika

zalogowanego do serwisu internetowego, aby uruchomił odnośnik,
którego otwarcie wykona w owym serwisie akcję, do której atakujący
nie ma dostępu)

XSS Cross-site scripting

(osadzeniu w treści atakowanej strony

kodu, np. JavaScript, który wyświetlony innym użytkownikom może
doprowadzić do wykonania przez nich niepożądanych akcji)

MODEL W SYMFONY

o Model MVC realizowany za pomocą ORM (

Object-Relational

Mapping)

oraz abstrakcyjną bazę danych

WIDOK W SYMFONY

o Składa się z oddzielnych części

Szablony

(prezentacja danych pochodzących z aktualnej akcji)

Wygląd (Layout)
Komponenty
Sloty
Ustawienia odpowiedzi (response) oraz obiekt resposne

KONTROLER W SYMFONY

o Podział na kilka komponentów

Front controller – jest punktem wejścia aplikacji
Akcje – zawierają logikę aplikacji

Obiekty żądania, odpowiedzi oraz sesji
udostępniają parametry żądania, nagłówki odpowiedzi i

trwałe dane użytkownika

Filtry – fragmenty kodu wykonywane przy każdym

żądaniu, przed i po wykonaniu akcji

background image

ASP .NET MVC

o Korzysta z MVC
o Nie ma modelu zdarzeniowego i kontrolek serwerowych
o Usuwa code behind
o Separacja warstw TDD (Test-Driven Development)
o Wzorce rutowania

KONTROLER W ASP.NET MVC

o Klasa z metodami
o Obsługa żądań przeglądarki
o Wynik akcji ActionResult

WIDOK W ASP.NET MVC

o Wyświetla interfejs
o Bazuje na danych zawartych w modelu


Ruby on Rails (RoR, Rails)

o Architektura MVC

o Język Ruby

o Typ open source

JĘZYK RUBY

o Zbalansowanie programowania funkcjonalnego i imperatywnego
o Zmienna instancji  @name
o Obiekt  g = Greeter.new(‘’Pat’’)

R

UBY

A

J

AVA

PODOBIEŃSTWA

o Pamięć zarządzana przez garabge collector

o Obiekty silnie typowane

o Metody publiczne, prywatne, chronione

o Wbudowane narzędzia dokumentujące

background image

R

UBY

A

J

AVA

RÓŻNICE

o Brak kompilacji
o end zamiast }
o require zamiast import
o atrybuty prywatne
o wszystko jest obiektem
o

brak deklaracji typów

o

brak konieczności rzutowania

o konstruktor  initialize
o domieszkowanie klas (maxin’s)
o YAML zamiast XML
o Nil zamiast null

ZAŁOŻENIA

R

O

R

o DRY (Don't Repeat Yourself) - unikanie powtarzania tej samej pracy

w różnych miejscach

o Convention Over Configuration
o
Możliwość używania wtyczek

BUDOWA

R

O

R

o

ActiveRecord – odpowiada za tworzenie modeli w architekturze MVC

o

ActionPack – biblioteka zawierająca klasy:

o ActionController (tworzenie kontrolerów)
o ActionView (tworzenie widoków)

o

ActiveSupport – zbiór użytecznych

o

ActionMailer – biblioteka służąca do wysyłania wiadomości


Wyszukiwarka

Podobne podstrony:
Internetowe BD notatki w1
W1 system ochrony pracy[1], notatki z wykładów
Technologie informacyjne W1 2012 z notatkami
bur-w1, Notatki Rolnictwo, 4 rok, IV rok, Wszystko na SZUR
TPK w1 30-09-08, Pedagogika, notatki, Teoretyczne Podstawy Kształcenia
Podstawy zarządzania W1, Podstawy zarządzania - notatki
W1 ergonomia i bhp[1], notatki z wykładów
etyka-w1-w9, Dziennikarstwo i komunikacja społeczna - notatki, Etyka dziennikarska
MBS w1 29

więcej podobnych podstron