A szoftverfrissítés szabályai



Hasonló dokumentumok
ADATMENTÉSSEL KAPCSOLATOS 7 LEGNAGYOBB HIBA

Kameleon Light Bootloader használati útmutató

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

3Sz-s Kft. Tisztelt Felhasználó!

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Online adatszolgáltatás beállítása a kettős, egyszeres könyvelés programban és a számlázóprogramban (UJEGYKE, UJEGYSZ, UJVSZ)

ACTUAL Ügyviteli Rendszer FRISSÍTÉSI ÚTMUTATÓ. Felhasználói kézikönyv - kivonat

Frissítési útmutató

PHP-MySQL. Adatbázisok gyakorlat

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Tisztelt Ügyfelünk! Ezúton szeretnénk tájékoztatni, hogy a következő modulokból került fel frissítés az internetre:

Android Commander Felhasználói kézikönyv

Rendszerelemzés. Konstantinusz Kft.

E-SCORESHEET MŰKÖDÉSI SEGÉDLET

FELHASZNÁLÓI ÚTMUTATÓ

Frissítési útmutató LOGA. Kiadva: augusztus 12.

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Tisztelt Ügyfelünk! Tájékoztató az átállásról

BaBér bérügyviteli rendszer telepítési segédlete év

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Telepítési útmutató. web:

Kulcs Számla frissítés

Online adatszolgáltatás beállítása a Számlázás - vevő-szállító nyilvántartás programban (UJVSZ)

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Felhívjuk a figyelmet, hogy az MS Windows XP operációs rendszer támogatását a Microsoft már év április 8-án megszüntette!

ElitBÉR bérrendszer telepítése hálózatos környezetben

FITNESS SYSTEM Telepítési útmutató

Protection Service for Business. Az első lépések Windows-számítógépeken

MÉRY Android Alkalmazás

iseries Client Access Express - Mielőtt elkezdi

Tisztelt Ügyfelünk. Az internet beállítások kinézete. Itt a Speciális fülre kell kattintani.

EW1051 USB Smart kártya olvasó

Android Commander Felhasználói kézikönyv

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot: 2. Kattintson a DbérWIN 2014 hivatkozásra:

vbar (Vemsoft banki BAR rendszer)

Ez a telepítési dokumentum segítséget nyújt abban, hogy szabályosan telepítse az Áfa átállító szoftvert Szerviz 7 programhoz.


Online Angol Tanszék tájékoztató fix tanmenetű kurzusokhoz

VisualBaker Telepítési útmutató

FRISSÍTÉSI LEÍRÁS A WINIKSZ PROGRAMCSOMAGHOZ

A CCL program használatbavétele

DRÉN & VALNER SZOFTVER KFT 4031 Debrecen, Egyetem sugárút 11/a. 1/5. 52/ , 52/ , 30/

FORD Edifact IHS Import

NAV felé történő számla adatszolgáltatás a Nagy Utazás 3 programmal

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

Tárhely-választás. hogyan igazodjunk el a tárhely-szolgáltatók világában

A Telepítés hajlékonylemezről panelen kattintson az OK gombra.

F-Secure Biztonsági megoldás. Az első lépések Windows-számítógépeken

Gyakori Kérdések. VMC 870 adatkártyához

Dobozos vagy egyedi szoftver

Informatika. 3. Az informatika felhasználási területei és gazdasági hatásai

Licenc eljárás és a licenc problémák megoldása az ARCHline.XP-ben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Az Online Management Kft. online számlázó programjával kapcsolatos adatkezelési tájékoztató

TERC V.I.P. hardverkulcs regisztráció

PartSoft Informatikai Kft. KÖNNY felhasználói kézikönyv 1 Általános információk Számítástechnikai alapok Felhasználói ismeretek...

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas leveleinket?

Távolléti díj kezelése a Novitax programban

Csoport neve: Kisiskolások Feladat sorszáma: 2. Feladat címe: Oktatási intézmény honlapja, oktatási naplóval. E-Project.

Sikeres Notes/Domino R6.5 bevezetés projekt a Magyar Telekomban

Nokia N97_mini (Mail for Exchange) beállítása Virtualoso levelezésre

Memeo Instant Backup Rövid útmutató. 1. lépés: Hozza létre ingyenes Memeo fiókját. 2. lépés: Csatlakoztassa a tárolóeszközt a számítógéphez

NAV online számla revol Express. Regisztráció a NAV online számlabejelentés oldalán

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Telepítés, újratelepítés több számítógépre, hálózatos telepítés Kulcs-Bér program

EM portos USB 2.0 elosztó

REGISZTRÁCIÓ RÉGEBBI TANFOLYAMON RÉSZT VETT HALLGATÓK BEJELENTKEZÉS UTÁN JELENTKEZÉS TANFOLYAMRA GYAKRAN ISMÉTELT KÉRDÉSEK

InCash számlázó program és a Webshop Hun rendszer összekötése

Online adatszolgáltatás beállítása a Kettős könyvelés programban (WUJEGYKE) 79/

1. DVNAV letöltése és telepítése

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

MPLAB ICD használata

LBRA6i integrált rendszer

KELER KID Internetwork System (KIS)

Hardver és szoftver követelmények

SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ. A Windows névfeloldási szolgáltatásai

Tanúsítvány feltöltése Gemalto.NET kártyára és Gemalto SIM termékre

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

TÁRGYTEMATIKA RÖGZÍTÉSE A NEPTUN RENDSZERBEN

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Autosoft a Profit-generátor. Autosoft AMS. AMS verzió leírása

WordPress segédlet. Bevezető. Letöltés. Telepítés

Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.

GoWebeye Monitor Release Üzenetküldés

A B rész az Informatikai szakmai angol nyelv modul témaköreit tartalmazza.

A képernyő felbontásának módosítása

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

EM4028 PCI 10/100/1000 MBPS HÁLÓZATI ADAPTER

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

A képek feldolgozásáról

A Microsoft terminálszolgáltatás ügyfél oldali hardverigényének meghatározása

WIN-TAX programrendszer hálózatban

Elektronikusan hitelesített PDF dokumentumok ellenőrzése

E-per ÁNYK és KAÜ használati útmutató és tájékoztató ügyvédek részére 2018

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Telenor Magyarország MS Office 365 telepítési útmutató

Átírás:

KonstantinuszKft. 2011

1 Tartalomjegyzék 1 Tartalomjegyzék... 2 2 Bevezetés... 3 3 A fejlesztés, tesztkörnyezet kialakítása... 4 3.1 Verzió követés... 5 4 Új verzió tesztelése... 6 5 Frissítés... 7 5.1 Adat szerkezet módosítás... 7 5.2 Adat konverzió... 8 5.3 Hibás frissítés... 9 6 Oktatás... 10 2 / 10

2 Bevezetés Az esettanulmányban a szoftver frissítés olyan példákon keresztül ismertetem amelyekben az adatbázis és maga a működő program elkülöníthető, akár hardware tekintetében is másik gépen fut, vagy ennek a lehetősége megvan. Találkoztam olyan programokkal ahol az adatok csak nehézkesen választhatóak el magától a programtól. Ezen programok frissítése még nehezebb, hiszen figyelni kell, hogy a frissítés ne írja felül az adatokat tartalmazó fájlokat. Ilyen szoftvereknél nem lehet az új verzió minden fájljával felül írni a régieket, hiszen az új verzió tartalmazza az üres adatbázis fájlt. Nem csak a frissítések esetén hanem a szoftverfejlesztés során is fontosnak tartom megfelelő tesztkörnyezet kialakítását. Jó tesztkörnyezettel megelőzhetjük azt hogy frissítés után még több időt kelljen eltölteni azzal, hogy a programot tovább lehessen használni. Amikor egy szoftver új verzióját vezetjük be valahova minig körültekintően kell eljárni. Az esetek többségében, általában csak kissebb változás történik ami nem érinti az adat szerkezetet. Ekkor viszonylag egyszerű a dolog feltelepítjük az új programot az ugyanúgy csatlakozik az adatbázishoz. A frissítés után minden működik tovább. Ilyenkor akár az is megengedhető, hogy frissített és nem frissített kliensek egyszerre használják a rendszert Amikor azonban a rendszer adatszerkezetében jelentős változás van, vagy jelentős működésbeli eltérés van akkor közel sem ilyen egyszerű a frissítés. Ilyenkor adatkonverzióra is szükség van vagy valamilyen módon meg kell oldani, hogy a régi adatok használhatóak legyenek. Erre is természetesen több megoldás létezik. 3 / 10

3 A fejlesztés, tesztkörnyezet kialakítása Ahhoz, hogy a későbbiekben könnyű legyen a szoftver frissítés ahhoz, már a fejlesztés elején célszerű bizonyos lépéseket megtenni. Más lépéseket kell megtenni a különböző programozási nyelveken. Amikor elkezdjük egy rendszer fejlesztését az első kódsorokat általában nem oda készítjük ahol majd futni fog, ez bizonyos nyelvek esetén eleve kizárt. Ha fordító programos nyelvben (pl.:c++, JAVA, stb.) készítünk rendszert akkor nyilvánvalóan nem azon a gépen fogjuk futtatni ahol a fejlesztést végezzük. Az interpreteres nyelvek (pl.: PHP) esetében ezt megtehetnénk, azonban nem javasolt. Mindenképpen javaslom teszt környezet kialakítását, ez mindenképpen hardware szinten különüljön el az élesben működtetett rendszertől. Ahhoz, hogy teszt rendszer valóban elérje rendeltetését olyanra kell kialakítani mint amilyen környezetben az élő rendszert fogjuk üzemeltetni. Mikor jó egy teszt környezet? Közel azonos hardware (Ha nem is pont azonos de a generációja legyen azonos, különben nem derül ki ha a programnak túl nagy lett a processzor igénye). Azonos operációs rendszer (32bites vagy 64bites, service pack). Azonos hálózati kapcsolat (Ha az éles rendszerben valamiért például WIFI kapcsolatot használunk akkor a teszt környezetben is legyen ilyen lehetőség) Megjelenítésre használt monitor (itt olyan problémák lehetnek, hogy kisebb felbontásnál nem fér ki a táblázat, vagy ha nagyobb felbontásban használják nem olvashatóak a betűk) Csak olyan szolgáltatások fussanak ami az élő rendszeren is futni fog. Találkoztam olyan esettel, amikor a rendszert olyan környezetbe telepítették ahol két magos processzorral rendelkező számítógépek voltak. Előtte a programot azonban csak egy magos környezetben tesztelték. Két magos környezetben a szoftver és az adatbázis között 30 másodperces késleltetés volt. Ez azt jelentette, hogy minden lekérdezés, adatfelvitel minimum 30 másodpercig tartott. Ez gyakorlatilag használhatatlanná tette a rendszert. 4 / 10

3.1 Verzió követés Verzió követés nincs szoros összefüggésben a frissítéssel, azonban megkönnyítheti a dolgunkat. Illetve megkönnyítheti a csapatmunkát is, és nyomon tudjuk követni, hogy mi változott két verzió között. Itt több féle megoldás létezik, vagy használunk mi magunk valamiféle verziókövető rendszert (pl.: CVS, SVN), vagy egyszerűen időnként egy külön könyvtárba átmásoljuk a teljes rendszert. Utóbbi esetben sajnos emberi hiba léphet fel ha elfelejtjük, vagy véletlenül felülírunk olyan korábbi verziót amit nem akartunk felülírni. Akár azt a megoldást is követhetjük, hogy jegyzeteljük, hogy milyen változásokat csináltunk meg és ehhez mely forrás fileokat módosítottuk. Ez természetesen könnyebb verzió követő rendszerrel, és lecsökken az emberi hiba okozta probléma lehetősége. A gyakorlatban a régi verziók megőrzése későbbiekben nagy hasznunkra lehet. Ha a rendszert egy vagy két éve használjuk és szemetet találunk az adatbázisban, akkor célszerű meghatározni, hogy csak a régi verziókban keletkezhetett vagy az új verzióban is keletkezik. Ha megtaláljuk egy régebbi verzióban azt a kódot ami miatt a szemét keletkezett, akkor készíthetünk vagy kiegészíthetjük a meglévő szemét gyűjtögető algoritmusunkat, hogy kiszűrje a jövőben. 5 / 10

4 Új verzió tesztelése Amikor elkészültünk egy új verzióval akkor hozzáfoghatunk a teszteléséhez. Ha hibát észlelünk akkor ne végezzük el a frissítést. A tesztelést célszerű, ha nem azok végzik akik a rendszert programozták, hanem vagy külön tesztelőket megkérünk erre, vagy az ügyféllel teszteltetjük. Az ügyféllel való tesztelés azért lehet problémás, mert egy összetett rendszert tesztelni a vezető nem ér rá, aki használni fogja az alkalmazott és nem érdekli, olyan szinten, hogy biztosan megtalálja a problémákat. Ez a fajta tesztelés ezért problémás, és általában nem éri el a célját. Célszerű minden funkciót végig tesztelni mert hiába nem módosítottunk egy funkción attól, még lehet, hogy ahonnan az adatokat kapja, az megváltozott és nem jó adatot vagy megfelelő formában kap. Amikor tesztelünk egy rendszert, akkor figyeljünk arra oda, hogy milyen adatok vannak a teszt rendszerben. Célszerű a teszt rendszerbe az élőből az adatokat átmásolni és úgy is tesztelni. Találkoztam olyan problémával, hogy az új verzió a teszten működött, a frissítés után pedig az éles rendszer lassú lett és meg is kellett állítani. A probléma az volt, hogy a teszt rendszerben 100-120 ügyfél adat volt. Az élő rendszerben viszont 2 000 000 ügyfél adata volt. Az egyik lekérés pedig egy rekurziót tartalmazott, ami az összes ügyfelet bejárta volna, és ezt az éles rendszer hardware-e nem bírta és a felénél megszakadt, ettől adatvesztés is történt. Ha az új verzió telepítése sikeres volt és az új verzió működőképes, akkor kell meghatározni az élő rendszer frissítésének idejét. Ehhez esetenként az ügyféllel is kell egyeztetni, hogy addig ne használják, vagy esetleg ki kell menni helyszínre, ami nagyobb szervezést is igényelhet. 6 / 10

5 Frissítés Alapvetően mire a frissítésre kerül sor a tesztkörnyezeten már mindent kipróbáltunk, lehetőleg a teljes frissítési folyamatot. Arra azért figyeljünk, hogy hány gépen kell elvégezni a frissítést, és ez alapján becsüljük meg, hogy mennyi ideig nem lesz használható a szoftver. A cégek gazdasági érdekei miatt nem engedhetik meg magunknak, hogy 1 vagy 2 napra rendszerfrissítés miatt bezárjanak, ezért általában ezeket a munkákat hétvégén kell elvégeznünk. Frissítés után az élő rendszeren is végezzünk el egy apró tesztelést, ilyenkor nem kell minden részletre kitérni, de célszerű meggyőződni arról, hogy rendben sikerült a frissítés. Ha nem sikerül a frissítés mert az éles környezet valamiért annyira más (vírus, azóta telepítettek valamit) akkor célszerű lehet biztonsági mentésből vissza állítani az előző verziót, és elhalasztani a frissítést. Ez persze csak végső megoldás. Találkoztam olyan megoldással, ahol a szoftverkészítő minden évben új verziót ad ki, ami gyökeresen eltér az előzőtől. Azért, hogy ne kelljen frissítéssel és adatkonverzióval bajlódni egyszerűen az új verzió egy teljesen másik szoftver. Vagyis a 2008 as évre van egy külön programja és a 2009es évre is van egy külön programja az ügyfélnek. Ez elsőre jó megoldásnak tűnhet, a probléma azonban az, hogy semmilyen adatmozgatást nem végez a két rendszer között, ezért az alapadatokat, pl.: termékek újra fel kell vinni a rendszerbe. Ez több száz vagy ezer termék esetén problémás lehet. 5.1 Adat szerkezet módosítás Előfordul, hogy a frissítés során az adatbázisba új mezőt kell felvennünk. Ilyenkor célszerű összeállítani egy szkriptet ami hozzáadja vagy eltávolítja a megfelelő oszlopokat a rendszerből. Ilyen esetben meg kell akadályozni, hogy valaki a szoftver régi verziójával csatlakozzon az adatbázishoz mert ez beláthatatlan következményekkel járhat. A fejlesztés folyamán kell megteremteni annak feltételét, hogy a program meg tudja kérdezni mi a legújabb verzió, és ez alapján dönteni tudjon, hogy elindulhat-e vagy sem. Amennyiben lehetséges akkor automatikusan frissülhet is. Nagy szoftvergyártók ezt szokták alkalmazni, olyan esetekben amikor a szoftver használói sokan vannak. Automatikus és kötelező frissítéssel az alábbi szoftvertípusoknál találkozhatunk: 7 / 10

Üzenet küldő kliensek (MSN, Skype) Online játékok Vállalat irányítási rendszerek (jellemzően csak adott cégen belül) Ezekben mind az a közös, hogy új verziónál változhat az kommunikáció módja (melyik porton történik, új titkosítást alkalmaznak, stb.), vagy új üzenetek érkezhetnek a központtól, vagy a kliensek új verzióitól. Ha megengednék, hogy régebbi verzióval is csatlakozni lehessen az akár a központi szerver(ek) leállását is okozhatja. Mint minden esetben itt is fontos, hogy készítsünk biztonsági mentést, hogy probléma esetén vissza tudjuk állítani az eredeti állapotot. 5.2 Adat konverzió Ez általában akkor szükséges ha sok szerkezeti átalakítás történt a rendszerben és a régi adatok kellenek csak teljesen más rendszer szerint. Tipikus példa erre, hogy eredetileg volt ügyfél ami egy cég egy kapcsolat tartóval, utána azt kérik, hogy végtelen számú kapcsolat tartó tartozhasson hozzá. Ez esetben a jelenlegi táblákban szereplő adatok egy részét, át kell helyezni új táblába ahonnan a rendszer használja. Itt mindenképpen vegyük figyelembe, hogy különböző adatmennyiség esetén mennyi ideig tart a konverzió, ez bizonyos esetekben több percbe vagy akár órákba telhet. Konverzió esetén problémát jelenthet, ha eddig nem megfelelő adatokkal töltötték ki a rendszert és így a mostani átalakításnál a konverzió közben olyan adatokat kéne elmenteni amik nem lehetségesek. Ennek egyik formája, hogy egy webshop vásárlónak volt megszólítása, neve, címe. Az új verzióban maradnak ezek a tulajdonságok de kikötjük, hogy a megszólítás innentől választható a Dr. és P.H.D. közül. Ilyenkor szokott kiderülni, hogy sokan a megszólításba beírták a teljes nevüket, a név mezőt pedig nem töltötték ki, vagy csak a kereszt nevüket írták be. Ekkor ha konverzió során egyszerűen üresnek vesszük azt ahol nem Dr. vagy P.H.D. van, akkor lehet, hogy elveszítjük néhány embernél a név értékét, vagy csak a kereszt neve lesz meg. 8 / 10

5.3 Hibás frissítés A hibás frissítés alatt több dolgot lehet érteni. A program új verziójának van valami hibája Az új verzió jó, de valami hiba miatt (a célgépen futó egyéb programok miatt) működés képtelen Valamelyik adatkonverziós script nem futott le vagy futott végig. Ezzel a problémával leggyakrabban automatikus frissítéseknél szembesülhetünk. Ha manuálisan frissítjük a szoftvert, akkor mivel utána le is teszteljük ezért ott hamarabb rájöhetünk ha gond van és akár el is halaszthatjuk a frissítést. A legnagyobb probléma, ha olyan hibát tartalmaz a frissítés ami meggátolja a további automatikus frissítéseket, és ezáltal manuálisan kell az új verziót telepíteni. Ez rengeteg, plusz munkát, időt és energiát igényel. Ha nem kell helyszínre kimenni akkor is lefoglalhatnak minket az ügyfelek akik telefonálnak, hogy nem megy a rendszer. Az, hogy egy frissítés valamilyen szempontból hibás viszonylag gyakori jelenség, még a legnagyobb szoftvergyártókkal is előfordul, hogy az új verzió összeakad egy programmal, vagy megnő a memória igénye és a régebbi gépeken nem fut. 9 / 10

6 Oktatás Ha az új verzió új funkciókat tartalmaz, akkor azokat általában valamilyen módon le kell oktatni a felhasználóknak. A frissítéssel egyidőben a felhasználói kézikönyv új verzióját is el kell készítenünk és eljuttatni a felhasználóhoz. Az is előfordulhat, hogy valamelyik folyamat rögzítésének a módja megváltozik. Ez esetben is ismertetni kell a felhasználókkal, hogy hogyan tudják használni az új verziót. Vállalat irányítási rendszer esetében nem, azonban online játékok, böngészők, esetében szokás úgynevezett béta verziókat kiadni amelyen a felhasználó megtanulhatja az új funkicókat (illetve tesztelheti a rendszert). Így elkerülhető, hogy a ritkán használt, de fontos funkciók hibáival vagy változásaival akkor találkozzon a felhasználó amikor tényleg szükséges lenne. Az alábbi helyzetben nagy gondot okozhat ha csak a kézikönyvben szerepel a változás: Vállalat irányítási rendszerben minden ki lehet tiltani egy felhasználót végleg, hogy ne tudjon vásárolni. Ha az új verzióban ez a gomb olyan helyre kerül, ahol régen más gomb volt a felhasználó véletlenül megnyomhatja. Ha nem rögzül benne még mielőtt az új verziót használná, akkor jó eséllyel az élő rendszerben is hibázni fog ami a cégnél kiesést okozhat, vagy az ügyfelének az elvesztését. 10 / 10