OPROGRAMOWANIE KOMPUTERÓW
• Program
• Klasyfikacja oprogramowania
• Oprogramowanie systemowe
• Oprogramowanie użytkowe
Program
Do prawidłowego i pełnego funkcjonowania systemu komputerowego niezbędne jest odpowiednie
oprogramowanie, na które składają się najczęściej różne programy komputerowe.
Program to zbiór instrukcji sterujących działaniem komputera, zbudowany w celu zrealizowania przez
komputer określonego zadania. Oprogramowanie występuje w dwóch postaciach:
• źródłowej, która powstaje w trakcie programowania, umożliwia modyfikację i rozbudowę programu
• wykonywalnej (tzw. kodu maszynowego), która jest przeznaczona do wykonywania przez
komputery, a efekty jego działania obserwuje użytkownik w postaci wydruków, obrazów na
monitorze, zmian w danych, itp.
• Kod źródłowy (source code) to treść programu zapisana w pewnym języku programowania,
zazwyczaj jako tekst, w postaci czytelnej dla człowieka używającego odpowiedniego środowiska
programistycznego. W takiej postaci program jest zrozumiały dla człowieka (programisty znającego
dany język programowania) jednakże bezpośrednio nie może być użyty i wykonany przez komputer.
Języki programowania są językami sztucznymi, powstałymi po
to,
by
w
zrozumiały
sposób
przekazywać
polecenia
komputerowi.
Kod źródłowy jest przetwarzany przez translator
(kompilator) na kod maszynowy zrozumiały dla (procesora)
komputer lub jest analizowany i wykonywany przez specjalny
program zwany interpreterem.
Właściwości
współczesnego
oprogramowania
komputerowego:
graficzny interfejs użytkownika – stanowi tą część
programu, która odpowiada za komunikację z użytkownikiem.
Użytkownik wybiera za pomocą myszy odpowiedni przycisk na
ekranie. Głównym elementem interfejsów graficznych jest
zarządca okien (window manager) przydzielający na ekranie
bloki zwane oknami i przechowujący informacje. Szybkość pracy
z tym interfejsem jest znacznie większa, niż w przypadku
interfejsu tekstowego (wykorzystywanego np. w systemie
DOS)
obiektowość – to architektura programu komputerowego, w
której dane podlegające przetwarzaniu są obiektami należącymi
do określonej klasy. Na przykład w programie graficznym istnieje
klasa obiektów rysunek , a jej obiektami są wszelkie rysunki
przetwarzane przez program. Obiekty tworzą hierarchię, np.:
obiekt rysunek składa się z obiektów linie, każdy obiekt może
być wyposażony w metody, czyli funkcje przetwarzające dany
obiekt (np.: linii może być przyporządkowana metoda zmień-
kolor-linii).
Obiektowość występuje obecnie we wszelkiego rodzaju
programach, umożliwiając przede wszystkim integrację danych
różnych typów, takich jak: tekst, grafika, dźwięk, animacja.
Najbardziej znanym mechanizmem obiektowości jest OLE (Object
Linking and Embendding – łączenie i osadzanie obiektów) firmy
Microsoft, stosowany w systemie operacyjnym Windows.
multimedialność – należy ją rozumieć jako możliwość połączenia
różnych sposobów przekazywania informacji w jednym przekazie.
Programy multimedialne dysponują zaawansowaną grafiką,
animacją
oraz
dźwiękiem.
Przykładem
stosowania
multimedialności są gry komputerowe, programy edukacyjne
(nauka języków obcych, encyklopedie a nawet programy biurowe,
w których komunikaty podawane są dźwiękiem.
Klasyfikacja oprogramowania
W miarę postępów technologii informatycznych rozwijały się różne typy programów
komputerowych, których klasyfikacja nastręcza wciąż poważnych trudności. Jedne
grupy programów szybko się rozwijają, a inne znikają z rynku. Często funkcje
realizowane przez poszczególne grupy programów przenikają się wzajemnie przez
co utrudniają spójną klasyfikację.
Na rys. 1 przedstawiono podział oprogramowania biorąc pod uwagę podstawowe
funkcje programu istotne z punktu widzenia zastosowań ekonomicznych.
Oprogramowanie komputerów podzielono na dwie zasadnicze grupy:
• oprogramowanie systemowe
• oprogramowanie użytkowe
Oprogramowanie systemowe
Umożliwia i ułatwia organizację prac systemu komputerowego. Do oprogramowania
systemowego zaliczamy:
A.
Systemy operacyjne – najważniejszą grupę w oprogramowaniu systemowym stanowią systemy
operacyjne. Są niezbędne do uruchamiania i prawidłowego działania systemu komputerowego
nadzorując pracę wszystkich uruchomionych programów oraz urządzeń komputerowych.
Podstawowe zadania systemu operacyjnego to:
• zarządzanie zasobami sprzętowymi (optymalizacja wykorzystania urządzeń wchodzących w
skład systemu komputerowego oraz sterowanie nimi
• zarządzanie zasobami plikowymi ( obsługa systemu plików, czyli logicznie uporządkowanych
struktur danych umieszczonych w pamięci zewnętrznej, np.: na dysku twardym
• uruchamianie i udostępnianie użytkownikom aplikacji (przydzielanie programom użytkowym
mocy obliczeniowej procesora, pamięci operacyjnej, itp.)
• Systemy operacyjne składają się z dwóch głównych elementów: interpretera poleceń i
jądra
- Interpreter poleceń – określany jest jako powłoka systemu
operacyjnego (shell) i jego zadaniem jest umożliwienie
komunikacji między użytkownikiem a maszyną, najczęściej jest to
interfejs graficzny użytkownika. Jądro (kernel) to wewnętrzna
część systemu operacyjnego, która zawiera podstawową
funkcjonalność wymaganą w konkretnej instalacji. W skład jądra
wchodzą : zarządca plików (file manager),programy obsługi
(sterowniki)urządzeń (device driver) i zarządca pamięci
(memory manager).
Współczesne
systemy
operacyjne
charakteryzują
się
następującymi cechami:
- wielozdaniowość – możliwość wykonywania przez jednego
użytkownika naraz więcej, niż jednego programu. Umożliwia to
jednoczesną pracę z różnymi aplikacjami w tle, a szczególnie
wtedy, gdy pewne zadania są czasochłonne,
- wielodostęp (wielostanowiskowość) – możliwość jednoczesnej
pracy wielu użytkowników z jednym systemem komputerowym.
Wymaga istnienia sieci komputerowej, w której komputer
centralny, czy serwer jest połączony z końcówkami sieci, czyli
terminalami lub komputerami typu PC,
- ochrona danych – zespół właściwości systemu
operacyjnego,
które
zapewniają
jego
stabilność
(odporność
na
awarie
sprzętu
i
błędy
w
oprogramowaniu) oraz autoryzowanie dostępu do
danych (ograniczanie praw użytkowników do zasobów
systemu komputerowego wg zasad przyjętych w danej
instytucji.
Wśród najpopularniejszych systemów operacyjnych dla
komputerów typu PC należy wymienić rodzinę systemów
operacyjnych Windows (XP, 2003, Vista) oraz system
Linux będący odmianą systemu operacyjnego UNIX.
Istnieją także systemy operacyjne przeznaczone do
systemów mobilnych, np: Symbian, MS Windows Mobile.
B. programy pomocnicze – rozszerzają i usprawniają funkcje
udostępniane przez system operacyjny. Wśród tych
programów wyróżnić można:
1. - nakładki na systemy operacyjne – są to proste
programy, które ułatwiają korzystanie z podstawowych funkcji
systemu operacyjnego, np.: program Total Commander w
przejrzysty sposób wyświetla zawartość dysków komputera,
2. – programy diagnostyczne, testowe i naprawcze –
służą do badania składników systemu komputerowego w celu
określenia ich wydajności lub wykrycie ewentualnych usterek
konfiguracji lub wadliwego działania. Niektóre z nich potrafią
usuwać wykryte błędy zapisu plików na dyskach. Funkcją taką
dysponują np.: program scandisk (lub CHKDSK) i pakiet Norton
Utilities,
3. – programy antywirusowe i zapory ogniowe (firewall) służą
do wykrywania oraz niszczenia wirusów i trojanów komputerowych
oraz do zapobiegania atakom zewnętrznym dokonywanym na
komputer podłączony do sieci, np.: (Norton Antivir, Arcavir, Avast,
Sementec),
4. – archiwizery – zadaniem ich jest kompresja plików i ich
łączenie w większe zbiory zwane archiwami. Stosuje się je przede
wszystkim do przechowywania zapasowych kopii danych i
programów, np.: WinArj, WinZap,
5. - przeglądarki internetowe – to programy umożliwiające
oglądanie stron WWW w sieci Internet (np.: MS Internet Explorer,
Opera, Firefox)
C.
systemy
programowania
–
służą
do
tworzenia
oprogramowania komputerowego. Składają się zwykle z dwóch
elementów:
• języka programowania
• kompilatora tego języka – czyli programu, który tłumaczy kod
zrozumiały dla programisty na kod maszynowy – zrozumiały dla
mikroprocesora komputera.
Wyróżnia się kilka generacji języków programowania:
C1. I generacja – to kod maszynowy, czyli ciąg zer i jedynek
stanowiący binarny zapis funkcji mikroprocesora wraz z ich
parametrami. Kod maszynowy jest zrozumiały dla mikroprocesora,
jest jednak nieprzejrzysty dla programisty,
C2. II generacja – to języki zwane asemblerami, w których funkcje
mikroprocesora są kodyfikowane (zapisywane) za pomocą tzw.
mnemoników, np.: komenda ADD A B spowodowałaby dodanie
zmiennej A do B i umieszczenie wyniku w zmiennej A. Asemblery jako
języki niskiego poziomu słabo nadają się tworzenia oprogramowania
użytkowego, wykorzystuje się je zazwyczaj do tworzenia elementów
oprogramowania systemowego,
C3. III generacja – to najliczniejsza grupa języków programowania.
Oferują one programistom takie udogodnienia jak proceduralność,
czyli możliwość jednokrotnego zaprogramowania rozbudowanych
procedur, a następnie wielokrotnego odwoływania się do nich w
programie. Niektóre języki III generacji to języki obiektowe,
umożliwiające tworzenie aplikacji obiektowych, co istotnie wpływa na
funkcjonalność
produktu
programowego.
Przykładowe
języki
programowania C, C++, Pascal, Delphi, Basic, Cobol, Java,
C4. IV generacja ( 4 GL – Fourth Generation Language) – to
zaawansowane technologicznie systemy programowania, które
jakby „ukrywają” przed programistą stopień skomplikowania
tworzonej aplikacji. Oferują możliwość szybkiego tworzenia
oprogramowania
za
cenę
małej
elastyczności
języka
programowania. Wykorzystywane są w tzw. zintegrowanym
środowisku
programistycznym
(Integrated
Development
Environment – IDE)
Przykładowo język programowania Delphi w tym środowisku
wyposażony jest w takie elementy jak:
- menu główne i paski narzędzi (podobnie jak w Windows)
- paletę komponentów wizualnych
- projekt formularzy
- edytor kodu
- podgląd drzewa obiektów
- inspektor obiektów
Oprogramowanie użytkowe
Jest to zbiór programów komputerowych, których celem jest realizowanie
określonych zadań użytkownika.
W ramach tego oprogramowania można wyróżnić:
• programy narzędziowe
• programy użytkowe
Programy narzędziowe służą do operowania na zbiorach danych określonego
formatu:
(1) edytory tekstu – służą do tworzenia i edycji dokumentów tekstowych, które
mogą również zawierać takie obiekty jak: tabele, ramki, rysunki, a nawet animację i
dźwięk np.: MS Word,
Open Office. org, Word Perfect. Wyróżnić należy klasę edytorów tekstu
przeznaczonych do tworzenia profesjonalnych publikacji tekstowo-graficznych klasy
DTP – Desktop Publishing. Najbardziej znane aplikacje to Adobe Page Marker, MS
Publisher, Ventura,
(2) arkusze kalkulacyjne – są to programy wspomagające
przetwarzanie dużych zestawów danych zorganizowanych w
formie tabeli np.: MS Excel, Open Office.org. Calc, Quattro Pro,
(3) systemy zarządzania bazami danych SZBD – to programy
umożliwiające tworzenie uporządkowanych zbiorów danych i
wykonywanie na nich operacji.
Typowe operacje wykonywane przez SZBD
• tworzenie struktury bazy danych (rekordów),
• dodawanie rekordów czyli wprowadzanie danych do wcześniej
utworzonej struktury bazy danych,
• aktualizacja bazy danych (zmiany w istniejących rekordach),
• porządkowanie bazy danych (sortowanie),
• udostępnianie wyników (generowanie odpowiedzi na zadane
pytania),
Przykładowe SZBD: DB2, Sybase, Oracle, SQL, Fox_Base, dBASE,
MS Access, Paradox, Informix,
(4) pakiety graficzne – służą do tworzenia, obróbki i
prezentowania grafiki. Najważniejsze funkcje tego rodzaju
pakietów to:
• tworzenie i edytowanie obszarów z danymi liczbowymi
• tworzenie wykresów (liniowych, słupkowych, kołowych
• edytowanie wykresów (dodawanie do nich dodatkowych
informacji – np.: legendy)
Pakiety do graficznej prezentacji często są integralnymi
składnikami arkuszy kalkulacyjnych (Excel, Quattro Pro itp.)
(4a) Pakiety graficzne wspomagające tworzenie diagramów
i schematów
• zawierają w sobie symbolikę właściwą do prezentowanego
zagadnienie, posiadają następujące możliwości:
• korzystania z gotowej biblioteki kształtów i symboli, a także jej
uzupełniania o nowe elementy,
• szybkie zmienianie wielkości i innych właściwości elementów
diagramu lub schematu,
• łatwe tworzenie połączeń między kształtami i symbolami,
• elastyczne
modyfikowanie
wcześniej
przygotowanych
schematów i diagramów.
• Przykłady nazw pakietów : MS Visio, Open Office.org., Draw i
Grafix.
4b) Pakiety do dynamicznej prezentacji – posiadają takie
funkcje jak:
• możliwość opracowania serii plansz (slajdów), które mogą
być następnie zaprezentowane różnymi technikami – np.:
wyświetlone za pomocą projektora multimedialnego
• łączenie na slajdach treści multimedialnych (tekstu, grafiki,
filmów, animacji), których zadaniem jest emocjonalne
oddziaływanie na odbiorcę,
• modyfikowania kolejności slajdów i długości trwania pokazu,
np.: Power Point.
(5) Programy analityczno - statystyczne – programy tego
typu pozwalają na:
• przeprowadzenie specjalizowanych procesów kalkulacyjnych
na danych zaczerpniętych bezpośrednio z systemów
ewidencyjnych przedsiębiorstwa lub z zewnątrz,
• korzystanie ze specjalistycznych technik analitycznych
stosowanych, np.: w bazach społecznych, biomedycznych i
technicznych,
• przekształcanie danych źródłowych do takiej postaci (np.:
wykresów) na podstawie której można podejmować decyzje
zarządcze, np.: programy Statistica, SPSS.
(6) Programy wspomagania pracy biurowej – ułatwiają
użytkownikowi organizację typowych zajęć wykorzystywanych
podczas pracy, np.:
• organizację czasu pracy w postaci zapisywania terminów i
zadań do wykonania,
• wykrywanie konfliktów terminowych i przypominanie o
terminach spotkań,
• zapisywanie notatek,
• prowadzenie dziennika działalności.
Przykłady programów: MS Outlook, Lotus Organizer.
(7) Programy komunikacyjne – pozwalają one na:
• wymienianie
komunikatów
z
jednym
lub
wieloma
użytkownikami przez wpisywanie tekstów skierowanych do
„rozmówcy” i odbiór odpowiedzi,
• przesyłanie plików między użytkownikami,
• komunikację między użytkownikami w postaci przekazów
głosowych (telefonia internetowa) i wideo (telekonferencje).
Przykłady programów: ICQ, Skype, Gadu –Gadu, Tlen, Spik.
(8) Programy do pracy grupowej (groupware) – podstawowym
ich zadaniem jest wspomaganie grup roboczych, czyli zespołów
pracowników zorientowanych na osiągnięcie określonego celu.
Podstawowe funkcje takich pakietów to:
• zarządzanie rozbudowanym systemem poczty elektronicznej,
umożliwiającym hierarchiczne uporządkowania danych o
korespondentach,
śledzenie
historii
korespondencji
i
wyszukiwanie prowadzonej w grupie roboczej tematów
dyskusji,
• zarządzanie przepływem dokumentów i zadań w instytucji
(workflow) co polega na ustanowieniu formatu dokumentu,
zależności jego zawartości od danych zgromadzonych w
bazach danych przedsiębiorstw i określenie ścieżki obiegu
dokumentu między użytkownikami,
• zarządzanie informacjami wspólnymi dla grupy roboczej
(wspólny terminarz, wspólna baza adresowa klientów).
Przykłady programów: Lotus Domino/Notes, MS Exchange i Novell
Group Wiese.
Programy użytkowe
Stanowią programową realizację systemów informacyjnych zarządzania.
Programy te dzielą się na:
• systemy powielarne (typowe) mogą być stosowane w różnych
obiektach
gospodarczych,
często
bardzo
różniących
się
wymaganiami funkcjonalnymi. Warunkiem powielarności jest duża
elastyczność i możliwość szerokiej parametryzacji systemu
• systemy indywidualne (dedykowane) – są tworzone w celu
spełnienia wymagań konkretnego obiektu gospodarczego w jak
największym zakresie. Systemy te są tworzone na zamówienie.
Programy użytkowe mogą występować w takiej postaci, jak:
• systemy finansowo – księgowe (FK)
• systemy obrotu towarowego (OT)
• systemy gospodarki materiałowej (GM)
• systemy gospodarki środków trwałych
• systemy kadrowo – płacowe
• systemy zarządzania relacjami z klientami (CRM)
• systemy controllingu
• systemy zintegrowane zarządzania (ERP).
Oprogramowanie
Oprogramowani
e
systemowe
Oprogramowanie
użytkowe
Programy
pomocnicze
Systemy
programowan
ia
Systemy
użytkowe
Edytor
tekstu
Arkusze
kalkulacyjn
e
Systemy
zarządzania
bazami
danych
Programy
graficzne
Programy
analityczno
-
statystyczn
e
Programy
wspomagaj
ące pracę
biurową
Programy
komunikacy
j-
ne
Programy
do pracy
grupowej
Programy
narzędziow
e
Systemy
operacyjne
Systemy
operacyjne
Systemy
powielarne
Systemy
indywidual
-
ne