1tom067

1tom067



4. INFORMATYKA 136

sięwzięcia łatwe (np. niewielki podprogram albo program w języku wysokiego poziomu albo niewielki zestaw takich podprogramów lub programów) mogą być realizowane przez specjalistę branżowego z odpowiednim przeszkoleniem informatycznym; przdsięwziecia średniej trudności powinny być realizowane przez zawodowego informatyka lub informatyków, konsultowanych przez specjalistów branżowych; przedsięwzięcia duże i trudne muszą być realizowane przez zespoły, złożone z informatyków i specjalistów branżowych i kierowane przez osoby o dostatecznie dużym doświadczeniu w zakresie zespołowej budowy oprogramowania.

Etap programowania powinien być — poza przypadkami szczególnie łatwymi — poprzedzony przez etap projektowania oprogramowania, realizowany przez projektanta (lub projektantów) we współpracy z przyszłymi użytkownikami. Projektowanie to należy rozpocząć od ustalenia założeń zewnętrznych, dotyczących relacji między projektowanym oprogramowaniem a sprzętem, zasobami danych, oprogramowaniem współpracującym i użytkownikami. Projektowanie wewnętrzne powinno objąć przede wszystkim struktury danych, na których ma pracować projektowane oprogramowanie, a także jego modularyzację, tj. hierarchiczne rozbicie na względnie samodzielne, funkcjonalnie spójne części (moduły). Właściwa struktura oprogramowania, na którą składają się struktury danych, struktura modułowa samego oprogramowania oraz międzymodułowe powiązania, jest uważana za podstawowy warunek czytelności oprogramowania i tym samym jego podatności na odszukiwanie ewentualnych błędów, modyfikacje i rozbudowę.

W przypadku oprogramowania dialogowego wiele uwagi należy poświęcić właściwej organizacji dialogu, a w szczególności jego stronie ergonomicznej. Wszystkie informacje, które mogą być w danej chwili użytkownikowi potrzebne, powinny być wyświetlone na ekranie lub przynajmniej łatwe do wyprowadzenia. Komunikaty wyprowadzane powinny być zwięzłe, ale jasne i łatwo zrozumiałe - użytkownik, uwolniony od niedogodności związanych z formalną stroną dialogu, może być znacznie bardziej wydajny w odniesieniu do jego strony merytorycznej.

Co do komunikatów wprowadzanych zaleca się szerokie stosowanie techniki tablic wyboru („menu”) z opcjami wybieranymi jednym albo niewidoma uderzeniami klawisza. W przypadku, gdy oczekiwanie na właściwą reakcję systemu może trwać dłużej niż ok. 1 s, zaleca się wprowadzać reakcje wstępne systemu, potwierdzające przyjęcie zlecenia i zapowiadające konieczność bądź ewentualność dłuższego oczekiwania. Tablice wyboru i objaśnienia dodatkowe dogodnie jest wyświetlać w postaci pól nakładanych („okien”).

Za niezbędny element procesu budowy oprogramowania należy uznać jego testowanie, tj. systematycznie przeprowadzane próby jego działania. W związku z testowaniem trzeba pamiętać, że poza najprostszymi przypadkami pomyślny wynik testów nie może być uważany za definitywny dowód poprawności oprogramowania, zdarzają się bowiem błędy, uzewnętrzniające się dopiero przy dość mało prawdopodobnych zbiegach okoliczności. Ponieważ autor oprogramowania może się łatwo okazać nie całkiem obiektywnym autorem i realizatorem testów, zaleca się, aby końcowe etapy testowania przygotowywał i przeprowadzał raczej przedstawiciel przyszłego użytkownika.

Spośród metod systematycznego testowania na szczególną uwagę zasługuje metoda oddolna (wstępująca^ ang. botlom-up), polegająca na poddaniu testom w pierwszej kolejności modułów najniższego rzędu; po ich należytym sprawdzeniu przechodzi się następnie do testowania większych całości. Główną zaletą tej metody jest naturalna kolejność postępowania od części do całości, a główną wadą — konieczność posługiwania się specjalnymi programami testującymi w sytuacji, gdy nie ma jeszcze wypróbowanych modułów nadrzędnych. Inna metoda testowania to metoda odgórna (zstępująca, ang. top-down), w której testowanie rozpoczyna się od modułów' najwyższego rzędu, a nie istniejące lub nie przetestowane moduły podrzędne zastępuje się prowizorycznymi modułami-makietami.

Budowa oprogramowania obejmuje też zwykle opracowanie jego dokumentacji, przeznaczonej dla przyszłego nabywcy, użytkownika bądź konserwatora. W odniesieniu do oprogramowania dialogowego, wyposażonego w dobrze opracowane i łatwo dostępne objaśnienia wyprowadzane na ekran, dokumentacja przeznaczona dla użytkownika może mieć znaczenie drugorzędne albo w ogóle może okazać się zbędna: podobnie dokumentację konserwatorską mogą zastąpić właściwie zredagowane komentarze w programie źródłowym. W przypadku, gdy dokumentacja zewnętrzna okazuje się potrzebna, należy zadbać, aby struktura dokumentacji użytkowej oprogramowania dialogowego była zbieżna zc strukturą dialogu, a struktura dokumentacji konserwatorskiej — ze strukturą modułową oprogramowania.

4.3.4. Języki programowania

Maszyna cyfrowa realizuje programy zapisane w jej języku wewnętrznym (maszynowym), zwane też. programami binarnymi, ponieważ alfabetem ich zapisu jest dwuznakowy alfabet binarny. W szczególności symbole rodzajów operacji oraz dane i ich adresy są wyrażane w językach maszynowych przez symbole kodów binarnych.

Do języków maszynowych są zbliżone języki symboliczne, w' których rodzaje operacji oraz dane i ich adresy są reprezentowane przez stosunkowo łatwe do zapamiętania symbole literowo-cyfrowc, wprowadzone do danego języka na stale bądź definiowane na użytek danego programu przez jego autora. Program narzędziowy, tłumaczący program napisany w języku symbolicznym na program binarny, nazywany jest programem zestawiającym lub asemblerem: nazwa „asembler” bywa też przenoszona na sam język symboliczny. Jak w przypadku każdego tłumaczenia program tłumaczony nazywa się programem źródłowym (lub wersją źródłową danego programu), a program będący wynikiem tłumaczenia — programem wynikowym (lub wersją wynikową programu).

Programowanie w języku symbolicznym wymaga dobrej znajomości budowy danego komputera i jest uważane za pracę dość uciążliwą, pozwala jednak na bardzo dobre wykorzystanie możliwości sprzętu i dlatego programy (lub częściej: fragmenty programów) pisane w takim języku charakteryzują się zwykle szczególnie dużą wydajnością.

Języki bardziej zbliżone do zapisów matematycznych lub nawet do języka naturalnego i przez to znacznie łatwiejsze do użytkowania są obejmowane nazwą języków wysokiego poziomu lub języków algorytmicznych. Języki wysokiego poziomu można podzielić na uniwersalne, przeznaczone do zapisu programów o różnorodnym charakterze oraz na języki specjalizowane do zastosowania w węższych dziedzinach.

Program w języku wysokiego poziomu składa się ze zdań rozkazujących, zwanych zwykle instrukcjami: instrukcje grupuje się w większe całości, zwane segmentami, procedurami lub podprogramami. Tłumaczenie (translacja) programu z języka wysokiego poziomu na język maszynowy może przebiegać w trybie interpretacji (każda instrukcja jest tłumaczona wtedy na nowo przed każdym jej wykonaniem) lub w trybie kompilacji (program źródłowy jest tłumaczony w całości na program wynikowy i dopiero potem wykonywany). Zaletą interpretacji jest łatwość próbnego uruchamiania fragmentów nie gotowego jeszcze programu bez konieczności oczekiwania na dość długo niekiedy trwającą kompilację; zaletą kompilacji jest znacznie większa wydajność programu wynikowego.

Program realizujący translację jest nazywany programem tłumaczącym lub translatorem: w przypadku tłumaczenia w trybie interpretacji program taki jest nazywany interpretatorem lub interpreterem, w przypadku tłumaczenia w trybie kompilacji — kompilatorem.

W przypadku większych programów kompilacja bywa realizowana dwuetapowo. W pierwszym etapie poszczególne procedury są tłumaczone oddzielnie na język pośredni, niezależny od języka wersji źródłowej; procedury w języku pośrednim są nazywane procedurami półskompilowanymi. W drugim etapie tłumaczenia procedury półskom-pilowane są scalane (łączone, konsolidowane) w gotowy program binarny. Podział na dwa etapy przyspiesza kompilację o tyle, że w przypadku zmian w niektórych tylko procedurach nie trzeba pozostałych procedur kompilować ponownie. Dwuetapowa kompilacja umożliwia też tworzenie rozbudowanych bibliotek półskompilowanych podprogramów, nadających się do kopiowania i włączania do programów nowo budowanych.

Rozważając wybór właściwego języka programowania należy na ogół brać pod uwagę:

_ dostosowanie możliwości języka do podejmowanego zadania;

-I j^yposażenie w dogodny translator i dostatecznie bogate biblioteki podprogramów; kwalifikacje personelu programującego.

rzy wyborze między językiem uniwersalnym a językiem specjalizowanym na dany typ


Wyszukiwarka

Podobne podstrony:
Instytut Informatyki UMCS Lublin 2012 Jacek Krzaczkowski Zbiór zadań z programowania w języku C/C++
1tom066 4. INFORMATYKA 134 druku niewiele ustępują im drukarki natryskowe („atramentowe”), budujące
Nieudzielanie informacji o ryzyku stosowania produktu Np. sugestywność reklam leków Wprowadzanie do
Scan0002 Źródta informacji o kształceniu do zawodu: (np. informatory, urzędy, Instytucje, szkoły)/.
44001 PrepOrg cz I5 - 125 - ko.we w tych zakresach przynoszą wiele cennych informacji o budowie czą
Scan8 (3) , uiloiualów, którym człowiek umożliwił zdolności percepcji informacji i t l.uiyi li forma
Informacje o Uczelni cjami studenckimi np.: Parlament Studentów RP. Porozumienie Uczelni Niepubliczn
Scan8 (3) , uiloiualów, którym człowiek umożliwił zdolności percepcji informacji i t l.uiyi li forma
1tom061 Informatyka dr hab. inż. Andrzej Szewczyk (p. 4.1+4.4:4.5.1:4.5.7) inż. Stefan Czekalowicz (
1tom062 4. INFORMATYKA 1264.1.4. Kody dwójkowe Kody dwójkowe (binarne) służą do przedstawiania liczb
1tom063 4. INFORMATYKA 128Tablica 4.3. Ośmiobitowy kod EBCDIC systemu IBM/370, wg IBM System/370 Ref
1tom064 4. INFORMATYKA Najbardziej rozpowszechniona koncepcja budowy jednostki centralnej to archite
1tom065 4. INFORMATYKA 132 W ostatnich latach szybko rozpowszechniają się pamięci na dyskach optyczn
1tom068 4. INFORMATYKA 138 zadania należy brać pod uwagę fakt, że język specjalizowany ułatwia i prz
1tom069 4. INFORMATYKA 140 możliwy jednoczesny dostęp (z reguły: dialogowy) ze strony więcej niż jed
ScreenShot332 Środki PR wewnętrznego Dostarczanie pracownikom bieżącej informacji o zamiarach i sukc
Tryb oznajmujący- czasownik informuje o wykonywaniu danej czynności, np. gramy, szukam Tryb

więcej podobnych podstron