SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Aido Oliot Avaus Mitä ja miksi oliot
Aidot Olio avaus 23.4.2009 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Pähkinänkuoressa Page  2008-01-11 Mallista  generointi Kertteryys 2 3 4 Olioparadigman ymmärtäminen 1
Tietojärjestelmien kehitys Page  2008-01-11 abstraktiotaso sovellusohjelmointi 1960 2010 lkdj fkjsd fj d'fj ojd n öln cl foj d ih coih pij d foj o ij cij dscij  dj  idc oijcpoi d åoj ihji  khj dcohj foid f podc 'okc oo  poidc okjd dfh pod 'åodöok idh f hlkjhd hjdd ihd f fg fg adf  ihdf f ffdf  df  idhf df fgdf  ihd fdfg dfg odh fdfg  idfhdfg  idfh dfg  idshf dfg  idhf dfg  oidh fdfg  fdfg h d f -1980 koodi + tieto lkdj fkjsd fj d'fj ojd n öln cl foj d ih coih pij d foj o ij cij dscij  dj  idc oijcpoi d åoj ihji  khj dcohj foid f podc 'okc oo  poidc okjd dfh pod 'åodöok idh f hlkjhd hjdd ihd f fg fg adf  ihdf f ffdf  df  idhf df  1980-1990 koodi tieto 1990 - koodi + tieto HW + OS Middleware Middleware Middleware HW + OS HW + OS HW + OS HW + OS Middleware Middleware
Monimutkaisuuden hallinnasta ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Olioparadigman Kokonainen maailmankuva
Olio paradigma ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OlioParadigma Henkilö -  nimi - tukan väri - pituus - paino - syntymäaika - GSMnumero kerroNimi kerroIkä kerroOsoite muutaGSMnumero laulaMaamme kerroIkä Palvelujen kuori Olion ydin = identiteetti Object olioita =yksilöitä luokka luokka : yhteiset ominaisuudet ja palvelut ja viestit luokka vastaa kielen käsitettä (sanaa)  Class
Olioiden käyttäytyminen Liiketoimintaprosessi Funktionaalinen dekompositio Agentteihin perustuva dekompositio A Temppu1 Temppu2 D Temppu1 Temppu2 B Temppu1 Temppu2 C Temppu1 Temppu2 A D B C Homma Alku Keski Loppu AlunAlku AlunLoppu KeskiKesi LopunAlku LopunLoppu
[object Object],[object Object],[object Object],Olioperiaatteen  paradigmaluonne Page  2008-01-11 Ratkaisuja ei voi yhdistää vaan on  valittava  jompikumpi
Abstrakti oliomalli Määrittely
Ravintolan luokkakaavio Page  2008-01-11
Ravintolan yhteistoimintakaavio Page  2008-01-11
Abstraktiotason hallinta Page  2008-01-11 Liiketoiminnan mallia laadittaessa abstraktiotason  hallinta on hyvin keskeinen elementti . semanttinen  sisältö abstraktiotaso korkea matala sisältö vähäinen sisältö runsas semantiikan määrä
Abstrakti malli ja 3-kerroksinen toteutus Lisää kompleksisuuden hallintaa
Looginen 2-taso arkkitehtuuri Page  2008-01-11 sovellus GUI RelaatioTK liiketoiminta sovellustoiminta Sama toiminnallisuus toteutetaan  lähes samalla  tavalla useaan  kertaan  (kertaluokka ~ 10 ) Kompleksisuuden räjähdys ,[object Object],[object Object]
Looginen 3-taso arkkitehtuuri Page  2008-01-11 Pysyvyys Sovellus- oliot Näytöt Liiketoiminta- oliot Liiketoimintalogiikka Sovelluslogiikka
Kahden erillisen mallin yhdistäminen Page  2008-01-11 käsitemalli prosessimalli Kahden erillisen mallin  yhdistäminen hyvin vaikeaa Finnair Tjt- tutkimus 38 * 44 = 1672 yhteyttä oliomalli
Liiketoimintojen yhteinen leikkaus Page  2008-01-11
Abstrakti mallilähtöinen sovelluskehitys Abstract Domain Driven Development
Perinteinen & ketterä projektiperiaate Page  2008-01-11 Perinteinen vesiputous Ketterä Mallilähtöinen Ketterä määrittely suunnittelu toteutus määrittely suunnittelu toteutus kompleksisuusräjähdys Abstrakti liiketoiminnan mallinnus Liiketoimintalogiikan toteutus Sovellustarpeiden lisäy
SCRUM Page  2008-01-11 Scrum Sprint
Ketteryys tarkkenevasta mallista Page  2008-01-11 Kehittämisprosessi Abstrakti mallinnus 5 -15 pv Suunnittelu Toteutus todellisuus
Kehittämisprosessi Page  2008-01-11 Liiketoimintaprosessit Use cases Työnkulut Abstrakti liiketoimintamalli Implementation Implementation Liiketoiminna päämäärät 2 1 3 4 SovellusOliot näytöt Pysyvyys Liiketoiminnan Oliot
Kehittämisprosessi Page  2008-01-11 80 % Generate 10% 100% SovellusOliot näytöt Pysyvyys Liiketoiminnan Oliot
[object Object],[object Object],[object Object],[object Object],Olioperiaatteiden  tärkeysjärjestys Page  2008-01-11
OOA&OOD:n  ja ADDD:n erot ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ADDD ja OOA & OOD ominaisuus ADDD 2005 > OOA + OOD 1995 > OO-paradigma 97 % 100% Kohdealueen malli puhdas sisältää sovelluksen Tietoinen abstraktiotason  valinta 100 % ~ 50 % 3-kerros arkkitehtuuri 100% 100% Kerrosten aikainen erottaminen 100 % 25 % Ketteryys 0 – 100% ? Generointi 15 -25% ?
Mistä todella on kysymys ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],EI  ole kysymys ON  kysymys
Asian ytimeen Page  2008-01-11 Mallista  generointi Kertteryys 2 3 4 Olioparadigman ymmärtäminen 1
Ikuinen totuus  Page  2008-01-11 ,[object Object],[object Object],[object Object],[object Object],Grady Booch: Object Solution Boochin  käsitys  SOA:ta
Loppu Page  2008-01-11
Aidoista Olioista Sovelluksiin Toiminnan tavoitteet ,[object Object],[object Object],[object Object],[object Object],[object Object]
Aidoista Olioista Sovelluksiin Toimintatavat ,[object Object],[object Object],[object Object],[object Object]
Aidoista Olioista Sovelluksiin Seuraavia tapahtumia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Loppu Page  2008-01-11
XP eXtream Programming  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Page  2008-01-11
Prosessiasiantuntijan kommentti 1995  ,[object Object],[object Object],[object Object],[object Object],Page  2008-01-11
Kokemusperäinen ohjaus  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Page  2008-01-11
Grady Booch SOA:sta Page  2008-01-11 GB:” I've seen some folks suggest creating an SOA from the bottom up: look at a silo, identify the potential services, and publish them, then weave a system together from them. This is in essence technology first. In my experience , this is a recipe for disaster and/or serious over-engineering . You've got to start with the scenarios/business needs, play those out against the existing/new systems, zero in on the points of tangency, and there plan a flag for harvesting a meaningful service. These styles, and their resulting costs/benefits, are rarely discussed.  “ (värjäykset ja bouldaukset mun) ja vahan ennen  tätä: There are also services with a big S: there is a conceptual kind of service that is not manifest as a pure WSDL service but rather something else. Think of a service as a port on a system, with that port having a well-defined interface consisting of a vocabulary of classes, a protocol, and a particular set of messages and resulting behavior. It is a good thing that you can conceptualize a system as a web of services, some of which are Services and some of which are, well, services.  http://www.ratio.co.uk/ov10.pdf ObjectiveView10
Page  2008-01-11
Java -teknologian kehitys Jukka Tamminen Page  2008-01-14 Simula rakenteinen ohjelmointi C++ C relaatiokantojen teoria SQL-kannat Chenin ER-malli OOA oliotietokannat WWW Mosaiq Arpanet Java- Corba sovellukset NetScape Java verkkokannat 1970 1975 1980 1990 1985 1995 EJB ja OTM Java tapahtuma- sovellukset 2000 Smalltalk oliohajautus (CORBA)

Weitere ähnliche Inhalte

Ähnlich wie AitoOliot avaus

Tivin tietohallintomalli 021112
Tivin tietohallintomalli 021112Tivin tietohallintomalli 021112
Tivin tietohallintomalli 021112
velijula
 
AgileTool ja ketterät vaatimukset verkkopalvelulle
AgileTool ja ketterät vaatimukset verkkopalvelulleAgileTool ja ketterät vaatimukset verkkopalvelulle
AgileTool ja ketterät vaatimukset verkkopalvelulle
M. Muhonen
 

Ähnlich wie AitoOliot avaus (20)

Mystes Integraatioaamupala - Ratkaisuja järjestelmäintegrointien tyypillisiin...
Mystes Integraatioaamupala - Ratkaisuja järjestelmäintegrointien tyypillisiin...Mystes Integraatioaamupala - Ratkaisuja järjestelmäintegrointien tyypillisiin...
Mystes Integraatioaamupala - Ratkaisuja järjestelmäintegrointien tyypillisiin...
 
Julkishallinnon IT-hankinnat @Mearra
Julkishallinnon IT-hankinnat @MearraJulkishallinnon IT-hankinnat @Mearra
Julkishallinnon IT-hankinnat @Mearra
 
9 faktaa teknologiahankkeista
9 faktaa teknologiahankkeista9 faktaa teknologiahankkeista
9 faktaa teknologiahankkeista
 
Agile ClearCase Rwsug.fi 2009
Agile ClearCase Rwsug.fi 2009Agile ClearCase Rwsug.fi 2009
Agile ClearCase Rwsug.fi 2009
 
UAE-hanke AgileAMK-malli 0.5 vsr
UAE-hanke AgileAMK-malli 0.5 vsrUAE-hanke AgileAMK-malli 0.5 vsr
UAE-hanke AgileAMK-malli 0.5 vsr
 
Näin selviät devopsin käyttöönoton ongelmista
Näin selviät devopsin käyttöönoton ongelmistaNäin selviät devopsin käyttöönoton ongelmista
Näin selviät devopsin käyttöönoton ongelmista
 
SAPin innovatiivinen hyödyntäminen HR:ssä - case TeliaSonera
SAPin innovatiivinen hyödyntäminen HR:ssä - case TeliaSoneraSAPin innovatiivinen hyödyntäminen HR:ssä - case TeliaSonera
SAPin innovatiivinen hyödyntäminen HR:ssä - case TeliaSonera
 
Tivin tietohallintomalli 021112
Tivin tietohallintomalli 021112Tivin tietohallintomalli 021112
Tivin tietohallintomalli 021112
 
Jari Kallela: Kokonaisarkkitehtuurilla tavoitteisiin
Jari Kallela: Kokonaisarkkitehtuurilla tavoitteisiinJari Kallela: Kokonaisarkkitehtuurilla tavoitteisiin
Jari Kallela: Kokonaisarkkitehtuurilla tavoitteisiin
 
AgileTool ja ketterät vaatimukset verkkopalvelulle
AgileTool ja ketterät vaatimukset verkkopalvelulleAgileTool ja ketterät vaatimukset verkkopalvelulle
AgileTool ja ketterät vaatimukset verkkopalvelulle
 
Avoin lähdekoodi oikeusministeriössä
Avoin lähdekoodi oikeusministeriössäAvoin lähdekoodi oikeusministeriössä
Avoin lähdekoodi oikeusministeriössä
 
Talent Base: KAPO™-menetelmä
Talent Base: KAPO™-menetelmäTalent Base: KAPO™-menetelmä
Talent Base: KAPO™-menetelmä
 
Qlik for the Enterprise
Qlik for the EnterpriseQlik for the Enterprise
Qlik for the Enterprise
 
Kettera vaatimustenhallinta
Kettera vaatimustenhallintaKettera vaatimustenhallinta
Kettera vaatimustenhallinta
 
02 - Johdanto EAI 1 (BD2226 Tietojärjestelmien integrointi)
02 - Johdanto EAI 1 (BD2226 Tietojärjestelmien integrointi)02 - Johdanto EAI 1 (BD2226 Tietojärjestelmien integrointi)
02 - Johdanto EAI 1 (BD2226 Tietojärjestelmien integrointi)
 
webimprovements.com-esittely
webimprovements.com-esittelywebimprovements.com-esittely
webimprovements.com-esittely
 
Mihin robotit hajoavat?
Mihin robotit hajoavat?Mihin robotit hajoavat?
Mihin robotit hajoavat?
 
Poluttamo-hanke: Lähtötilanneraportti ohjauskäytänteistä
Poluttamo-hanke: Lähtötilanneraportti ohjauskäytänteistäPoluttamo-hanke: Lähtötilanneraportti ohjauskäytänteistä
Poluttamo-hanke: Lähtötilanneraportti ohjauskäytänteistä
 
Opas ketterän ohjelmistokehityksen ostajalle
Opas ketterän ohjelmistokehityksen ostajalleOpas ketterän ohjelmistokehityksen ostajalle
Opas ketterän ohjelmistokehityksen ostajalle
 
Miten Hyteairo vauhdittaa tekoälyn ja robotiikan hyödyntämistä?
Miten Hyteairo vauhdittaa tekoälyn ja robotiikan hyödyntämistä?Miten Hyteairo vauhdittaa tekoälyn ja robotiikan hyödyntämistä?
Miten Hyteairo vauhdittaa tekoälyn ja robotiikan hyödyntämistä?
 

Mehr von Jukka Tamminen (8)

Viranomaiset verkossa
Viranomaiset verkossaViranomaiset verkossa
Viranomaiset verkossa
 
Some
SomeSome
Some
 
Hsl kutsu plusesittely
Hsl kutsu plusesittelyHsl kutsu plusesittely
Hsl kutsu plusesittely
 
Terveydenhuolto ja esim
Terveydenhuolto ja esimTerveydenhuolto ja esim
Terveydenhuolto ja esim
 
Agina Animation English
Agina Animation EnglishAgina Animation English
Agina Animation English
 
Angina Animaatio2010 Ok
Angina Animaatio2010 OkAngina Animaatio2010 Ok
Angina Animaatio2010 Ok
 
Web Kaupp Anim
Web Kaupp AnimWeb Kaupp Anim
Web Kaupp Anim
 
Agile DDD Genuin Objects
Agile DDD Genuin ObjectsAgile DDD Genuin Objects
Agile DDD Genuin Objects
 

AitoOliot avaus

  • 1. Aido Oliot Avaus Mitä ja miksi oliot
  • 2.
  • 3. Pähkinänkuoressa Page 2008-01-11 Mallista generointi Kertteryys 2 3 4 Olioparadigman ymmärtäminen 1
  • 4. Tietojärjestelmien kehitys Page 2008-01-11 abstraktiotaso sovellusohjelmointi 1960 2010 lkdj fkjsd fj d'fj ojd n öln cl foj d ih coih pij d foj o ij cij dscij dj idc oijcpoi d åoj ihji khj dcohj foid f podc 'okc oo poidc okjd dfh pod 'åodöok idh f hlkjhd hjdd ihd f fg fg adf ihdf f ffdf df idhf df fgdf ihd fdfg dfg odh fdfg idfhdfg idfh dfg idshf dfg idhf dfg oidh fdfg fdfg h d f -1980 koodi + tieto lkdj fkjsd fj d'fj ojd n öln cl foj d ih coih pij d foj o ij cij dscij dj idc oijcpoi d åoj ihji khj dcohj foid f podc 'okc oo poidc okjd dfh pod 'åodöok idh f hlkjhd hjdd ihd f fg fg adf ihdf f ffdf df idhf df 1980-1990 koodi tieto 1990 - koodi + tieto HW + OS Middleware Middleware Middleware HW + OS HW + OS HW + OS HW + OS Middleware Middleware
  • 5.
  • 7.
  • 8. OlioParadigma Henkilö - nimi - tukan väri - pituus - paino - syntymäaika - GSMnumero kerroNimi kerroIkä kerroOsoite muutaGSMnumero laulaMaamme kerroIkä Palvelujen kuori Olion ydin = identiteetti Object olioita =yksilöitä luokka luokka : yhteiset ominaisuudet ja palvelut ja viestit luokka vastaa kielen käsitettä (sanaa) Class
  • 9. Olioiden käyttäytyminen Liiketoimintaprosessi Funktionaalinen dekompositio Agentteihin perustuva dekompositio A Temppu1 Temppu2 D Temppu1 Temppu2 B Temppu1 Temppu2 C Temppu1 Temppu2 A D B C Homma Alku Keski Loppu AlunAlku AlunLoppu KeskiKesi LopunAlku LopunLoppu
  • 10.
  • 14. Abstraktiotason hallinta Page 2008-01-11 Liiketoiminnan mallia laadittaessa abstraktiotason hallinta on hyvin keskeinen elementti . semanttinen sisältö abstraktiotaso korkea matala sisältö vähäinen sisältö runsas semantiikan määrä
  • 15. Abstrakti malli ja 3-kerroksinen toteutus Lisää kompleksisuuden hallintaa
  • 16.
  • 17. Looginen 3-taso arkkitehtuuri Page 2008-01-11 Pysyvyys Sovellus- oliot Näytöt Liiketoiminta- oliot Liiketoimintalogiikka Sovelluslogiikka
  • 18. Kahden erillisen mallin yhdistäminen Page 2008-01-11 käsitemalli prosessimalli Kahden erillisen mallin yhdistäminen hyvin vaikeaa Finnair Tjt- tutkimus 38 * 44 = 1672 yhteyttä oliomalli
  • 20. Abstrakti mallilähtöinen sovelluskehitys Abstract Domain Driven Development
  • 21. Perinteinen & ketterä projektiperiaate Page 2008-01-11 Perinteinen vesiputous Ketterä Mallilähtöinen Ketterä määrittely suunnittelu toteutus määrittely suunnittelu toteutus kompleksisuusräjähdys Abstrakti liiketoiminnan mallinnus Liiketoimintalogiikan toteutus Sovellustarpeiden lisäy
  • 22. SCRUM Page 2008-01-11 Scrum Sprint
  • 23. Ketteryys tarkkenevasta mallista Page 2008-01-11 Kehittämisprosessi Abstrakti mallinnus 5 -15 pv Suunnittelu Toteutus todellisuus
  • 24. Kehittämisprosessi Page 2008-01-11 Liiketoimintaprosessit Use cases Työnkulut Abstrakti liiketoimintamalli Implementation Implementation Liiketoiminna päämäärät 2 1 3 4 SovellusOliot näytöt Pysyvyys Liiketoiminnan Oliot
  • 25. Kehittämisprosessi Page 2008-01-11 80 % Generate 10% 100% SovellusOliot näytöt Pysyvyys Liiketoiminnan Oliot
  • 26.
  • 27.
  • 28. ADDD ja OOA & OOD ominaisuus ADDD 2005 > OOA + OOD 1995 > OO-paradigma 97 % 100% Kohdealueen malli puhdas sisältää sovelluksen Tietoinen abstraktiotason valinta 100 % ~ 50 % 3-kerros arkkitehtuuri 100% 100% Kerrosten aikainen erottaminen 100 % 25 % Ketteryys 0 – 100% ? Generointi 15 -25% ?
  • 29.
  • 30. Asian ytimeen Page 2008-01-11 Mallista generointi Kertteryys 2 3 4 Olioparadigman ymmärtäminen 1
  • 31.
  • 32. Loppu Page 2008-01-11
  • 33.
  • 34.
  • 35.
  • 36. Loppu Page 2008-01-11
  • 37.
  • 38.
  • 39.
  • 40. Grady Booch SOA:sta Page 2008-01-11 GB:” I've seen some folks suggest creating an SOA from the bottom up: look at a silo, identify the potential services, and publish them, then weave a system together from them. This is in essence technology first. In my experience , this is a recipe for disaster and/or serious over-engineering . You've got to start with the scenarios/business needs, play those out against the existing/new systems, zero in on the points of tangency, and there plan a flag for harvesting a meaningful service. These styles, and their resulting costs/benefits, are rarely discussed. “ (värjäykset ja bouldaukset mun) ja vahan ennen  tätä: There are also services with a big S: there is a conceptual kind of service that is not manifest as a pure WSDL service but rather something else. Think of a service as a port on a system, with that port having a well-defined interface consisting of a vocabulary of classes, a protocol, and a particular set of messages and resulting behavior. It is a good thing that you can conceptualize a system as a web of services, some of which are Services and some of which are, well, services. http://www.ratio.co.uk/ov10.pdf ObjectiveView10
  • 42. Java -teknologian kehitys Jukka Tamminen Page 2008-01-14 Simula rakenteinen ohjelmointi C++ C relaatiokantojen teoria SQL-kannat Chenin ER-malli OOA oliotietokannat WWW Mosaiq Arpanet Java- Corba sovellukset NetScape Java verkkokannat 1970 1975 1980 1990 1985 1995 EJB ja OTM Java tapahtuma- sovellukset 2000 Smalltalk oliohajautus (CORBA)