Informatikai rendszerek tervezése és menedzsmentje
egyetemi jegyzet
Tartalomjegyzék
INFORMÁCIÓ- ÉS RENDSZERELMÉLET
1.1. Az információ felfedezése
1.2. A shannoni információelmélet
1.3. Rendszerek és struktúrák
1.4. Számítógépes rendszerek
1.5. A szervezés fogalma, fejlődése, fajtái
1.5.1. Számviteli információrendszer jellemzői és modellje
1.5.1.1. A számviteli információrendszer működésének alapvető követelményei
1.5.1.2. Főkönyvi rendszer
1.5.1.3. Törzsadat állomány
teljes tartalomjegyzék...
1.5.1.4. Eszközrendszer
1.5.1.5. Beruházások
1.5.1.6. A kódszámrendszer és törzsadat állomány
1.5.1.7. Tárgyi eszközök
1.5.1.8. Készlet rendszer:
1.5.1.9. Pénzügyi rendszer
1.5.1.10. Munkaügyi rendszer
A RENDSZERFEJLESZTÉS LÉPÉSEI
2.1. A szoftverrendszerek bonyolultságáról
2.1.1. A megoldandó feladat bonyolultsága
2.1.2. A fejlesztési folyamat kézben tartásának nehézségei
2.1.3. A szoftvereszközök kínálta rugalmasság
2.1.4. A diszkrét rendszerek viselkedésének leírásából fakadó nehézségek
2.2. A programozástól a rendszerfejlesztésig
2.3. Életciklus modellek
2.3.1. Vízesés modell
2.3.2. A prototípus modell
2.3.3. Spirális modell
2.3.4. Iteratív és inkrementális fejlesztési modellek
2.4. Elemzés
2.4.1. A követelmények elemzése
2.4.1.1. A feladat azonosítása
2.4.1.2. Kiértékelés és szintézis
2.4.1.3. A modellezés
2.4.1.4. Specifikáció
2.4.1.5. Felülvizsgálat
2.5. Tervezés
2.5.1. A tervezés lépései
2.5.2. Osztott rendszerarchitektúrák
2.5.3. Kliens-szerver architektúrák
2.5.4. Osztott objektumarchitektúrák
2.5.5. Valósidejű rendszer tervezése
2.5.6. Felhasználói felület tervezés
2.5.6.1. A felhasználótól a program felé irányuló kommunikáció
2.5.6.2. A felület működése és a belső alkalmazáslogika szétválasztása
2.5.6.3. Változó és nem változó adatok megjelenítése
2.5.6.4. A valóság tükrözése
2.5.6.5. Szövegek alkalmazása
2.5.6.6. Színek alkalmazása
2.5.6.7. Grafika alkalmazása
2.5.6.8. Kijelzések, figyelmeztetések
2.5.6.9. Ablakok, ablakrendszerek kialakítása
2.5.6.10. A felületek ellenőrzése, értékelése
2.5.6.11. Példák jó és rossz felhasználói felületekre
2.5.6.12. A grafikus felhasználói felületek előnyei
2.5.7. Tervezés újrafelhasználása
2.5.7.1. Komponens alapú fejlesztés
2.5.7.2. Újrafelhasználható komponensek fejlesztése
2.5.8. Funkciómeghatározás
2.5.8.1. I/O szerkezetek meghatározása (Jackson-módszer)
2.5.8.2. Relációs adatelemzés
2.5.8.3. Egyed-esemény modellezés
2.5.8.4. Egyedtörténeti diagram (ETD)
2.5.8.5. Eseményhatás diagram (EHD)
2.6. Implementáció
2.6.1. Feladatosztályok
2.6.2. Eseményvezérelt rendszerek
2.6.2.1. Konkurens- és valós idejű ütemezők
2.6.3. Deklaratív rendszerek
2.6.3.1. Problémák és problématerek
2.6.4. Procedurális programozás
2.6.4.1. A procedurális programozási nyelvekről
2.6.5. Deklaratív fejlesztőeszközök
2.6.5.1. Deklaratív programozási nyelvek
2.6.6. 4GL fejlesztőeszközök
2.6.6.1. Kezelői felület
2.6.6.2. Kommunikációs felület
2.6.6.3. Alkalmazáslogika
2.7. Verifikáció és validáció
2.7.1. Szoftverátvizsgálás
2.7.1.1. Kód átvizsgálás (Code review, inspection)
2.7.1.2. Kód auditálás
2.7.2. Szoftvertesztelés
2.7.2.1. Black-box tesztelés
2.7.2.2. Grey-box tesztelés
2.7.2.3. White-box tesztelés
2.7.2.4. Útvonal-tesztelés
2.7.2.5. Rendszertesztelés
2.7.2.6. Objektumorientált tesztelés
2.7.3. Tesztelési eszközrendszerek
2.7.4. A tesztelés helye a folyamatban
2.7.5. Debugging
2.7.6. Verifikáció és validáció tervezés
2.7.7. Verifikáció és validáció modell
2.8. Projektmenedzsment
2.8.1. Az emberek menedzselése
2.8.2. Szoftver költségeinek becslése
2.8.3. Minőség-ellenőrzés és- biztosítás
2.8.4. Konfiguráció menedzsment
2.8.4.1. Konfiguráció menedzsment tervezés
2.8.5. Változtatás vezérlés
2.8.5.1. Rendszerépítés
2.8.6. Verzió és Release menedzsment
2.8.6.1. Verzió elnevezés
2.8.6.2. Verzió és release készítés
2.8.7. Konfiguráció menedzsment eszközök
2.8.7.1. SCCS
2.8.7.2. MAKE
2.8.8. Ellenminták a projektmenedzsmentben (AntiPatterns)
2.9. Minőségkezelés
2.9.1. Minőségbiztosítás és szabványok
2.9.2. Minőségtervezés
2.9.3. Minőség-ellenőrzés
2.9.3.1. Szoftvermérés, metrikák
2.9.3.2. Minőségi jellemzők mérése
2.9.3.3. Mérési modellek
2.9.3.4. Mérési folyamat
2.10. Szoftverelolúció
2.11. Szoftverkarbantartás
2.11.1. Karbantartási költségek
2.12. Szoftver újratervezés
2.12.1. Visszatervezés
OBJEKTUMORIENTÁLT RENDSZERFEJLESZTÉS
3.1. Az objektumorientált paradigma
3.1.1. Dekompozíció és absztrakció
3.1.1.1. Algoritmikus dekompozíció
3.1.1.2. Objektumorientált dekompozíció
3.1.2. Az objektumorientáltság fogalma
3.1.2.1. Az osztály fogalma
3.1.2.2. Az objektum fogalma
3.1.3. Absztrakt adattípusok és objektumok
3.1.4. Az objektumok jellemzői
3.1.4.1. Belső állapot
3.1.4.2. Viselkedés
3.1.4.3. Azonosság
3.1.4.4. Élettartam
3.1.5. Az objektumok közötti kapcsolatok
3.1.5.1. Kapcsolatok
3.1.5.2. Összetétel
3.1.6. Az osztályok jellemzői
3.1.6.1. Felület
3.1.6.2. Implementáció
3.1.7. Osztályok és objektumok közötti relációk
3.1.7.1. Asszociáció vagy társítás
3.1.7.2. Kizárólagos vagy kapcsolat
3.1.7.3. Aggregáció
3.1.7.4. Kompozíció
3.1.7.5. Öröklődés (specializáció és általánosítás)
3.1.8. Az interfész fogalma
3.1.9. Függőség osztályok között
3.1.10. Sablonok
3.1.11. Metaosztály
3.2. A modellezés
3.2.1. A szoftverfejlesztés fejlődése
3.2.2. A modellezés szükségessége
3.2.3. Formalizálás szerepe
3.3. Módszertanok
3.3.1. Szabványosítás
3.3.2. Az OMT
3.3.3. Rational Unified Process
3.3.4. A „Q” modellező módszer
3.4. A folyamat: Objectory
3.4.1. Két dimenzió
3.4.2. A folyamat statikus szerkezete
3.4.2.1. Tevékenységek
3.4.2.2. Munkafolyamatok
3.4.2.3. Dolgozók
3.4.2.4. Termékek
3.4.3. Az életciklus szerkezete
3.4.3.1. A folyamat szakaszai és főbb határkövei
3.4.3.2. Két egymást követő fejlesztési ciklus
3.4.4. A folyamat ábrázolása
3.4.4.1. Folyamatkomponensek és modellek
3.4.4.2. Követelményrögzítés
3.4.4.3. Elemzés és tervezés
3.4.4.4. Implementáció
3.4.4.5. Ellenőrzés
3.5. A sikerháromszög
3.5.1. UML, mint jelölésrendszer
3.5.2. Fejlesztési folyamatok
3.5.3. Fejlesztő és modellező eszközök
3.6. Az UML nyelv
3.6.1. Modell, nézet és diagram
3.6.2. Az UML nézetei
3.6.3. Elemek és relációk
3.6.4. Diagramok
3.6.5. Az UML modelljei
3.6.6. Általános kiterjeszthetőségi mechanizmusok
3.6.6.1. Sztereotípiák (Stereotypes)
3.6.6.2. Elemek tulajdonságai
3.6.6.3. Kényszer (Constraint)
3.6.6.4. Megjegyzés (Comment)
3.6.7. A használati eset diagram
3.6.7.1. Alapfogalmak
3.6.7.2. Use case-ek kivonatának megszerkesztése
3.6.7.3. A use case leírás magyarázata
3.6.7.4. A use case diagram relációi
3.6.7.5. A használati eset modell
3.6.7.6. A használati eset dokumentációja
3.6.7.7. A használati eset megvalósítása
3.6.8. Csomagdiagram
3.6.8.1. Alrendszerek
3.6.8.2. Modellek
3.6.9. Az osztálydiagram
3.6.9.1. A névszakasz
3.6.9.2. A listaszakaszok
3.6.9.3. Utility osztály
3.6.9.4. Entity osztály
3.6.9.5. Bondary osztály
3.6.9.6. Control osztály
3.6.9.7. Az interfész
3.6.9.8. Parametrizált osztályok
3.6.9.9. Relációk
3.6.9.10. Absztrakt osztályok és felületek
3.6.9.11. Kvalifikált társítás
3.6.9.12. Az osztályok azonosítása
3.6.10. Az objektumdiagram
3.6.11. Kölcsönhatás vagy interakció diagramok
3.6.11.1. Szekvenciadiagram
3.6.11.2. Együttműködési diagram
3.6.12. Állapotdiagram
3.6.12.1. Események
3.6.12.2. Az állapotok általánosítása
3.6.12.3. A history
3.6.12.4. Konkurencia modellezése
3.6.12.5. Kapcsolat a forráskóddal
3.6.13. Aktivitásdiagram
3.6.13.1. Objektum-folyam
3.6.13.2. Döntések
3.6.13.3. Szignál küldése és fogadása
3.6.13.4. Szinkronizáció, konkurencia
3.6.13.5. Sávok
3.6.13.6. Állapot- vagy aktivitásdiagram?
3.6.14. Komponensdiagram
3.6.14.1. Komponensek
3.6.15. Telepítési diagram
3.6.15.1. Csomópontok
3.6.15.2. Csomópontok közötti kapcsolatok
3.6.15.3. Komponensek
3.6.16. A dokumentáció eszközei
3.6.16.1. Jegyzet
3.6.16.2. Dokumentáció
3.6.16.3. Szöveg
3.6.17. Az OCL
3.6.18. Címke-érték (tagged value)
3.6.19. Profileok
3.6.20. Vizuális tervezés
3.6.21. Kockázat-vezérelt fejlesztés
3.6.22. Komponens alapú fejlesztés
3.6.23. Keretszerkezetek (Framework)
3.7. Modelvezérelt rendszerfejlesztés (MDA)
3.7.1. A MDA szabvány
3.7.2. A MDA architektúrája
3.7.3. Automatizált fejlesztési folyamat
3.7.4. MDA-szolgáltatások
3.7.5. A MDA előnyei
3.8. Az UML2 architektúrája
3.8.1. Infrastructure
3.8.2. Superstructure
3.8.3. Diagram Interchange Model
3.9. Aspektus-orientált és intencionális programozás
3.9.1. Az objektumorientált programozáson túl
3.9.2. Aspektus-orientált programozás
3.9.3. Intencionális programozás
RENDSZERFEJLESZTÉS A CASE ESZKÖZÖKKEL
4.1. CASE eszközök
4.2. A CASE folyamat
4.3. Módszerek
4.4. Tervezés
4.5. Kapcsolat
4.5.1. A CASE és a 4GL kapcsolta
4.6. UML a CASE eszközökben
4.6.1. A fejlesztési körutazás (round trip engineering)
4.7. Enterprise Architect CASE eszköz
4.7.1. Új modell létrehozása
4.7.1.1. Általános beállítások (General)
4.7.1.2. Diagram beállítások (Diagram)
4.7.1.3. Objektum beállítások (Objects)
4.7.1.4. Színek (Standard és Collaboration Colors)
4.7.1.5. UML eszköztár (UML Element Toolbox)
4.7.1.6. Nyelvek, kódgenerálás (Generation)
4.7.2. A modellelem tár
4.7.3. Diagramok készítése
4.7.4. Dokumentáció generálása
4.7.5. Kódgenerálás
4.7.6. Kód visszafejtése
4.8. Rendszerfejlesztés az Enterprise Architect-el
4.8.1. Az Internet-brokeringről
4.8.2. Az interneten működő brókercégek fajtái
4.8.2.1. Az Internet-only szolgáltatás előnyei
4.8.2.2. Az Internet-only szolgáltatás hátrányai
4.8.2.3. A hagyományos brókercégek Internet-brokering üzletágainak előnyei
4.8.2.4. A hagyományos brókercégek Internet-brokering üzletágainak hátrányai
4.8.3. Az ügyfelek elemzése
4.8.4. Biztonság
4.8.5. A rendszer célja
4.8.6. A használati esetek modellezése
4.8.7. Az osztályok feltárása
4.8.7.1. A böngésző
4.8.7.2. A honlap
4.8.7.3. A webserver
4.8.7.4. Az adatbázis
4.8.7.5. A kliens-szerver applikáció
4.8.8. Szekvenciadiagram
4.8.9. Dinamikus viselkedés
4.8.10. Telepítési diagram
4.8.11. Komponens diagram
4.8.12. A kliens-szerver alkalmazás
4.8.13. A kliens program
4.8.13.1. A szerver program
Kapcsolódó könyvek