pytania obrona inz internetu odp wer 2, Informatyka ekonomiczna - prof


Informatyka ekonomiczna - prof. zw. dr hab. inż. Ryszard Budziński

1. Inżynieria Internetu - cel i zakres prowadzenia kierunku edukacyjnego.

Studia inżynierskie pierwszego stopnia "Inżynieria Internetu" kształcą specjalistów z zakresu informatyki, przygotowanych do podjęcia działalności inżynierskiej i pracy w zawodzie informatyka oraz do rozwiązywania złożonych, interdyscyplinarnych problemów z dziedziny szeroko pojętej informatyki.
Absolwenci specjalności wykazują się umiejętnością: realizacji i weryfikacji komponentów systemów informatycznych zgodnie z ich specyfikacją, administrowania średniej wielkości systemami informatycznymi, praktycznego posługiwania się narzędziami informatycznymi i programowania. Ponadto posiadają wiedzę i umiejętności techniczne w zakresie obsługi sprzętu informatycznego i oprogramowania.
Oprócz nauki o komputerach i systemach informatycznych absolwenci otrzymują podstawy wiedzy o zarządzaniu, finansach, rachunkowości oraz o problemach prawnych związanych z szeroko rozumianą działalnością gospodarczą przez co są dobrze przygotowani do sprostania oczekiwaniom zmieniającego się rynku i ewentualnego podjęcia własnej działalności gospodarczej. Studia przygotowują do podjęcia pracy w przedsiębiorstwach, instytucjach i administracji na stanowiskach wymagających wiedzy i umiejętności dotyczących efektywnych zastosowań metod oraz technicznych i programowych środków informatyki. Absolwenci mogą pracować m.in. na stanowiskach:

2. Organizacje wirtualne - pojęcie i forma funkcjonowania przestrzeni gospodarczej w Internecie.

Organizacja wirtualna - typ organizacji odchodzący od tradycyjnego dążenia do integracji procesów wewnątrz przedsiębiorstwa, a dążący do tworzenia luźnych związków podmiotów gospodarczych. Organizacja wirtualna jest związkiem niezależnych organizacji gospodarczych tworzonym na zasadzie dobrowolności. Współpraca podmiotów w ramach organizacji wirtualnej może przebiegać na podstawie różnych typów umów wybranych przez uczestników organizacji. Organizacja wirtualna jest powoływana w celu wykorzystania konkretnej okazji rynkowej, więc z założenia czas jej trwania jest ograniczony. Jest organizacją, w której każdy z podmiotów jest skupiony na jednym rodzaju działalności, w którym jest szczególnie biegły. Podstawą przynależności jest posiadanie zasobów (wiedzy, technologii, personelu, majątku) generujących wartość dodaną w procesie gospodarczym, do którego wykonywania organizacja wirtualna została powołana. Nierzadko poszczególne podmioty należące do organizacji są rozproszone geograficznie. Komunikacja między podmiotami oparta jest na sieciach komputerowych. Ten typ organizacji umożliwia mniejszym firmom po połączeniu w sieć uzyskiwanie korzyści dostępnych wcześniej dla przedsiębiorstw większych. Z punktu widzenia klienta organizacja wirtualna może być postrzegana jako jeden organizm gospodarczy, a nie zbiór mniejszych przedsiębiorstw.

Programowanie komputerów I - dr Jakub Swacha

1. Podstawowe cechy programowania strukturalnego.

Programowanie strukturalne to paradygmat programowania zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Chodzi przede wszystkim o nieużywanie (lub ograniczenie) instrukcji skoku (goto). Dobrymi strukturami są np. instrukcja warunkowe (if, if...else), pętle (while, repeat), wyboru (case, ale nie switch z C i potomnych). Strukturalność zakłócają instrukcje typu: break, continue, switch (w C itp.), które jednak w niektórych przypadkach znacząco podnoszą czytelność kodu.

2. Języki interpretowane a kompilowane: przykłady, wady i zalety.

Języki interpretowane to języki programowania, które zazwyczaj implementowane są w formie interpretera, a nie kompilatora. Teoretycznie każdy język może być kompilowany i interpretowany, dlatego rozróżnienie to polega na najczęściej stosowanych rozwiązaniach, a nie zależy od cech samego języka. Program w języku interpretowanym nie jest kompilowany, lecz jest przechowywany w postaci kodu źródłowego i dopiero podczas uruchomienia wczytywany, interpretowany i wykonywany przez interpreter języka.

Języki interpretowane ułatwiają pisanie programów przenośnych, czyli zgodnych z wieloma systemami operacyjnymi.

Przykładowe języki interpretowane to: Bash, Maxima, Perl, PHP, Python, Ruby

Język kompilowany - język programowania, który by uzyskać działający program musi zostać wpierw skompilowany do postaci kodu maszynowego (inaczej: do postaci binarnej, w slangu komputerowym binarka). Najpopularniejszymi takimi językami są C++, C, Pascal. Teoretycznie każdy język może być zarówno kompilowany jak i interpretowany, dlatego rozróżnienie opiera się raczej na najpopularniejszych implementacjach niż na cechach samego języka.

Skompilowana postać programu jest zazwyczaj przeznaczona dla konkretnej architektury. Program skompilowany dla procesora x86 nie zadziała na procesorze SPARC. Wyjątkiem jest tutaj Java, która po kompilacji daje kod maszynowy dla maszyny wirtualnej. Elementy specyficzne dla architektury są w tym przypadku zawarte w maszynie wirtualnej a binarna postać programu może być uruchamiana na dowolnej architekturze (na której jest możliwe uruchomienie maszyny wirtualnej).

Projektowanie systemów informatycznych - dr Jerzy Marcinkiewicz

1.Cele i zasady normalizacji modelu relacyjnego bazy danych

Normalizacja jest to proces eliminowania nadmiarów informacyjnych w relacjach realizowany poprzez analizę zależności występujących między atrybutami relacji.

Proces normalizacji występuje prawie w każdej metodzie projektowania baz danych

Cele normalizacji:

  1. Eliminacja redundancji informacyjnej.

  2. Eliminacja anomalii występujących w relacjach.

  3. Lepsza strukturalizacja i reprezentacja zależności między atrybutami.

1NF

Pierwsza postać normalna. Jej jedynym warunkiem jest aby każda składowa w każdej krotce była atomowa (nie dawała podzielić się na mniejsze wartości). Atomowość danych jest ściśle powiązana z ich typem (nazwanym i skończonym zbiorem wartości). Ważną cechą relacji utworzonych zgodnie z modelem relacyjnym jest to, że zawsze są znormalizowane - spełniają 1NF.

2NF

Druga postać normalna zabrania, aby dla zdefiniowanego klucza istniał podzbiór atrybutów podstawowych, który identyfikuje atrybuty wtórne. Innymi słowy - aby każdy atrybut wtórny tej relacji był w pełni funkcyjnie zależny od wszystkich kluczy tej relacji.

3NF

Relacja jest w trzeciej postaci normalnej tylko wtedy gdy jest w drugiej postaci normalnej i każdy atrybut wtórny jest tylko bezpośrednio zależny od klucza głównego. Innymi słowy wymaga usunięcia wszelkich pól niezwiązanych z kluczem głównym.

2.Zasady projektowania interfejsu użytkownika systemu informatycznego

Bazy danych - dr Barbara Królikowska

1. Obiektowy model danych: definicja danych, operowanie danymi, integralność danych.

Obiektowa baza danych to zbiór obiektów, których zachowanie się, stan oraz związki są określone zgodnie z obiektowym modelem danych. Obiektowy system zarządzania bazą danych jest systemem wspomagającym definiowanie, zarządzanie, utrzymywanie, zabezpieczanie i udostępnianie obiektowej bazy danych.

Obiektowe systemy zarządzania bazą danych zapewniają tradycyjną funkcjonalność baz danych, lecz bazują na modelu obiektowym. Ich atutem jest udostępnianie danych w postaci obiektowej, czyli takiej samej w jakiej dane są przechowywane w programach napisanych w obiektowych językach programowania. Znika konieczność mapowania między modelem obiektowym a modelem relacyjnym jak to ma miejsce w przypadku użycia relacyjnej bazy danych.

2. Proces normalizacji: przekształcenie do 3NF.

Relacja jest w trzeciej postaci normalnej tylko wtedy gdy jest w drugiej postaci normalnej i każdy atrybut wtórny jest tylko bezpośrednio zależny od klucza głównego. Innymi słowy wymaga usunięcia wszelkich pól niezwiązanych z kluczem głównym.

Technologie informacyjne organizacji - prof. dr hab. Zdzisław Szyjewski

1. Wymień funkcje systemu operacyjnego i omów jedna z nich.

System operacyjny (ang. skrót OS Operating System) - oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.

W celu uruchamiania i kontroli zadań użytkownika system operacyjny zajmuje się:

Dodatkowe przykładowe zadania, którymi może ale nie musi zajmować się system operacyjny to:

Wiele systemów operacyjnych posiada środowiska graficzne ułatwiające komunikacje maszyny z użytkownikiem.

2. Na czym polega zarządzanie pamięcią operacyjną komputera.

Jednym z podstawowych mechanizmów umożliwiających tworzenie niezawodnych środowisk wykonawczych są mechanizmy zarządzania i ochrony pamięci. Działanie tych mechanizmów opiera się na wsparciu sprzętowym dostarczanym przez kontrolery pamięci wbudowane w procesor (lub chipset).

Ogólna zasada polega na wydzielaniu poszczególnym procesom obszarów pamięci do wyłącznego użytku. Oznacza to, że tylko dany proces może pisać lub czytać tylko do/z danego obszaru. Próba zapisu odczytu z nieprzydzielonego procesowi obszaru kończy się wywołaniem przerwania przerywającego wykonywanie zadania.

Technicznie ochrona realizowana jest poprzez podział obszaru pamięci na segmenty i strony. Zadanie użytkownika, które jest aktywowane w danej chwili przywraca swój kontekst poprzez ustawienie odpowiednich rejestrów CPU jak i również rejestrów kontrolnych jednostki zarządzania pamięcią.

Dzięki ochronie pamięci awaria jednego zadania i próba błędnego nadpisana przestrzeni adresowej innych zadań jest niemożliwa. W ten sposób są również chronione dane potrzebne systemowi operacyjnemu do działania, przez co można zatrzymać uszkodzone zadanie. Aktywność systemu operacyjnego jak i elementów typu sterowniki sprzętowe odbywa się w trybie kernel w którym ochrona pamięci nie działa lub jest mocno ograniczona (zależnie od rodzaju CPU). Wobec tego jest możliwe awaryjne zatrzymanie systemu na skutek błędnego działania kodu systemu operacyjnego lub sterowników sprzętowych.

3. Na czym polega zarządzanie danymi zapisanymi na dysku.

System plików - metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin.

Systemy plików stosuje się dla różnych nośników danych, takich jak dyski, dyskietki, a także w strumieniach danych, sieciach komputerowych, pamięciach. We współczesnych systemach operacyjnych bezpośrednie operowanie na danych w plikach zarezerwowane jest tylko dla systemu operacyjnego, aplikacje mają dostęp tylko do operacji na plikach i mają zabroniony bezpośredni dostęp do nośnika danych.

Z formalnego punktu widzenia system plików to reguły umieszczania na nośniku abstrakcyjnych danych oraz informacji umożliwiających przechowywanie tych danych, łatwy i szybki dostęp do informacji o danych oraz do tych danych, manipulowania nimi a także sposobach usuwania ich.

Większość systemów operacyjnych posiada własny (macierzysty) system plików, rozwijany równolegle z nim (np. FAT w DOS-ie, NTFS w Microsoft Windows NT lub ext/ext2/ext3/ext4 i ReiserFS/Reiser4 w Linuksie), ze względu na pewne specyficzne właściwości nadawane plikom (np. atrybut wykonywalności pliku), podobnie jak niektóre nośniki danych (np. ISO 9660 i UDF na CD-ROM/DVD), jednak sam system plików jest niezależny od nich. Same systemy operacyjne (w szczególności Unix i jego pochodne) potrafią obsługiwać wiele systemów plików.

4. Wymień przykładowe systemy operacyjne.

Windows, Unix, Windows Server, Mac OS X, OS/2

5. Na czym polega technologia wielodostępu.

Wielodostęp (ang. multiaccess, multiuser) — możliwość jednoczesnego korzystania z usług systemu komputerowego przez wielu użytkowników. Rozwiązanie to jest możliwe dzięki wykorzystaniu jednostki centralnej o dużej mocy obliczeniowej (do której podłącza się wiele terminali) i podziału zasobów (w tym podziału czasu). Wielodostęp może obejmować setki, a nawet tysiące użytkowników dzielących wspólne zasoby (zwłaszcza procesor). Jego znaczenie spadło wraz z rozwojem mikrokomputerów na rzecz komunikacji w sieciach.

Algorytmy i struktury danych - dr Jakub Swacha

1. Wymień i objaśnij 4 cechy algorytmu.

Algorytm musi być:
Poprawny - tzn., dla każdego zestawu danych, po wykonaniu skończonej liczby czynności, prowadzi do poprawnych wyników,
Jednoznaczny, tzn., w każdym przypadku jego zastosowania, dla tych samych danych uzyskamy ten sam wynik,
Szczegółowy - aby wykonawca algorytmu rozumiał opisane czynności i potrafił je wykonać,
Uniwersalny, aby posłużył do rozwiązywania pewnej grupy zadań, a nie tylko jednego zadania (np. algorytm jest przepisem na rozwiązanie równania postaci ax+b=0 dla dowolnych współczynników a i b, a nie - jednego konkretnego równania, np. 2x+3=0.

2. Rekurencja a iteracja w algorytmach.

Rekurencja jest techniką programowania, dzięki której procedura, funkcja lub podprogram jest w stanie w swoim ciele wywołać sam siebie. Trudno w to uwierzyć, ale niektóre "stare" języki programowania nie udostępniały możliwości wywołań rekurencyjnych.

Po co nam jest rekurencja? Przede wszystkim dzięki niej łatwo jest wykonać wiele zadań, w których potrzeba jest wyników cząstkowych do obliczenia całości. Sztandarowym przykładem w zagadnieniu rekurencji jest liczenie silni (n!), lub nieco bardziej zaawansowany przykład liczenia n-tej wartości w ciągu Fibonacciego.

Dla przypomnienia, ciąg Fibonacciego jest ciągiem, w którym każda następna wartość jest równa sumie dwóch poprzednich.

Iteracja (łac. iteratio) to czynność powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa się także operacje wykonywane wewnątrz takiej pętli. W odróżnieniu od rekurencji, która działa "od góry", iteracja do obliczenia n+1-szej wartości wykorzystuje poprzednią, n-tą iterację. Rekurencja dla obliczenia n-tej wartości potrzebowała zejścia aż do pierwszej wartości.

W większości języków programowania istnieje co najmniej kilka instrukcji iteracyjnych. Najważniejsze z nich to instrukcje FOR, WHILE i REPEAT (w języku C DO-WHILE).

FOR jest instrukcją, która liczy dokładnie ilość iteracji pętli. Jest to przydatne, kiedy wiemy, ile dokładnie wywołań iteracyjnych będzie nam potrzebnych.

Architektura komputerów dr inż. Mariusz Borawski

1. Architektura komputera według von Neumanna

Architektura von Neumanna - rodzaj architektury komputera, przedstawionej po raz pierwszy w 1945 roku przez Johna von Neumanna stworzonej wspólnie z Johnem W. Mauchly'ym i Johnem Presper Eckertem.

Polega na ścisłym podziale komputera na trzy podstawowe części:

System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien:

Podane warunki pozwalają przełączać system komputerowy z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność.

System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb. Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy instrukcje. Wykonywany program może się sam modyfikować traktując obszar instrukcji jako dane, a po przetworzeniu tych instrukcji - danych - zacząć je wykonywać.

Model komputera wykorzystującego architekturę von Neumanna jest często nazywany przykładową maszyną cyfrową (PMC).

2. Budowa procesora

W funkcjonalnej strukturze procesora można wyróżnić takie elementy, jak:

Jednym z parametrów procesora jest rozmiar elementów budujących jego strukturę. Im są one mniejsze, tym niższe jest zużycie energii, napięcie pracy oraz wyższa możliwa do osiągnięcia częstotliwość pracy.

Współczesne procesory używane w komputerach osobistych wykonywane są w technologii pozwalającej na uzyskanie elementów o rozmiarach mniejszych niż 45 nm, pracujących z częstotliwością kilku GHz. Według planów największych producentów procesorów, pod koniec roku 2009 powinny pojawić się procesory wykonane w technologii 32 nm, będą nimi m.in. procesory firmy Intel znane pod nazwą kodową Westmere. Firma AMD procesory wykonane w technologii 32 nm planuje wprowadzić na rynek w połowie 2010 roku.

Fabryki procesorów muszą posiadać pomieszczenia o niezwykłej czystości, co jest bardzo kosztowne.

Narzędzia informatyczne w praktyce - dr Barbara Krolikowska

1. Jak działa agent programowy, technologie informatyczne stosowane w agentach programowych.

Ze względu na brak standardów nie ma zgodności co do definicji agenta. Możemy jednak zdefiniować agenta jako jednostkę, działającą w pewnym środowisku, zdolną do komunikowania się, monitorowania swego otoczenia i podejmowania autonomicznych decyzji, aby osiągnąć cele określone podczas jej projektowania lub działania.

Agent powinien charakteryzować się następującymi cechami:

2. EDI - standardy wymiany danych.

Elektroniczna wymiana danych (EDI, ang. Electronic Data Interchange) - transfer biznesowych informacji transakcyjnych od komputera do komputera z wykorzystaniem standardowych, zaakceptowanych formatów komunikatów.

Celem EDI jest wyeliminowanie wielokrotnego wprowadzania danych oraz przyspieszenie i zwiększenie dokładności przepływu informacji dzięki połączeniu odpowiednich aplikacji komputerowych między firmami uczestniczącymi w wymianie. Użycie EDI pozwala poprawić czasową dostępność informacji logistycznej, poszerzyć i uściślić dane, a także zmniejszyć pracochłonność procesu. Aby w pełni wykorzystać zalety EDI, uczestnicy kanału logistycznego powinni się komunikować za pośrednictwem komputera. Innymi słowy, efektywne wdrożenie EDI wymaga bezpośredniej komunikacji między systemami komputerowymi, zarówno nabywców jak i sprzedawców produktu.

Komunikaty EDI są technicznym sposobem zapisu komunikacji biznesowej pomiędzy dwoma stronami (wewnątrz lub na zewnątrz przedsiębiorstwa).

Standardy EDI określają ściśle format przesyłanych dokumentów.

EDI nie określa sposobu przesyłania komunikatów - mogą one być przesyłane przez dowolne medium, którym posługują się obie strony transmisji. Może to być transmisja modemowa, poprzez FTP, HTTP, AS1, AS2.

Wybrane problemy społeczeństwa informacyjnego - prof. zw. dr hab. Agnieszka

Szewczyk

1. Charakterystyczne cechy społeczeństwa informacyjnego.

Właściwości społeczeństwa informacyjnego:

2. Przestępstwa komputerowe jako syndrom społeczeństwa informacyjnego.

Przestępstwo komputerowe - pospolita nazwa przestępstw, których narzędziem lub przedmiotem sprawczym jest komputer lub inne urządzenie elektroniczne.

Wykorzystanie komputerów w celu, np. kradzieży pieniędzy, towarów, programów, danych, szpiegostwa gospodarczego bądź technologicznego, może wypełniać znamiona przestępstw zbiorczo zwanych komputerowymi, właśnie ze względu na wykorzystanie urządzeń elektronicznych.

Przestępcy komputerowi

haker (ang. hacker; hack - ciosać, rąbać, siekać) - włamywacz sieciowy, łamie zabezpieczenia w szlachetnych celach, sprawdzając czy są dobrymi zabezpieczeniami;

cracker - łamie zabezpieczenia programowe dla zarobku, dla zniszczenia systemu;

pirat - kopiuje, powiela i sprzedaje skopiowane programy;

script kiddie - pozerzy wykorzystujący gotowe programy hakerskie;

lamer (lame - kulawy, kiepski) - pogardliwa nazwa hakera amatora.

Klasyfikacja przestępstw komputerowych

Hacking komputerowy,

Podsłuch komputerowy,

Bezprawne niszczenie informacji,

Sabotaż komputerowy.

Nielegalne uzyskanie programu komputerowego,

Paserstwo programu komputerowego,

Oszustwo komputerowe,

Kradzież karty uprawniającej do podjęcia pieniędzy z automatu bankowego.

Sieci komputerowe dla inżynierów dr hab. inż. Kesra Nermend

1. Wymień i omów protokoły warstwy transportowej stosu TCP/IP

Warstwa transportowa (ang. host-to-host layer) gwarantuje pewność przesyłania danych oraz kieruje właściwe informacje do odpowiednich aplikacji. Opiera się to na wykorzystaniu portów określonych dla każdego połączenia. W jednym komputerze może istnieć wiele aplikacji wymieniających dane z tym samym komputerem w sieci i nie nastąpi wymieszanie się przesyłanych przez nie danych. To właśnie ta warstwa nawiązuje i zrywa połączenia między komputerami oraz zapewnia pewność transmisji.

Protokoły warstwy transportowej. Jednym z nich jest protokół UDP (User Datagram Protocol), który korzystającej z niego aplikacji zapewnia zawodną usługę bezpołączeniową. Drugim protokołem jest protokół TCP (Transmission Control Protocol), który używającej go aplikacji oferuje niezawodną usługę zorientowaną na połączenie. Tworząc aplikację sieciową, jej projektant musi zdecydować się na zastosowanie jednego z tych dwóch protokołów transportowych. W celu uproszczenia terminologii, w przypadku odwoływania się do internetu pakiet warstwy transportowej będziemy określać mianem segmentu. Należy jednak wspomnieć, że w internetowej literaturze (na przykład dokumenty RFC) pakiet protokołu TCP warstwy transportowej też jest nazywany segmentem, natomiast pakiet protokołu UDP często nazywa się datagramem. Zdarza się też, że w tej samej literaturze termin datagram odnosi się do pakietu warstwy sieci!.

Najbardziej fundamentalnym zadaniem protokołów TCP i UDP jest obejmowanie dwóch procesów uruchomionych na systemach końcowych zakresem obowiązywania usługi dostarczania protokołu IP. Zastosowanie usługi dostarczania nie tylko w przypadku dwóch hostów, ale też uaktywnionych na nich procesów jest określane mianem multipleksowania i demultipleksowania warstwy transportowej. Protokoły TCP i UDP zapewniają też kontrolę integralności przez uwzględnianie w nagłówkach segmentów pól detekcji błędów.

Protokół TCP oferuje aplikacjom kilka dodatkowych usług. Pierwszą i najważniejszą z nich jest niezawodna usługa transferu danych. Korzystając z kontroli przepływu, numerów sekwencyjnych, powiadomień i zegarów (rozwiązania te zostaną dokładniej objaśnione w dalszej części rozdziału), protokół TCP zapewnia, że dane są poprawnie, a także w odpowiedniej kolejności dostarczane od procesu nadawczego do procesu odbiorczego. A zatem protokół TCP zamienia zawodną usługę protokołu IP dostarczającą dane między systemami końcowymi na niezawodną usługę transportu danych między procesami. Protokół TCP zapewnia też kontrolę przeciążenia. Kontrola przeciążenia jest w mniejszym stopniu usługą oferowaną aplikacji, a w większym usługą świadczoną w internecie w ogólnym zakresie. Ogólnie mówiąc, kontrola przeciążenia realizowana przez protokół TCP uniemożliwia każdemu połączeniu TCP przyblokowanie (przez generowanie nadmiernego ruchu sieciowego) łączy i przełączników znajdujących się między komunikującymi się hostami. Zasadniczo protokół TCP zezwala połączeniom TCP na trawersowanie przeciążonego łącza sieciowego, co ma na celu równomierne wykorzystywanie jego przepustowości. Trawersowanie polega na regulowaniu szybkości, z jaką strona nadawcza połączenia TCP umieszcza dane w sieci. Z kolei szybkość przesyłania danych przez protokół UDP nie jest kontrolowana. Aplikacja używająca protokołu UDP może transferować dane z dowolną żądaną szybkością przez dowolny okres.

2. Geneza powstania usługi DHCP

Historia i standaryzacja

1985 - BOOTP (Bootstrap Protocol)

dla bezdyskowych stacji roboczych,

poznanie własnego adresu IP oraz poło˙zenia obrazu rozruchowego

do załadowania systemu operacyjnego.

1993 - RFC 1531

pierwsza wersja DHCP.

1997 (RFC 2131)

obecnie stosowana wersja.

DHCPv6 (RFC 3315)

DHCP dla IPv6.

Authentication for DHCP Messages (RFC 3118)

rozszerzenia dla bezpieczeństwa.

DHCP (ang. Dynamic Host Configuration Protocol - protokół dynamicznego konfigurowania węzłów) to protokół komunikacyjny umożliwiający komputerom uzyskanie od serwera danych konfiguracyjnych, np. adresu IP hosta, adresu IP bramy sieciowej, adresu serwera DNS, maski sieci. Protokół DHCP jest zdefiniowany w RFC 2131 i jest następcą BOOTP. DHCP został opublikowany jako standard w roku 1993.

W kolejnej generacji protokołu IP czyli IPv6 jako integralną część dodano nową wersję DHCP czyli DHCPv6. Jego specyfikacja została opisana w RFC 3315.

W sieci opartej na protokole TCP/IP każdy komputer ma co najmniej jeden adres IP i jedną maskę podsieci; dzięki temu może się komunikować z innymi urządzeniami w sieci.

Programowanie dynamicznych dokumentów HTML - dr hab. prof. US Waldemar Wolski

1. Omów języki skryptowe w dokumentach HTML

Dokument HTML - plik tekstowy odczytywany przez przeglądarkę internetową, zazwyczaj mający rozszerzenie .HTM lub .HTML.

Dokument HTML zawiera co najmniej dwa rodzaje tekstu: treść merytoryczną i znaczniki języka HTML sterujące wyświetlaniem treści. Może również zawierać kod rozmaitych języków skryptowych, jak PHP, JavaScript itd. oraz znaczniki kaskadowych arkuszy stylów. np. PHP- obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym. PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym

2. Omów możliwości języka JavaScript

Analiza systemów informacyjnych - dr Jerzy Marcinkiewicz

1.Istota kaskadowego cyklu rozwoju systemu informatycznego i jego odmiany

Model kaskadowy (ang. waterfall model) - jeden z kilku rodzajów procesów tworzenia oprogramowania zdefiniowany w inżynierii oprogramowania. Jego nazwa wprowadzona została przez Winstona W. Royce w roku 1970, w artykule "Managing the Development of Large Software Systems" (zarządzanie tworzeniem dużych systemów informatycznych).

Polega on na wykonywaniu podstawowych czynności jako odrębnych faz projektowych, w porządku jeden po drugim. Każda czynność to kolejny schodek (kaskada):

  1. Planowanie systemu (w tym Specyfikacja wymagań)

  2. Analiza systemu (w tym Analiza wymagań i studium wykonalności)

  3. Projekt systemu (poszczególnych struktur itp.)

  4. Implementacja (wytworzenie kodu)

  5. Testowanie (poszczególnych elementów systemu oraz elementów połączonych w całość)

  6. Wdrożenie i pielęgnacja powstałego systemu.

Jeśli któraś z faz zwróci niesatysfakcjonujący produkt cofamy się wykonując kolejne iteracje aż do momentu kiedy otrzymamy satysfakcjonujący produkt na końcu schodków.

Odmiany:

Każda pętla spirali podzielona jest na cztery sektory:

2.Scharakteryzuj podejście strukturalne w modelowaniu systemów informacyjnych

Trzy podstawowe rodzaje modeli opisujacych system:

Model danych opisuje statyczna strukturę systemu, grupując dane w kolekcje zwane obiektami (encje). Graficznym odpowiednikiem jest diagram ERD (ang. Entity Relationshi Diagram), którego węzły reprezentują obiekty natomiast łuki odzwierciedlają relacje pomiędzy obiektami.

Model dynamiki opisuje zmieniające się w czasie aspekty systemu, używany jest do specyfikacji sterowanie w systemie. Graficznym odpowiednikiem jest diagram stanów, którego węzły są stanami, a łuki są przejściami pomiędzy stanami wywoływanymi przez zdarzenia.

Model funkcjonalny opisuje transformacje danych wewnątrz systemu. Odpowiednikiem graficznym jest graf, którego węzły są zwykle procesami, a łuki . przepływami danych. Graf ten nazywany jest diagramem przepływu danych DFD (ang. Data Flow Diagram). - procesy, przepływy, magazyny, terminatory

3.Podstawowe pojęcia podejścia obiektowego do modelowania systemów informacyjnych.

Pojęcia: system, obiekt, abstrakcja, enkapsulacja, dziedziczenie, polimorfizm, komunikacja , asocjacja (powiązanie), agregacja;

Modelowanie obiektowe pojawiło się w latach 70. ubiegłego wieku w odpowiedzi na powstające języki programowania obiektowego (Simula, Smalltalk i Ada). W latach 90. istniało ponad 50 metod obiektowych. Wielu użytkowników miało problem ze znalezieniem języka modelowania odpowiadającego ich potrzebom. Opracowano metody nowej generacji, ale tylko kilka z nich zyskało uznanie. Były to: Metoda Boocha, Object-Oriented Software Engineering (OOSE) oraz Object Modeling Technique (OMT). Powstały także metody Fusion, Shlaera-Mellora i Coada-Yourdona. Każda z tych metod miała wady i zalety, nadawała się tylko do pewnych zastosowań.

Dla najnowszej wersja 2.2 języka UML wyróżnia się 14 diagramów głównych oraz 3 abstrakcyjne (struktur, zachowań i interakcji). Istnieją niestety pewne niejednoznaczności co do stosowanego polskiego tłumaczenia diagramów, np. ang. timing diagram jest tłumaczony jako diagram czasowy, zależności czasowych, harmonogramowania, uwarunkowań czasowych czy diagram przebiegów czasowych.

Diagramy struktur

Diagramy zachowań

W przypadku modelowania biznesowego można korzystać z pewnych modyfikacji wyżej wymienionych diagramów UML, np. diagramu biznesowych przypadków użycia (charakterystyczna cięciwa dla symbolów aktora i przypadku użycia).

Strategia informacyjna przedsiębiorstwa - prof. zw. dr hab. Zygmunt Drążek

1.Modele analizy informacyjnej przedsiębiorstw.

2.Etapy realizacji strategii informacyjnej przedsiębiorstw.

Grafika komputerowa i multimedia - dr inż. Mariusz Borawski

1.Korekcja kształtu histogramu obrazu: przybliżony kształt poprawnego histogramu obrazu, metody wpływające na kształt histogramu.

Metody wpływające na kształt histogramu:

2.Percepcyjne modele barw (CIE RGB, CIE XYZ itp.). Krótka charakterystyka, zastosowania.

Trójchromatyczny model barw CIE RGB został opracowany w 1931 roku przez CIE. W systemie tym doświadczalnie określono wartości składowych trójchromatycznych RGB dla świateł o barwach widmowych i tej samej wartości strumienia energetycznego (mocy promienistej). Światła o barwach zielonej i niebieskiej wytworzone zostały przez wydzielenie z widma światła łuku rtęciowego prążków o długościach odpowiednio 546,1 nm i 435,8 nm. Światło czerwone to światło lampy żarowej przepuszczone przez filtr tłumiący promieniowanie o długości fali krótszej niż 700 nm. Podstawowa wadą systemu CIE RGB jest przyjmowanie wartości ujemnych przez barwy widmowe. Ujemna wartość składowej nie posiada interpretacji fizycznej i nie daje sie zrealizować eksperymentalnie. Wartości te wynikają z interpretacji sposobu określania składowych w kolorymetrze użytym w doświadczeniu. Wady tej nie ma inny podstawowy system trójchromatyczny przyjęty przez Międzynarodową Komisje Oświetleniowa - CIE XYZ.

CIEXYZ zwana też CIE XYZ lub CIE1931 - przestrzeń barw stworzona w 1931 przez Międzynarodową Komisję Oświetleniową (Comission Internationale de l'Eclairage). Przyjmuje się ją jako standard i punkt odniesienia do innych przestrzeni barw utworzonych przez tę komisję (zob. CIELUV, CIELab). Litery CIE przed XYZ to skrót nazwy Komisji. CIE XYZ jest specjalną paletą barw skonstruowaną przede wszystkim pod kątem postrzegania barw przez ludzkie oko (fotoreceptory).

Barwę w sposób jednoznaczny opisuje się we współrzędnych trójchromatycznych X, Y, Z, przy czym współrzędne te zależne są od składowych, zwanych również względnymi sprawnościami wizualnymi czopków. Te trzy współrzędne trójchromatyczne odpowiadają procentowemu udziałowi trzech podstawowych barw R (czerwonej), G (zielonej) i B (niebieskiej).

CIE XYZ jest opisem trójwymiarowym. Również w 1931, żeby umożliwić opis w dwóch wymiarach, wprowadzono przestrzeń barw CIE xyY, która przelicza składowe barw X, Y, Z na współrzędne trójchromatyczne x, y, Y, gdzie x i y określają chromatyczność a Y jasność.

Współrzędne te nakładając się odwzorowywane są w przestrzeni barw przedstawionej z pomocą wykresu chromatyczności jako tzw. trójkąt barw: obszar zamknięty dwiema liniami - krzywą i prostą.

Kolejne prace nad zagadnieniem postrzegania różnicy barw Writhta (1941), MacAdama (1942), Stilesa (1946) doprowadziły do zagadnienia równomierności przestrzeni barw. Jeśli w przestrzeni CIE XYZ wyznaczymy obszary różnicy percepcyjnej barw, wówczas powstaną elipsoidy różnej wielkości (elipsoidy MacAdama): w obszarze barw zielonych o stosunkowo dużej średnicy, w obszarze barw niebieskich o stosunkowo małej średnicy. Oznacza to, że dwa punkty w przestrzeni CIEXYZ w przypadku barw zielonych mogą określać barwy pomiędzy którymi ludzkie oko nie dostrzega różnicy barw (czyli jest to subiektywnie jedna barwa), natomiast dwa punkty tak samo oddalone w przestrzeni barw CIEXYZ w obrębie barw niebieskich mogą być odebrane jako subiektywnie dwie różne barwy. Prace nad równomiernością przestrzeni barw doprowadziły do stworzenia przestrzeni CIELab i CIELUV.

Bezpieczeństwo i zarządzanie ruchem w sieci - dr hab. Kesra Nermend

1. Co to jest tunel VPN? Jakie protokoły wykorzystywane są do nawiązania połączeń VPN? Jakie są wady i zalety poszczególnych protokołów?

VPN (ang. Virtual Private Network, Wirtualna Sieć Prywatna), można opisać jako tunel, przez który płynie ruch w ramach sieci prywatnej pomiędzy klientami końcowymi za pośrednictwem publicznej sieci (takiej jak Internet) w taki sposób, że węzły tej sieci są przezroczyste dla przesyłanych w ten sposób pakietów. Taki kanał może opcjonalnie kompresować lub szyfrować w celu zapewnienia lepszej jakości lub większego poziomu bezpieczeństwa przesyłanych danych. Określenie "Wirtualna" oznacza, że sieć ta istnieje jedynie jako struktura logiczna działająca w rzeczywistości w ramach sieci publicznej, w odróżnieniu od sieci prywatnej, która powstaje na bazie specjalnie dzierżawionych w tym celu łącz. Pomimo takiego mechanizmu działania stacje końcowe mogą korzystać z VPN dokładnie tak jak gdyby istniało pomiędzy nimi fizyczne łącze prywatne.

Protokół PPTP jest protokołem tunelowania sieci VPN. Protokół PPTP jest rozszerzeniem protokołu PPP (Point-to-Point Protocol) i wykorzystuje mechanizmy uwierzytelniania, kompresji i szyfrowania protokołu PPP. Protokół PPTP instaluje się razem z protokołem TCP/IP. Domyślnie usługa Routing i dostęp zdalny jest skonfigurowana do obsługi pięciu portów PPTP. Jeśli trzeba zwiększyć liczbę portów PPTP, odpowiednią procedurę można znaleźć w temacie Dodawanie portów protokołu PPTP lub L2TP. Porty PPTP można włączyć dla przychodzących połączeń dostępu zdalnego i połączeń routingu z wybieraniem numerów na żądanie przy użyciu Kreatora instalacji serwera routingu i dostępu zdalnego. Procedurę włączania portów PPTP dla routingu po zamknięciu tego kreatora można znaleźć w temacie Włączanie routingu na portach.

Protokół L2TP (Layer Two Tunneling Protocol) to standardowy internetowy protokół tunelowania zapewniający hermetyzację w celu przesyłania ramek protokołu PPP w nośnikach zorientowanych na przesyłanie pakietów. Podobnie jak protokół PPTP, protokół L2TP wykorzystuje mechanizmy uwierzytelniania i kompresji protokołu PPP. W odróżnieniu od protokołu PPTP, protokół L2TP nie używa szyfrowania Microsoft Point-to-Point Encryption (MPPE) do szyfrowania ramek PPP. Protokół L2TP korzysta z usług szyfrowania zabezpieczeń protokołu internetowego (protokołu IPSec).

2. Co oznaczają pojęcia: uwierzytelnianie, autoryzacja, kontrola dostępu, prawa, uprawnienia, poufność, integralność, niezaprzeczalność?

Uwierzytelnianie (ang. authentication, niepoprawnie autentykacja) - proces polegający na zweryfikowaniu zadeklarowanej tożsamości osoby, urządzenia lub usługi biorącej udział w wymianie danych.

Definicje terminów uwierzytelnienie i autoryzacja znajdują się w podstawowej normie kryptograficznej: ISO/IEC CD 9798-1, do której odwołują się algorytmy uwierzytelniania i autoryzacji.

Uwierzytelnienie następuje po identyfikacji, czyli zadeklarowaniu swojej tożsamości przez użytkownika (np. przez podanie loginu). Zadeklarowana, ale jeszcze niezweryfikowana, tożsamość jest potwierdzana w procesie uwierzytelnienia (np. przez podanie hasła).

Autoryzacja (ang. authorization, także kontrola dostępu, ang. access control) funkcja bezpieczeństwa, która potwierdza, czy dany podmiot jest uprawniony do korzystania z żądanego zasobu.

Dla określenia uprawnień danego podmiotu konieczne jest najpierw stwierdzenie jego tożsamości, dlatego w typowym zastosowaniu autoryzacja następuje dopiero po potwierdzeniu tożsamości podmiotu za pomocą identyfikacji i uwierzytelnienia.

Kontrola dostępu - system polegający na zainstalowaniu odpowiednich urządzeń lub/i oprogramowania oraz wdrożeniu procedur organizacyjnych, mających na celu identyfikację podmiotu.

Prawa/uprawnienia dosŧępu w systemach uniksowych mają na celu umożliwić określenie uprawnień odczytu, edycji i uruchamiania dla poszczególnych użytkowników. Mechanizm ten ma na celu zapewnienie bezpieczeństwa, stabilności i kontroli prywatności w systemach multi-user.

Prawa dostępu podzielone są na trzy kategorie:

Poufność (ang. confidentiality) - funkcja bezpieczeństwa wskazująca obszar, w którym dane nie powinny być udostępniane lub ujawniane nieuprawnionym osobom, procesom lub innym podmiotom.

W bezpieczeństwie teleinformatycznym poufność realizowana jest zwykle przy pomocy szyfrowania. W praktyce funkcji poufności towarzyszy niemal zawsze funkcja integralności.

Integralność danych, także spójność (ang. data integrity) funkcja bezpieczeństwa polegająca na tym, że dane nie zostały zmienione, dodane lub usunięte w nieautoryzowany sposób.

W technice informatycznej i telekomunikacyjnej ochrona integralności zapobiega przypadkowemu zniekształceniu danych podczas odczytu, zapisu, transmisji lub magazynowania. Wykorzystuje się tutaj sumy kontrolne i kody korekcyjne takie jak CRC.

Niezaprzeczalność (ang. non-repudiation) - brak możliwości wyparcia się swego uczestnictwa w całości lub w części wymiany danych przez jeden z podmiotów uczestniczących w tej wymianie.

Zapewnienie niezaprzeczalności wiadomości jest jedną z cech bezpiecznego podpisu weryfikowanego kwalifikowanym certyfikatem.

Programowanie obiektowe - dr hab. prof. US Waldemar Wolski

1. Co deklarujemy w typie klasa?

W programowaniu obiektowym klasa jest częściową lub całkowitą definicją dla obiektów. Definicja obejmuje dopuszczalny stan obiektów oraz ich zachowania. Obiekt, który został stworzony na podstawie danej klasy nazywany jest jej instancją. Klasy mogą być typami języka programowania - przykładowo, instancja klasy Owoc będzie mieć typ Owoc. Klasy posiadają zarówno interfejs, jak i strukturę. Interfejs opisuje, jak komunikować się z jej instancjami za pośrednictwem metod, zaś struktura definiuje sposób mapowania stanu obiektu na elementarne atrybuty.

Zależnie od implementacji, klasy mogą istnieć w programie tylko na etapie jego kompilacji, w wyniku której są tłumaczone na kod strukturalny lub też posiadać swoją reprezentację w kodzie wynikowym w postaci metaobiektów. Za ich pomocą program może odczytywać i manipulować informacjami o klasie podczas wykonywania.

2. Na czym polega przeciążanie funkcji?

Przeciążanie funkcji (ang. overloading) - skrótowa nazwa na przeciążanie nazwy funkcji; w programowaniu występowanie pod taką samą nazwą wielu funkcji różniących się zestawem argumentów. W trakcie kompilacji bądź parsowania program znajduje właściwą funkcję po liczbie oraz typach argumentów. Możliwe jest więc współistnienie kilku funkcji o tej samej nazwie, lecz różniących się typami argumentów.

Architektura informacyjna serwisów internetowych - dr Tomasz Ordysiński

1. Czym jest architektura informacji w serwisach internetowych?

Sztuka oraz nauka nadawania struktur i klasyfikowania serwisów (stron) internetowych i intranetowych, mające na celu ułatwienie ludziom znajdowanie informacji i ich wykorzystanie.

2. Na czym polega Web Usability?

To projektowanie stron pod kątem możliwie najlepszej ich ergonomii. Serwisy skonstruowane zgodnie z zasadami użyteczności stawiają na intuicyjność i łatwość obsługi z punktu widzenia internautów, czyli ich użytkowników.

Systemy informacyjne zarządzania - dr hab. Jacek Cypryjański

1. Omówić klasyfikację systemów informatycznych zarządzania.

Wyróżnić można następujące typy informatycznych systemów zarządzania:
Ze względu na obszar zastosowań:

Ze względu na generację systemu:

Ze względu na szczebel zarządzania:

Ze względu na poziom kompleksowości:

Ze względu na stopień integracji:

Ze względu na uniwersalność:

2. Scharakteryzować systemy klasy MRP.

Planowanie zapotrzebowania materiałowego (ang. Material Requirements Planning (MRP)) - jest to zbiór procesów do wyznaczania zapotrzebowań na zasoby materiałowe (surowce, materiały, komponenty, itp.). Miały one za zadanie obliczyć dokładną ilość materiałów i terminarz dostaw w taki sposób, by sprostać ciągle zmieniającemu się popytowi na poszczególne produkty. Techniki te często wspomagane są odpowiednimi systemami informatycznymi.

Głównym celem jest zmniejszenie nakładów finansowych potrzebnych przez organizację produkcyjną. Jest to osiągane przez optymalizację zapasów oraz samego procesu produkcyjnego.

Do systemu wprowadza się informację o zaplanowanej produkcji, lub wielkość sprzedaży lub przyjętych zamówieniach na wyroby gotowe. Na tej podstawie system planuje produkcję poszczególnych elementów oraz dostawy podzespołów i materiałów. Planowanie może być wykonane wprzód lub wstecz (tzn. od zadanego dnia obliczenie, kiedy wymagana produkcja zostanie wykonana lub kiedy trzeba rozpocząć proces aby uzyskać wymaganą produkcję na zadaną datę). System przewiduje czasy produkcyjne, czasy dostaw. W procesie planowania może następować optymalizacja kosztów, czasu wykonania, opłacalności. Do różnych typów produkcji stosuje się inne algorytmy obliczeń.

System MRP II (Manufacturing Resource Planning) pozwala planowanie zasobów produkcyjnych, obejmuje sterowanie zasobami i produktami przedsiębiorstwa oraz zarządzanie działalnością firmy także w aspekcie finansowym, uzupełnione o moduły planowania sprzedaży, zarządzania kadrami, stanowiskami roboczymi, gotówką itp. Umożliwiają planowanie działalności przedsiębiorstwa produkcyjnego i dystrybucyjnego (handlowego). Celem opracowania tego modułu było zwiększenie możliwości przedsiębiorstwa w zakresie sprawnego i szybkiego reagowania na zmieniające się potrzeby klientów przy równoczesnej redukcji poziomu składowanych zapasów. W module tym uwzględnione są aktualne zdolności produkcyjne, poziom zatrudnienia oraz posiadane wyposażenie techniczne. Projektowane operacje zostają zintegrowane z planowaniem finansowym. Prognozuje się bowiem w tym przypadku przepływy finansowe niezbędne do prowadzenia działalności na określoną wcześniej skalę w oparciu o prognozy sprzedaży i przyjęte zamówienia. System taki jest znacznie bardziej złożony w porównaniu do MRP i wymaga znacznie obszerniejszego zaplecza informacyjnego. Do podstawowych funkcji MRP II należą:

5. Scharakteryzować systemy klasy CRM.

Zarządzanie relacjami z klientami lub System relacji z klientami, CRM (ang. Customer Relationship Management) to zestaw narzędzi i procedur istotnych w zarządzaniu kontaktami z klientami.

CRM należy traktować nie tylko jako narzędzie, ale jako część strategii i filozofii biznesu, gdzie stały kontakt i zadowolenie klienta jest kluczową wartością. Istotną kwestią jest zapewnienie jednolitego systemu we wszystkich procesach biznesowych - od początku procesu sprzedaży poprzez serwis do sporządzania odpowiednich statystyk wykorzystywanych przy tworzeniu portfela produktów.

Sam sposób komunikacji dla systemu CRM nie jest sprawą pierwszoplanową, a jedynie narzędziem. Systemy CRM obudowane są w różnorodne moduły komunikacji.

Sprawne działanie systemu CRM nie byłoby możliwe bez systemów baz danych i systemów informatycznych.

CRM to nie jest system informatyczny, tylko jak określa to wielu praktyków jest przyjętą strategią, filozofią działania przedsiębiorstwa, która ma na celu poprawę kontaktów z klientami, przez co możliwy jest dynamiczniejszy rozwój przedsiębiorstwa i lepsza realizacja wyznaczonego celu - osiągnięcie zysku.

Kryptografia - dr inż. Grzegorz Szkibiel

1. Omówić systemy kryptograficzne.

2. Opowiedzieć o różnych metodach łamania szyfrów klasycznych.

Szyfry cykliczne

Zostały wynalezione, a na pewno używane przez Juliusza Cezara. Maja one bardzo łatwy klucz, ale jednocześnie są łatwe do złamania. Oznaczmy przez p jednostkę tekstu jawnego i załóżmy ze tych jednostek jest N. Wtedy funkcja szyfrująca Ek jest określona wzorem Ek(p) = p + k(mod N): Kluczem jest tu liczba k, która dodajemy do wartości liczbowej jednostki tekstu jawnego. Jeśli k jest równe 3, to, aby zaszyfrować słowo TAK, przekształcamy je w ciąg 19 0 12, następnie dodajemy do każdej z tych liczb 3 modulo 26 otrzymując 24 3 15 i z powrotem przekształcamy liczby na litery by otrzymać WDN. Przekształcenie szyfrujące określone powyżej nazywamy przesunięciem. Wygodnie jest tutaj napisać alfabet, a pod nim liczby odpowiadające poszczególnym literom.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Zajmiemy sie teraz łamaniem szyfrów cyklicznych. Jeśli wiemy na pewno, ze mamy do czynienia z szyfrem cyklicznym i znamy ilość liter w alfabecie (lub możliwych bloków), czyli N, łamanie polega na znalezieniu liczby k. Za k wystarczy podstawić każda z N możliwości i sprawdzać po kolei sens otrzymanych w ten sposób wiadomości. Na przykład, przypuśćmy, ze chcemy rozszyfrować wiadomość

xolfd vhcdpnrzd.

Wiemy, ze N = 26. Sprawdzamy dla k = 1. Ponieważ trudno znaleźć słowo zaczynające sie od YPM, podstawiamy k = 2 i podobnie, mamy trudny do wymówienia początek ZQ. Szczęście uśmiecha się sie do nas dosyć późno, ale na pewno nie później niż za 26 razem. Juliusz Cezar używał klucza 3, ale i tak dowódcy legionów raczej domyślali sie treści przysłanych wiadomości niż je odszyfrowywali. Oktawian August używał juz tylko kluczy 2 lub 1.

Analiza częstości występowania liter

Ta metoda łamania szyfrów opiera sie na prawach rachunku prawdopodobieństwa. Wiadomo, ze pewne litery występują w tekście częściej niż inne. Oto alfabet angielski poukładany według częstości występowania liter: E - 12.5%, T, A, O, I, N - 9.2-7%, S, R - 6%, L, D- 4%, C, U, M, F, P, G, W,

Y, B - 3-1.5%, V, K, X, J, Q, Z - 1-0.1%,

Jeżeli wiec przechwycimy wiadomość na tyle długa (lub na tyle dużo wiadomości), aby wyeliminować przypadkowość, możemy przypuszczać, ze najczęściej powtarzająca sie litera to zakodowane E, T, A, O, I lub N., Jeżeli mamy do czynienia z kodem cyklicznym, nasze sprawdzanie możliwości dla b ogranicza sie do sześciu przypadków. Okazuje sie, ze na podstawie badania entropii języka, czyli ilości informacji zawartej w jednym symbolu zaszyfrowanego tekstu, można złamać każdy szyfr, który szyfruje tekst angielski mający więcej niż 25 liter.

Technologie programowania systemów internetowych - dr hab. prof. US Waldemar

Wolski

1. Serwery WWW

Serwer WWW - program działający na serwerze internetowym, obsługujący żądania protokołu HTTP. To z serwerem WWW łączy się przeglądarka internetowa, by załadować wskazaną przez użytkownika stronę WWW.

Serwer WWW pośredniczy czasem w realizacji innych usług, np. zleca przetworzenie pliku źródłowego serwerowi PHP i wysyła przeglądarce stronę wynikową.

Najpopularniejszym serwerem WWW jest Apache. Według badań ze stycznia 2010 obsługuje on prawie 54% wszystkich witryn internetowych na świecie. Drugim pod względem popularności jest Microsoft Internet Information Services (IIS).

2. Technologie internetowe Microsoftu

ASP.NET - jest to zbiór technologii opartych na frameworku zaprojektowanym przez firmę Microsoft. Przeznaczony jest do budowy różnorodnych aplikacji webowych a także aplikacji typu XML Web Services. Strony ASP.NET są uruchamiane przy użyciu serwera, który umożliwia wygenerowanie treści HTML(CSS), WML lub XML - rozpoznawanych oraz interpretowanych przez przeglądarki internetowe. ASP.NET jest wspierany przez separujący warstwę logiki od warstwy prezentacji, wątkowo-kierowany model programistyczny, co poprawia wydajność działania tworzonych przez nas aplikacji. Wspomniana przed chwilą logika stron ASP.NET oraz XML Web Services jest tworzona w językach Microsoft Visual Basic .NET, Microsoft Visual C# .NET lub w każdym innym języku wspierającym technologię Microsoft .NET Framework.

E-biznes - prof. zw. dr hab. Agnieszka Szewczyk

1. Zasady wprowadzania e-biznesu.

2. Formy płatności w e-commerce.

Handel elektroniczny (ang. e-commerce), to rozmaite procedury wykorzystujące środki i urządzenia elektroniczne (telefon stacjonarny i komórkowy, faks, Internet, telewizję) w celu zawarcia transakcji handlowej. Najbardziej popularną metodą handlu elektronicznego jest handel internetowy, gdzie występują transakcje handlowe pomiędzy sprzedającymi a kupującymi. Najbardziej powszechną formą handlu elektronicznego są sklepy internetowe.trzy formy płatności: za pobraniem, przelew (automatyczny np. przez stronę przelewy24.pl ), płatność kartą kredytową.Na polskim rynku jest kilka firm oferujących systemy płatności elektronicznych, między innymi eCard, Pol-Card, Przelewy24.pl lub Płatności.pl, czy zaprezentowany poniżej dotpay.pl.

Modelowanie i symulacja komputerowa - dr hab. prof. US Małgorzata Łatuszyńska

1. Struktura programu symulacyjnego

Program komputerowy jest bazą do rozwiązania modelu za pomocą symulacji na maszynie cyfrowej. Faza ta obejmuje przygotowanie odpowiednich danych zarówno do testowania modelu jak i do prowadzenia eksperymentów symulacyjnych; uruchomienie modelu oraz testowanie i weryfikację modelu.

2. Etapy badań symulacyjnych

0x01 graphic

Programowanie w Javie - dr Łukasz Radliński

1. Java jako język obiektowy - dziedziczenie, przesłanianie, przeciążanie, modyfikatory dostępu

2. Struktura aplikacji internetowych i korporacyjnych (enterprise)

JSP (ang. JavaServer Pages) to technologia umożliwiająca tworzenie dynamicznych dokumentów WWW w formatach HTML, XHTML, DHTML oraz XML z wykorzystaniem języka Java, wplecionego w kod HTML danej strony. W tym aspekcie, jest to rozwiązanie podobne do PHP.

Strona JSP w procesie translacji jest zamieniana na serwlet (z reguły mała aplikacja napisana w Javie uruchamiana po stronie serwera w kontenerze serwletów). Każde wywołanie strony JSP z poziomu klienta (przeglądarki) wykonywane jest przez skompilowany serwlet. Jeśli użyta zostanie prekompilacja (kompilacja wstępna) to już podczas uruchamiania aplikacji wszystkie strony JSP zostaną przetłumaczone na serwlety.

Java Platform, Enterprise Edition (zwana również jako Java Enterprise, J2EE oraz Java EE czasami tłumaczona jako Java Korporacyjna) definiuje standard tworzenia aplikacji w języku programowania Java opartych o wielowarstwową architekturę komponentową. Komponenty są zwykle osadzane na serwerze aplikacyjnym obsługującym Java Enterprise. Standard ten określa zestaw interfejsów programistycznych jakich musi dostarczać zgodny serwer aplikacyjny.

Standard Java Enterprise aktualnie tworzony jest przez Oracle, które wykupiło oryginalnego Twórcę - Sun Microsystems. Firma ta dostarcza poza definicją interfejsów programistycznych, wzorcową implementację serwera aplikacyjnego (otwarta wersja: GlassFish, komercyjna Sun Java System Application Server).

Rozwiązanie oparte na Java Enterprise powinno poprawnie funkcjonować na dowolnej platformie sprzętowej, systemie operacyjnym czy też serwerze aplikacji Java Enterprise. Zdarza się, iż aplikacje wymagają pewnych zmian przy przenoszeniu na inny serwer. Wynika to z faktu, iż nie wszystkie aspekty funkcjonowania aplikacji są objęte specyfikacją.

Hurtownie danych i odkrywanie wiedzy w Internecie - dr Grzegorz Wojarnik

1. Jak zdefiniujesz termin „hurtownia danych”

Hurtownia danych to:

    1. Tematycznie określona, zintegrowana, nieulotna zmienna w czasie kolekcja danych do wspomagania procesu podejmowania decyzji

    2. Kopia danych transakcyjnych specjalnie strukturalizowana do zapytań i analiz.

    3. Trwała, analityczna baza danych, która jest podstawą systemu wspomagania decyzji.

2. Do czego służą narzędzia ETL (Extraction, Transformation, Load)

ETL (ang. Extract, Transform and Load) - narzędzia wspomagające proces pozyskania danych dla baz danych, szczególnie dla hurtowni danych.

Zadaniem narzędzi ETL jest:

Programowanie w środowisku .NET i Unix - dr Łukasz Radliński

1. Architektura środowiska .NET

System .NET Framework jest platformą obliczeniową stworzoną z myślą o uproszczeniu projektowania aplikacji w internetowym środowisku charakteryzującym się wysokim stopniem rozproszenia. Podstawowe składniki systemu .NET Framework są następujące: aparat plików wykonywalnych języka wspólnego, biblioteka klas i hosty w czasie wykonywania. Aparat plików wykonywalnych języka wspólnego stanowi podstawę systemu .NET Framework. Aparat ten zarządza wykonywaniem kodu i zapewnia takie usługi podstawowe, jak zarządzanie pamięcią, zarządzanie wątkami i wykonywanie zdalne. Biblioteka klas systemu .NET Framework jest obszerną, obiektową kolekcją klas wielokrotnego użytku, za pomocą których można zaprojektować szeroki wachlarz aplikacji, w tym aplikacje ASP.NET i usługi XML sieci Web. System .NET Framework zawiera także kilka hostów w czasie wykonywania, w tym hosty Windows Forms i ASP.NET, które współpracują bezpośrednio z aparatem plików wykonywalnych, oferując dla zarządzanego kodu skalowalne środowisko po stronie serwera.

2. Cechy aplikacji mobilnych dla środowiska .NET

Mobilne kontrolki ASP.NET (ang. ASP.NET mobile controls) to grupa kontrolek ASP.NET, która umożliwiają tworzenie aplikacji internetowych dla elektronicznych urządzeń przenośnych, takich jak telefony komórkowe, pagery i PDA. ASP.NET zawiera kontrolki, komponenty i narzędzia pomagające w budowaniu mobilnych aplikacji internetowych dla wielu typów bezprzewodowych urządzeń, bez potrzeby pisania kodu, który byłby dedykowany dla konkretnego urządzenia. Mobilne kontrolki ASP.NET inteligentnie generują kod języka WML (ang. Wireless Markup Language), cHTML (ang. compact HTML) oraz HTML dla różnych urządzeń. Na podstawie tego można określić cechy aplikacji mobilnych dla środowiska .NET:

Infrastruktura klucza publicznego - dr J.Pejaś

1. Przedstaw procedurę tworzenia podpisu cyfrowego z załącznikiem

0x01 graphic

2. Wymień i krótko omów podstawowe funkcje realizowane przez urząd certyfikacji

Urząd certyfikacji (ang. certificate authority, CA) lub inaczej centrum certyfikacji - jednostka wydająca elektroniczne certyfikaty tożsamości dla innych osób czy instytucji. Jest przykładem zaufanej trzeciej strony. CA występują w wielu schematach PKI.

Urzędem certyfikacji jest zwykle firma, która za pewną opłatą wydaje certyfikat klucza publicznego, który poświadcza tożsamość właściciela klucza. Zadaniem urzędu jest sprawdzenie tożsamości osoby, której wydaje certyfikat. Inne osoby mogą sprawdzić tożsamość właściciela certyfikatu, opierając się na zaufaniu do urzędu, który wydał certyfikat.

Świadczone przez CERTUM PCC usługi certyfikacyjne bazują na własnej technologii Infrastruktury Klucza Publicznego (ang. Public Key Infrastructure) i są skierowane do administracji publicznej, szeroko pojętego biznesu oraz klientów indywidualnych. Swym zakresem obejmują:

Harmonogramowanie projektów - prof. dr hab. Zdzisław Szyjewski

1. Co to jest ścieżka krytyczna projektu.

Główna ścieżka krytyczna to taka sekwencja zadań w projekcie, której czas wykonania jest najdłuższy w projekcie. Sekwencja zadań tworząca ścieżkę krytyczną wyznacza czas realizacji projektu.

Każde możliwość opóźnienia zadania znajdującego się na głównej ścieżce krytycznej wprowadza istotne ryzyko powstania opóźnień w projekcie.

W projekcie zwykle istnieje jedna główna ścieżka krytyczna i wiele pobocznych ścieżek krytycznych. Poboczne ścieżki krytyczne to sekwencje zadań, które w wyniku powstania opóźnień w projekcie mogą się przekształcić łatwo w najdłuższą sekwencję zadań, czyli główną ścieżkę krytyczną. Przyjmuje się zwyczajowo, że poboczne ścieżki krytyczne tworzą zadania, które mają zapas czasowy nie większy niż 7 dni jest to umowna granica zależna od czasu trwania projektu.

Na etapie realizacji projektu każda ścieżka krytyczna może i zwykle będzie ulegać znaczącym zmianom i formować się z nowych sekwencji zadań, które nie zostały nie zrealizowane na czas lub lub przewidziane na etapie planowania projektu.

2. Co to jest WBS. Omów zasady opisu.

WBS (Work Breakdown Structure) jest strukturą hierarchiczną która obrazuje wszystkie prace niezbędne do realizacji zakresu projektu. Przedstawia całą pracę niezbędną do wykonania w projekcie, ale też wyłącznie pracę niezbędną do wykonania w projekcie. Uszczegóławia opis zakresu projektu i zorientowana jest na produkty projektu (ang. deliverables). PMBOK opisuje, że elementami WBS są „czynności zorganizowane wg. produktów, jednak w praktyce elementy WBS to produkty (rzeczowniki), a nie czynności prowadzące do ich wytworzenia (czasowniki).

Zasadą konstrukcji WBS jest dekompozycja prac, w tym celu należy zidentyfikować główne produkty projektu. Pierwszym poziomem WBS są zwykle technologiczne fazy projektu, drugim poziomem konieczne do realizacji danej fazy produkty cząstkowe. Najniższy poziom WBS to pakiet prac (ang. work package). Zadania na najniższym poziomie dekompozycji są wystarczające do realizacji zadań na poziomie wyższym. Do każdego zadania na najniższym poziomie możliwe jest przypisanie zasobów, czasu i odpowiedzialności (których suma będzie stanowić o harmonogramie i budżecie i zasobach).

Może być zilustrowana w postaci drzewa, kilkupoziomowej listy, mapy myśli…

WBS można tworzyć np. przy pomocy szablonów, używając gotowego WBS-a z wcześniej realizowanego podobnego projektu lub dostarczonego przez metodykę realizacji bądź wykorzystania gotowej biblioteki szablonów.

Drugą metodą jest dekompozycja prac koniecznych do wykonania. Trzeba pamiętać, że nie wszystkie gałęzie muszą być rozwinięte do tego samego poziomu. Czasem nie jesteśmy w stanie zdefiniować wszystkich pakietów prac na początku - wtedy stosujemy planowanie kroczące (ang. rolling wave planning). Nie należy dekomponować za bardzo -  w harmonogramie najniższe elementy WBS (pakiety prac) mogą być dalej podzielone na zadania.

WBS nie zawiera relacji przyczynowo-skutkowych ani czasowych, to robimy później w harmonogramowaniu.

Zmiany w projekcie:

WBS jest ważnym elementem zarządzania zmianami w projekcie (szczególnie zmianą zakresu).

Zmiany zakresu projektu są często spowodowane samym projektem (błędami w definicji zakresu produktu, projektu, reakcją na ryzyka), bądź zmianami zewnętrznymi (zmiana regulacji prawnych, pojawienie się nowych technologii). Same zmiany zakresu nie są niebezpieczne, problemem jest brak zarządzania zmianami. Zmiany w zakresie projektu mogą być akceptowane, ale wszystkie żądania zmian i wymagane działania korekcyjne muszą przechodzić przez mechanizm Zintegrowanej Kontroli Zmian. Najważniejsze role w zarządzaniu zmianami to Kierownik Projektu i Sponsor.

Działania dotyczące kontroli zmian to:

3. Omów pojecie kalendarzy w projekcie.

4. Na czym polega analiza czasowa projektu.

5. Na czym polega analiza zasobowa projektu.

6. Co to jest harmonogram projektu.

Sztuczna inteligencja i systemy ekspertowe - prof. dr hab. Andrzej Piegat

1. Definicje i przykłady sztucznej inteligencji.

Sztuczna inteligencja (ang. Artificial Intelligence - AI) - nauka obejmująca zagadnienia logiki rozmytej, obliczeń ewolucyjnych, sieci neuronowych, sztucznego życia i robotyki. Sztuczna inteligencja to dział informatyki, którego przedmiotem jest badanie reguł rządzących inteligentnymi zachowaniami człowieka, tworzenie modeli formalnych tych zachowań i - w rezultacie - programów komputerowych symulujących te zachowania. Można ją też zdefiniować jako dział informatyki zajmujący się rozwiązywaniem problemów, które nie są efektywnie algorytmizowalne.

  1. Sztuczne sieci neuronowe, ich uczenie i zastosowania.

Z nauczycielem

W trybie uczenia z nauczycielem (nazywanym również uczeniem pod nadzorem) oprócz danych wejściowych posiadamy również sygnały wyjściowe, jakie chcemy uzyskać. Dobór wag musi być przeprowadzony w taki sposób, aby aktualny sygnał wyjściowy y był najbliższy wartości zadanej d.

Inaczej mówiąc, celem uczenia pod nadzorem jest minimalizacja odpowiednio zdefiniowanej funkcji celu, która umożliwi dopasowanie wartości aktualnych odpowiedzi neuronów wyjściowych do wartości żądanych.

BEZ Nauczyciela

Podczas uczenia bez nauczyciela pożądana odpowiedz nie jest znana. Ze względu na brak informacji o poprawności, czy niepoprawności odpowiedzi sieć musi się uczyć poprzez analizę reakcji na pobudzenia, o których naturze wie mało lub nic. W trakcie analizy parametry sieci podlegają zmianom, co nazywamy samoorganizacją.

Organizacja i wdrażanie portali korporacyjnych - dr hab. prof. US Waldemar Wolski

1.Klasyfikacja portali

2.Portale społecznościowe.



Wyszukiwarka