Gyurkó György
Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es évek: Smalltalk tisztán objektumorientált nyelv; fejlesztő: Xerox PARC. – Széles körben a Smalltalk-80 válik ismertté (1980) 1980-as évek eleje: C++; fejlesztő: Bjarne Stroustrup az AT&T Bell laboratóriumban tól: Java, fejlesztő: Sun Microsystems, Inc. (webes alkalmazások) 1980-as évek második fele, 1990 évek eleje: OO elemzési tervezési módszertanok kialakulása 1990-es évek közepe, második fele: OO elemzést és tervezést támogató CASE eszközök megjelenése
Egyszerre több elemzési és tervezés módszertan Az 1980-as évek második felében, 1990-es évek elején létrejövő OO módszertanok: James Rumbaugh és munkatársai által kidolgozott OMT (Object Modeling Technique), Grady Booch által kidolgozott módszertan, Shlaer és Mellor által kidolgozott módszertan, Ivar Jacobson és munkatársai által kidolgozott OOSE (Object-Oriented Software Engineering), és még további módszertanok nagyobb informatikai cég műhelyéből Mindegyik saját jelölésrendszert használt!!! UML
Az UML története 1994: Rumbaugh és Booch szándéknyilatkozata közös OO rendszerfejlesztési módszer kidolgozására 1995: Az OMT és a Booch módszerek egyesítésének vázlata (Unified Method 0.8) 1996: Csatlakozik Jacobson is. Hárman dolgozzák ki a Unified Method 0.9-et. 1997: Januárban Unified Modeling Language néven adják be az OMG (Object Management Group) független szabványszervezethez (konzorcium). Ez a verzió kapja az UML 1.0 jelölést szeptemberben megjelenik az UML 1.1, amelyet követően egyre több CASE gyártó terméke támogatja az UML-t : Sorban jelennek meg az UML újabb verziói 1.2: 1998, 1.3: 1999, 1.4: 2001, 1.5(munkaverzió): : UML : UML 2.0
Az UML áttekintése Diagramtechnikák A modellelemek csoportosítása – csomagok, csomagdiagramok UML kiterjesztési mechanizmusok (sztereotípusok és megszorítások)
Az UML diagramtechnikái Használati eset vetület (nézet) Funkcionális követelmények leírása Statikus modellek (szerkezeti modellezés) Osztályok definiálása, osztályok közötti viszonyok (általánosítás/specializáció, asszociációk, függések) esetleg objektumok és azok viszonyai Dinamikus modellek (viselkedésmodellezés) Objektumok együttműködése/kommunikációja, állapotváltozásai (cél az osztályok metódusainak meghatározása, a statikus modell finomítása) Üzleti folyamatok leírása tevékenység-diagrammal (cél: a követelmények meghatározása, pontosítása) Alkalmazás / komponensmodul működésének leírása tevékenység-diagrammal Kivitelezési modellek (architektúramodell) Komponensdiagram (az alkalmazás felépülése kódkomponensekből) Telepítési diagram
Modellelemek csoportosítása (csomagok, csomagdiagramok) Csomagok tartalmazási hierarchiája és függősége
Modellelemek csoportosítása (csomagok, csomagdiagramok) Csomagok közötti általánosítás és pontosítás
Az UML kiterjesztési mechanizmusai Az UML eszköztár kiterjesztése az alkalmazó szervezet igényei szerint Sztereotípusok (Stereotype) : a modellelemek több szempontú tipizálására, illetve újabb típusú modellelemek képzésére szolgálnak. Megszorítások (Constraint): a modellelemek olyan tulajdonságainak (element properties) megadására szolgálnak, amelyek az UML más jelrendszerével nem fejezhetők ki. Egyes – felsorolás típusú értékkel megadható – megszorításokat pedig a modellelemeknek a sztereotípiákon felüli, további tipizálására használnak, pl.: {abstract}, {transient}, {persistent}.
Sztereotípusok megadása - példák
Megszorítások megadása - példák