OPROGRAMOWANIE KOMPUTERÓW:
Oprogramowanie a program
Oprogramowanie -element systemu komputerowego, który umożliwia bądź ułatwia eksploatację komputera, a także pozwala na wykonywanie za jego pomocą różnych zadań
Program -zbiór instrukcji sterujących działaniem komputera, opracowany w celu realizacji określonego zadania; algorytmem postępowania, który opisuje jakie operacje, w jakiej kolejności i na jakich danych muszą zostać wykonane, aby rozwiązać określony problem.
Pakiety programów
Pakiety programów -zestawy programów powiązanych funkcjonalnie i informacyjnie
Cechy współczesnych programów:
-„przyjazność” dla użytkownika
-multimedialność
-obiektowość
Oprogramowanie „user friendly”
Cechy programów przyjaznych dla użytkownika:
-stosowanie metod i technik komunikacji, które ułatwiają pracę użytkownika
-współpraca programów z użytkownikiem w trakcie realizacji poszczególnych zadań
-wyeliminowanie nadmiaru informacji i zbytniej złożoności oprogramowania
-ujednolicony interfejs i sposób obsługi w całym obszarze działania systemu
Graficzny interfejs użytkownika
Interfejs -ta część programu, która odpowiada za komunikację z użytkownikiem przyjmując jego polecenia i odpowiadając na nie wyświetlaniem odpowiednich komunikatów
Rodzaje interfejsu:
-interfejs tekstowy
-interfejs graficzny GUI (Graphical User Interface)
Oprogramowanie multimedialne
Cechy programów multimedialnych:
-możliwość połączenia różnych sposobów przekazywania informacji w jednym przekazie
-wykorzystanie zaawansowanej i rozbudowanej grafiki, animacji, dźwięku do prezentowania informacji i komunikowania się z użytkownikiem
-multimedia nawiązują do tradycyjnych sposobów komunikacji między ludźmi mowa, obraz
Oprogramowanie obiektowe
Cechy programów obiektowych:
-architektura programu komputerowego, w której dane podlegające przetworzeniu są obiektami należącymi do określonej klasy (np. w programie graficznym może występować obiekt rysunek, który składa się z obiektów linie)
-każdy obiekt może być wyposażony w zbiór określonych funkcji przetwarzających ten obiekt
-dzięki obiektowości możliwe staje się przenoszenie, edycja obiektów pomiędzy różnymi programami oraz integracja różnych typów danych
Rodzaje oprogramowania
Podział oprogramowania ze względu na cel wykorzystania:
-oprogramowanie systemowe -
> organizuje i ułatwia pracę z komputerem
> nie wspomaga użytkownika w realizacji zadań i rozwiązywaniu je- go problemów
> stanowi podstawę do działania oprogramowania użytkowego
-oprogramowanie użytkowe - zbiór programów i pakietów programowych, których celem jest realizowanie określonych zadań użytkownika
Warstwy oprogramowania
Struktura funkcjonalna oprogramowania
Systemy operacyjne
System operacyjny -szereg procedur i programów, które zarządzają, sterują i kontrolują pracą podstawowych elementów komputera (np. pamięć, procesor, urządzenia wejścia-wyjścia)
Programy i systemy diagnostyki sprzętu
Programy i systemy diagnostyki sprzętu -gotowe procedury służące do kontroli sprawności techniczno-eksploatacyjnej poszczególnych urządzeń składających się na zestaw komputerowy
-testy sprawności działania poszczególnych elementów zestawu komputerowego
-testy diagnostyczne, wykrywanie uszkodzeń
-usuwanie i omijanie awarii (w tym również rekonfigurację sprzętu)
Systemy (języki) programowania
Systemy (języki) programowania: pozwalają użytkownikom na tworzenie własnych programów
Dwa elementy systemów programowania:
-język programowania - zbiór symboli oraz reguł syntaktycznych i semantycznych stosowanych do definiowania sposobu przetwarzania określonego zadania
-translator (program tłumaczący) - przekształca program zapisany w języku programowania na kod maszynowy zrozumiały dla procesora komputera
Generacje języków programowania
I GENERACJA- kodowanie funkcji procesora za pomocą kodu maszynowego (ciąg zer i jedynek)
II GENERACJA (asemblery) - kodowanie funkcji procesora za pomocą mnemoników (proste i zwięzłe komendy stanowiące odpowiedniki poleceń, które może wykonać procesor)
III GENERACJA - najliczniejsza grupa języków programowania
Cechy:
-proceduralność (możliwość jednokrotnego zaprogramowania określonego algorytmu postępowania, a następnie wielokrotnego odwoływania się do niego)
-prostota oraz podobieństwo języka programowania do języka naturalnego
-popularne języki programowania: Pascal, C, C++, Delphi, Visual Basic
IV GENERACJA - zaawansowane języki programowania
Cechy:
-znaczne zbliżenie i podobieństwo do języka naturalnego
-opisywanie zadania w sposób uogólniony bez wchodzenia w szczegóły komputerowej realizacji
-na szybkie tworzenie i modyfikowanie aplikacji z wykorzystaniem systemów RAD (Rapid Application Development)
Programy obsługi wielodostępu i sieci komputerowych
Programy obsługi wielodostępu i sieci komputerowych - umożliwiają i synchronizują równoległą pracę wielu użytkowników
Zadania:
-zdalna praca
-szybki i bezpieczny transfer plików w sieci
-zdalne uruchamianie i wykonywanie zadań
-obsługa uniwersalnej poczty elektronicznej
-obsługa list dyskusyjnych
-sprawne i szybkie przeszukiwanie sieci w poszukiwaniu określonej informacji
-tworzenie i publikowanie serwisów informacyjnych w sieci
Oprogramowanie pomocnicze
Oprogramowanie pomocnicze: nie służy bezpośrednio do realizacji zadań użytkownika, ale wspiera pracę innych programów.
Rodzaje oprogramowania pomocniczego:
-nakładki na systemy operacyjne - usprawniają i ułatwiają pracę z wybranym systemem operacyjnym (Norton Commander)
-programy antywirusowe - służą do zabezpieczenia systemów komputerowych, a także do wykrywania i usuwania wirusów komputerowych (Norton AntiVirus, Kaspersky AntyViral Toolkit Pro, Mks_Vir)
-archiwizery - zmniejszają objętość wybranych plików łącząc je w większe zbiory zwane archiwami (WinZip, WinRar, WinAce, PowerArchiver)
Standardowe programy i systemy użytkowe (oprogramowanie powielarne)
Dwie grupy oprogramowania:
-oprogramowanie zorientowane na metody - pakiety programów, w których zastosowano pewną klasę algorytmów lub metod rozwiązywania problemów (pakiety typu PERT, pakiety do obliczeń statystycznych i matematycznych,pakiety wykorzystujące teorię badań operacyjnych - programowanie liniowe, programowanie dynamiczne)
-Oprogramowanie zorientowane na problemy - pakiety programów, które ze względu na przyjęte rozwiązania przystosowane są do wspomagania użytkowników w rozwiązywaniu szczegółowych problemów i zagadnień ze ściśle określonej klasy (wspomaganie planowania produkcji, ewidencji zasobów)
Indywidualne systemy i programy użytkowe
Indywidualne systemy i programy użytkowe (oprogramowanie dedykowane) - programy tworzone przez programistów lub samych użytkowników w celu rozwiązania bądź wspomagania nietypowych problemów
Cechy:
-możliwość zastosowanie niestandardowych algorytmów
-dopasowanie do potrzeb końcowego użytkownika
-czasochłonność wykonania
-wyższa cena w porównaniu z oprogramowaniem standardowym
Pakiety narzędziowe
Pakiety narzędziowe -wyspecjalizowane funkcjonalnie systemy (programy) powszechnego użytku, które umożliwiają realizację różnorodnych zadań
Grupy pakietów narzędziowych:
-edytory tekstów
-arkusze elektroniczne
-systemy zarządzania bazą danych
-pakiety graficzne
-pakiety zintegrowane
-pakiety organizacji prac biurowych
Edytory tekstu
Edytory tekstu:
-służą one do tworzenia i edycji dokumentów tekstowych
-pracują w trybie WYSIWYG (What You See Is What You Get)
-umożliwiają interaktywne tworzenie tekstu
Arkusze elektroniczne
Arkusze kalkulacyjne:
-umożliwiają przetwarzanie dużych zestawów danych zorganizowanych w formę tabeli
-wspomagają prace związane z przeprowadzaniem skomplikowanych obliczeń, planowaniem i analizą “co jeśli”
Systemy zarządzania bazą danych
Systemy zarządzania bazą danych:
-pozwalają na przechowywanie w uporządkowany sposób dużej ilości zróżnicowanych danych
-umożliwiają tworzenie i wykonywanie operacji na zbiorach danych
-pozwalają tworzyć aplikacje użytkowe
Pakiety graficzne
Pakiety graficzne-służy do tworzenia, obróbki i prezentowania grafiki
Grupy pakietów graficznych:
-pakiety do obróbki obrazów rastrowych, które zapisywane są w postaci mapy bitowej
-pakiety do obróbki obrazów wektorowych, które składają się z listy elementów i procedur
Zastosowanie pakietów graficznych:
-rysowaniu wykresów (Microsoft Chart, Grapher)
-rysowanie i obróbka ilustracji (Corel Draw, Paint Shop Pro, Adobe Photoshop, Adobe Illustrator)
-przygotowywanie prezentacji (Microsoft Power Point, Lotus Freelance Graphics i Macromedia Director)
-kreśleniu rysunków związanych z komputerowym wspomaganiem projektowania (CAD- Computer Aided Design, CAE-Computer Aided Engineering)
Pakiety zintegrowane
Pakiety zintegrowane:
-realizują określoną grupę funkcji
-zazwyczaj łączą w sobie funkcje edytora tekstu, arkusza kalkulacyjnego, bazy danych, pakietów graficznych
-pracują z jednym zestawem danych bez konieczności uciążliwego przenoszenia ich pomiędzy aplikacjami
-posiadają ujednolicony interfejs użytkownika
-Microsoft Works
Pakiety organizacji prac biurowych
Pakiety organizacji prac biurowych:
-ułatwiają i usprawniają pracę typowego biura
-zarządzają czasem i organizują działalność biura
-pozwalają prowadzić harmonogram zajęć dla każdego dnia
-sygnalizują zbliżające się terminy spotkań
-pozwalają przygotować dokumenty oraz przyjmować je z zewnątrz
-umożliwiają zdalną pracę i dostęp do zasobów zgromadzonych w miejscu pracy
-Microsoft Office, Lotus Organizer
Pakiety wspomagające działalność organizacji
Generacje pakietów wspomagających działalność organizacji (systemy informatyczne zarządzania):
I GENERACJA - systemy transakcyjne (ewidencyjne)
-zorientowane na ewidencję procesów gospodarczych, jakie zachodzą w organizacji
-ukierunkowane na dane źródłowe i ich wstępne przetworzenie
-główna funkcja to wstępne przetworzenie danych źródłowych, zazwyczaj według standardowych algorytmów
II GENERACJA - systemy informacyjno-decyzyjne
-realizują dwie podstawowe funkcje: ewidencję gospodarczą połączoną z możliwościami planowania, analizowania i diagnozowania
-zawierają procedury zwiększające proces przetwarzania danych, wykorzystując w nich metody matematyczne, statystyczne i ekonometryczne
-dostarczają informacji analitycznej i specjalistycznej, niezbędnej w podejmowaniu decyzji
-źródłem informacji są dane z systemów transakcyjnych
III GENERACJA - systemy wspomagania decyzji
-gromadzą, przetwarzają i udostępniają informacje wspomagające podejmowanie decyzji
-analizują, porównują i interpretują informacje niezbędne do podjęcia decyzji
-umożliwiają usprawnienie procesów decyzyjnych w obszarach słabo ustrukturalizowanych, dla których trudno jest znaleźć jednoznaczne algorytmy i procedury rozwiązania
-ułatwiają podejmowanie decyzji indywidualnych
i grupowych
IV GENERACJA - systemy ekspertowe
-zawiera wyspecjalizowaną wiedzę na temat specyficznego obszaru działalności ludzkiej
-wiedza jest zorganizowana w sposób umożliwiający interakcyjny dialog systemu z użytkownikiem
-w trakcie dialogu system może oferować inteligentne rady lub proponować rozsądne decyzje oraz objaśniać sposób rozumowania, będący podstawą tych rad lub propozycji
-doradza, analizuje, klasyfikuje, udziela informacji, diagnozuje, uczy się, gromadzi doświadczenia, prognozuje, planuje, testuje