Rozwój i testowanie oprogramowania dla systemów wbudowanych
|
|
- Mirosław Sikora
- 9 lat temu
- Przeglądów:
Transkrypt
1 Marcin Bajer, ABB Corporate Research, Starowiślna 13a, Kraków, Rozwój i testowanie oprogramowania dla systemów wbudowanych Politechnika Krakowska March 20, 2014 Slide 1
2 Agenda Systemy wbudowane, Proces wytwórczy oprogramowania, Specyfikacja wymagań, Opis architektury, Wzorce projektowe, Implementacja i dokumentacja, Testowanie, March 20, 2014 Slide 2
3 Systemy wbudowane (embedded systems) Oparty na mikroprocesorze, Silnie powiązany ze sprzętem, Spełniający określoną funkcję, Często: ograniczone zasoby, większa niezawodność, deterministyczny czas reakcji Źródło: Wikipedia March 20, 2014 Slide 3 Źródło: Wikipedia Źródło: Wikipedia
4 Prognozy na przyszłość Wzrost popularności, Wzrost wydajności, Wzrost skali skomplikowania, Wzrost ilości wymienianych danych, Spadek ceny, March 20, 2014 Slide 4
5 Proces wytwórczy oprogramowania (Software process) Uporządkowany zbiór aktywności wykonywanych w celu rozwoju oprogramowania a także jego późniejszego utrzymania, Wiele różnych modeli wszystkie mają na celu tworzenie oprogramowania o lepszej jakości w deterministycznych ramach czasowych, March 20, 2014 Slide 5
6 Cowboy coding Autonomia programisty, Brak sformalizowanego procesu tworzenia oprogramowania, Projekty jednoosobowe lub bardzo małe, Może prowadzić do tragicznego kodu, Może prowadzić do genialnych rozwiązań, March 20, 2014 Slide 6
7 Model kaskadowy tworzenia oprogramowania (Waterfall model) Używany przez wiele dużych firm produkujących oprogramowanie, Sekwencja nienakładających się na siebie faz projektu, Zaliczany do ciężkich wymaga dokładnego planowania i wyczerpującej dokumentacji, Wymagania specyfikowane na początku i niezmienne (teoretycznie), Sprawdza się w projektach z dobrze zdefiniowanymi wymaganiami, Powstało wiele modyfikacji, Model poniżej zmodyfikowany względem oryginalnego w celu pokazania równoległości podczas faz projektowania i implementacji Wymagania podział HW/SW Projekt oprogramowania Projekt sprzętu Implementacja oprogramowania Testowanie Wydanie produktu Implementacja sprzętu Integracja HW/SW Utrzymanie March 20, 2014 Slide 7
8 Metodologie zwinne (agile) Reakcja na ciężkie metodologie tworzenia oprogramowania, Model iteracyjno-przyrostowy tworzenia oprogramowania, Mniej dokumentów, mniej biurokracji, Mniejsza przewidywalność, Zrealizowane funkcjonalności, głównym miernikiem stopnia realizacji projektu, Wymagany bliski kontakt z klientem, Wymagana dobra komunikacja wewnątrz zespołu projektowego, Sprawdza się w projektach gdzie wymagania nie są dokładnie znane w momencie definiowania projektu, Wstępne wymagania Szczegółowe wymagania Projekt Testowanie Implementacja Utrzymanie March 20, 2014 Slide 8
9 Metodyki tworzenia oprogramowania - podsumowanie Warto zdefiniować proces tworzenia oprogramowania, przed rozpoczęciem pracy nad projektem, Nie ma jednej uniwersalnego podejścia, Każdy model posiada plusy i minusy, należy dobrać najodpowiedniejsze podejście - można łączyć praktyki z różnych modeli, W programowaniu urządzeń wbudowanych raczej stosowane są pochodne modelu kaskadowego, March 20, 2014 Slide 9
10 Karta projektu (project charter) Zawiera: Cele projektu, Główne zagrożenia, Lista interesariuszy, Co zostanie wykonane, Co na pewno jest poza projektem, Pozwala na: Podjęcie decyzji o rozpoczęciu projektu, Zdefiniowanie zakresu projektu, Takie same rozumienie celów, priorytetów i ograniczeń projektu, March 20, 2014 Slide 10
11 Specyfikacja wymagań Zawiera, wyczerpujący opis działania rozwijanego systemu, Tłumaczy intencje klienta na formalne wymagania, Wymaganie zawiera opis działania, wymagalność a także, jeśli dotyczy, warunkami i ograniczeniami: Po uruchomieniu [warunek], urządzenie musi być [wymagalność] w pełni funkcjonalne [opis działania] w ciągu 10s [ograniczenie] Specyfikacja wymagań często jest tworzona w języku naturalnym należy dbać o jednoznaczność, Specyfikacji wymagań powinna wystarczyć do opracowania testów funkcjonalnych Dostępne dedykowane narzędzia do zarządzania wymaganiami (HP ALM, IBM Rational DOORS ) pozwalają na łączenie wymagań z wersjami urządzenia, testami funkcjonalnymi oraz repozytorium kodu źródłowego, March 20, 2014 Slide 11
12 Projekt sprzętu i oprogramowania Oprogramowanie dla systemów wbudowanych jest silnie powiązane ze sprzętem, dlatego obydwa powinny być wspólnie rozwijane, Część funkcjonalności może być realizowana sprzętowo a część programistycznie (partitioning decision), Sprzęt i oprogramowanie rozwijane są często równolegle, warto zaplanować kilka razy integrację, Sprzęt i oprogramowanie najlepiej testować osobno testowanie całego systemu jest trudniejsze i czasochłonne, March 20, 2014 Slide 12
13 Opis architektury systemu Architektura systemu - podstawowa organizacja systemu wraz z jego komponentami, wzajemnymi powiązaniami, środowiskiem pracy i regułami ustanawiającymi sposób jej budowy i rozwoju * Często w formie graficznej (diagramy UML), Prosty do zrozumienia, Bez szczegółów implementacji, Odporny na zmiany szczegółów systemu (np. nie zawiera nazw szczegółowych komponentów), Zawiera: Wyszczególnienie najważniejszych elementów systemu, Przepływ informacji w systemie, Podział funkcjonalności sprzęt/oprogramowanie, * IEEE Recommended Practice for Architectural Description of Software-Intensive Systems, IEEE Std , IEEE Computer Society March 20, 2014 Slide 13
14 Szczegółowy opis implementacji Dostarcza programistom szczegółowe wytyczne, Ważne w dużych projektach, w małych bezpośrednia interakcja między członkami zespołu bywa bardziej efektywna, Łatwo staje się nieaktualna, Samodokumentujący się kod lepszy od szczegółowej dokumentacji, March 20, 2014 Slide 14
15 Architektura karuzelowa (round robin) Bardzo prosta, Wszystkie moduły systemu mają ten sam priorytet, Odpowiednia do prostych systemów o podobnych ograniczeniach czasowych dla każdego modułu Pesymistyczny czas reakcji równy sumie czasów wykonywania wszystkich modułów, Jeżeli wymagana szybsza reakcja wywołanie moduł może wystąpić wiele razy w pętli, main module1 module2 module3 module4 void main(void) { while (TRUE) { module1(); module2(); module3(); module4(); March 20, 2014 Slide 15
16 Architektura karuzelowa z przerwaniami (round robin with interrupts) Krytyczne czasowo funkcjonalności obsługiwane w przerwaniu, Dodatkowe przetwarzanie danych z przerwania w pętli głównej, Pesymistyczny czas całkowitej reakcji równy sumie czasów wykonywania wszystkich modułów, Problem dzielonej pamięci, module1 module2 module3 main IRQ1 IRQ2 void main(void) { while (TRUE) { module1(); module2(); module3(); if (irq1_do_calc) irq1addcalc(); if (irq2_do_calc) irq2addcalc(); IRQ1 time consuming IRQ2 time consuming void IRQ1_ISR(void) { irq1_do_calc = true; March 20, 2014 Slide 16
17 Problem dzielonych danych Procesor 16bit, Wydzierżawianie przerwań włączone, volatile uint32 timer; * Higher priority ADC interrupt void ADC_ISR(void) { volatile uint32 timestamp; timestamp = timer; * Lower priority timer increase interrupt (preemption enabled) void Timer_ISR(void) { timer++; March 20, 2014 Slide 17
18 Function Queue Scheduling W pętli głównej wywoływane funkcje z kolejki, Pozwala na prioretyzowanie krytycznych czasowo zadań, Szczególnie użyteczne do przetwarzania danych z przerwań, Pesymistyczny czas reakcji równy długości najdłuższej funkcji możliwej do dodania do kolejki, run_first_from_queue( ) main IRQs IRQ1 IRQ2 Task queue IRQ1 time consuming module2 module1 module2 module3 int queue_top = 0; int queue_buttom = 0; int (*task_queue[255]) (void); void main(void) { while (TRUE) { run_first_from_queue(); void run_first_from_queue() { if (queue_top!= queue_buttom) (*task_queue[queue_top--]); March 20, 2014 Slide 18
19 System Czasu Rzeczywistego Duża elastyczność pod względem przypisywania priorytetów do zadań, Ma zastosowanie w skomplikowanych systemach, Wprowadza dodatkowy narzut (moc obliczeniowa, wykorzystanie pamięci), Wymaga zsynchronizowania zadań i dzielenia danych pomiędzy zadaniami, Dodatkowe zalety: Wymusza modularność kodu (łatwiejsze testowanie i współtworzenie kodu) Wprowadza abstrakcje sprzętu (Hardware Abstraction Layer), Dostarcza abstrakcyjne typy danych (kolejka, lista, semafor, mutex ), March 20, 2014 Slide 19
20 FreeRTOS cykl życia zadania Suspend Ready Running Event Block Suspend Blocked Suspend Suspended Resume March 20, 2014 Slide 20
21 Przykładowy wykres przełączeń pomiędzy zadaniami Idle Scheduler Task1 Task2 Interrupt Task1 ready Interrupt Task2 ready Task 2 blocked Task 1 blocked March 20, 2014 Slide 21
22 Wymiana danych przykładowe rozwiązanie Dla każdego zadanie definiujemy strukturę TaskEvent, tablice elementów tego typu i kolejkę przyjmującą wskaźniki do elementów o tym typie, Dodatkowo wskaźniki do nie używanych elementów z tablicy przechowywane są na stosie, takeevent pobiera wskaźnik ze stosu, returnevent zwraca go a waitforevent wstrzymuje działanie zadania do momentu aż w kolejce pojawi się nowy element EventsArray <<array of TaskEvent>> element(0) element(1)... element(n-1) element(n) TaskQueue <<queue of pointers>> &element(n) FreeEvents <<stack of pointers>> &element(0) &element(1)... &element(n-1) TaskEvent <<struct>> type: EventType data: EventExtraData... Task waitforevent(): TaskEvent* takeevent(): TaskEvent* returnevent(taskevent*): void EventsArray[n]: TaskEvent FreeEvents: Stack<TaskEvent*> TaskQueue: Queue<TaskEvent*> EventType <<enum>> Event1 Event2... EventExtraData <<union>> Event1Data <<struct>> data1: uint8 data2: uint16 Event2Data <<uint8>> typedef struct { enum { Event1,Event2, EventType; union { Struct { uint8 data1; uint16 data2; Event1Data; uint8 Event2Data; EventExtraData; TaskEvent; March 20, 2014 Slide 22
23 Linux dla systemów wbudowanych Bardzo popularny, Łatwo skalowalny, Wyczerpująca dokumentacja, Ograniczenia sprzętowe nie grają już tak wielkiej roli, Duże wsparcie społeczności, Darmowy, Może być systemem czasu rzeczywistego, Dystrybucję na urządzenia wbudowane: March 20, 2014 Slide 23 Buildroot, Openwrt, XBMC, Yocto Project, OpenEmbedded, Linaro,
24 Wzorce projektowe Mniej opisane niż w przypadku programowania obiektowego, ale istnieją. Najbardziej rozpowszechniony maszyna stanu (state machine): EV_ERR_HANDLED EV_TIMEOUT TX_ERROR EV_TX_REQ TX_PROC EV_TX_END TX_READY IDLE EV_RX_HANDLED EV_RX_REQ EV_TIMEOUT RX_READY RX_PROC EV_ERR_HANDLED EV_ERROR RX_ERROR Event State IDLE TX_PROC RX_PROC TX_ERROR TX_READY RX_READY RX_ERROR EV_TX_REQ TX_PROC EV_TX_END TX_READY EV_RX_REQ RX_PROC EV_RX_HANDLED IDLE EV_TX_HANDLED IDLE EV_TIMEOUT RX_READY EV_ERR_HANDLED IDLE IDLE EV_ERROR TX_ERROR RX_ERROR ALWAYS March 20, 2014 Slide 24
25 Maszyna stanowa przykładowe implementacje typedef enum {EV_TX_REQ, EV_TX_END, EV_RX_REQ, Events; typedef enum {RTU_IDLE, RTU_TX_PROC, RTU_RX_PROC, States; States currentstate = RTU_IDLE; void rtustatemachine(events event) { switch(currentstate) { case RTU_IDLE: if (event == EV_TX_REQ) currentstate = RTU_TX_PROC; if (event == EV_RX_REQ) currentstate = RTU_RX_PROC; break; typedef enum {EV_TX_REQ, EV_TX_END, EV_RX_REQ, Events; void (*rtustate)(events event) = rtuidle; void rtustatemachine(events event) { rtustate(event); void rtuidle(events event) { if (event == EV_TX_REQ) rtustate = rtutxproc; if (event == EV_RX_REQ) rtustate = rturxproc; March 20, 2014 Slide 25
26 Hierarchiczna maszyna stanowa Communication state diagram /EV_ERR_HANDLED [RX_ERROR] INIT [TX_ERROR] /EV_TX_REQ [RX_ERROR] HEADER_TX [TX_ERROR] [TX_READY] /EV_RX_REQ HEADER_RX [RX_READY] /EV_TX_REQ CYCLIC_COM_TX [TX_READY] /EV_RX_REQ [TX_READY] /EV_RX_REQ CYCLIC_COM_RX Serial port state diagram RX_ERROR EV_TX_REQ, EV_RX_REQ, EV_ERR_HANDLED IDLE RX_PROC RX_READY TX_READY, RX_READY, TX_ERROR, RX_ERROR TX_READY TX_PROC TX_ERROR March 20, 2014 Slide 26
27 Implementacja oprogramowania Integrated Development Environment (IDE), Repozytorium kodu, Doxygen & Graphviz, Trac, Modularność kodu, Nazewnictwo, Refaktoryzacjia (refactoring), March 20, 2014 Slide 27
28 Graphviz digraph round_robin { node[shape="box3d", width=2.3, height=0.6, fontname="arial"]; rankdir = "LR"; {rank = "same"; "module2"; "module1"; "module4";"module3" module1 -> module2 module2 -> module3 module3 -> module4 module4 -> module1 [headlabel="main" labeldistance=3] main module1 module2 module3 module4 March 20, 2014 Slide 28
29 Graphviz digraph rtos_task { node[shape="box3d",width=2.3,height=0.6,fontname="arial"]; rankdir = "LR" start [shape="point" height=0.1] start -> Ready Suspended -> Ready [label="resume"] Ready -> Suspended [label="suspend"] Blocked -> Suspended [label="suspend"] Blocked -> Ready [label="event"] Ready -> Running Running -> Ready Running -> Suspended [label="suspend"] Running -> Blocked [label="block"] Suspend Ready Running Event Block Suspend Blocked Suspend Suspended Resume March 20, 2014 Slide 29
30 Mscgen hscale = 2; Idle,Scheduler,Task1,Task2,Interrupt; Idle => Scheduler; --- [label="task1 ready"]; Scheduler => Task1;...; --- [label="interrupt"]; Task1 => Interrupt; ; Interrupt => Task1; Task1 => Scheduler; Scheduler => Task1;...; Task1=>Scheduler; --- [label="task2 ready"]; Scheduler => Task2 [label="preemption"];...; --- [label="task 2 blocked"]; Task2 => Scheduler; Scheduler => Task1;...; --- [label="task 1 blocked"]; Task1 => Scheduler; Scheduler => Idle; Idle Scheduler Task1 Task2 Interrupt Task1 ready Interrupt Task2 ready Task 2 blocked Task 1 blocked March 20, 2014 Slide 30
31 Statyczna analiza kodu Narzędzia: Eclipse, PC-Lint, Klockwork, Typowe wykrywane błędy: Indeksowanie tablic, Dzielenie przez 0, Możliwy wynik poza granicą zmiennej, Null pointer, Wykluczające się warunki, March 20, 2014 Slide 31
32 Testy jednostkowe (CppUTest) typedef enum {EV_TX_REQ, EV_TX_END, EV_RX_REQ, Events; typedef enum {RTU_IDLE, RTU_TX_PROC, RTU_RX_PROC, States; States currentstate; void rtustatemachine(events event) { switch(currentstate) { case RTU_IDLE: if (event == EV_TX_REQ) currentstate = RTU_TX_PROC; if (event == EV_RX_REQ) currentstate = RTU_RX_PROC; break; March 20, 2014 Slide 32 TEST_GROUP(RtuStateMachine) { ; void setup() { void teardown() { TEST(RtuStateMachine, IdleToTx) { currentstate = RTU_IDLE; rtustatemachine(ev_tx_req); CHECK_EQUAL(currentState, RTU_TX_PROC);
33 Testy funkcjonalne Raport Program testujący Specyfikacja testów Testowane urządzenie Sterownik PLC OPC serwer PLC Komunikacja wewnątrz systemu Interakcja użytkownika OPC klient March 20, 2014 Slide 33
34 Testy komunikacji Master RS-485 Slave... PC sniffer typedef struct { MB_RTU_MODULE_ADDRESSES ModuleAddress; MB_TELEGRAM_FUNCTION_CODE FunctionCode; MB_TELEGRAM_SUB_FUNCTION_CODE SubFunctionCode; UINT8 FreqHighLimit; UINT8 Reserved; MB_TELEGRAM_CRC CRC; MB_CONFIGURATION_WRITE_REQUEST; March 20, 2014 Slide 34
35 March 20, 2014 Slide 35
Etapy życia oprogramowania
Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę
Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania
Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:
Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa
Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych
Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna
Egzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
Wykład 3: Implementacja programów wbudowanych
Systemy wbudowane Wykład 3: Implementacja programów wbudowanych Problemy implementacji oprogramowania wbudowanego Szeregowanie zadań System operacyjny Obsługa przerwań 10/16/2010 S.Deniziak:Systemy wbudowane
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Temat: System zarządzania zadaniami i ich komunikacja (Scheduler, MessageBox).
Temat: System zarządzania zadaniami i ich komunikacja (Scheduler, MessageBox). Ćwiczenie 3. (sd 2) 1.Uruchamianie zadań / przełączanie zadań. Praca wielozadaniowa (multitasking), daje programiście aplikacyjnemu
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Projektowanie systemów informatycznych. wykład 6
Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany
Tworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Usługa: Testowanie wydajności oprogramowania
Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych
Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego
System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego
Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil
Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
IBM Rational Software Architect uproszczona instrukcja użytkowania
IBM Rational Software Architect uproszczona instrukcja użytkowania TOMASZ ŁUKASZUK na podstawie Software Developer's Jurnal Extra Nr 18 STRESZCZENIE: Dokument przedstawia ogólne informacje na temat narzędzia
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć
Inżynieria oprogramowania. Jan Magott
Inżynieria oprogramowania Jan Magott Literatura do języka UML G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Seria Inżynieria oprogramowania, WNT, 2001, 2002. M. Fowler, UML w kropelce,
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy
Zaawansowane programowanie w języku C++
Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów
UML w Visual Studio. Michał Ciećwierz
UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:
Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.
Maszyny stanów Programowanie gier bez Unity, cz. 3 Piotr Korgul Koło Naukowe Twórców Gier Polygon 3 grudnia 2014 r. Cykl Programowanie gier bez Unity 1 Jak zorganizować prace nad grą? 2 Jak działa gra?
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Zakres wykładu. Podstawy InŜynierii Oprogramowania
Zakres wykładu Pojęcia podstawowe InŜynierii Oprogramowania Proces wytwarzania oprogramowania Artefakty procesu wytwarzania i ich modele Jakość oprogramowania Literatura: [1] Sacha K., InŜynieria oprogramowania,
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming
Jarosław Kuchta Wymagania jakości w Agile Programming Wady klasycznych metod zapewnienia jakości Duży narzut na dokumentowanie Późne uzyskiwanie konkretnych rezultatów Trudność w odpowiednio wczesnym definiowaniu
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Inżynieria Programowania - Projektowanie architektoniczne
Inżynieria Programowania - Projektowanie architektoniczne Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 22 października 2016 1 2 3 4 5 Architektury charakterystyczne dla różnych dziedzin
UML cz. III. UML cz. III 1/36
UML cz. III UML cz. III 1/36 UML cz. III 2/36 Diagram współpracy Diagramy współpracy: prezentują obiekty współdziałające ze sobą opisują rolę obiektów w scenariuszu mogą prezentować wzorce projektowe UML
Zasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
Programowanie zespołowe
Programowanie zespołowe Laboratorium 4 - modele tworzenia oprogramowania, manifest Agile i wstęp do Scruma mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 14 marca 2017 1 / 21 mgr inż. Krzysztof
Wzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Wzorce projektowe Wzorzec projektowy (ang. design pattern) w inżynierii oprogramowania, rozwiązanie często pojawiających się, powtarzalnych problemów projektowych.
Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2
Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio
Czym jest jpalio? jpalio to unikalna platforma technologiczna pozwalająca na stworzenie szeregu produktów dostosowanych do indywidualnych preferencji klienta. W naszej ofercie znajduje się m.in. system
Programowanie Zespołowe
Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design
Spis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
projektowanie systemu
projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN Podziękowania REQB Poziom Podstawowy Przykładowy Egzamin Dokument ten został stworzony przez główny zespół Grupy Roboczej REQB dla Poziomu Podstawowego. Tłumaczenie
Metody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Scaling Scrum with SAFe. Małgorzata Czerwińska
Scaling Scrum with SAFe Małgorzata Czerwińska Agenda 1. Wstęp 2. Współpraca zespołów scrumowych 3. Zarządzanie Programem 4. Podsumowanie Wstęp Skuteczność zespołów developerskich, realizujących projekty
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE Definicja ITQB Testowanie integracyjne (integration testing) wykonywane w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami lub systemami
Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego
systemów informatycznych Roman Simiński roman.siminski@us.edu.pl programowanie.siminskionline.pl Cykl życia systemu informatycznego Trochę wprowadzenia... engineering co to oznacza? Oprogramowanie w sensie
Procesowa specyfikacja systemów IT
Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office
Rok akademicki: 2012/2013 Kod: IET-2-211-SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane
Nazwa modułu: Metodyki projektowania i modelowania systemów I Rok akademicki: 2012/2013 Kod: IET-2-211-SW-s Punkty ECTS: 3 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Elektronika i Telekomunikacja
Podstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
ECDL Podstawy programowania Sylabus - wersja 1.0
ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1
Charakterystyka oprogramowania obiektowego 1. Definicja systemu informatycznego 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wymagania 4. Problemy z podejściem nieobiektowym
AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM HP Software TECNA Sp. z o.o. Strona 1 z 7 HP APPLICATION LIFECYCLE MANAGEMENT Oprogramowanie Application Lifecycle Management (ALM, Zarządzanie Cyklem życia aplikacji) wspomaga utrzymanie kontroli
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Feature Driven Development
Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami
Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017
Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy
Diagramy czynności Na podstawie UML 2.0 Tutorial
Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/
Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji
Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
KARTA MODUŁU KSZTAŁCENIA
KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Inżynieria 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia koordynator
Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński
Wskazówki projektowe Programowanie Obiektowe Mateusz Cicheński Przydatne zasady SOLID Wzorce struktury aplikacji MVC MVP MVVM Metody wytwarzania oprogramowania Manifest Zwinnego Wytwarzania Oprogramowania
Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia
Program szkolenia: Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Testowanie aplikacji mobilnych na
Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Projekt i implementacja systemu obsługi kart chipowych
Seminarium dyplomowe. Autor: Adam Grześko morel@pifpaf.pl Projekt i implementacja systemu obsługi kart chipowych Promotor: prof. dr hab in ż. T. Morzy 1 Plan prezentacji: Cel pracy, wykorzystane narzędzia,
Michał Olejnik. 22 grudnia 2009
Continuous TDD Politechnika Wrocławska Informatyka 22 grudnia 2009 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda
InPro BMS InPro BMS SIEMENS
InPro Siemens OPC InPro BMS Produkt InPro BMS jest w sprzedaży od 2000 roku. W ostatnich kilku latach staliśmy się liderem wśród dostawców informatycznych rozwiązań dla systemów bezpieczeństwa. Oferowane
Opis metodyki i procesu produkcji oprogramowania
Opis metodyki i procesu produkcji oprogramowania Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie
REFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Szkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie
OSGi Agata Hejmej 4.05.2009
OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce
Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,
1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Metodyki zwinne wytwarzania oprogramowania
Metodyki zwinne wytwarzania oprogramowania Wykład 1 Marcin Młotkowski 7 października 2014 Plan wykładu Sprawy organizacyjne Organizacja pracowni 1 Sprawy organizacyjne Organizacja pracowni 2 3 Marcin Młotkowski
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania
In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania prowadzący: dr inż. Krzysztof Bartecki www.k.bartecki.po.opole.pl Proces tworzenia oprogramowania jest zbiorem czynności i
Specyfikowanie wymagań przypadki użycia
Specyfikowanie wymagań przypadki użycia Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych
Narzędzia CASE dla.net. Łukasz Popiel
Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania
Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.
KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom : Profil : Forma studiów: Obszar : Dziedzina:
Metodyki zwinne wytwarzania oprogramowania
Metodyki zwinne wytwarzania oprogramowania Wykład 7 Marcin Młotkowski 23 listopada 2016 Plan wykładu 1 2 3 Kilka negatywnych przykładów Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 2 /
HP Service Anywhere Uproszczenie zarządzania usługami IT
HP Service Anywhere Uproszczenie zarządzania usługami IT Robert Nowak Architekt rozwiązań HP Software Dlaczego Software as a Service? Najważniejsze powody za SaaS UZUPEŁNIENIE IT 2 Brak zasobów IT Ograniczone
SYSTEMY OPERACYJNE WYKLAD 6 - wątki
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Inżynieria Oprogramowania. Robert Szmurło
Robert Szmurło 1 Złożoność inżynierii oprogramowania Programowanie komputerowy jest zdecydowanie najbardziej skomplikowanym zadaniem intelektualnym podejmowanym przez człowieka. Kiedykolwiek. Gerald M.
Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym
Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania
Wzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Adapter - strukturalny wzorzec projektowy, którego celem jest umożliwienie współpracy dwóm klasom o niekompatybilnych interfejsach - adapter przekształca interfejs
Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Programowanie zwinne
Programowanie zwinne Wykład 1 Marcin Młotkowski 10 października 2012 Plan wykładu Sprawy organizacyjne Organizacja pracowni 1 Sprawy organizacyjne Organizacja pracowni 2 3 Marcin Młotkowski Programowanie