Professional Documents
Culture Documents
Wprowadzenie do programowania
SPIS TRECI
WPROWADZENIE
/prof Marlena Plebaska/
im
nowych
technologii,
poczwszy
od
konstruowania
coraz
bardziej
programistyczne.
Przedstawione
zostay
rwnie
zasady
programowania
Pisanie
Przetwarzanie
Wykonanie
Za przetwarzanie kodu
rwnie odpowiada
konkretny program, ktry
najczciej tworzy plik
wykonywalny. Jedynie jzyki
skryptowe takie jak Java
Script do przetwarzania
korzystaj z przegldarki
internetowej.
Pseudokod - a co to takiego?
Nie bdzie zbyt odkrywcze, jeli powiemy Wam, e pseudokod to po prostu co, co
przypomina kod, ale tak naprawd nie jest adnym jzykiem programowania. Wprawdzie
stosujemy w nim oglne instrukcje i schematy programowania, jednak nie jest konkretnym
jzykiem.
Pseudokod jest wic narzdziem, pozwalajcym nam rozwiza jaki problem, zbudowa
pewien zarys, ktry nastpnie wykorzystamy, piszc program w danym jzyku.
Pseudokod mona wic porwna z przepisem na wykonanie ciasta. Mamy podane
wszystkie skadniki oraz procedury, jakie musimy wykona, aby upiec ciasto, nie jest
natomiast wane to, produktw jakiej firmy uyjemy.
Przykad pseudokodu, ktry obrazuje procedur sprawdzania czy zmienna a jest rwna
zmiennej b oraz to co ma si zadzia, kiedy warunek jest niespeniony
Przykad
zmienna a = 3
zmienna b = 6
jeeli (a == b)
zwr prawda;
inaczej
zwr fasz;
Powyszy pseudokod jest oczywicie tylko prostym przykadem. Warto jednak pamita, e
w bardziej zoonych problemach zawsze moe Wam pomc rozoenia problemu na
mniejsze kawaki.
I.1. Zmienne
Zmienna to miejsce zarezerwowane w pamici, w ktrym zapisana jest jaka dana, z ktrej
korzysta napisany program. Mona przetwarza t zmienn, przechowywa w niej dane
tymczasowe, wykonywa na niej funkcje.
Przykad:
owoce = "jabko" //ta instrukcja deklaruje zmienn o nazwie owoce i zapisuje w niej
acuch znakw
nabia = "ser"
pieczywo = "buka"
owoce
nr
kod
imie
pieczywo
ulica
miaso
nabia
nazwisko
Sma_lodow
"nr_domu" -
moemy te stosowa polskich znakw, ale w nazwie mog pojawi si rwnie cyfry.
Kompilatory rozrniaj due i mae litery dlatego zmienna ABC jest inn zmienn ni
zmienna abc, musimy pamita o tym odwoujc si do nich. No i jeszcze jedna sprawa nie wolno tworzy nazw zmiennych z wykorzystaniem sw kluczowych. Kady jzyk ma
wasn list, ale jest kilka, ktre s uniwersalne i spotykamy je w kadym: break, case,
class, do, else, if, false, for, public, private, protected, switch, true, while.
Kompilator to program, ktry rozumie instrukcje napisane w danym jzyku. Kompilacja
przeksztaca kod rdowy i powoduje wygenerowanie jego wydajnej, maszynowej
reprezentacji, ktra zazwyczaj jest zoptymalizowana pod ktem wydajnoci dziaania. Wrd
jzykw
programowania
te
jzyki
skryptowe,
ktre
natury
jzykami
Deklarujc zmienn moemy od razu przypisa jej wartoci, ale moemy te to zrobi
pniej. Do przypisania konkretnej wartoci wykorzystujemy operatory przypisania
np.:
znak =
Poniej przedstawiamy kilka przykadw deklaracji zmiennych:
Smak_lodow = truskawkowe //ta instrukcja deklaruje zmienn o nazwie smak_lodow
i zapisuje w niej acuch znakw w tym przypadku truskawkowe
Ile_galek = 2 //z kolei ta instrukcja zapisuje warto liczbow.
Na pewno zauwaylicie rnic przy zapisie w zalenoci od tego czy wprowadzamy
warto liczbow, czy cig znakw. W drugim przypadku stosujemy cudzysw. Tworzc
zmienn nie musimy od razu przypisa jej wartoci pocztkowej, zawsze moemy to zrobi
pniej.
Moe rysunek pudeek, ktre nazywamy tak jak deklarowana zmienna i do tych pudeek
bd wpaday wartoci tych zmiennych
* Zmienna dostaje jakie miejsce w pamici a co za tym idzie, wartoci, ktre tam ju kiedy
nasz system operacyjny zapisa, wic dla bezpieczestwa mona j wyzerowa np. nr = 0
I.2. Tablice
Ostatnio pada wygrana w totolotka w wysokoci 35 milionw, kady chciaby tak nagrod
wygra, udao si to jednej osobie. Szczliwiec wytypowa 6 cyfr z przedziau od 1 do 60.
Te wylosowane cyfry moemy zapisa: 1,14,23,31,33,35. Gdybymy chcieli zapisa je w
programie, musielibymy uy 6 zmiennych np. lotto1 = 1, lotto2 = 14 itd. Do tego typu
zapisu przy uyciu jednej zmiennej stosujemy tablice. Tablica (ang. array) jest typem
danych, ktry moe przechowywa wiele wartoci. W pamici komputera tablica zajmuje
cigy obszar pamici, a jej elementy, zwane komrkami, s umieszczone w tym obszarze
jeden obok drugiego.
Wizualizacja tablicy
Skoro tablica rwnie jest zmienn, to trzeba nada jej nazw np. lotto w ktrej bdzie
przechowywaa wyniki losowania.
lotto = [ 1,14,23,31,33,35]; //deklaracja tablicy lotto, ktra przechowuje wyniki
losowania
Wszystkie wartoci moemy potraktowa jako jedn cao, moemy te odwoywa si do
poszczeglnych elementw tej tablicy.
pisz(lotto[0]); //Wywietlony zostanie pierwszy element tablicy czyli liczba 1
Zanim przejdziemy dalej, musimy si upewni, czy rozumiecie czym s tablice. Jak ju
wczeniej byo to wytumaczone, tablic uywamy do przechowywania wielu wartoci w
odrnieniu od zmiennych, ktre pozwalaj zapisywa tylko jedn warto, tak jak liczba
czy sowo. Najczciej tablice, bdziemy stosowa do grupowania podobnych informacji,
takich jak wyniki meczw czy oceny. Zawsze wtedy, gdy bdziemy chcieli zgrupowa jaki
zbir danych moemy utworzy tablic i w niej je zapisa. Gdy bdzie to potrzebne, moemy
odwoa si do caej tablicy lub do konkretnej komrki w celu skorzystania z danych.
PRZYKAD
CHCEMY STWORZY TABLIC, KTRA BDZIE PRZECHOWYWA KOLORY
COLOR = ["NIEBIESKI", "ZIELONY", "CZERWONY", "TY"];
PRZYKAD
LOTTO = [ 1,14,23,31,33,35]; //DEKLARACJA TABLICY
PISZ(LOTTO[5]); //WYWIETLENIE SZSTEGO ELEMENTU TABLICY
Wizualizacja tablicy:
1
14
23
31
33
35
Zmienne typu string maj specyficzn budow. Mog zosta take zapisane tak naprawd
jak cig pojedynczych znakw.
name = ["a","p","k","i",".","o","r","g"] lub te name = "apki.org"
Jeeli wczeniej zmienna name zostaa zadeklarowana jako tablica to kompilator
samodzielnie podzieli string na pojedyncze znaki.
Wizualizacja tablicy
a
Przykad
liczba1 = 5
liczba2 = liczba1 + 20
lub
liczba1 = 5
liczba2=0
liczba2+=liczba1
liczba2+=5 //Wynikiem ostatniej operacji jest zapisana w zmiennej "liczba2" warto
25.
Odejmowanie
Drugim podstawowym znakiem jest znak minus, ktrego uywa si w sposb analogiczny
do poprzedniego:
Przykad
liczba1 = 5
liczba2 = liczba1 20 //wynikiem bdzie warto -15.
Istnieje te moliwo wykorzystania operatora "-=":
liczba1 = 5
liczba2 += liczba1 //wynikiem bdzie warto 5.
liczba2 -= 20 //wynikiem bdzie warto -15.
Mnoenie
Operacja mnoenia jest reprezentowana za pomoc znaku "*". W bardzo prosty sposb
mona wyliczy kwadrat danego elementu przy pomocy poniszej operacji:
Przykad
liczba = 5
liczba = liczba * liczba //w zmiennej "liczba" zostanie zapisany wynik 25
10
Dzielenie
Operacja dzielenia reprezentowana jest za pomoc znaku "/". W zalenoci od typu danych
w jakim bdzie zapisywany wynik dziaania taka bdzie zwracana warto.
Przykad
liczba = 5/10 //w przypadku gdy zmienna "liczba" jest cakowit, wynikiem dziaania
jest 0
liczba = 5.0/10.0 //w przypadku gdy zmienna "liczba" jest cakowit, wynikiem
dziaania jest 0.5
Kolejny operator zwizany z dzieleniem, jest zwracajcy reszt tej operacji. Znakiem
uywanym w tym wypadku jest znak "%"
liczba = 2%5 //wynikiem jest 4
Opis
>
wiksze od
>=
<
mniejsze
<=
==
rwne
!=
rne
Wynikiem operacji porwnania jest prawda albo fasz, czyli warunek jest speniony albo nie.
Operatorami logicznymi nazywamy wszystkie spjniki klasycznego rachunku zda.
Najczstszymi s to i, lub oraz negacja. Bdziesz ich uywa/-a w instrukcjach
warunkowych. Zwracaj warto true lub false.
11
Iloczyn logiczny
Znak operatora logicznego to "&&". Wszystkie wartoci musz by prawdziwe, aby zostaa
zwrcona warto true(prawda).
wejcie
wejcie
wyjcie
Suma logiczna
Znak sumy logicznej to "||". Co najmniej jedna z wartoci musi by prawdziwa, aby zostaa
zwrcona prawda.
wejcie
wejcie
wyjcie
12
Konstrukcja warunku
Ciao instrukcji
if (warunek)
instrukcja jeeli warunek
jest speniony
Instrukcja
ta
pozwala
wykona
Podstawowym warunkiem jest warunek porwnujcy, czy warto dwch zmiennych jest
identyczna
Przykad
if (a==b)
pisza = b
Przykad
!(a>b) //sprawd, czy nieprawd jest, e a jest wiksze od b
//operacja ta jest rwnowana z !(a<=b)
Bardzo wane jest te czenie warunkw ze sob su do tego operatory logiczne.
13
else if(warunek)
instrukcja, jeeli drugi warunek jest
potrzeba
sprawdzenia
speniony
kolejnego warunku, jeeli
else
pierwszy nie zosta speniony.
Moemy poczy dowolnie wiele instrukcji if/else. Za pomoc
else if mona dodawa dowolnie
wiele warunkw,
przy czym
kadyzbdzie
mie wasny blok
instrukcja,
jeeli
aden
dwch
kodu, ktry bdzie wykonany,warunkw
jeeli warunek zostanie
speniony.
nie zosta
speniony
instrukcja
else
wystarczy,
nie
istnieje
Przykad
Sprawd czy podana przez uytkownika liczba jest dodatnia, ujemna czy zero.
Zaoenie wprowadzane liczby s cakowite
liczba = 3
if ( liczba > 0 )
pisz("Liczba jest dodatnia") //speniony warunek - zostanie wywietlony komunikat
else if ( liczba < 0 )
pisz ("Liczba jest ujemna ") //nie speniony warunek - nie zostanie wywietlony
komunikat else if ( liczba == 0 )
pisz ("Liczba jest dodatnia") //nie speniony warunek - nie zostanie wywietlony
komunikat
Projektujc kod, zawsze staraj si zoptymalizowa go tak, aby by jak najmniej naraony na
bdy oraz nie zawiera niepotrzebnych instrukcji i tak przykad powyszy zostanie
zoptymalizowany.
14
Przykad
liczba = 3
if ( liczba > 0 )
pisz("Liczba jest dodatnia") //speniony warunek zostanie wywietlony komunikat
else if ( liczba < 0 )
pisz ("Liczba jest ujemna ") //nie speniony warunek nie zostanie wywietlony
komunikat
else
pisz ("Liczba jest dodatnia") //wywietli si tylko wtedy kiedy powysze warunki nie
zostan spenione
*Jeeli zmienna jest jest typu logicznego to nie musi sprawdza czy jest true, wystarczy j
tylko umieci w warunku
Przykad
sunny_day = true
if(sunny_day)
pisz(Idziemy na spacer)
else
pisze(Zostajemy w domu)
Jest wiele czynnoci, ktre wykonujemy wicej ni jeden raz, to moe by pojedyncza
instrukcja lub zbir np. Wstajemy rano, myjemy zby.
15
Oczywicie, take w kodzie czsto musimy wykonywa czynnoci wicej ni jeden raz i
wanie do tego moemy wykorzysta ptle.
Wczeniej zostay ju omwione wyraenia, ktre zwracaj warto logiczna np a>0.
Wanie takie wyraenia, maj due znaczenie w dziaaniu ptli.
Ptla to chyba najwaniejszy skadnik programowania w dowolnym jzyku. Umoliwia
odcienie programisty od decydowania, ile razy dana operacja ma si wykona komputer
sam okrela ile razy wykonuje si dana operacja.
Przykad
Tworzymy maszyn losujc liczby z duego LOTTO.
Jak wiemy trzeba ich wylosowa a 6 a wic bdzie
Skadnia jest
nastpujca:
while (warunek)
instrukcja do
wykonania
powtarzalno dziaania
Lotto = 1
while (lotto < 7) lub (lott<=6) // w obu przypadkach ptla wykona si 6 razy
{
Losowanie liczby lotto;
Lotto = lotto + 1;
}
*instrukcja while rozpoczyna si od sowa kluczowego while
*petla while uywa wyraenia logicznego, w skrcie zwanego warunkiem
*jeeli warunek jest speniony, czyli przyjmuje warto true, caa zawarto bloku kodu
zostanie wykonana
*co to takiego blok kodu? Jest to zbir instrukcji, ktre w naszym przykadzie zostay zawarte
w nawiasach klamrowych
*jeeli warunek bdzie speniony, po wykonaniu bloku kodu, wracamy na pocztek ptli i
realizujemy go ponownie. Jeeli natomiast warunek bdzie false to ptla zostanie
zakoczona i nie wykona si instrukcja.
Na pocztku programu tworzona jest zmienna lotto, ktra przyjmuje warto 1. Nastpnie
dodano do kodu ptl, ktra sprawdza, jaka jest warto ww. zmiennej. Jeeli zmienna lotto
16
jest mniejsza od 7 to nastpuje losowanie liczby oraz zwikszenie wartoci zmiennej lotto.
Zmienna stanu jest modyfikowana tylko i wycznie w przypadku, gdy zostao wpisane
poprawne haso. Po modyfikacji wartoci zmiennej stanu na True, program przechodzi do
koca ptli i koczy jej dziaanie a take programu dalej nie ma instrukcji.
Proponuj wprowadzi wizualizacj graficzn dziaania ptli - ok
do
instrukcja do
wykonania
while( warunek )
Przykad
Lotto = 6
do
{
Losowanie liczby lotto;
Lotto = lotto + 1;
} while (lotto < 7) lub (lott<=6) // w obu przypadkach ptla wykona si 6 razy
for ( warunek )
instrukcja do
wykonania
Przykad
Maszyna do losowanie liczb lotto tym razem przy wykorzystaniu ptli for
for( lotto=1; lotto<=6; lotto=lotto+1)
17
II.1 Biblioteki
Kady jzyk posiada biblioteki, po zaczeniu ktrych moemy korzysta z funkcji, procedur
oraz instrukcji.
18
Tworzymy funkcj, ktra bdzie oblicza redni ocen, a nastpnie informowa o tym, czy
ucze ma czerwony pasek czy nie.
nr_dziennik = 13
oceny = [ 4,4,4,5,5,5]
srednia = (oceny[0] + oceny[1] + oceny[2] + oceny[3] + oceny[4] + oceny[5])/6
if (srednia >= 4,75 )
pisz ("gratuluj")
else
pisz ("moe uda si za rok")
nr_dziennik = 18
oceny = [ 4,4,4,2,5,5]
srednia = (oceny[0] + oceny[1] + oceny[2] + oceny[3] + oceny[4] + oceny[5])/6
if (srednia >= 4,75 )
pisz ("gratuluj")
else
pisz ("moe uda si za rok")
Co zauwaylicie, dokonujc analizy powyszego kodu? Wybierzcie poprawne odpowiedzi
Kod si powtarza,
Gdybymy chcieli zrobi analiz wszystkich uczniw w klasie, musielibymy powtrzy kod
wiele razy co wymaga sporej pracy,
Czy mona ten powtarzalny kod zapisa raz, a wykona tyle razy, ile program bdzie
potrzebowa? To moliwe wanie dziki zastosowaniu funkcji. To tak jak w przypadku
funkcji pisz, ktra wywietla komunikaty na ekranie.
II.2 Funkcje
19
function nazwa_funkcji ()
instrukcja funkcji
Definicja funkcji rozpoczyna si od sowa kluczowego function, a nastpnie jest podawana
nazwa funkcji.
Stworzenie funkcji to tzw. deklaracja funkcji. Cay kod, ktry naley do danej funkcji ma
mniejsze znaczenie od samej deklaracji tak samo jak kod w ptlach i warunkach, dlatego
jest inaczej wyrwnany.
zmiennych
programie
20
ono
dotyczy
rwnie
skomplikowanych
algorytmw
obliczeniowych
czy
21
rozpowszechnionym
programowanie
obiektowe,
paradygmatem
gdzie
wykonywany
(wzorcem)
program
programowania
skada
si
jest
obiektw
rzeczywistoci
posiada pewne
}
FUNCTION POLE() //DEKLARACJA FUNKCJI POLE ZWRACAJCEJ POLE POWIERZCHNI KWADRATU O
ZADEKLAROWANEJ DUGOCI BOKU
{
RETURN DLUGOSC_BOKU* DLUGOSC_BOKU;
22
{
RETURN 4* DLUGOSC_BOKU;
}
}
KWADRAT
PRINT(POLE KWADRATU WYNOSI , KWADRAT.POLE()); //WYPISANIE WARTOCI FUNKCJI POLE DLA OBIEKTU
KWADRAT
PRINT(OBWD KWADRATU WYNOSI, KWADRAT.POLE());//WYPISANIE WARTOCI FUNKCJI OBWD DLA
OBIEKTU KWADRAT
23
24
programowania lub
ktrej
deklaracja jest
poprzedzona
wymaganym
sowem
np.
(constructor).
Wikszo aplikacji musi pobiera dane do przetworzenia mog to by dane pobierane np.
z klawiatury, graficznego interfejsu uytkownika, plikw czy bazy danych. Przetworzone
dane mog by przekazywane wywietlane na ekranie (tzw. urzdzenia wyjcia), zapisane
do pliku czy przekazane do bazy danych.
W zalenoci od jzyka programowania funkcje zwizane z odczytywaniem i zapisywaniem
danych dostpne mog by w zewntrznych bibliotekach.
25
VAR
ZMIENNA: INTEGER; //DEKLARACJA ZMIENNEJ LICZBOWEJ
/*UWAGA OD AUTORA:
W ZALENOCI OD UYWANEGO JZYKA PROGRAMOWANIA
NIE BY WYMAGANA.
*/
FUNKCJE WYPISUJCE DANE NA EKRAN CZSTO POZWALAJ CZY WIELE ZMIENNYCH, WYWIETLA
WYNIKI OPERACJI NA ZMIENNYCH CZY CZY JE Z DOWOLNYMI ACUCHAMI ZNAKW, NP.:
VAR
LICZBA1, LICZBA2: INTEGER; //DEKLARACJA ZMIENNEJ LICZBOWEJ
PRINT(TEN PROGRAM OBLICZA SUM DWCH LICZB );
PRINT(PODAJ PIERWSZ LICZB: );
LICZBA1=READ();
PRINT(PODAJ DRUG LICZB: );
LICZBA2=READ();
PRINT(SUMA PODANYCH LICZB WYNOSI,LICZBA1+LICZBA2);
/*UWAGA OD AUTORA:
W ZALENOCI OD UYWANEGO JZYKA PROGRAMOWANIA PARAMETRY FUNKCJI WYPISUJCEJ ZMIENNE
MOG BY RNE.
*/
26
Podczas otwarcia pliku jako parametr funkcji otwierajcej plik - podajemy tryb dostpu do
pliku najczciej spotykane tryby to:
Kolejnym krokiem jest operacja odczytu lub zapisu do pliku, po ktrej naley zamkn plik
spowoduje on odczenie (zwollnienie) pliku, dziki czemu bdzie mg by wykorzystywany
przez inne programy dziaajce w systemie operacyjnym.
PLIK = OPEN(/HOME/USER/PLIK.TXT,R);
WHILE (NOT EOF)
{
LINIA_TEKSTU =READ(PLIK); //PRZYPISANIE DO ZMIENNEJ WARTOCI ZCZYTANEJ Z KLAWIATURY
IF (LINIA_TEKSTU==)
EOF=TRUE; //WCZYTANO PUST LINI, CO OZNACZA KONIEC PLIKU
27
ELSE
28
MySql
PostrgeSQL
MS Sql
SQLite
Dostp do danych zapisanych w bazach danych umoliwia jzyk SQL (ang. Structured
Query Language) strukturalny jzyk zapyta.
Najczciej wykonywane operacje dotyczce danych to:
Przy zapisie danych do bazy warto utworzy dodatkowe pole pozwalajce jednoznacznie
zidentyfikowa poszczeglny wiersz (rekord) w tabeli. Takie pole najczciej jest polem typu
liczba cakowita, ktrego warto przypisywana jest automatycznie przez serwer bazy
danych (w bazie MySql pole autoincrement). Pole, ktre jednoznacznie okrela rekord w
tabeli nazywane jest kluczem gwnym (ang. Primary Key), jest ono uywane podczas
operacji odczytu i zapisu pojedynczych rekordw w bazie.
Instrukcja utworzenia tabeli danych osobowych pracownikw w jzyku SQL (skadnia MySql)
wyglda nastpujco:
29
30
ID
imi
nazwisko
PESEL
Jan
Kowalski
Anna
Nowak
Data_urodzenia
Wynagrodzeni Liczba_dzie
e
ci
7901010023 1979-01-01
1000.00
7902030023 1979-02-03
2000.00
Odczyt danych z tabel umoliwia komenda SELECT. Poniej prezentowane jest kilka
przykadw dotyczcych wywietlania poszczeglnych rekordw:
31
Zwrci wszystkie rekordy z tabeli pracownicy, dla ktrego warto pola data urodzenia jest
wiksza ni 1979-01-31 czyli zwrci rekordy dotyczce osb urodzonych po 31 stycznia
1979.
32
Nazwa uytkownika
Haso uytkownika
34
Jak powiedziano wczeniej bazy noSQL nie wymagaj wczeniejszej definicji struktury
danych, wystarczy jedynie deklaracja kolekcji, do ktrej zapisywane bd dane o dowolnie
zdefiniowanych polach.
db.createCollection("pracownik");
db.pracownik.insert({"imie":"Anna","nazwisko":"Nowak","pesel":"7
9020300234","data_urodzenia":"1979-02-03","wynagrodzenie
":2000.00, "liczba_dzieci":0});
Kolejny wpis do bazy moe rni si definicj danych nie jest wymagane podanie
wartoci poszczeglnych pl, ktre zostay zdefiniowane wczeniej, mog by wstawiane
zupenie inne dane.
db.pracownik.insert({"imie":"Jan","nazwisko":"Kowalski","pesel":"
79010100234","data_urodzenia":"1979-01-01","wynagrodzenie
":1000.00, "numer_telefonu":"501 501 501"});
Po dodaniu danych serwer bazy danych automatycznie nada identyfikator wprowadzonemu
rekordowi bdzie on zapisany w polu _id. Automatyczne indeksowanie kolejnych rekordw
moe by wyczone na etapie tworzenia kolekcji.
db.pracownik.find()
Zwrci wszystkie pola tabeli pracownicy
db.pracownik.find().sort({"nazwisko":1, "imie":1})
db.pracownik.find({_id:2})
Zwrci wszystkie pola z rekordu, dla ktrego warto pola _id (klucz gwny) wynosi 2 z
tabeli pracownicy.
$gt wiksze ni
$lt mniejsze ni
Zwrci wszystkie rekordy pracownikw, dla ktrych warto pola data urodzenia jest
wiksza ni 1979-01-31 czyli dane dotyczce osb urodzonych po 31 stycznia 1979. W
celu porwnywania danych uywane s nastpujce operatory:
Aby zmieni wartoci poszczeglnych pl w tabelach naley uy komendy UPDATE.
Przykadowa skadnia polecenia przedstawiona jest poniej:
db.pracownik.remove({})
Usuwa wszystkie rekordy z tabeli pracownicy.
db.pracownik.remove({"nazwisko":"Kowalski"})
Usuwa pracownika o nazwisku Kowalski
Wikszo nowoczesnych jzykw programowania zawiera biblioteki obsugujce bazy
noSQL ich obuga najczciej podobna jest do obsugi baz SQL, z t rnic, e dostp do
danych nie jest zapewniany przez zapytania SQL ale przy pomocy odpowiednich metod
obiektu reprezentujcego baz danych.
Oglna posta dostpu do bazy noSQL wyglda w sposb nastpujcy:
37
Interfejs/tryb
Nowoczesne aplikacje najczciej pracuj w trybach graficznych, dziki czemu ich wygld
jest bardziej przyjazny dla uytkownika. Graficzna prezentacja dziaa aplikacji oraz
38
39
Jakie treci bd prezentowane w naszej aplikacji? Biorc pod uwag, jakie dane
nasza aplikacja bdzie prezentowa uytkownikowi mona zastosowa rne
metody jej prezentacji inaczej wyglda bdzie katalog produktw w sklepie
internetowym,
inaczej
prezentowane
bd
dane
dotyczce
przepyww
finansowych.
Bardzo czsto interfejs urzdzenia czy aplikacji jest kluczowy w jej postrzeganiu przez
odbiorcw i moe zadecydowa o sukcesie lub porace danego produktu na rynku.
Doskonaym przykadem s projekty systemw obsugujcych telefony dotykowe w roku
2007 - czasie premiery przeomowego urzdzenia, jakim by telefon iPhone firmy APPLE.
Poniej prezentowane s interfejsy systemw Windows Mobile oraz iPhone OS (obecnie
iOS). Pierwszy z nich zawiera kilka tekstowych skrtw na pulpicie oraz znana z systemw
Windows Menu Start, drugi komunikuje si z uytkownikiem przy pomocy kolorowych ikon.
Dodatkowo do interfejsu dotykowego telefonu wprowadzono bardzo naturalne gesty
pozwalajce na wykonywanie rnych operacji, ktre bardzo przyspieszyy obsug
urzdzania i poszczeglnych aplikacji.
40
41
aplikacji
graficznych
przeznaczonych
dla
konkretnego
systemu
42
Pole tekstowe (ang. Text Box) najczciej jednoliniowe pole, w ktrym mona wprowadza
tekst przetwarzany przez program. W zalenoci od rodowiska programistycznego istnie
mog rne rodzaje pl tekstowych, np. zawierajce maski wprowadzania danych
pozwalajcych wprowadza dane tylko w okrelonym formacie, pola pozwalajce na wybr
dat, pola tekstowe z elementami zwikszania lub zmniejszania wartoci czy pola
wprowadzania hasa.
Obszar tekstu uywany na stronie www
43
Obszar tekstu (ang. Text Area) pole, w ktrym mona wprowadza dane tekstowe
zawierajce wicej ni jedn lini tekstu
44
Lista wyboru (ang. Select List) Lista rozwijana pozwalajca wybra jedn (lub kilka) z
dostpnych opcji.
45
Przyciski opcji jednokrotnego wyboru (ang. Radio Button) przyciski pozwalajce wskaza
jedn z dostpnych opcji.
46
Przyciski opcji wielokrotnego wyboru (ang. Check Box) przyciski pozwalajce wskaza wiele
z dostpnych opcji.
47
48
Przyciski sterujce oknem (ang. Minimize button, maximize buton , close button) przyciski
znajdujce
si na grnym
jego zminimalizowanie,
49
Paski przewijania (ang. Scroll Bar) paski pozwalajce na przesunicie zawartoci okna,
dziki czemu uytkownik widzi na ekranie interesujcy go fragment przetwarzanych czy
wywietlanych danych
50
Wejcie kursora myszy (ang. mouse over) - uruchomienie kodu rdowego w momencie,
kiedy kursor myszy pojawia si ponad danym elementem.
Wyjcie kursora myszy (ang. Mouse out) - uruchomienie kodu rdowego w momencie,
kiedy kursor myszy przesunie si poza dany element.
Nacinicie klawisza (ang. Key down) - uruchomienie kodu rdowego w momencie, kiedy
naciskany jest klawisz na klawiaturze przed wywietleniem/przekazaniem okrelonego
znaku.
Przytrzymanie klawisza (ang. Key press) - uruchomienie kodu rdowego w momencie,
kiedy naciskany jest klawisz na klawiaturze po wywietleniu/przekazaniu okrelonego znaku
Zwolnienie klawisza (ang. Key Up) - uruchomienie kodu rdowego w momencie, kiedy
klawisz na klawiaturze jest zwalniany.
51
Tworzc
aplikacj
poza
samym
obliczeniem
wyniku,
warto
stworzy
dodatkowe
52
53
{
if (this.key<0 and this.key>9) //sprawdzenie czy nacinito
klawisze z poza zakresu 0..9
{
alert(To pole moe przyjmowa tylko wartoci tekstowe);
//wywoanie funkcji wywoujce okno ostrzeenia.
return false;
}
return true;
}
}
Class OperacjaSelectClass : SelectClass{ //deklaracja klasy o
nazwie OperacjaSelectClass jako klasa pochodna od klasy
SelectClass
function OperacjaSelectClass () //deklaracja konstruktora obiektu
funkcja nazywana tak samo jak klasa, ktrej zadaniem jest
przypisanie wasnoci klasy.
{
this.left =220; //przypisanie waciwoci odpowiadajcej pozycji X
na ekranie.
this.top =0; //przypisanie waciwoci odpowiadajcej pozycji Y na
ekranie.
this.height=20; //przypisanie waciwoci odpowiadajcej
wysokoci obiektu.
55
return true;
}
function OnClick () //deklaracja funkcji obsugujcej zdarzenia
nacinicia klawisza
{
if ((OperacjaSelect.GetValue()==/)and
Liczba2TextBoxClass.GetValue()==0)) //sprawdzenie czy warto
wybrana w obiekcie OperacjaSelect to dzielenie oraz czy warto
wprowadzona w obiekcie Liczba2TextBox wynosi 0
{
alert (Dzielenie przez 0 nie jest dozwolone);
return false;
}
else
{
swith (OperacjaSelect.GetValue())
{
case :+
wynik=
Liczba1TextBoxClass.GetValue()+Liczba2TextBoxClass.GetValue();
break;
case :-
wynik= Liczba1TextBoxClass.GetValue()Liczba2TextBoxClass.GetValue();
57
break;
case :*
wynik=
Liczba1TextBoxClass.GetValue()*Liczba2TextBoxClass.GetValue();
break;
case :/
wynik=
Liczba1TextBoxClass.GetValue()/Liczba2TextBoxClass.GetValue();
break;
}
WynikLabel.SetLabel(Wynik dziaania wynosi+wynik);
return true;
}
}
}
Class WynikLabelClass : LabelClass{ //deklaracja klasy o nazwie
WynikLabelClass jako klasa pochodna od klasy LabelClass
function WynikLabelClass () //deklaracja konstruktora obiektu
funkcja nazywana tak samo jak klasa, ktrej zadaniem jest
przypisanie wasnoci klasy.
{
this.left =540; //przypisanie waciwoci odpowiadajcej pozycji X
na ekranie
58
59
60
rozmiary i formy. Niezalenie jednak od tego jak dua i zoona aplikacja bdzie efektem
projektu jej powstawanie powinno zosta zaplanowane, zrealizowane oraz zewaluowane
zgodnie z wybran metodyk zarzdzania projektem. Dlaczego?
Podstaw do stworzenia ciekawej, potrzebnej, rwnie sprzedajcej si aplikacji jest dobra
koncepcja. Koncepcja ta powinna zosta przedyskutowana w zespole projektowym,
zweryfikowana z rynkiem, a potrzeba, cele jej realizacji oraz zakres funkcjonalny powinny
zosta poparte badaniem potrzeb. Jeeli aplikacja jest tworzona przez uczniw mini badanie
potrzeb moe zosta przeprowadzone w szkole, wrd rwienikw i nauczycieli. Projekt
aplikacji to praca zespoowa wymagajca wsppracy uczniw specjalizujcych si w
rnych dziedzinach informatyki: programistw, grafikw, testerw itp. Kady z uczniw w
projekcie pierwsza aplikacja odpowiedzialny jest za inn grup zada, a koordynacja pracy
bez zastosowania odpowiednich zasad zarzdzania projektem moe okaza si bardzo
trudna. Kady zesp projektowy rwnie zesp projektowy w projekcie pierwsza
aplikacja potrzebuje lidera, ktry zorganizuje wszelkie dziaania projektowe, stworzy zesp
projektowy, zaplanuje prace, dopilnuje aby zadania zostay wykonane w terminie zgodnie z
harmonogramem, z naleyt jakoci, zadba o komunikacj pomidzy czonkami zespou
projektowego, zapewni przestrze do dyskusji, zadba o testowanie prototypu projektu ect.
Aby dziaania te byy moliwe, efektywne warto korzysta ze sprawdzonych metodyk
zarzdzania projektami. Podobnie jak wielkie przedsibiorstwa, uczniowie w swoich
projektach
musz
zadba
odpowiednie
warunki
prowadzenia
projektw
oraz
zaoe,
specyfikacji
projektowych,
wanie
takich
sytuacjach
61
okrela
projekt
jako:
zoone,
niepowtarzalne
zarazem
tymczasowe
okrelona
zmiana)
Projekty kocz si z chwil osignicia celu lub gdy okae si, e nie da si ich
osign w okrelonym czasie, przy zaoonych ograniczeniach czasowych lub
budetu,
62
po
okrelonych
Uwaga czy jest moliwo wykonania podobnego rysunku-ten jest z internetu i jest tylko
inspiracj dla grafika. Optymalnie byoby zrobi to interaktywnie, aby po klikniciu na
poszczeglne cechy pojawia si opis. Jeli nie to chociaz grafika, jeli jest to niemozliwe to
uswamy podsumowanie i zostan tylko wymienione powyej cechy.
63
okrelania
planowania,
organizowania,
kontroli
prowadzenia
tych
64
VI.2.1 PMI
PMI czyli Project Management Institute powsta w 1969 roku jako oglnowiatowa
midzynarodowa organizacja skupiajca ronego typu firmy oraz indywidualne osoby
zajmujce si prowadzeniem projektw. Nastpnie dynamicznie si rozwijaa wraz z
rozwojem praktyki oraz teorii zarzdzania. Obecnie jest ona organizacj non-profit, zrzesza
ok. 300000 czonkw, jest rwnie organizacj certyfikujc profesjonalnych kierownikw
projektw, a sygnowane przez ni certyfikaty nale do najbardziej uznanych na wiecie.
Gwnym celem PMI jest doskonalenie praktycznego zarzdzania projektami, stay rozwj
wszelkich metod, technik i narzdzi wspomagajcych wspczesne zarzdzanie projektami.
PMI to najpopularniejsza metodyka zarzdzania projektami technologicznymi gwnie w
zakresie: projekty informatyczne, inynieria oprogramowania, projektowanie systemw
teleinformatycznych. Metodyka ta powstaa na bazie praktycznych dowiadcze w celu
podniesienia
jakoci
oraz
efektywnoci
realizacji
projektw.
Konieczno
65
1.Procesy rozpoczcia - procesy, ktre maj na celu zdefiniowaniu projektu oraz powoanie
go w organizacji.
2.Procesy planowania procesy, ktre definiuj sposb realizacji celw projektu,
wykorzystania rodkw finansowych na jego realizacj, terminw realizacji projektu,
kolejnoci realizacji poszczeglnych dziaa, odpowiedzialnoci za ich realizacj.
3.Procesy realizacji procesy, ktre grupuj dziaania realizowane w projekcie, koordynuj
wykorzystaniem zasobw projektowych w celu realizacji zaoe oraz planw projektu.
4.Procesy kontroli procesy, ktre monitoruj postpy realizacji dziaa w projekcie,
pomagaj zidentyfikowa ewentualne odchylenia w planie realizacji projektu, a nastpnie
podj dziaania zaradcze, naprawcze
5. Procesy zakoczenia procesy, ktre przygotowuj formaln akceptacj zakoczenia
projektu, akceptacj realizacji jego celw.
PMBOK definiuje nastpujce obszary zarzdzania projektem:
Projektem zgodnie z metodyk PMI zarzdza kierownik projektu. Kady projekt jest inny,
jeli nawet w jego ramach realizujemy podobny produkt czy usug, zawsze dziaamy w
zrnicowanych okolicznociach oraz z ryzykiem co do ksztatu osignicia ostatecznych
wynikw. Dlatego wanie warto stosowa metodyki zarzdzania projektami, dziel one
bowiem projekt na etapy, fazy co pozwala lepiej zapanowa nad realizacj celw, dokadniej
analizowa wszelkie zamierzone dziaania. Poszczeglne fazy projektu skadaj si na tzw.
cykl ycia projektu. Kada z faz dostarcza okrelonych rezultatw kocowych bdcych
podstaw prac w kolejnej fazie. Cykl ycia projektu okrela dziaania podejmowane na
pocztku kadej fazy oraz efekty jej zakoczenia, nazywamy to podejciem procesowym.
Podejcie procesowe jest charakterystyczne w metodyce PMI.
66
VI.2.2 Prince
PRINCE2 (PRojects IN a Controlled Environment) kolejna bardzo popularna metodyka
zarzdzania projektami. Powstaa ona w Wielkiej Brytanii w 1989 roku w jednej z rzdowych
agend Central Computer and Telecommunications Agency (CCTA) jako dokument pod
nazw PRINCE. Ju w pierwotnej formie by to dokument opisujcy zbir najlepszych
praktyk zarzdzania projektami zebranych w czasie realizacji rnego rodzaju projektw,
lecz w znacznej mierze projektw informatycznych. W 1996 roku opublikowana zostaa
kolejna wersja dokumentu pod nazw PRINCE2 jako oglna metodyka zarzdzania
projektami we wszystkich dziedzinach. Bardzo szybko zyskaa ona popularno, a wrcz
staa si standardem zarzdzania projektami w Wielkiej Brytanii. Obok PMI staa si drug
najpopularniejsz metodyk zarzdzania projektami na wiecie.
PRINCE2 stawia na tzw. ustrukturyzowane zrzdzanie projektem z zastosowaniem
logicznych etapw, zasad, wykonywania okrelonych dziaa w okrelonej kolejnoci.
Metodyka ta jako kluczowy cel realizacji projektu definiuje potrzeb biznesow realizacji
projektu, sam projekt jest rodowiskiem zarzdzania stworzonym na potrzeby realizacji tej
potrzeby biznesowej. Potrzeb biznesow stanowi realizacja produktu lub usugi, a jej
realizacja zwizana jest ze specyficznymi potrzebami biznesowymi danej organizacji.
Projekt realizowany zgodnie z metodyk Prince 2 posiada okrelony czas realizacji
(okrelony pocztek i koniec), okrelone wyniki realizacji projektu (zdefiniowane i mierzalne),
okrelony system dziaa realizacji projektu (okrelony przebieg realizacji projektu),
okrelone zasoby (ludzkie, rzeczowe, finansowe, informacyjne), okrelon struktur
organizacyjn projektu ( w tym struktur zarzdzajca). Metodyk PRINCE2 wyrnia
siedem obszarw zarzdzania projektem: uzasadnienie biznesowe, organizacja, jako,
plany, ryzyko, zmiana, postpy. Projektem zgodnie z metodyk Prince 2 zarzdza kierownik
projektu oraz komitet sterujcy ( grupa w skad ktrej wchodz przedstawicie 3 stron
inwestora, dostawcy i uytkownika). Metodyka Prince 2 to metodyka procesowa, precyzyjnie
definiuje ona 8 gwnych procesw realizacji projektu co stanowi szczegowy model
zarzdzania projektem. Metodyka ta opisuje cykl ycia projektu z dokadnym okreleniem
jego faz oraz realizowanych dziaa. Osiem gwnych procesw metodyki Pince 2 to:
67
projektowych,
szacowanie
pracochonnoci
dziaa
Projektu
przygotowuj
projekt
grupa
to
procesw
uruchomienia
metody,
analiza
zasadnoci
ekonomicznej
realizacji
sterowania
projektu,
projektem,
www.ogc.gov.uk/prince2
68
VI.2.3 SCRUM
Od kilku lat na popularnoci zyskuj tzw. zwinne (adaptacyjne) metodyki zarzdzania tzw.
Agile Project Management, wrd ktrych najpopularniejszy jest SCRUM. Jest to zbir
zasad, regu pozwalajcych na stworzenie swojego wasnego procesu zarzdzania
projektem. Czsto mona spotka si z opinia i SCRUM to nie metodologia ale proces o
niepowtarzalnym przebiegu, konstruowany indywidualnie na potrzeby realizacji projektu lub
usugi przez organizacj lub osob indywidualn. Autorami SCRUM s dwaj Japoczycy ,
ojcowie zakresie zarzdzania wiedz - Hirotaka Takeuchi i Ikujiro Nonaka. Nastpnie
zosta on opisany przez Kena Schwabera oraz Jeffa Sutherlanda i po raz pierwszy zosta
zaprezentowany w Texasie w 1995 roku podczas konferencji OOPSLA (obecnie -Splash).
SCRUM tworzy podstaw dziaania w zarzdzaniu projektem zgodn z koncepcj zwinnoci
-metodyk agile, ktre powstay na fali niezadowolenia wobec sztywnych i silnie
sformalizowanych metodyk wytwarzania oprogramowania oraz zarzdzania projektami jak
np. omawiany wczeniej PMI czy Prince 2. Wedug twrcw zwinnych metodyk zarzdzania
projektami metodyki sztywne, nie byy ju adekwatne do aktualnych moliwoci technik
programistycznych, a stosowanie ich byo mao efektywne, zwaszcza w wykorzystaniu
zasobw. W zwizku z czym SCRUM sta si bardzo popularn metodyk zarzdzania
projektem w przypadku realizacji projektw bazujcych na tworzeniu produktw opartych o
prace programistyczne m.in. tworzenie aplikacji, tworzenie oprogramowanie czy systemw
informatycznych.
Szczegln role w metodyce SCRUM odgrywaj relacje midzy czonkami zespou
projektowego, czsto mwi si o tzw. samo zarzdzajcym/ samoorganizujcym si w celu
zwikszenia efektywnoci pracy zespole (najczciej bez rl i hierarchii). Zespoem
scramowym zarzdza Scrum master, osoba odpowiedzialna za cigo realizacji oraz stae
udoskonalania procesw, jak rwnie o zewntrzne problemy zespou. Cel projektu oraz
cele danego sprintu(etapu realizacji projektu w metodyce SCRUM) wyznacza Product
Owner (waciciel produktu). Zesp projektowy to Team s to osoby o zrnicowanych
kompetencjach, sami decyduj, ile s w stanie wykona w danym sprincie oraz jak dane
prace wykona - w jakiej technologii, z uyciem jakich narzdzi, dlatego tylko najlepsi
specjalici o bardzo wysokich kompetencjach oraz ogromnej odpowiedzialnoci i dojrzaoci
mog wej w skad zespou.
69
SCRUM bazuje na empirycznej kontroli procesu, ktrej trzy gwne filary realizacji projektu
to przejrzysto, kontrola i akceptacja. Wszystkie dziaania w projekcie realizowane zgodnie
z metodyka SCRUM bazuj na cile okrelonych kryteriach czasu.
1. Sprint - podstawow jednostk czasu w SCRUMIE jest Sprint czyli etap projektu
trwajcy od tygodnia do czterech tygodni, w czasie ktrego trwa jedna iteracja pracy
nad produktem. Dugo Sprintu ustalana na cay czas trwania projektu i nie zmienia
si. Kady Sprint ma cile okrelony cel tzw Cel Sprintu, nad osigniciem ktrego
pracuje zesp czyli Team. W czasie
samym
miejscu
np.
wszystkich
interesariuszy
zainteresowani
przebiegiem
projektu. Spotkanie takie odbywa si w ostatnim tygodniu sprintu, trwa kilka godzinmax4.
70
http://www.scrum.org/
VI.3.Specyfika projektw
1. Klasyfikacja
telekomunikacja
2. Klasyfikacja
3. Klasyfikacja projektw poprzez ich znaczenie projekty mog mie dla organizacji
rne znaczenie np. mog to by projekty strategiczne lub projekty taktyczne.
4. Klasyfikacja
projekty przyjmuj
5. Klasyfikacja
zlecenie
rny zakres,
kompleksowe,
na
realizacj
71
7. Klasyfikacja
8. Klasyfikacja
zalenoci od skali ich realizacji oraz zasigu oddziaywania rezultatw projektu np.
projekty wewntrz organizacyjne, projekty gminne, projekty krajowe, projekty
europejskie ect
9. Klasyfikacja
zasobw
gwnie
budet
projektu.
Projekty
Profil projektu
Bez wzgldu na sposb przyjtej klasyfikacji rozpoczynajc realizacj projektu naley
zwrci uwag na kilka kluczowych dla realizacji projektu czynnikw, ktre definiuj tzw.
profil projektu. Po pierwsze naley ustali stopie ryzyka realizacji projektu, okreli jakie
ono jest, po drugie przed rozpoczciem realizacji projektu musimy okreli jego warto
ekonomiczn, oszacowa czas realizacji-dat rozpoczcia i zakoczenie, a nastpnie
opracowa ramowy a nastpnie szczegowy harmonogram realizacji projektu. Bardzo
istotne jest rwnie okrelenie stopnia zoonoci projektu, musimy dokadnie wiedzie jak
zoony jest projekt, aby mc to zdiagnozowa jak zoone jest wewntrzne oraz zewntrzne
rodowisko
realizacji
projektu.
Niezmiernie
istotne
zwaszcza
przy
projektach
72
jest
rwnie
struktura
zarzdzania
projektem,
szczegowe
73
oraz tzw. punkty kontrolne projektu czyli momenty realizacji projektu w ktrych projekt
kontrolujemy. W opracowywaniu planu kontroli projektu bardzo istotna jest rwnie
znajomo
ogranicze
projektowych.
Cao
etapu
trzeciego
podsumowane
jest
I etap plan realizacji w ramach tego etapu identyfikowane s potrzeby realizacji projektu
oraz wymagania stawiane wobec projektu, nastpnie definiowane s konkretne cele
projektu, ktrych realizacji ma zapewni osignicie podanej jakoci rezultatw projektu
(realizacj okrelonego produktu lub usugi). Etap pierwszy koczy si wyborem najlepszego
sposobu osignicia celu projektu, odzwierciedlonym w opracowanym w budecie i
harmonogramie.
II etap organizacja procesu w ramach etapu drugiego realizowane s wszelkie dziaania
koordynacyjne
projektu
takie
jak
koordynacja
wykorzystania
wszelkich
zasobw
74
Szczeglnie istotna w zarzdzaniu projektem jest rola kierownika projektu. Musi on posiada
szereg umiejtnoci pozwalajcych mu na skuteczn realizacj projektu. Naley o tym
pamita ju przy realizacjach pierwszych projektw. Do kluczowych cech kierownika
projektu zaliczy naley:
Umiejtno
rzeczowymi, informacyjnymi)
Umiejtno
prognozowania
ryzyk
projektowych
zarzdzania
nimi
przed
Umiejtno
Umiejtno
rodowiskiem projektu
Niezwykle istotne jest dowiadczenie kierownika oraz umiejtno przewidywania skutkw
podejmowanych decyzji, przy jednoczesnej szybkoci, prawnoci i trafnoci w ich
podejmowaniu, szczeglnie w przypadku pojawienia si trudnoci w projekcie. Mistrzostwo
kierownika projektw moemy pozna podobnie jak w przypadku mistrza szachowego po
umiejtnoci przewidywania kilu krokw w przd konsekwencji podejmowanych decyzji.
Zarzdzania projektami znaczco optymalizuje dziaanie wielu organizacji, jednak projekty
obcione s rwnie niepowodzeniami. Szczeglnie wiele napi odczuwa kierownik
projektu ktry jest katalizatorem pomidzy otoczeniem zewntrznym projektu ,a zespoem
projektowym. W zarzdzaniu projektami niepowodzenia najczciej wynikaj z:
VII Bibliografia
1. P. Charette, A. Mitchell, S. Mazur (red.), E. McSweeney, Poradnik
dla
samorzdw
2009,
wydanie
elektroniczne
3. A Guide to the Project Management
76
6. Analiza i projektowanie obiektowe. Rusz gow!, Brett D. McLaughlin, Gary Pollice, David
West, OREILLY
7. http://matblog.pl/jak-pisac-pseudokod-czy-jest-to-komus-potrzebne/
8. http://kursjs.pl
9. https://pl.wikipedia.org/
Polecana literatura
1. Project Management Institute (PMI) -A Guide to the Project Management Body
of
2009.
4. Robert
zarzdzanie
projektami,
Zarzdzanie
projektami.
Bartosz
Grucza,
Krzysztof
Ogonek.
organizacjach. MT&DC.
Warszawa, 2001.
8. Zdzisaw
Szyjewski.
Zarzdzanie
projektami
informatycznymi.
Placet.
Warszawa, 2001.
9. Joseph
10. UX i analiza ruchu w sieci. Praktyczny poradnik Michael Beasley, Wydawnictwo Helion,
2014
1. Funkcjonalno aplikacji mobilnych. Nowoczesne standardy UX i UI, Jakob Nielsen, Raluca
Budiu, Wydawnictwo Helion, 2013
2. Magia interfejsu. Praktyczne metody projektowania aplikacji internetowych, Robert
Hoekman jr, Wydawnictwo Helion, 2010
3. Projektowanie nawigacji strony WWW. Optymalizacja funkcjonalnoci witryny, James
Kalbach , Wydawnictwo Helion, 2012
77