08 technologia programowaniaid Nieznany

background image

Olsztyn 2007-2012

Wojciech Sobieski

Technologia

programowania

background image

Technologia programowania

Technologia programowania - nauka o procesach wytwarzania
systemów informatycznych (programów komputerowych).

background image

W zakres technologii programowania wchodzą:

sposoby prowadzenia projektów informatycznych,

metody analizy i projektowania systemów,

techniki planowania, szacowania kosztów,

harmonogramowania i monitorowania projektów informatycznych,

techniki zwiększania niezawodności oprogramowania,

sposoby testowania systemów i szacowania niezawodności,

sposoby przygotowania dokumentacji technicznej i użytkowej,

procedury kontroli jakości,

metody redukcji kosztów konserwacji,

techniki pracy zespołowej.

Technologia programowania

background image

Program komputerowy - ciąg instrukcji do wykonania dla komputera.
Można też powiedzieć, że program to algorytm zapisany w języku
programowania. Program może występować w dwóch postaciach: jako
program wykonywalny (czyli zapisany w języku maszynowym) albo jako
kod źródłowy, czyli postać zrozumiała dla programisty.

Technologia programowania

background image

Fazy powstawania programów

Fazy powstawania programu komputerowego:

1. Określanie wymagań (specyfikacja),
2. Wybór języka programowania,
3. Tworzenie algorytmu,

4. Projektowanie systemu,
5. Implementacja,
6. Scalanie systemu,
7. Testy końcowe,
8. Tworzenie dokumentacji użytkowej,
9. Konserwacja systemu.

background image

1. Określanie wymagań – służy do sprecyzowania potrzeb. Na tym

etapie formułuje się wyobrażenia o programie i jego działaniu oraz
precyzuje wymagania. Na podstawie wymagań tworzona jest tzw.
specyfikacja projektu, czyli zakres czynności, jaki dany program ma
wykonywać. Jeżeli program jest tworzony na zamówienie, należy w
pewnym momencie zażądać zamrożenia specyfikacji – w przeciwnym
razie klient może zażądać zmian (nawet po napisaniu programu), a

wykonawca będzie to musiał zrobić nieodpłatnie. Czasami nawet mała
zmiana wymagań może w decydujący sposób wpłynąć na sposób
realizacji zamówienia, co może nawet doprowadzić do konieczności
rozpoczęcia praktycznie od nowa.

Fazy powstawania programów

background image

Tworzenie wymagań możliwe jest to na kilka sposobów:

wywiad strukturalny – polega na zadawaniu wcześniej

opracowanej listy pytań,

wywiad swobodny – polega na zadawaniu dowolnych

pytań i notowaniu odpowiedzi,

ankieta wysyłana do dużej liczby potencjalnych klientów,

analiza formularzy i innych dokumentów klienta,

analiza cyklu pracy i wykonywanych czynności,

analiza scenariuszy używania systemu,

konstrukcja prototypu.

Fazy powstawania programów

background image

Dokumentacja fazy określania wymagań powinna zawierać:

wprowadzenie: zakres systemu, cele i konteksty jego używania,

opis ewolucji systemu: przewidywane zmiany w systemie,

specyfikację wymagań funkcjonalnych: jakie czynności i operacje
system powinien wykonywać,

specyfikację wymagań niefunkcjonalnych: przy jakich

ograniczeniach system powinien powstać i działać.

opis modelu systemu lub jego prototypu,

opis wymagań sprzętowych,

słownik zawierający wyjaśnienia używanych
w dokumentacji pojęć fachowych i informatycznych.

Fazy powstawania programów

background image

Jeżeli program komputerowy powstaje na użytek programisty, faza

określania wymagań może zostać skrócona do minimum.

Nie powinno się jednak pomijać fazy dokumentacji – powinna oba być
prowadzona przynajmniej w zakresie podstawowym, umożliwiającym
rozwój i modyfikację programu nawet po wielu latach.

Fazy powstawania programów

background image

2. Wybór języka programowania – zależy głównie od przeznaczenia

aplikacji.

Przeważnie

istnieje

przynajmniej

kilka

języków

programowania nadających się budowy systemu spełniającego
wymagania.

Wybór języka programowania może być dokonany przed lub po
stworzeniu algorytmu. W pierwszym przypadku dobór języka może w

znaczny sposób wpłynąć na tok rozumowania i zdeterminować
budowę algorytmu.

Fazy powstawania programów

background image

Wybór języka programowania może być:

narzucony przez zamawiającego,

pozostawiony woli wykonawcy – musi on wówczas uwzględnić:

dziedzinę aplikacji,

doświadczenie zespołu programistów,

posiadane narzędzia,

dostępność gotowych

modułów i bibliotek,

potrzeby innych prowadzonych
równolegle prac.

Fazy powstawania programów

background image

3. Tworzenie algorytmu - jest to jeden z najważniejszych etapów
projektowania, wymaga on od programisty (bądź projektanta)
starannego przemyślenia i przygotowania. Nie należy przystępować do
pisania programu nie mając wyobrażenia o jego budowie. Takie
postępowanie wydłuży zapewne czas realizacji projektu, zwiększy

prawdopodobieństwo wystąpienia błędów oraz nie daje gwarancji
optymalności rozwiązań. Dużych i rozbudowanych programów
praktycznie nie da się napisać bez odpowiednich przygotowań. Jeżeli to
jest tylko możliwe należy korzystać z istniejących i sprawdzonych
algorytmów.

Fazy powstawania programów

background image

4. Projektowanie systemu – służy do stworzenia szkieletu kodu

źródłowego (systemu).

Techniki projektowania:

projektowanie strukturalne:

zorientowane na akcję,

zorientowane na dane,

projektowanie obiektowe.

Fazy powstawania programów

background image

Faza projektowania składa się z następujących etapów:

projektowanie architektury systemu,

organizacja danych i ich nazewnictwa,

szczegółowe projektowanie modułów,

weryfikacja i testowanie.

Fazy powstawania programów

background image

5. Implementacja – jest to właściwa faza budowy programu. Małe
systemy informatyczne mogą być realizowane przez jednego

programistę. Systemy większe wymagają utworzenia zespołu bądź też
grupy zespołów programistycznych.

Fazy powstawania programów

background image

6. Scalanie systemu – w przypadku tworzenia aplikacji przez zespół
programistów należy połączyć wszystkie moduły w jedną całość.
Rozróżnia się trzy podstawowe techniki integracji systemu
informatycznego:

metoda zstępująca – najpierw integrowane są moduły sterujące, a
później moduły wykonawcze,

metoda wstępująca – najpierw integrowane są moduły wykonawcze
a później sterujące,

metoda mieszana – moduły sterujące
integrowane są metodą zstępującą,
a wykonawcze – wstępującą.

Fazy powstawania programów

background image

Integracja całości

Model

Zalety

Wady

-

Brak izolacji błędów.

Poważne błędy projektowe

wykrywane są bardzo późno.

Porównanie metod integracji systemu.

Metoda zstępująca

Izolacja błędów.

Poważne błędy projektowe są

wykrywane bardzo wcześnie.

Moduły, które mogą być powtórnie

użyte nie są w pełni przetestowane.

Metoda wstępująca

Izolacja błędów.

Moduły, które mogą być powtórnie

użyte są dobrze przetestowane.

Poważne błędy projektowe są

wykrywane bardzo późno.

Metoda mieszana

Izolacja błędów.

Poważne błędy projektowe są

wykrywane bardzo wcześnie.

Moduły, które mogą być powtórnie

użyte są dobrze przetestowane.

-

Fazy powstawania programów

background image

7. Testy końcowe – służą do ostatecznego potwierdzenia
poprawności systemu. Rozróżnia się następujące etapy testów:

testowanie przez Dział Kontroli Jakości,

alfa-testy przez wybraną (najczęściej małą) grupę użytkowników,

beta-testy przez wybraną (większą) grupę użytkowników,

testy akceptacji (na rzeczywistych danych), wykonywane przez
odbiorcę.

Fazy powstawania programów

background image

Kryteria wykonywania testów:

użyteczność aplikacji (łatwość użycia, użyteczność oferowanych
funkcji, opłacalność),

solidność (częstość krytycznych awarii systemu, czas podniesienia

systemu po awarii, czas odbudowy systemu po awarii),

odporność (na zmieniające się warunki otoczenia, błędne dane,
nieoczekiwane reakcje użytkowników),

efektywność (szybkość, czas reakcji, zajętość pamięci),

poprawność (zgodność ze specyfikacją).

Fazy powstawania programów

background image

Metody wykonywania testów:

test „czarnej skrzynki” - odbywa się na poziomie interfejsu,

test „szklanej skrzynki” - odbywa się na poziomie kodu

źródłowego.

Fazy powstawania programów

background image

8. Dokumentacja użytkowa – powinna zawierać następujące
elementy:

opis funkcjonalny – opis przeznaczenia oraz głównych możliwości
programu,

podręcznik użytkownika – opis przeznaczony dla typowych
użytkowników, powinien zawierać:

sposoby uruchamiania oraz kończenia pracy z systemem,

sposoby realizacji podstawowych funkcji systemu,

metody obsługi błędnych sytuacji,

sposoby korzystania z systemu pomocy,

kompletny przykład korzystania z systemu.

Fazy powstawania programów

background image

kompletny opis systemu – część przeznaczona dla doświadczonych

użytkowników, powinien zawierać:

szczegółowy opis wszystkich funkcji systemu,

informacje o sposobach wywoływania tych funkcji,

opisy formatu danych,

opisy błędów, które mogą pojawić się w trakcie pracy z
systemem,

informacje o wszelkich ograniczeniach dotyczących np. zakresu
danych.

Fazy powstawania programów

background image

opis instalacji – przeznaczony dla administratorów systemu.

Powinien zawierać opis procedury instalacyjnej i konfiguracji
programu,

podręcznik administratora systemu – zawierający opis możliwości
modyfikacji ustawień systemu oraz sposoby udostępniania go
użytkownikom końcowych.

Fazy powstawania programów

background image

Na jakość dokumentacji mają wpływ następujące czynniki:

struktura podręcznika,

zachowanie standardów,

sposób pisania

(stosowanie formy aktywnej, poprawność gramatyczna i

ortograficzna, krótkie zdania, oszczędność sów, precyzyjna
definicja używanych terminów, powtarzanie trudnych
opisów, stosowanie tytułów i podtytułów sekcji, wyliczeń i
wyróżnień, zrozumiałe odwołania do innych rozdziałów).

Fazy powstawania programów

background image

9. Konserwacja systemu – zawiera zespół czynności, dokonywanych
po stworzeniu aplikacji, obejmujących:

poprawianie błędów,

udoskonalanie produktu,

dostosowywanie do nowych warunków.

Fazy powstawania programów

background image

Koszty konserwacji są często bardzo duże – do 2/3 nakładów

finansowych na aplikacje. Wynika to z następujących przyczyn:

poprawki mogą być przyczyną nowych błędów,

udoskonalenie wymaga przejścia przez wszystkie fazy produkcji i
dokonania zmian w specyfikacji, projekcie i dokumentacji,

poprawione powinny być wszystkie dokumenty, w których znajdują

się informacje dotyczące zmienionych fragmentów produktu.

Fazy powstawania programów

background image

Zarządzanie fazą konserwacji:

raport o błędzie – formalna metoda dokumentacji wykrytych przez

użytkowników błędów systemu – musi zawierać informacje
wystarczające do odtworzenia błędu,

błędy krytyczne muszą być poprawiane natychmiast, dla
pozostałych powinny zostać opisane przyczyny błędu i ewentualne
metody ich obejścia,

opisane raporty o błędach wraz z datą ich poprawienia powinny być
udostępniane wszystkim użytkownikom,

błędy niekrytyczne powinny być poprawiane paczkami – obniża to
koszty testowania i modyfikacji dokumentacji,

zmodyfikowany produkt powinien być sprawdzony przez niezależny
zespół kontroli.

Fazy powstawania programów

background image

Modele tworzenia programów

Użytkowanie

Koniec

Poprawiaj aż klient

będzie zadowolony

Zbuduj pierwszą wersję

Model

Zbuduj i Poprawiaj

Budowanie

Konserwacja

background image

Określenie wymagań

Sprawdzenie

Specyfikacja

Sprawdzenie

Projektowanie

Sprawdzenie

Implementacja

Sprawdzenie

Integracja

Sprawdzenie

Użytkowanie

Koniec

Zmiana wymagań

Sprawdzenie

Model

kaskadowy

Budowanie

Konserwacja

Modele tworzenia programów

background image

Szybki prototyp

Sprawdzenie

Specyfikacja

Sprawdzenie

Projektowanie

Sprawdzenie

Implementacja

Sprawdzenie

Integracja

Sprawdzenie

Użytkowanie

Koniec

Zmiana wymagań

Sprawdzenie

Prototypowanie

Budowanie

Konserwacja

Modele tworzenia programów

background image

Określenie wymagań

Sprawdzenie

Dla każdej składowej:

•zaprojektuj

•zaimplementuj

•zintegruj

•przetestuj

•dostarcz do klienta

Użytkowanie

Koniec

Specyfikacja

Sprawdzenie

Projekt architektury

Sprawdzenie

Realizacja

przyrostowa

Budowanie

Konserwacja

Modele tworzenia programów

background image

Ryzykowna

realizacja

przyrostowa

Grupa projektująca

Grupa specyfikująca

Specyfikacja

Projektowanie

Dostarczenie

Klientowi

Implementacja

Integracja

Specyfikacja

Projektowanie

Dostarczenie

Klientowi

Implementacja

Integracja

Specyfikacja

Projektowanie

Dostarczenie

Klientowi

Implementacja

Integracja

Sk

ła

do

w

a

2

Sk

ła

do

w

a

n

Sk

ła

do

w

a

1

Grupa Implementująca

Modele tworzenia programów

background image

Analiza ryzyka

Szybki prototyp

Użytkowanie

Koniec

Sprawdzenie

Analiza ryzyka

Specyfikacje

Sprawdzenie

Analiza ryzyka

Projektowanie

Sprawdzenie

Analiza ryzyka

Implementacja

Sprawdzenie

Analiza ryzyka

Integracja

Sprawdzenie

Analiza ryzyka

Zmiana wymagań

Sprawdzenie

Uproszczony

model spiralny

Budowanie

Konserwacja

Modele tworzenia programów

background image

Użytkowanie - Dalszy rozwój

Konserwacja

Integracja

Implementacja

Projektowanie obiektowe

Analiza obiektowa

Określenie wymagań

Obiektowy

model fontanny

Budowanie

Konserwacja

Modele tworzenia programów

background image

Zbuduj i poprawiaj

Model

Model kaskadowy

Prototypowanie

Realizacja przyrostowa

Model spiralny

Modele obiektowe

Zalety

Wady

Nadaje się dla małych programów,

które nie wymagają konserwacji.

Nie nadaje się dla

nietrywialnych programów.

Systematyczne podejście

i sterowanie dokumentami.

Dostarczony produkt może nie

spełniać oczekiwań zamawiającego.

Zapewnia, że produkt będzie

spełniał oczekiwania zamawiającego.

Koszt budowy prototypu.

Szybki zwrot inwestycji

i łatwość konserwacji.

Wymaga otwartej architektury.

Grożba degradacji do modelu

Zbuduj i Poprawiaj

Zawiera wszystkie cechy

powyższych modeli.

Pozwalają na integrację w fazach.

Pozwalają na równoległość faz.

Tylko dla bardzo dużych projektów.

Potrzebna wiedza o analizie ryzyka.

-

Porównanie modeli tworzenia oprogramowania.

Modele tworzenia programów

background image

Struktury zespołów

1

2

3

Rys. Ścieżki komunikacji pomiędzy trzema informatykami.

background image

Rys. Ścieżki komunikacji pomiędzy sześcioma informatykami.

1

2

3

4

5

6

Struktury zespołów

background image

Rys. Klasyczny zespół głównego programisty.

Sekretarz

zespołu

Zastępca GP

Programista

Programista

Programista

Główny programista

Struktury zespołów

background image

Rys. Współczesny zespół programistyczny.

Programista

Programista

Programista

Manager

zespołu

Lider

zespołu

Struktury zespołów

background image

Rys. Struktura zarządzania technicznego w dużym projekcie.

Programiści

Lider

zespołu

Programiści

Lider

zespołu

Programiści

Lider

zespołu

Kierownik projektu

Struktury zespołów

background image

Rys. Podejmowanie decyzji w dużym projekcie.

Programiści

Lider

zespołu

Programiści

Lider

zespołu

Programiści

Lider

zespołu

Kierownik projektu

Struktury zespołów

background image

Modele tworzenia programów

Zespół demokratyczny

Model

Zalety

Wady

Wysokiej jakości kod jako efekt

pozytywnego nastawienia do szukania

błędów.

Skuteczny w trudnych problemach.

Trudno rozszerzalny.

Porównanie różnych sposobów organizacji zespołu programistycznego.

Klasyczny zespół

głównego programisty

-

Niepraktyczny.

Współczesny zespół

głównego programisty

Brak w strukturze wysoko

kwalifikowanego

głównego programisty.

Można go zdecentralizować.

Problemy z podziałem zadań

pomiędzy lidera a managera zespołu.

background image

Rodzaje programowania

Programowanie (ang. programming) - czynności związane z
wpisywaniem poleceń języka programowania przez programistów

celem tworzenia oprogramowania komputerowego.

background image

Programowanie proceduralne – styl programowania, w którym kod
źródłowy podzielony jest na fragmenty wykonujące ściśle określone
operacje. Procedury nie powinny korzystać ze zmiennych globalnych
(w miarę możliwości) lecz pobierać i przekazywać wszystkie dane (czy

też wskaźniki do nich) jako parametry wywołania.

Rodzaje programowania

background image

Programowanie strukturalne metoda programowania, w której kod
źródłowy podzielony jest na niewielkie moduły - procedury, bądź
funkcje - komunikujące się ze sobą jedynie poprzez odpowiednie
interfejsy.

Interfejs (interface) część danego obiektu widoczna na zewnątrz dla
innych obiektów. Jego zadaniem jest umożliwienie współpracy z tym
obiektem np. komunikacja z nim, czy wykorzystanie jego innych
właściwości umieszczonych wewnątrz.

Do najpopularniejszych języków strukturalnych zalicza się Pascal, C,

Modula-2.

Rodzaje programowania

background image

Programowanie modularne

(modular programming) - paradygmat

programowania zalecający stosowanie modułów, jako nadrzędnych w
stosunku do procedur, bloków tworzących program. Moduł w pojęciu
programowania modularnego grupuje funkcjonalnie związane ze sobą
dane i procedury i jest reprezentacją obiektu występującego w
programie w jednym egzemplarzu.

Rodzaje programowania

background image

Programowanie imperatywne

– technika programowania, w której

program składa się ze zmiennych oraz modyfikujących je operacji, z
jawnie określonym przepływem sterowania.

Programista używający języka imperatywnego osiąga zamierzony efekt
przez manipulowanie wartościami zmiennych. Przykładami języków
imperatywnych są Fortran, Pascal i C.

Największą zaletą jest bliskość takiej reprezentacji do tego co

rzeczywiście wykonywane jest przez komputer.

Rodzaje programowania

background image

Programowanie obiektowe (object-oriented programming) – jest to
metodologia tworzenia programów komputerowych, która definiuje
programy za pomocą „obiektów” - elementów łączących stan (czyli
dane) i zachowanie (czyli procedury, tu: metody). Obiektowy program
komputerowy wyrażony jest jako zbiór takich obiektów,

komunikujących się pomiędzy sobą w celu wykonywania zadań.
Podejście to różni się od tradycyjnego programowania proceduralnego,
gdzie dane i procedury nie są ze sobą bezpośrednio związane.
Programowanie obiektowe ma ułatwić pisanie, konserwację i
wielokrotne użycie programów lub ich fragmentów.

Popularnymi językami obiektowymi są: C++, Java, Smalltalk, Object
Pascal
, Beta, Theta, CLOS, Eiffel, Ada98, Python i in. Od lat
osiemdziesiątych języki obiektowe uważa się za szczytowe osiągnięcie
inżynierii oprogramowania.

Rodzaje programowania

background image

Programowanie funkcjonalne

(functional programming) - koncepcja

programowania bez używania przypisań; w programowaniu
funkcjonalnym obliczenie tej samej procedury z tymi samymi
parametrami powoduje zawsze powstanie tego samego wyniku,
procedury w programowaniu funkcjonalnym mogą zatem być
rozważane jako funkcje w rozumieniu matematycznym.

Rodzaje programowania

background image

Programowanie RAD (Rapid Application Development) - termin
komercyjny (“błyskawiczne opracowywanie aplikacji”) określający
możliwości pakietu oprogramowania działającego w graficznym

środowisku okienkowym, służącego do zestawiania aplikacji,
w szczególności – ich interfejsów, z modułów wybieranych z bibliotek
udostępnianych

w

postaci

drzew

tematycznych.

W zależności od wybranego elementu pakiet RAD wytwarza fragmenty
kodu (np. w języku C++) wraz z odpowiednimi wywołaniami.

Szczegóły odbiegające od standardu uzupełnia ręcznie programista.

Aplikacje wytworzone w środowiskach RAD są z reguły słabo
przenośne i zajmują dużo pamięci, jednak możliwość automatycznego
oprogramowania ich najżmudniejszych elementów (interfejs graficzny)
oraz ułatwiony kontakt ze standardowymi bazami danych powoduje, że

programowanie RAD staje się coraz popularniejsze.

Rodzaje programowania

background image

Programowanie zdarzeniowe (sterowane zdarzeniami) – jest to
metoda programowania według którego program jest cały czas
bombardowany zdarzeniami (events), na które musi odpowiedzieć.

Przepływ kontroli w takim programie jest całkowicie niemożliwy do
przewidzenia z góry. Programowanie zdarzeniowe jest dominującym
typem programowania GUI - zdarzenia to naciśnięcia myszy, klawiszy,
żądania odświeżenia przez system okienkowy, różne zdarzenia sieciowe
i inne.

W programowaniu zdarzeniowym ważne jest żeby nie obsługiwać zbyt
długo danego zdarzenia, bo blokuje się w ten sposób obsługę innych.
Można to osiągnąć za pomocą asynchronicznego I/O,
wielowątkowości, rozbijania zdarzenia na pod-zdarzenia i wielu innych
mechanizmów.

Rodzaje programowania

background image

Programowanie liniowe (w ujęciu matematycznym) - maksymalizacja
lub minimalizacja funkcji wielu zmiennych, gdy zmienne te, lub
niektóre z nich, podlegają liniowym warunkom ograniczającym w

postaci równań lub nierówności. Nazwa "programowanie" wskazuje w
tym kontekście na schemat działań.

Rodzaje programowania

background image

Programowanie nieliniowe

(w ujęciu matematycznym) - metody

rozwiązywania problemów opisywanych przez równania różniczkowe
nie dające się sprowadzić do równań liniowych (programowanie

liniowe).

Rodzaje programowania

background image

Programowanie dynamiczne - metoda zapewniająca wybór ciągu
zgodnych rozwiązań optymalnych w wielostopniowych problemach
decyzyjnych. W istocie jest to proces sekwencyjnego podejmowania

decyzji.

Rodzaje programowania

background image

Programowanie w logice (logic programming) - kierunek rozwojowy
języków programowania, korzystający istotnie z doświadczeń i
osiągnięć logiki matematycznej. Instrukcje języków programowania w

logice przyjmują postaci wzorów logicznych (predykatów).
Programowanie w logice znajduje zastosowanie przy budowaniu
inteligentnych

baz

wiedzy,

systemów

ekspertowych,

w eksperymentach ze sztuczną inteligencją.

Rodzaje programowania

background image

Programowanie

współbieżne

(concurrent

programming) - programowanie procesów
współbieżnych

realizowane

za

pomocą

specjalnie

zaprojektowanych

języków

programowania

(np.

Linda),

języków

odpowiednio dostosowanych (np. Concurrent
Pascal) lub przy użyciu bibliotek synchronizacji
procesów i wątków.

Rodzaje programowania

background image

Programowanie z użyciem obiektów (object-based programming) -
paradygmat programowania dopuszczający możliwość tworzenia typów
zdefiniowanych przez użytkownika i posługiwania się w programach

danymi nowo zdefiniowanych typów. Programowanie z użyciem
obiektów jest zalecane tam, gdzie programowanie proceduralne lub
modularne okazują się niewystarczające z uwagi na potrzebę użycia
nowych typów danych i liczne ich reprezentacje (obiekty), natomiast
programowanie obiektowe jest niepotrzebne z powodu prostych

właściwości przedmiotu programowania.

Rodzaje programowania

background image

Programowanie wstępujące - w
programowaniu

strukturalnym

rozwiązywanie problemu za pomocą

wydzielonych prostszych zadań.

Programowanie zstępujące - w
programowaniu

strukturalnym

rozwiązywanie problemu w jednym

ogólnym, dobrze przemyślanym planie.

Rodzaje programowania

background image

Dziękuję za uwagę

Wojciech Sobieski

Olsztyn 2007-2012


Document Outline


Wyszukiwarka

Podobne podstrony:
08 Zastosowanie programow kompu Nieznany (2)
08 wprowadzenie do programowani Nieznany
08 Zastosowanie programow kompu Nieznany (2)
08 wprowadzenie do programowani Nieznany
chemia lato 12 07 08 id 112433 Nieznany
Literaturoznawstwo (08 04 2013) Nieznany
08 02bid 7351 Nieznany (2)
86 Nw 08 Lampy oscyloskopowe V Nieznany (2)
08 5id 7231 Nieznany
08 Projektowanie i realizacja z Nieznany (2)
08 2id 7222 Nieznany
2007 08 Szkola konstruktorowid Nieznany
Zmiany w podstawie programowej Nieznany
Programator AVR (STK200) Progra Nieznany
CW 08 id 122562 Nieznany
2002 08 Osla laczka Nieznany
08 vimid 7592 Nieznany (2)
29 Technologie bezwykopowe w t Nieznany

więcej podobnych podstron