[ Pobierz całość w formacie PDF ]
.Problemem jest to, że może być trudno zdalnie uruchamiać program, szczególnie gdy nie masz odpowiednich uprawnień do administracji serwerem WWW.W tym rozdziale zaprezentowane zostaną porady i narzędzia, które mogą usprawnić uruchamianie aplikacji.Dodatkowo, niektóre części rozdziału sąprzypomnieniem zasad inżynierii programowania, ponieważ można uniknąć ogromnej pracy przy uruchamianiu aplikacji, jeżeli jej projekt jest odpowiednio przygotowany.Z powodu ogromnego zainteresowania jakie wzbudziło programowanie aplikacji WWW, powstało wielenarzędzi (między innymi PHP) do tworzenia takich aplikacji.Narzędzia te zostały stworzone na podstawie istniejących już narzędzi, na przykład ASP i JSP, inne natomiast zostały stworzone jedynie w celu tworzenia interaktywnych aplikacji WWW.Niespodziewanie, narzędzia spełniające zasady inżynierii programowania są tu w mniejszości.Prawdopodobnie brak ten jest spowodowany potrzebą zaistnienia na rynku jako pierwszenarzędzie lub z faktu, że pierwszymi projektantami nowej technologii nie byli bardziej zaawansowaniprogramiści.Niezależnie od powodu, do tego nowego środowiska programowania należy zaadaptować wszystkie istniejące zasady inżynierii programowania.Pierwsza część rozdziału zawiera przypomnienie zasad inżynierii programowania.Jest ona dołączona do tego rozdziału, ponieważ zbyt dużo czasu spędzonego przy uruchamianiu jest zwykle powodowane błędami przy tworzeniu projektu.Inżynieria programowania a uruchamianieW rozdziale 3 „Formularze i cookie” doszliśmy do wniosku, że można uniknąć sprawdzania poprawnościniektórych danych w przypadku zastosowania lepszego mechanizmu wprowadzania danych.Tak samo, pisanie lepszego (bardziej defensywnego) kodu powoduje ogromne zmniejszenie czasu straconego w czasieuruchamiania.Projekt aplikacji WWW musi być tak samo dokładnie przemyślany, jak projekt każdej innej aplikacji.Tworzenie świetnej aplikacji wymaga właściwego projektu, zgodności z standardami tworzenia oprogramowania, sprawdzania oprogramowania, testowania modułów oraz uruchamiania.Uruchamianie jest koniecznie ostatnie na tej liście, ponieważ zakłada się, że kod przeszedł wszystkie wcześniejsze wymagane kroki.Kolejne części zawierają przegląd każdego z tych kroków i zakładają, że posiadasz pewną wiedzę inżynierii programowania.Projekt aplikacjiIdentyfikacja wstępnych założeń aplikacji przed napisaniem jakiegokolwiek kodu jest krytyczna wprzypadku każdego projektu.W dużych projektach takie planowanie może zająć tygodnie lub miesiące.Wmałych projektach mogą zostać zapisane na skrawku papieru w przeciągu kilku minut.W każdym z tychprzypadków kluczowe jest przemyślenie wymagań aplikacji, oraz wymyślenie możliwie wielu możliwychrozwiązań przed rozpoczęciem pisania kodu.Dane z firm TRW i IBM wskazują, że wprowadzenie zmian do aplikacji w początkowym okresie programowania (przed fazą programowania) jest 10 do 200 razy tańsze niż wprowadzanie tych samych zmian na końcu tego procesu (McConnell, 1993).W zależności od projektu, identyfikacja wymaganych funkcji aplikacji może wymagać wykonania sporejpracy.Wstępny podział aplikacji na moduły może uprościć ten proces.W aplikacji WWW modułami takimi mogą być współpraca z bazą danych, autoryzacja użytkownika, obsługa stanu, id.Po zdefiniowaniu zadańposzczególnych modułów należy w razie potrzeby podzielić je na mniejsze fragmenty i zapisać przeznaczenie każdego fragmentu.W małych aplikacjach dobrą strategią jest podział modułów na pliki kodu bądź klasy obiektowe.Oprócz zdefiniowania wymagań funkcjonalnych aplikacji, należy rozważyć architekturę systemu.Należytu pomyśleć o rodzaju stosowanego systemu zarządzania relacyjną bazą danych (SZRBD) i innych mniej oczywistych elementach, na przykład jak będą zorganizowane pliki kodu, jak radzić sobie ze zmianami, oraz czy niektóre moduły należy zakupić, czy też pisać je od początku.Mimo, że PHP może działać na wielu serwerach WWW i platformach systemowych, każda z takich kombinacji posiada indywidualne cechy.Należy poświęcić nieco czasu na zdefiniowanie powodów, dla których należy wybrać określony sprzęt i serwer.Ilość funduszy dostępnych na początku projektu rzadko jest dobrym powodem wyboru platformy.Wybór bazy danych jestrównie istotny, jeżeli aplikacja ma być wysoce dynamiczna.Dodatkowo należy pomyśleć, czy serwer WWW i baza danych będą pracować na tym samym komputerze, czy osobno.W zależności od wielkości i charakteru aplikacji, może być to krytyczne zagadnienie.Następnie, należy zaprojektować organizację kodu.Zdefiniuj konwencję nazywania plików i katalogów,co uprości identyfikację kodu.Wymyśl alternatywny plan na wypadek, gdy istnieje duże prawdopodobieństwo zmian.Jeżeli przewidujesz występowanie zmian, napisz aplikację lokalizującą zmiany w kilku modułach a buforującą resztę
[ Pobierz całość w formacie PDF ]