background image

Inżynieria oprogramowania

Instalacja, wdrażanie oraz 

konserwacja oprogramowania

background image

Slajd 2

Plan wykładu

• Instalacja systemu informatycznego
• Szkolenia i wdrożenie 
• Modyfikacje oprogramowania 
• Konserwacja oprogramowania
                    -Analiza celowości wprowadzania modyfikacji 
                    -Koszty konserwacji oprogramowania
                    -Czynniki redukcji kosztów konserwacji
                    -Narzędzia i metody konserwacji 

oprogramowania

                    -Faza konserwacji (zgłaszanie problemów, 

zlecanie

                      zmian, ocena efektu zmian)

background image

Slajd 3

Instalacja systemu

background image

Slajd 4

Instalacja systemu 1/2

Szczególnie istotna

 w przypadku 

oprogramowania wykonywaniego 

na 

konkretne zamówienie

; w jej trakcie 

następuje 

przekazanie systemu klientowi

który w momencie zakończenia instalacji 
staje się 

właścicielem systemu

background image

Slajd 5

Instalacja systemu 2/2

Podstawowe czynności podczas instalacji systemu:

• przygotowanie środowiska pracy

: dostarczenie nowego lub 

wykorzystanie istniejącego sprzętu (serwery, stacje, sieć, 
drukarki, ...); odpowiednie skonfigurowanie systemów 
operacyjnych; instalacja i/lub dostrojenie systemów bazodanowych

• przeniesienie stworzonych aplikacji

 (instalacje na serwerach i 

stacjach)

• dostosowanie oprogramowania

 do wymogów konkretnego 

stanowiska

• inicjalizacja baz danych

 (zdefiniowanie reguł postępowania, 

wypełnianie słowników i kartotek, przeniesienie - import danych z 
funkcjonujących systemów,...)

• zdefiniowanie użytkowników

 (ew. grup lub ról), przydzielenie im 

uprawnień i weryfikacja dostępu do odpowiednich części systemu

• sprawdzenie możliwości wykorzystania

 przynajmniej 

podstawowej funkcjonalności systemu

background image

Slajd 6

Problemy podczas instalacji 1/2

Wypełnienie startowe bazy danych

Wypełnienie startowe bazy danych

 jest 

często bardzo żmudnym procesem, 
wymagającym wprowadzenia danych z 
różnych nośników oraz uzgodnienia ich 
poprawności i spójności. Niekiedy część 
danych może być dostępna w formie 
elektronicznej (np. w postaci zapisów 
poprzedniego systemu), ale wymaga to 
przygotowania specjalnych programów 
konwersji (możliwe to jest w zasadzie tylko 
pod warunkiem znajomości struktury bazy)

background image

Slajd 7

Problemy podczas instalacji 2/2

• Ważne jest 

planowanie i harmonogramowanie prac

planowanie i harmonogramowanie prac

 

- pojawia się szereg problemów, np. konieczność 
usunięcia błędów i wprowadzenia modyfikacji; należy 
dążyć do zarezerwowania odpowiedniego czasu na 
prace związane z instalacją pamiętając przy tym, że 
użytkownicy nie mogą zaniechać wykonywania przez 
nich bieżących prac

• O

pór użytkowników przed zmianą sposobu pracy

pór użytkowników przed zmianą sposobu pracy

 - 

często użytkownicy końcowi systemu są to osoby mniej 
zaawansowane i na starcie nieufne do nowego 
systemu; zwykle nie uczesniczyli bowiem w 
poprzednich pracach prowadzących do powstania 
systemu; bardzo ważne jest uzyskanie ich akceptacji

background image

Slajd 8

Szkolenia i 

wdrożenie

background image

Slajd 9

Szkolenia i wdrożenie

• Część wstępna szkoleń

 (najczęściej w 

postaci seminarium, bez bezpośredniej pracy 
użytkowników z systemem) może być 
przeprowadzona jeszcze przed ukończeniem 
systemu;

• Szkolenia muszą być dostosowane do 

poziomu użytkowników

 (np. odzielnie dla 

użytkowników końcowych i administratorów 
systemu) i powinny być organizowane w taki 
sposób, aby osoby uczestniczące były 
zainteresowane całością zagadnienia

background image

Slajd 10

Szkolenia i wdrożenie 2/2

• Zaleca się

, aby szkolenia przeprowadzały 

(lub przynajmniej je rozpoczynały) 

osoby, 

które były zaangażowane w prowadzenie 
przedsięwzięcia

; jest im łatwiej nawiązać 

kontakt z przyszłymi użytkownikami

• Bardzo często stosowane jest tzw. 

nadzorowane korzystanie z systemu

 

(użytkownicy pracują w nowym systemie pod 
kontrolą wdrożeniowca), często 

równoległe 

z tradycyjnym sposobem pracy

, po którym 

następuje weryfikacja rezultatów

background image

Slajd 11

Modyfikacje 

oprogramowania

background image

Slajd 12

Konserwacja i modyfikacja 

oprogramowania

• Inne używane terminy to 

pielęgnacja

 lub 

utrzymanie

 (ang. maintenance)

• Konserwacja

 polega na zapewnieniu 

poprawnego i efektywnego funkcjonowania 
systemu 

poprzez wprowadzenie 

niezbędnych modyfikacji

background image

Slajd 13

Konserwacja  i modyfikacja 

oprogramowania

Istnieją trzy 

główne klasy

  wprowadzanych w 

oprogramowaniu modyfikacji

poprawiające

poprawiające

 

- polegają na usuwaniu z 

oprogramowania wykrytych podczas normalnej pracy 
błędów (nie zostały one wykryte podczas testowania) a 
popełnionych w czasie analizy wymagań, projektowania 
lub najczęściej implementacji

ulepszające

ulepszające

 - polegają na poprawie jakości 

oprogramowania, 

dostosowujące

dostosowujące

 - polegają na dostosowaniu 

oprogramowania do zmian zachodzących w 
wymaganiach użytkownika lub w środowisku pracy 
oprogramowania

background image

Slajd 14

Modyfikacje poprawiajce

• Wymaga się, aby wprowadzanie modyfikacji 

polegało na zmianie 

nie tylko kodu, ale 

również dokumentacji

 (np. projektu);

• Dzięki temu dysponujemy cały czas 

spójną 

dokumentacją i minimalizujemy ryzyko 

związane z niekontrolowanymi zmianami 
kodu

background image

Slajd 15

Modyfikacje ulepszające

Przykłady modyfikacji ulepszających:
• Poprawa 

wydajności istniejących 

funkcji

 (np. nowy algorytm 

przetwarzania)

• Poprawa 

ergonomii interfejsu 

użytkownika

 (np. automatyzacja 

powtarzalnych operacji)

• Poprawa 

przejrzystości raportów

 lub 

inne sposób prezentacji

background image

Slajd 16

Modyfikacje dostosowujące

Modyfikacje dostosowujące wynikają ze:

• zmiany (rozszerzenia) wymagań 

użytkowników

 (np. nowy profil działalności)

• zmian przepisów prawnych

 dotyczących 

dziedziny problemu lub jego otoczenia 

• zmian organizacyjnych

 po stronie klienta (np. 

inna forma własności lub zmiany terytorialne)

• zmian sprzętu i oprogramowania

 

systemowego

• zmian innych systemów

 z którymi 

współpracuje oprogramowanie (potrzeba 
opracowania nowych interfejsów)

background image

Slajd 17

Analiza celowości 

wprowadzania modyfikacji 1/2

Użytkownicy zwykle zgłaszają wiele potencjalnych 

usprawnień i modyfikacji

, które ich zdaniem są 

wskazane lub niezbędne w pracy systemu; 

należy 

podchodzić do takich propozycji z należytą 
uwagą, ale i odpowiednim krytycyzmem

Dopiero 

po dokonaniu oceny zmiany

 podejmowana 

jest decyzja o jej ewentualnej realizacji; w przypadku 
bardzo 

dużych przedsięwzięć

 może zostać powołana 

w tym celu 

specjalna komisja

Zaleca się grupowanie zmian

, których wykonanie 

prowadzi do nowej wersji systemu

background image

Slajd 18

Analiza celowości 

wprowadzania modyfikacji 2/2

Analiza celowości wprowadzenia zmian powinna 

uwzględniać:

• znaczenie

 wprowadzenia zmiany dla 

użytkowników

• koszt

 wprowadzenia zmiany i uzyskane 

korzyści

• ocenę ryzyka

 destabilizacji normalnej pracy 

w wyniku błędu nowej części

• wpływ zmiany

 na poszczególne 

składowe 

systemu

• wpływ zmiany

 na poszczególne 

składowe 

dokumentacji technicznej

background image

Slajd 19

Konserwacja 

oprogramowania

background image

Slajd 20

Koszty konserwacji oprogramowania 

1/2

• Występuje tendencja, aby 

zbyt nisko 

oceniać koszt konserwacji

; okazuje się 

jednak, że koszty te mogą być bardzo duże, 
zwłaszcza w przypadku organizacji 
funkcjonujących w zmiennym środowisku

• Niedocenianie nakładów pracy

 na 

konserwację jest jedną z 

głównych 

przyczyn opóźnień przedsięwzięć

 i tylko 

częściowego ich wykorzystania

background image

Slajd 21

Koszty konserwacji oprogramowania 

2/2

Obiektywne czynniki wpływające na koszty konserwacji:

• Stabilność środowiska

 w którym pracuje system - 

zmiany zachodzące w przepisach prawnych, zmiany 
struktury organizacyjnej i sposobów działania po 
stronie klienta prowadzą do zmian wymagań wobec 
systemu

• Stabilność platformy sprzętowej i 

oprogramowania

 systemowego - wymiana sprzętu 

może skutkować koniecznością dostosowania systemu

• Czas użytkowania systemu

 - całkowite koszty 

konserwacji oczywiście rosną, gdy system jest 
eksploatowany przez dłuższy czas

background image

Slajd 22

Czynniki redukcji 

kosztów konserwacji 

1/4

Znajomość dziedziny problemu

Znajomość dziedziny problemu

 - jeżeli 

analitycy pracujący nad systemem dobrze 
znają daną dziedzinę problemu, mają mniej 
trudności z właściwym zebraniem wymagań 
oraz budową oddającego rzeczywistość 
modelu; możliwe jest również przewidzenie i 
uwzględnienie potencjalnych kierunków 
rozwoju systemu

• Wysoka 

jakość modelu i projektu

jakość modelu i projektu

, w 

szczególności jego spójność, stopień 
powiązania składowych oraz przejrzystość

background image

Slajd 23

Czynniki redukcji 

kosztów konserwacji 

2/4

• Wysoka 

jakość dokumentacji technicznej

jakość dokumentacji technicznej

 

(powinna  w pełni odpowiadać systemowi, być 
wystarczająco szczegółowa i zgodna z 
przyjętymi w firmie standardami)

Stabilność personelu

Stabilność personelu

 - niezależnie od jakości 

dokumentacji, pewne aspekty systemu są 
znane lepiej osobom bezpośrednio 
uczestniczącym w realizacji; nie muszą one 
dokonywać modyfikacji, ale dobrze jest gdy 
mogą wspomagać innych poprzez konsultacje 
w momencie pojawienia się wątpliwości

background image

Slajd 24

Czynniki redukcji

kosztów konserwacji 

3/4

Środowisko implementacji

Środowisko implementacji

 - odpowiednio 

zaawansowane i niezawodne narzędzia (np. RAD) sprzyjają 
skróceniu czasu niezbędnego na wprowadzenie 
modyfikacji

Niezawodność oprogramowania

Niezawodność oprogramowania

 - wysoka niezawodność 

systemu przekazanego klientowi zmniejsza liczbę 
modyfikacji zwłaszcza o charakterze poprawiającym

Inżynieria odwrotna

Inżynieria odwrotna

 (ang. reverse engineering) - 

odtwarzanie dokumentacji technicznej na podstawie 
istniejącego oprogramowania; daje się w pewnym zakresie 
automatyzować, ale może wymagać dodatkowej korekty

Zarządzanie wersjami

Zarządzanie wersjami

background image

Slajd 25

Czynniki redukcji

kosztów konserwacji 

4/4

Wiele działań zmierzających do 

redukcji kosztów konserwacji musi 

być podjęte już w fazie budowy 

systemu.

C

a

łk

o

w

it

y

 k

o

sz

t

Koszt
konserwacji

Koszt
budowy

System 1   System 2

background image

Slajd 26

Narzędzia i metody konserwacji 

oprogramowania 1/2

Używane są wszystkie narzędzia stosowane do 

analizy, projektowania, konstruowania i 
testowania
 oprogramowania a także specjalne 
narzędzia i metody
:

Narzędzia nawigacyjne

Narzędzia nawigacyjne

 - umożliwiają szybkie i 

łatwe znalezienie interesujących części 
oprogramowania; typowe możliwości: 

      -identyfikacja miejsc użycia zmiennych, 
      -identyfikacja modułów, 
      -wyświetlenie grafu wołań procedur, 
      -wyświetlenie drzewa deklaracji typów danych.

background image

Slajd 27

Narzędzia i metody konserwacji 

oprogramowania 2/2

Narzędzia poprawiania kodu

Narzędzia poprawiania kodu

 - umożliwiają 

reformatowanie i restrukturalizację kodu programu 
(pretty printers)

Narzędzia inżynierii odwrotnej

Narzędzia inżynierii odwrotnej

  - umożliwiające 

odtworzenie bardziej abstrakcyjnej postaci 
oprogramowania z postaci szczegółowej (np. 
odtworzenie dokumentacji technicznej na podstawie 
kodu programu, odtworzenie źródłowego kodu 
programu na podstawie kodu skompilowanego 
(dekompilacja), odtworzeniu modelu logicznego bazy 
danych na podstawie jej fizycznej struktury, 
odtworzenie pojęciowego diagramu klas na podstawie 
deklaracji w języku programowania, ...)

background image

Slajd 28

Faza konserwacji - 

zgłaszanie problemów 1/3

Problemy mogą wynikać z wielu powodów: 
        - 

błędy

 w oprogramowaniu, 

        - brak 

funkcji

, które okazały się istotne, 

        - 

ograniczenia

, których nie uwzględniono lub 

które się

           pojawiły, 
        - 

zmiany

 w środowisku systemu; 

Każde zgłoszenie powininno być ocenione odnośnie 

odpowiedzialności za problem (kto ma ponosić 
koszt
)

background image

Slajd 29

Faza konserwacji - 

zgłaszanie problemów 2/3

Użytkownicy dokumentują problemy 
powstałe podczas działania systemu 

specjalnym dokumencie

 (np. Zgłoszenie 

Problemu z Oprogramowaniem

);

); 

nie powinny to być problemy związane z 
brakiem wiedzy

 u użytkownika.

background image

Slajd 30

Faza konserwacji - 

zgłaszanie problemów 3/3

Każde zgłoszenie powininno precyzować dokładnie 

jeden problem:

• Nazwę elementu

 konfiguracji oprogramowania 

(wersję lub wydanie tego elementu)

• Priorytet problemu

 w stosunku do innych 

problemów (priorytet ma dwa wymiary: 
krytyczność - na ile problem jest istotny dla 
funkcjonowania systemu, oraz pilność - 
maksymalny czas usunięcia problemu)

• Opis problemu
• Opis środowiska

 operacyjnego

• Zalecane 

rozwiązanie problemu

 (o ile 

użytkownik jest je w stanie określić)

background image

Slajd 31

Faza konserwacji -

zlecanie zmian 1/2

Zgłoszenie jest 

analizowane przez wykonawcę

może być zaakceptowane, odrzucone lub mogą 

być podjęte negocjacje z klientem celem 

ustalenia warunków (np. finansowych, 

czasowych) wprowadzenia zmian

Tworzony jest dokument 

Zlecenie Zmiany w 

Oprogramowaniu,

 który zawiera:

• Nazwę

 

elementu konfiguracji oprogramowania 

(wersję lub wydanie tego elementu)

• Wymagane 

zmiany

• Priorytet

 zlecenia (krytyczność, pilność)

• Personel

 odpowiedzialny

• Szacunkową 

datę początku, datę końca i 

pracochłonność w osobo-dniach

• Jakości

background image

Slajd 32

Faza konserwacji -

ocena efektu zmian 1/2

Zlecenie jest realizowane przez wyznaczony personel 

(zmiany kodu i odpowiednich dokumentów 
opisujących oprogramowanie); powstaje 

Raport z 

Modyfikacji Oprogramowania

 określający 

dokonane modyfikacje; następnie 

ocenie mogą 

podlegać następujące aspekty:

• Wydajność

 (szybkość) oprogramowania

• Zużycie zasobów

 (pamięci dyskowej, czasu 

procesora, pamięci operacyjnej)

• Stopień powiązania

 elementów systemu i 

niezależność zmienianego elementu (od pozostałych 
elementów oprogramowania)

background image

Slajd 33

Faza konserwacji -

ocena efektu zmian

• Złożoność

 (o ile została zmieniona)

• Spójność

 

(odstępstwa od reguły spójności, np. interfejsów 

użytkownika)

• Przenaszalność

 (czy oprogramowanie będzie działać na 

innej platformie)

• Niezawodność

 (czy zmiana mogła spowodować jej 

obniżenie)

• Podatność na konserwację

 (czy nie została obniżona; 

wszelkie ewentualne odstępstwa od przyjętych standardów)

• Bezpieczeństwo

 (czy zmiana nie tworzy zagrożenia dla 

działalności klienta)

• Ochrona

 (czy zmiana nie powoduje wyłomów w ochronie 

systemu) 

background image

Slajd 34

O czym był wykład?

• Instalacja systemu informatycznego
• Szkolenia i wdrożenie 
• Modyfikacje oprogramowania 
• Konserwacja oprogramowania
                    -Analiza celowości wprowadzania modyfikacji 
                    -Koszty konserwacji oprogramowania
                    -Czynniki redukcji kosztów konserwacji
                    -Narzędzia i metody konserwacji 

oprogramowania

                    -Faza konserwacji (zgłaszanie problemów, 

zlecanie

                      zmian, ocena efektu zmian)


Document Outline