2013. november 12., kedd

Szoftvermenedzsment - SZF11K

Projektmenedzselés (software projekt - nagy rendszerek esetében)

Az alábbi feladatokat kell megoldani:

1., A rendszerrel szemben támasztott követelmények pontos meghatározása, és írásban rögzítése.

2., A program kidolgozásának menetét meg kell határozni előre. Meg kell tervezni a mérföldköveket. Ellenőrzési pontokat kell hozzárendelni és határidőket.

3., Gondoskodni kell a megfelelő hardware és software környezetről, amely a projekt megvalósításához szükséges.

4., Dokumentálni kell a programkészítés fázisait, menetét és eredményeit.

5., Szervezni és irányítani kell a fejelsztésben résztvevő személyek munkáját.

6., Igazolni kell, hogy a program megfelel az előre meghatározott elvárásoknak.

7., Meg kell tervezni a program hosszútávú karbantartását és támogatását.


Projektvezető
-------------
- Feladata a projektmenedzselés.

Szoftvertechnológia célkitűzése a fenti feladatok alapján:

- előírt minőségű programtermék
- előre megállapított határidőre
- előre meghatározott költségen történő előállítása.

===> Szoftverprojektnek nevezzük a softwaretermék előállításával kapcsolatos tevékenységeket, az ajánlattevéstől a kész softwaretermék átadásáig.

A projektvezető felelőssége:

- A termék nyútsa a megkívánt szolgáltatásokat.
- A minősége megfeleljen az elvárt követelményeknek.
- Készüljön el a termék határidőre.
- A projekt összköltsége ne lépje túl a megadott összeget.

A projektvezető konkrét feladatai:

1., Árajánlat készítése
2., A projekt megvalósításának megtervezése
3., A projekt megvalósításának költségbecslése
4., A szükséges erőforrások biztosítása
5., A munka menetének irányítása
6., Az eredmények bemutatása, átadása.


Ajánlat
-------

- Mi a projekt tárgya?

- Milyen célok elérésére vállalkozik a projekt?

- Mi a téma gazdasági illetve műszaki háttere?

- Milyen módon kívánja a kitűzött célokat elérni? (nem szoktuk megadni)

- Mi az ajánlattevők szakmai háttere? (Referencia, szakai hozzáértés bizonyítása)

- A projekt tartalmi leírása fő fázisai szerinti bontásban, ráfordítással, költséggel és határidővel együtt. (Nem részletes specifikáció, hanem a legfőbb összetevők, amely megadják majd a projekt végső árát.)

- Milyen szakmai, esetleg piaci előnyöket jelent a projekt sikere?

Megjegyzés: Ha az ajánlat formailag, tartalmilag megfelelő, akkor a bírlat gyakorlatilag borítékolható. A formai megjelenést segítik elő a megfelelően alkalmazott arculati elemek, a jól meghatározott referenciák, amelyek hihetőek és nem tolakodóak.

- Arculat: Nem tolakodó grafikai elemek, minimalista színek. Egységes betűtípus. Nem használunk olyan e-mail címeket, amelyek alulminősítenek bennünket. Az előtag vállalható legyen az e-mail címben. A végződés jó lenne, ha saját domain lenne, de semmi esetre sem freemail, vipmail, vagy egyéb ingyenes cím.


2013. november 5., kedd

SZF11 - IT gyak.

Virtualizáció
-------------

- Hardware gyártóknak köszönhetően a mi processzorok képesek a valós teljesítményüket megosztani. Ha olyan alaplappal, memóriával, és buszillesztő egységgel vannak párosítv, akkor 1 db hardware összetevő, konfiguráció képes egyszerre több operatív műveletet is végrehajtani.

Például: 1 db PC-n egyszerre több operációs rendszer is futhat.

- Típusai:
----------

1., Gazdaoperációs rendszer futtat egy virtualizációs környezetet, és az ő segítségével futtatjuk a vendég operációs rendszereket.

2., Amikor úgyn. hardware-es virtualizációt használunk, ahol valóban egyszerre több oprendszer fut, és őket egymástól elszeparált hardware erőforrások szolgálnak ki.

Példa: Intel VT-x technológia, hyper V támogatás, AMD-V
--> Az ilyen processzorok, megfelelő alaplapon és bios beállítással dedikálnak a meglévő hardware-ekből a virtuális géppéldányoknak.

Intel Core i5 CPU (4 mag) , 8 GB RAM -> 
Létre lehet pl. hozni 4 db virtuális gépet, amely darabonként rendelkezik 1 db maggal, 2 GB RAM

Cloud szolgáltatási típusok
---------------------------

- SaaS - Software as a Service -> szolgáltatásként nyújtott program

Pl.: Google Drive, Google Apps, egyéb programok

- PaaS - Platform as a Service

- szolgáltatásként nyújtott környezet
-> fejlesztők számára optimális megoldás

- IaaS - Infrastructure as a Service 

--> kapunk egy komplett gépet (egy szeletet a cloud tortából)

2013. október 16., szerda

MT21 - CRM

CRM - Customer Relationship Management - ügyfélkapcsolat kezelés
----------------------------------------------------------------------------------------

- Egy cég partnerei felé irányuló folyamatainak leírására vonatkozik.

- A CRM software célja, hogy ezeket a folyamatokat támogassa, illetve, hogy a jelenlegi és potenciális ügyfelekkel kapcsolatos információkat tárolja.

- A CRM folyamatok köre magában foglal minden olyan folyamatot, amely valamilyen formában köthető az ügyfelekkel való együttműködéshez.

- A CRM softeare-ek a marketing, értékesítés, ügyfélszolgálati és call center területeket támogatják.

Egy CRM program általában képes a következőkre:

- Ügyfél, potenciális ügyfél és kapcsolattartó adatok kezelése
- Marketing kampányok kezelése
- Értékesítési, üzleti lehetőségek kezelése
- Ügyfélszolgálati ügyintézés kezelése
- Call Centerekben folyó ügyfélszolgálati munka kezelése
- Adatok riportolása és ellenőrzése

Vannak olyan ERP alkalmazások, amelyek integrálva tartalmaznak komplett vagy részleges CRM-eket.

Megtalálhatóak a software piacon kész, úgyn. "dobozos" CRM alkalmazások, ilyen pl. Microsoft CRM, Oracle CRM, stb., és léteznek egyedi fejlesztésű rendszerek is.

- Egy korszerű CRM-nek összehangoltan kell együttműködnie egyéb haladó technikákkal, melyek szoros kapcsolatban állnak az üygfélkiszolgálás folyamatával. Erre tökéletes példa, egy Call Center, ahol a CRM és a telefonos infrastruktúrát üzemeletető hardware és software elemekkel kell együttműködni.

pl.: VoIP (Voice over Internet Protocol) 

2013. október 15., kedd

SZSZK 21 - Adattárolók

Adattárolás a számítógépen
--------------------------

1., Központi vagy operatív memória

- A CPU mellett a legfontosabb erőforrás a központi memória. Ebben található a végrehajtás alatt álló program, és a feldolgozásához szükséges adatok is.
A központi memória egy címzési logikából és magát a fizikai tárolást végző fizikai memóriából áll.

a., Adattárolás a memóriában

- A memória azonos méretű rekeszekből áll. Minden rekesznek van egy címe (sorszáma), amivel azonosítani tudjuk. 

- Amikor a processzor megcímez egy rekeszt, akkor ezt azt jelenti, hogy a rekeszhez rendelt sorszám segítéségével kiválasztja azt a rekeszt, amelyet írásra vagy olvasására el akar érni.

- A fizikai memória általában byte szervezésű. Ez azt jelenti, hogy a memória legkisebb címezhető egysége 1 byte. Általában léteznek ennél kisebb és nagyobb adat egységek is, amiket itt tárolunk.

Memória címzése
---------------

- A memória a külvilággal buszrendszeren kersztül tart kapcsolatot. A címbusz a memória címregiszteréhez, az adatbusz pedig a memória adatregiszteréhez kapcsolódik. Azt, hogy a memóriával írási vagy olvasási műveletet szeretnénk végezni, a vezérlőbuszon lévő írási illetve olvasási jelekkel választhatja ki a processzor.
Az írni vagy olvasni kívánt rekesz kiválasztását a címbusz címvezetékén lévő címadat határozza meg. A központi memória címzési logikája gondoskodik arról, hogy a fizikai memória megfelelő része ki legyen jelölve, és olvasásási parancs hatására az ott tárolt adatot, a memória átmeneti tárolójába írja. (adatregiszter), vagy írási parancs esetén az átmeneti tárolóból közvetlenül a memóriába írja.

- Az utasítások címrésze általában nem az operandusok tényleges címét tartalmazza, hanem azt ki kell számolnia a processzornak. Ezt az eljárást címmódosítási eljárásnak nevezzük.

- A processzor nem képes a teljes tár közvetlen megcímzésére, így azokat szegmensekre osztja.
Ezek a szegmensek fix méretűek, a kezdeti címük rögzített. Ezeket a részeket hívjuk szegmensbekezdésnek vagy szegmenscímnek.

Közvetlen címzési módok (direkt címzés)
---------------------------------------

Abszolút címzési mód. Ennél a címzési módnál az utasítás címrészében, az operandus valódi, pontos címe található. A cím vonatkozhat a memóriára vagy a processzor valamelyik regiszterére. Regisztercímzés esetén kisebb hosszúságú címrészre van szükség, mint memória címzésnél. Az így történő címzés esetén a program és az adatok a memóriában nem helyezhetőek át, mivel az áthelyezéssel változik a cím. Ez általában vezérlésátadó utasítások esetében okoz gondot.

Relatív címzési mód. Az utasítás címrésze az operandus valamilyen alapcímhez viszonyított címét tartalmazza. Ez lehet adatmező kezdőcíme, társszegmens kezdőcíme, porgram kezdetének címe, vagy magának az utasításnak a tárolóbeli címe. Ez az alapcím. A tényleges valós címet az alapcím és a relatív cím összeadásásval állítja elő a processzor.

Közvetett címzési módok (indirekt)
----------------------------------

Indirekt címzésnél nem az operandus címe található az utasítás címrészében, hanem annak a tárolóhelynek a címe, ahol az operandus címét megtalálja a processzor. Egyes processzorok esetében ez a címzési mód lehet többszintű is. Az indirekt címzéshez a processzor használhat memóriabeli tárolóhelyet, vagy valamelyik saját regiszterét is.

Közvetlen adatcímzés
--------------------

Közvetlen adatcímzés alatt azt értjük, amikor az utasítás operandus részében nem az operandus címe, hanem maga az opernadus található. Ez megszabja az operandusok legnagyobb értékét, ezért elsősorban kisértékű konstansokkal való műveletvégzéseknél alkalmazható.

Indexelés
---------

- Adatsorozatokon való műveletvégzés esetén alkalmazzuk. Ennél a módszernél az utasítás címrészében az adatosorozat első elemének a címe található és a címregiszterben található az ettől való eltérés, azaz hogy az adatsorozat hányadik elemével kell az utasításban megadott műveletet elvégezni.

2013. október 14., hétfő

SZF11 - HDD, SSD

Merevlemez (HDD - Hard Disk Drive, winchester)

- A merevlemez az adatokat egy mágnesezhető réteggel bevont lemezeken tárolja, melyet egy a forgó lemez fölött mozgó író/olvasó fej ír vagy olvas.

- A lemezek állandóan forognak, forgási sebességüket RPM-ben adják meg (Rotation Per Minute - percenkénti fordulatszám) Ilyen értékek pl.: 5400, 7200, 10000, 15000.

- A HDD-k jellemzője még a tárkapacitásuk. Ez manapság maximum 8 Tbyte.

Megjegyzés:

1 byte = 8 bit
1 kbyte = 1024 byte
1 Mbyte = 1024 kbyte
1 Gbyte = 1024 Mbyte
1 Tbyte = 1024 Gbyte
1 Pbyte = 1024 Tbyte

Jelenleg egy 64 bit-es operációs rendszer 141 Pbyte-nyi adatot tud egyszerre kezelni.

SSD - Solid State Drive (szilárdtest meghajtó)
----------------------------------------------

- Nincs benne mozgóalkatrész! 
- Félvezető memóriát használó adattároló eszköz.
- Csatolófelülete hasonloan működik, mint a HDD-nél, azaz SATA vagy SCSI, PCI Express, USB, PATA.

- Az SSD-kben a gyártók különböző RAM fajtákat, használnak. (SRAM, DRAM, stb.)

- A mozgóalkatrészek hiányxa miatt kevésbé sérülékeny, hangtalan, nincsenek olyan késleltetések, amelyek a mechanikából következnek.

- Használata: Tekintve, hogy a tárolókapacitása növekedésével egyenes arányban nő az ára is, olyan esetben, ahol nem tudja helyettesíteni teljesen a HDD-t, ott célszerű az olyan programokat rajta tárolni, amelyeket folyamatosan használunk. Pl.: Operációs rendszer 

Flash SSD
---------
- Nem felejtő memórián alapul (NAND SSD) -> egyre nagyobb a szerepük, mert alacsonyabb árkategóriában lehet őket piacra bocsátani.

- A Flashmemória legfontosabb tulajdonsága, hogy áramellátás nélkül is megtartja az adatokat. Sebessége elmarad a DRAM-hoz képest.

- Ezeknél a típusoknál három féle cellatechnológiát különböztetünk meg:
1., SLC (Single Level Cell)
2., MLC (Multi Level Cell)
3., TLC (Triple Level Cell)

- Viszonylagos állandó írási és olvasási sebesség.

- Képes 40-85 fok között is működni (a HDD 5-55 fok között tud csak működni)

Hátrányok: 

Az újraírások száma korlátozott. Egy átlagos Flash memória 3000-10000-szer írható. A legdrágább típusoknál elérték az 5 millió írási lehetőséget.

2013. október 2., szerda

WP21 - PHP elmélet

Webprogramozás
--------------

1., Kliensoldali

2., Server oldali

1., -> JavaScript

objektum ->esemény -> művelet

- A kliens gépen fut.

2., -> PHP, Perl, asp.NET

- A műveleteket a server hajtja végre és a kliens csak az eredményről értesül.

PHP (Personal Home Page)
------------------------

- HTML Pre-Processing - HTML előértelmező

- A dinamikus weboldalak működése:

A böngésző csak HTML, CSS tartalmat tud megjeleníteni. Az olyan műveletek elvégzésére, melyek böngészőn keresztül módosítanak megjelenési tartalmat, szükség egy serveroldali script nyelvre, amely elvégzi a műveleteket, ezáltal megváltoztatja a tartalmat, és kiementként egy kész HTML, CSS kódot állít elő a böngésző számára.

A php file-ok kiterjesztése: .php, .phtml

- A PHP kódok elhelyezkedhetnek beágyazva egy HTML oldalban, de lehetnek telejsen különállóak is.

A PHP kódot, úgynevezett php tag-ek közé rakjuk:

nyitó tag: <?php

záró tag: ?>

A PHP programozásnak két féle módszere van: natív, framework alapú.

A natív php kód egyedi és saját.

A framweork alapú egy kész rendszerre épülő megvalósítás. (pl. Smarty)

Megjegyzés:

A dinamikus oldalak egy altípusai a CMS-ek. CMS - Content Management System - Tartalomkezelő rendszer

Ilyen rendszerek pl.: Drupal, Joomla!, WordPress

Ha többet szeretnél tudni erről, nézd meg alábbi tanfolyamainkat: HTML 5 és CSS 3 tanfolyam
PHP - OOP tanfolyam
Joomla! tanfolyam
Javascript, jQuery, Ajax tanfolyam

2013. szeptember 27., péntek

SZSZK21 - Architektúrák

RISC és CISC architektúrák
--------------------------

RISC (Reduced Instruction Set Computer) - csökkent utasításkészletű számítógép

- kevés, egyszerű utasítás
- fix utasításhossz

CISC (Complex Instruction Set Computer) - teljes utsítás készletű számítógép

- sok, bonyolult utasítás
- változó utasításhossz
- lassú (de a lefelé való kompatibilitás miatt még mindig ezt használja az Intel)


Utasítás végrehajtás
--------------------
1., Az utasítás beolvasása a processzorba
- A CPU-nak szüksége van arra, hogy hol találja meg az utasítást a menóriában. -> kell neki az utasítás memória beli címe. Ez az azonosító az IP-ben van. (instruction pointer)

2., Az utasítások elemzése

- Ha megvolt a beolvasás, akkor értelmezni kell, hogy mi a művelet. Egy ilyen utasítás két részből áll, magából a műveletből és az adatokból, amikkel el kell végezni a műveletet.

3., Operandusok beolvasása

- itt kiolvasásra kerülnek az operandusok cmíei, illetve maguk az operandusok.

4., A művelet végrehajtása

- Az ALU hajtja végre a műveleteket.

5., Az eredmény tárolása

- Az ALU átadja egy másik regiszternek, amely tárolja az adatot.

6., A következő utasítás címének meghatározása.


A processzor teljesítményét meghatározó tényezők
------------------------------------------------

- A számítógép digitális áramkörei ciklusokban működnek, amelyeket valamilyen ütemezéssel, frekvenciákkal működtetünk.

!!! Egy számítógép teljesítményét az alapján tudjuk meghatározni, hogy megmérjük az adott feladat elvégzésére fordított idejét. !!!

A feladat végrehajtásának ideje:

F = C x T x U

Ahol az F egy feladat végrehajtásához szükséges idő, a C egy utasításra eső átlagos ciklusszám,  a T egy ciklushoz szükséges idő, az U a feladat végrehajtásához szükséges utasításszám.

Mértékegység:

- A legegyszerűbben mérhető az időegység alatt végrehajtott utasítások átlagos száma:

- MIPS (Million Intrsuctions per Second - millió utasítás/másodperc)

- MFLOPS (Million Intrsuctions of Floating Point Operation per Second) - millió lebegőpontos utasítás per másodperc

Párhuzamos architektúrák
------------------------

1., Utasístás és adatfolyamok

- Utasításfolyam: Az utasítások egymás utáni sorozata, amelyeket egy program lefuttatása során hajt végre a számítógép. (Az utasításfolyam nem azonos a programutasítások sorozatával.)

- Adatfolyam: Az utasításfolyam utasításai mindig meghatározott adatokra hivatkoznak, amelyekkel a műveleteket el kell végezni. Ezek egymásutániságát, amilyen sorrendben rendelkezésre kell állniuk, nevezzük adatfolyamnak.

Fogalmak:

- SI - Single Instruction Stream: egyetlen vezérlő, egyetlen utasításfolyamot bocsát ki

- MI - Multiple Instruction Stream: a vezérlő több, egymástól elkülönülő folyamatot bocsát ki.

- SD - Single Data Stream: a műveletvégző egyetlen adatfolyamot hajt végre, dolgoz fel.

- MD - Multiple Data Stream: a műveletvégzők több adatfolyamot dolgoznak fel.

===> A fenti fogalmak kapcsán a következő architektúrák léteznek:

1., SISD (Single Instruction Stream Single Data Stream) típusú számítógép

- Egyetlen utasításfolyammal egyetlen adatfolyamot dolgoz fel.

Pl.: Neumann elvű gépek, A CPU-k is ilyenek voltak Pentium MMX-ig

2., SIMD (Single Instruction Stream Multi Data Stream) típusú számítógép

- Egyetlen utasításfolyammal többszörös adatfolyamot dolgoz fel.

Ezek a számítógépek a párhizamos művelet végrehajtáshoz több párhuzamos, egyidejű működésre képes művelet végző egységet (ALU) tartalmaznak. Vektorműveleteket képesek végrehajtani, gép utasítás szinten. (Ilyenek pl. A Pentium III CPU 3D grafikus utasításai) Két alaptípusuk van: közös tárolójú (Shared Memory) és az oszott tárolóval rendelkező gépek.(Distributed Memory)

3., MISD (Multiple Instruction Stream Single Data Stream) típusú számítógép

- Több utasításfolyammal egyetlen adatfolyamot dolgoz fel.

A gyakorlatban ilyen gépek nem léteznek. Ide sorolják az úgyn. hibatűrő architektúrákat -> ellenőrzés céljából lehetne használni.

4., MIMD (Multiple Instruction Stream Multiple Data Stream) típusú számítógép

- Több utasításfolyammal több adatfolyamot dolgoznak fel. 

- Ebbe a kategóriába tartoznak a multiprocesszoros számítógépek.