2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
3. Mallinnusmenetelmistä
Tähän asti kehitettyjen menetelmien antina on ollut lähinnä se
muoto, jossa analyysin ja suunnittelun tulokset esitetään
Vähemmän selkeämpi ja vakiintunut on se prosessi, jolla nämä
tulokset syntyvät
Muista: menetelmiä käytettävä soveltaen ja harkiten
5. UML
Booch, Rumbaugh, Jacobson:
Unified Modeling Language (UML)
Nykyisin OMG:n (Object Management Group)
kehittämä standardoitu mallinnuskieli
6. UML (jatkoa)
Ohjelmiston mallien kuvaustapa, graafinen suunnittelukieli
Ei siis varsinainen menetelmä
Erittäin laaja
7. UML:n kaaviotyypit
Korkean tason toiminnalisuus Ohjelmisto-
kehitys
Rakenne Käyttö- Käyttäytyminen
tapauskaaviot
Esimerkkejä Sekvenssi- Yhteistyö-
Oliokaaviot
kaaviot kaaviot
Sijoittelu- Luokka- Aktiviteetti-
Tilakaaviot
kaaviot kaaviot kaaviot
Komponentti-
kaaviot
8. UML:n kaaviotyypit (jatkoa)
Korkean tason toiminnallisuus
Käyttötapauskaaviot
Järjestelmän staattinen ja dynaaminen rakenne
Oliokaaviot
Luokkakaaviot
Sijoittelukaaviot
Komponenttikaaviot
9. UML:n kaaviotyypit (jatkoa)
Järjestelmän dynaaminen käyttäytyminen
Sekvenssikaaviot
Yhteistyökaaviot
Tilakaaviot
Aktiviteettikaaviot
Kaaviotyypit esitellään seuraavassa käyttäen esimerkkinä
autojen vuokrausjärjestelmää
10. UML:n kaavioiden
peruselementtejä ja -suhteita
Kaaviot koostuvat peruselementeistä ja niiden välisistä
suhteista
Elementit ovat geometrisia kuvioita
Elementeillä usein myös sisäinen rakenne (esimerkiksi luokan
attribuutit ja operaatiot)
Suhteet ovat elementtejä yhdistäviä viivoja
Suhteisiin voidaan liittää tarkempaa informaatiota (assosiaation
nimi, kertautuminen, roolit)
UML:n graafinen ulkoasu ei ole tarkasti määrätty
11. UML:n kaavioiden
peruselementtejä ja -suhteita
Elementit Suhteet
Nimi
Luokka Riippuvuus
0..1
Assosiaatio *
rooli
Tila Nimi
Kooste
Pakkaus Nimi
Yleistys
(Periytyminen)
Kommentti Teksti Toteutus
jne. jne.
12. Käyttötapaus
Käyttötapaus (use case) on kuvaus järjestelmän ja sen
käyttäjien välisestä vuorovaikutuksesta tietyn, käyttäjän
kannalta mielekkään tuloksen aikaansaamiseksi
Kuvaus annetaan usein tavallisena tekstinä, joka tarkennetaan
sekvenssikaavioiksi
Esimerkkejä käyttötapauksista: luottotarkistus, lainahakemus,
valmistelu
13. Käyttötapauskaavio
Käyttötapauskaavio (use case diagram) kuvaa järjestelmän
käyttötapausten väliset suhteet ja käyttötapauksiin osallistuvat
järjestelmän ulkopuoliset toimijat
Käytetään järjestelmän käyttöyhteyden ja vaatimusten korkean
tason kuvaukseen
Jos käyttötapaus sisältyy toiseen, laajemmasta piirretään
katkonuoli sisältyvään käyttötapaukseen päin
15. Luokkakaavio
Luokkakaavio (class diagram, static structure diagram) kuvaa
järjestelmään kuuluvia luokkia ja niiden välisiä suhteita
Luokkakaaviota käytetään järjestelmän staattisen rakenteen
kuvaukseen
16. Luokkakaavio - Esimerkki
Ohjain
1
Kohde 1
Varasto
palauta() hallinnoi KohdeHallinto
varaa() * 1
otaKäyttöön() palautaKohde(Kohde, Varasto)
varaaKohde(Kohde)
otaKäyttöönKohde(Kohde)
HenkilöAuto
rekisterinumero ParkkiAlue
Talleta huolto-
informaatio
huolla(int km)
(palauta kutsuu)
palauta()
17. Oliokaavio
Oliokaavio (object diagram) kuvaa olioita ja niiden välisiä
suhteita
Luokkakaavion mahdollinen ajoaikainen ilmenemismuoto
Oliokaavio antaa esimerkin järjestelmän dynaamisesta rakenteesta
tietyllä hetkellä
18. Oliokaavio - Esimerkki
: KohdeHallinto
luokan ilmentymä:
alleviivattu
auto1: HenkilöAuto auto2 : HenkilöAuto
rekisterinumero = XYZ-999 rekisterinumero = ABC-123
19. Sekvenssikaavio
Sekvenssikaavio (sequence diagram) koostuu tiettyyn
vuorovaikutukseen liittyvistä olioista ja niiden välisistä
sanomista (message)
Sekvenssikaaviota käytetään kuvaamaan oliojoukon välistä
vuorovaikutusta tietyssä tilanteessa
Aika kulkee ylhäältä alas
Vuorovaikutustapahtumat ovat vaakasuuntaisia nuolia
Osallistujat kuvataan pystyviivoina
Kuvaa usein olioiden vuorovaikutuksen tietyn käyttötapauksen
yhteydessä
21. Yhteistyökaavio
Yhteistyökaavio (collaboration diagram) kuvaa olioiden välistä
vuorovaikutusta
Aikaa ei edusta mikään tietty suunta
Olioiden yhteydet kuvataan symbolien välisinä viivoina
Sijoittelua voidaan käyttää ilmaisemaan loogisesti yhteen kuuluvia
olioita
Kontrollin kulun suunta voidaan ilmaista nuolella
Sanomien ajallinen järjestys voidaan antaa sanomiin liitettyinä
numeroina
Monitasoinen numerointi: sisäkkäiset operaatiokutsut
22. Yhteistyökaavio - Esimerkki
vastaa edellistä
sekvenssikaaviota 1.1: palauta()
auto: Henkilöauto
: KohdeHallinto
1: palauta(auto,parkki)
parkki: ParkkiAlue
1.2: varastoi(auto)
UI
23. Vuorovaikutuskaaviot
Sekvenssikaaviot ja yhteistyökaaviot kuvaavat molemmat
olioiden välistä vuorovaikutusta. Siksi niitä kutsutaan yhteisesti
vuorovaikutuskaavioiksi.
24. Tilakaavio
Tilakaavio (statechart diagram) kuvaa tietyn luokan
ilmentymien reagoimisen ulkoisiin tapahtumiin (message)
Käytetään tyypillisesti aktiivisten olioiden ajoaikaisen
käyttäytymisen spesifiointiin
Voidaan antaa tarvittaessa myös muille olioille, joiden
käyttäytyminen voidaan ymmärtää tilojen vaihtumisena
Koostuu tiloista (attribuuttien arvojen yhdistelmä tietyllä hetkellä)
ja niiden välisistä siirtymistä
Tilat pyöristettyjä suorakaiteita, siirtymät nuolia
Luokan ilmentymä on aina jossakin luokan tiloista
Voi sisältää alku- ja lopputilan
25. Tilakaavio - Esimerkki
alkutila
palauta/
Käytettävissä lopeta ajan lasku Käytössä
otaKäyttöön/
valmis huolla
aloita ajan lasku
Huollossa
exit/huoltoilmoitus Varattu
varaa
26. Aktiviteettikaavio
Aktiviteettikaavio (activity diagram) kuvaa tietyn tehtävän
sisäisen logiikan
Muodollisesti tilakaavion erikoistapaus
Kaavio voidaan jakaa sarakkeisiin, jotka vastaavat kutakin
suorittajaa
Koostuu toimenpidetiloista (sivureunat täysin pyöristettyjä, ei
nimiä) sekä niitä yhdistävistä ilman tapahtumaa olevista
siirtymistä
27. Aktiviteettikaavio (jatkoa)
Kaavioon voidaan liittää päätössymboleja (vinoneliö)
kuvaamaan kontrollin haarautumista jonkin ehdon perusteella
Kaaviolla voidaan myös kuvata rinnakkaisten suoritussäikeiden
haarautumista ja yhdistymistä
Kaavioon voidaan lisätä tietoalkioita (toiminnan kohteita)
olioina
Muistuttaa täydellisessä muodossaan läheisesti muissa
kuvausmenetelmissä käytettyjä tietovuokaaviota
Tietovuokaaviot eivät sinänsä kuulu UML:ään
28. Aktiviteettikaavio - Esimerkki
Asiakas Virkailija
Pyydä Tee
auto varaus
:Lasku
[avoin] Tee lasku
Maksa Valmistele
auto
:Lasku
[maks]
Ota auto Rekisteröi
vuokraus
29. Aktiviteettikaavio - Esimerkki
alkutila
Asiakas Virkailija
Pyydä Tee
säikeiden auto varaus
haarautu-
minen :Lasku
(fork) [avoin] Tee lasku
säikeiden
yhdisty-
minen
Maksa Valmistele
(join) auto
:Lasku
[maks]
Ota auto Rekisteröi
vuokraus
lopputila
30. Komponenttikaavio
Komponenttikaavio (component diagram) kuvaa komponentit ja
niiden väliset suhteet
Komponentti (UML-kaavioissa) voi olla:
Lähdekielinen tai binäärimuotoinen rajapinnan toteuttava
ohjelmayksikkö
Myös esimerkiksi datatiedosto, ohjelmatiedosto (mm. exe tai dll),
html-sivu, dokumentti, kirjasto tai jokin muu osa
31. Komponenttikaavio (jatkoa)
Yleisesti UML:n komponentti on lähes mikä tahansa
ohjelmistojärjestelmästä selkeästi erotettavissa ja
korvattavissa oleva osa (”fyysinen”, ei vain käsitteellinen)
Voidaan käsitellä kaavioissa luokan tavoin (assosiaatiot,
yleistyssuhteet, attribuutit, ...)
32. Komponenttikaavio - Esimerkki
toteuttaa
käyttää
GUI
Auton-
Vuokraus
VuokrausToiminta
Tietokanta-
liittymä
KohdeKanta
33. Sijoittelukaavio
Sijoittelukaavio (deployment diagram) kuvaa prosessointia
suorittavat laiteyksiköt, niiden yhteydet ja ohjelmistojen osien
sijoittumisen niihin
Tarvitaan vain silloin kun järjestelmään liittyy useita laiteyksiköitä
Prosessointiyksiköt (node) esitetään kuutioina ja niiden väliset
suhteet assosiaatioina
Prosessointiyksiköille voidaan antaa luokkien tapaan
yleistyssuhteita, niillä voi olla attribuutteja ja ilmentymiä ja ne
voivat olla osallistujina vuorovaikutuskaavioissa
34. Sijoittelukaavio - Esimerkki
Huomaa: prosessointiyksikön ilmentymä =
tietty laite, ei laitetyyppi
asiakaspiste: Asiakas ajoneuvorekisteri: Palvelin
: XTietokanta-
: GUI
liittymä
<<TCP/IP>>
: Auton-
Vuokraus : XTietokanta
komponentin ilmentymä olio
35. Kaavioille yhteisiä piirteitä
Pakkaukset
Laajennosmekanismit, joilla voidaan määritellä
lisäominaisuuksia UML:n perusosille
Stereotyypit (stereotype)
Lisätietomääreet (tagged value)
Rajoitteet (constraint)
36. Pakkaus
Pakkaus (package) on UML:n yleinen ryhmittely- ja
kokoamisväline, jota voidaan käyttää kaikissa kaaviotyypeissä.
Piirretään suorakaiteena, jonka ylälaidassa on nimiuloke
Voi kuvata loogisen kokonaisuuden, alijärjestelmän, ...
Hakemiston vastine, voi sisältää myös toisia pakkauksia
Pakkaus edustaa nimiavaruutta
Pakkauksen elementtien näkyvyys ulospäin voidaan kuvata Java-
kielen tavoin
37. Pakkaukset - Esimerkki
Ohjain
Kohteet Tuki 1
Kohde 1
Varasto
palauta() hallinnoi KohdeHallinto
varaa() * 1
otaKäyttöön() palautaKohde(Kohde, Varasto)
varaaKohde(Kohde)
otaKäyttöönKohde(Kohde)
HenkilöAuto
rekisterinumero ParkkiAlue
huolla(int km)
palauta()
39. Stereotyypit
Stereotyypillä varustetulla perusosalla on oma laajennettu
merkitys
Täysin epäformaali tai esimerkiksi rajoitteilla määritelty
Stereotyypille voidaan antaa oma kuvake, joka esiintyy perusosan
symbolin yhteydessä tai korvaa sen
Hyödyllisiä hyvin yleisten UML-symbolien kohdalla: varsinkin
komponentit ja prosessointiyksiköt
Mekanismi sovelluskohtaisten notaatioiden tekemiseen
41. Lisätietomääreet
Lisätietomääre on UML:n perusosaan liitettävä määre, joka
koostuu nimestä ja arvosta
Määreen avulla mallin tiettyyn osaan voidaan liittää mielivaltaista
käyttäjän haluamaa informaatiota
Ei muuta mallin merkitystä, vaan liittyy enemmän mallin hallintaan
ja prosessointiin
43. Rajoitteet
Rajoitteet antavat mahdollisuuden määritellä lisävaatimuksia,
jotka mallin toteuttavan järjestelmän tulee täyttää
Kirjoitetaan aaltosulkujen sisään
Voi olla joko nimetty standardirajoite, OCL-kielellä kirjoitettu
ilmaus tai täysin epäformaali tekstinä annettu ehto
OCL on UML-määrittelyyn sisältyvä formaali rajoitekieli, jolla
voidaan antaa merkitykseltään täsmällisiä, analysointi- ja
suorituskelpoisia kuvauksia
44. Rajoitteita - Esimerkki
OCL-rajoite
* omistaa 1
Yritys Henkilö {(self.aviomies->size=1 implies
aviomies self.aviomies.sukupuoli = mies) and
{xor} 0..1 sukupuoli (self.vaimo->size=1 implies
0..1 self.vaimo.sukupuoli = nainen) and
vaimo not(self.vaimo->size=1 and
self.aviomies->size=1)}
Ministeriö 0..1 johtaa 1
45. Staattinen mallintaminen
Luokkakaavio (class diagram) kuvaa järjestelmään kuuluvia
luokkia ja niiden välisiä suhteita
Tärkein järjestelmän staattisen rakenteen mallinnusväline
46. Luokkakaavio - Esimerkki
Ohjain
1
Kohde 1
Varasto
palauta() hallinnoi KohdeHallinto
varaa() * 1
otaKäyttöön() palautaKohde(Kohde, Varasto)
varaaKohde(Kohde)
otaKäyttöönKohde(Kohde)
HenkilöAuto
rekisterinumero ParkkiAlue
Talleta huolto-
informaatio
huolla(int km)
(palauta kutsuu)
palauta()
47. Luokkasymbolin osat
Luokkasymbolin osat:
Attribuutit
{näkyvyysmääre} nimi {[kertautuminen]}
{: tyyppi} {= alkuarvo} {lisätietomääreet}
Näkyvyysmääreet: public +, protected #, private –
Attribuutit primitiivityyppejä, eivät mallissa olevia luokkia (nämä
kuvataan assosiaatioina)
Staattinen attribuutti alleviivattuna
Vakiot merkitään lisätiedolla {const}
48. Luokkasymbolin osat (jatkoa)
Luokkasymbolin osat:
Operaatiot
{näkyvyysmääre} nimi {parametrilista}
{: palautustyyppi} {lisätietomääreluettelo}
Parametreista annetaan tiedonvälityksen suunta (in, out, inout), nimi,
tyyppi sekä mahdollinen oletusarvo
Staattinen operaatio alleviivattuna
Avoin virtuaalioperaatio kursiivilla tai lisätiedolla {abstract}
Toteutus operaation kommenttina (esim. pseudokielellä), jos halutaan
50. Assosiaatiot
Assosiaatioilla (association) kuvataan luokkien väliset suhteet
Edustaa jotain sellaista luokkien välistä suhdetta, jolla on tietty
pysyvyys
Sellaiset hetkelliset suhteet, jotka kestävät vain tietyn operaation
suoritusajan, eivät yleensä ole edustettuna assosiaatiolla
Assosiaation ajoaikainen ilmentymä on linkki (link), joka vallitsee
kahden olion välillä
52. Roolit
Assosiaation pää on nimeltään rooli, jolla voi olla nimi
Jos assosiaatio liittyy molemmissa päissään samaan luokkaan,
molemmilla rooleilla on syytä olla nimi
Roolin yhteydessä voidaan myös ilmoittaa rajapinta muodossa
roolinimi:rajapintanimi
Roolin ilmentymä = olioliitos
54. Assosiaation kertautuminen
Rooli ilmaisee myös assosiaation kertautumisen
Kertautuminen ilmoitetaan listalla kokonaislukuvälejä
* tarkoittaa mielivaltaisen monta
0..1 tarkoittaa kertautumista "yksi tai ei yhtään”
0..* voidaan antaa lyhyesti *
i..i voidaan lyhentää i
Jos kertautumista ei ole merkitty, se on määrittelemätön (eikä siis
esimerkiksi 1
Jos olioliitoksilla on mallin kannalta olennainen keskinäinen järjestys,
rajoite "{ordered}" voidaan liittää rooliin
55. Moninkertainen assosiaatio
Jos assosiaation kertautuminen on suurempi kuin 1,
kutsumme assosiaatiota moninkertaiseksi
Kurssi * 1..* Opettaja
56. Assosiaatioluokka
Joskus assosiaatioon liittyy muutakin tietoa ja/tai
toiminnallisuutta, joka halutaan esittää luokkakaaviossa
Tällöin assosiaatioon voi liittää oman luokan, jossa annetaan
normaaliin tapaan attribuutteja ja operaatioita
Linkit ovat assosiaatioluokan ilmentymiä
Assosiaatioluokkaan voi liittyä puolestaan muita assosiaatioita
kuten mihin hyvänsä luokkaan
Assosiaatioluokalle ei tarvitse antaa nimeä, jos assosiaatiolla on
sellainen. Assosiaatioluokka liitetään itse assosiaatioon
katkoviivalla.
57. Assosiaatioluokka
* työskentelee *
Yritys
Yritys Henkilö
Henkilö
työnantaja työntekijä
nimi
nimi nimi
nimi päällikkö
osoite
osoite sosturvatunnus
sosturvatunnus
osoite
osoite 0..1
työsopimus
työsopimus
aika
aika
palkka
palkka johtaa
58. Yksilöinti
Jos assosiaatioon liittyy tieto, joka määrää assosiaation ilmentymien
toisessa päässä olevien olioiden joukon, tämä tieto voidaan esittää
nk. yksilöintinä (qualification)
Yksilöinti liittyy siis aina moninkertaiseen assosiaatioon
Tavallisesti yksilöinti muuttaa kertautuvan pään kertautumisen "1":ksi
(tai "0..1":ksi); tällöin yksilöinti määrää linkin toisessa päässä olevan
olion yksiselitteisesti
Yksilöinti merkitään luokkasymboliin liittyvänä pienenä laatikkona, jonka
sisään kirjoitetaan linkin yksilöivä tieto; yksilöinti tarkentaa olion
vastakkaisessa päässä
Usein yksilöivä tieto on vastakkaisella puolella olevan luokan attribuutti
59. Yksilöinti
Kirjasto
Kirjasto Henkilö
Henkilö
lainaa
lainaaja nro
lainaaja nro
kokoelma
kokoelma * 1 nimi
nimi
sijainti
sijainti osoite
osoite
60. Navigointi
Assosiaatioon voidaan liittää myös tieto siitä, että toteutuksen
on varmistettava navigoitavuus, ts. että assosiaation
ilmentymää voidaan käyttää helposti siirtymiseen oliosta
toiseen
Tämä tehdään piirtämällä nuolen kärki assosiaation päähän;
tällöin edellytetään, että navigointi on mahdollista toisesta
päästä tähän päähän
61. Kooste
Kooste (aggregation) on erityinen assosiaatiolaji
Kooste esittää suhteen "on-osa" tai "kuuluu" luokkien (ilmentymien)
välillä
Koska tämä suhde on merkittävä erikoistapaus, sille on oma symbolinsa:
pieni vinoneliö sisältävässä päässä (siis suhteen "A on-osa B:tä" B-
päässä)
Tämä symboli korvaa tavallisesti assosiaation ja roolien nimet.
Koosteeseen voidaan soveltaa normaaliin tapaan kertautumista ja
yksilöintiä
Koostesuhteen tulisi aina olla luonteeltaan transitiivinen ja asymmetrinen
62. Kooste (ja navigoitavuus)
3..*
Monikulmio
Monikulmio Piste
Piste
{ordered}
pinta-ala
pinta-ala x-koord
x-koord
y-koord
y-koord
63. Aito kooste
Aito kooste (composition) tarkoittaa koostesuhdetta, jossa
osaolio riippuu isäntäoliostaan kahdella tavalla:
Osa ei voi olemassa ilman isäntäänsä, ja
Osa voi olla vain yhden isännän osa
Tällöin isännän tulee yleensä huolehtia osan luonnista ja
hävittämisestä
Aito kooste merkitään kuten kooste, mutta vinoneliö on musta
65. Periytyminen
Periytyminen kuvaa erikoistus/yleistys-suhteen kahden luokan
(yliluokan ja aliluokan) välillä
Suhde piirretään kolmiokärkisenä yliluokkaan osoittavana nuolena
Jos luokalla on useita aliluokkia, nuolet voidaan piirtää joko
erikseen tai yhdistettynä samaan kärkeen
Moniperiytyminen on sallittua
66. Rajapinnan toteutus
Rajapinta esitetään joko stereotyypillä <<interface>>
varustetulla luokkasymbolilla tai pyöreällä rajapintasymbolilla
Jos luokka toteuttaa rajapinnan, piirretään edellisessä
tapauksessa toteutussuhdetta kuvaava nuoli (kuten periytyminen,
mutta katkoviivalla) luokasta rajapintaan
Jälkimmäisessä tapauksessa rajapintaympyrä yhdistetään
yksinkertaisella viivalla luokkasymboliin
Luokkasymbolin käyttäminen rajapinnan kuvaukseen on
hyödyllistä silloin, kun halutaan näkyville rajapinnan tarjoamat
operaatiot
68. Aktivinen luokka
Jos luokan ilmentymät ovat oman prosessin omaavia aktiivisia
olioita, kutsumme myös luokkaa aktiiviseksi
Aktiivinen luokka kuvataan luokkasymbolilla, jonka rajaviivat ovat
paksunnettuja
Vastaavasti aktiivisen luokan ilmentymä kuvataan
paksureunaisella oliosymbolilla
Aktiiviselle luokalle voidaan antaa ylimääräinen lohko, jossa
luetellaan signaalit, joihin luokan ilmentymät reagoivat
70. Dynaaminen mallintaminen
Dynaaminen malli kuvaa sovelluksen käyttäytymisen
suorituksen aikana
Sekvenssikaaviot (sequence diagram)
Kuvaavat, miten joukko olioita toimii yhteistoiminnassa
Korostavat olioiden välistä vuorovaikutusta
Tilakaaviot (statechart diagram)
Kuvaavat yhden olioluokan täydellisen käyttäytymisen
Korostavat yhden olion reagoimista ulkoa tuleviin tapahtumiin
71. Sekvenssikaavio
Sekvenssikaavio (sequence diagram) koostuu tiettyyn
vuorovaikutukseen liittyvistä olioista ja niiden välisistä
sanomista (message)
Sekvenssikaaviota käytetään kuvaamaan oliojoukon välistä
vuorovaikutusta tietyssä tilanteessa
Aika kulkee ylhäältä alas
Vuorovaikutustapahtumat ovat vaakasuuntaisia nuolia
Osallistujat kuvataan pystyviivoina
Kuvaa usein olioiden vuorovaikutuksen tietyn käyttötapauksen
yhteydessä
73. Skenaariot
Skenaario kuvaa yhden mahdollisen tapahtumasarjan
sovelluksen suorituksen aikana. Skenaariokuvaus keskittyy
olioiden vuorovaikutuksen esittämiseen.
Yleensä haarautumaton tapahtumajono
Voidaan kuvata tavallisena tekstinä
Käyttötapaus voidaan kuvata skenaariona
Kuvaa myös sovelluksen sisäistä toimintaa
74. Skenaariokaaviot
Skenaariokaavio (sequence diagram, event trace diagram,
interaction diagram, scenario diagram) on skenaarion formaali
kuvaus
UML:ssä käytetään sekvenssikaavioita
Käytöltään hyvin saman tapaisia (käytännössä samoja) kuin
sekvenssikaaviot, mutta skenaariokaavioilla on notaatiosta
riippuen erilaisia ominaisuuksia ja ulkoasuja
75. Sekvenssikaavion merkinnät
Usein sekvenssikaavio kuvaa olioiden välisiä operaatiokutsuja
Kontrollin omistus voidaan esittää paksunnettuna jaksona,
aktivaatiopalkkina, olioviivassa:
Oliolla on kontrolli, jos sen operaatiota on kutsuttu eikä
operaatiosta ole vielä poistuttu
Operaatioiden paluut voidaan haluttaessa esittää
katkoviivanuolina, joskin aktivaatiopalkki ilmaisee myös paluun
76. Sekvenssikaavion merkinnät
Paluunuoleen voidaan liittää mahdollinen paluuarvo,
vastaavasti kuin kutsunuoleen voidaan liittää kutsun todelliset
parametrit
Olio voi kutsua myös omaa operaatiotaan; tällöin kutsunuoli
tekee 180 asteen käännöksen
Kun olio kutsuu omaa operaatiotaan, sisemmän kutsun
aktivaatiopalkki siirtyy hieman oikealle
77. Olion luominen ja hävitys sekvenssikaaviossa
Olion luominen kuvataan sekvenssikaaviossa sanomana, joka
suuntautuu itse oliolaatikkoon
Vastaavasti olion hävittäminen kuvataan sanomana, joka
suuntautuu olioviivan lopussa olevaan vinoristiin
Vinoristi esittää olion häviämistä
79. Käyttäjä sekvenssikaaviossa
Järjestelmän ulkoinen toimija (kuten esimerkiksi käyttäjä) voi
olla myös osallistujana sekvenssikaaviossa
Käyttäjällä on oma ikoninsa, tikku-ukko
Käyttäjän toimenpiteet kuvataan sanomina käyttäjältä jollekin
järjestelmään kuuluvalle oliolle
Esimerkiksi käyttöliittymän kautta tapahtuvat valinnat, napin
painallukset ym.
Käyttäjälle annettava informaatio kuvataan sanomina joltain
järjestelmän oliolta käyttäjälle
Esimerkiksi ilmoitukset, dialogit, kyselyn tulokset ym.
80. Sanomat ja signaalit
Olioiden välinen sanoma sekvenssikaaviossa voi edustaa
synkronista operaatiokutsua tai asynkronista signaalin
lähettämistä
Aktiiviset, rinnakkaisia prosesseja edustavat oliot kommunikoivat
tyypillisesti signaalein pikemmin kuin operaatiokutsuin
Asynkroniselle signaalille voidaan haluttaessa käyttää omaa
nuolisymbolia, mutta yleensä tämä ei ole tarpeen: asia käy ilmi
yhteydestä
81. Sanomat ja signaalit
Myös käyttäjä edustaa omaa rinnakkaista prosessiaan, joka
kommunikoi järjestelmän kanssa signaalein
Aktiivisten olioiden tapauksessa aktivaatiopylväät eivät
useinkaan tuo uutta informaatiota, koska oliot ovat
periaatteessa jatkuvasti aktiivisia; tällöin pylväät kattavat olion
koko eliniän
82. Aikamerkinnät
Sekvenssikaavion aikaskaalalle (tiettyyn kohtaan kuviteltua
pystyssä olevaa aikajanaa) voidaan asettaa aikamerkkejä
(timing mark), jotka edustavat kyseistä ajanhetkeä
Näitä aikamerkkejä voidaan käyttää esimerkiksi rajoitteissa
kuvaamaan tiettyjä reaaliaikavaatimuksia
Myös sanoman lähettämisen viemää aikaa (esimerkiksi
maksimiaikaa) voidaan tällä tavoin spesifioida
Jos sanoman lähettämisen viemä aika on olennaista mallissa,
sanomanuoli piirretään vinoon alaspäin
83. Suorituslogiikka
Sekvenssikaavion pääasiallinen tarkoitus on kuvata yhtä
mahdollista tapahtumasarjaa järjestelmän toiminnassa eikä
määritellä tietyn toiminnan tai operaation yleistä
suorituslogiikkaa
Niinpä algoritmiset ilmaisut kuten ehdollisuus ja toisto eivät ole
periaatteessa välttämättömiä sekvenssikaavioissa
Silti tällaiset ilmaisut voivat olla joskus hyödyllisiä
lyhennysmerkintöjä: niiden avulla voidaan samalla
sekvenssikaaviolla kuvata useita mahdollisia tapahtumasarjoja
Tästä syystä myös UML:ssä on sekvenssikaavioihin otettu
mukaan ilmaisut ehdollisuudelle ja toistolle
84. Suorituslogiikka
Ehdollisuus kuvataan sanomana, joka haarautuu
lähtökohdastaan
Kumpaankin haaraan voidaan liittää hakasuluissa ehto, jonka
vallitessa tämä haara valitaan
Kukin haara edustaa omaa erillistä alisekvenssikaaviota haarojen
yhdistymiskohtaan saakka
Toisto kuvataan liittämällä sanoman nimen eteen toistomääre
muodossa *[...], missä hakasulkujen sisällä annetaan
mielivaltainen toistoa kuvaava ilmaus (esimerkiksi i = 1..n)
85. Herätyskellon sekvenssikaavio
SET M
0 9 3 0
ALARM H
: Ohjaus : SoittoYks : Valo
:User Näytä aika
Paina ALARM
sytytä
{t = soittoaika} aloita soitto
t
Paina ALARM
lopeta soitto
Paina ALARM
sammuta
86. Sekvenssikaavion ja
luokkakaavion yhteys
Vaikka sekvenssikaavio ja luokkakaavio kuvaavat varsin
erilaisia näkökulmia ohjelmistoon, niillä on myös yhtymäkohtia:
Jos sekvenssikaaviossa luokan A ilmentymä lähettää sanoman s
luokan B ilmentymälle, on s:n oltava joko B-luokan operaatio tai
jos B on aktiivinen luokka, B:n tunnistama signaali
Kummassakin tapauksessa s:n tulee esiintyä B:n yhteydessä
luokkakaaviossa ja mahdollisten todellisten parametrien tulee
täsmätä operaation kutsumuodon kanssa
Luokkien A ja B välillä on myös todennäköisesti oltava
assosiaatio, koska sanoman lähettäminen viittaa suhteeseen
näiden luokkien välillä
Jos A-olio kommunikoi usean eri B-olion kanssa
sekvenssikaavioissa, tulee assosiaation olla moninkertainen
88. Tilakaavio
alkutila
palauta/
Käytettävissä lopeta ajan lasku Käytössä
otaKäyttöön/
valmis huolla
aloita ajan lasku
Huollossa
exit/huoltoilmoitus Varattu
varaa
89. Tilakaavio
Tilakaavio on suunnattu verkko, joka koostuu tiloista (states) ja
niitä yhdistävistä siirtymistä (transitions) eli tapahtumista
Tilakaavio kuvaa systeemin tilamuutokset nykyisen tilan ja
tapahtuman funktiona
Tila1 laukaisin Tila2
Tila3
90. Tilasuuntautuneet luokat
Tilakaavio on mielekäs vain tilasuuntautuneille luokille, eli
luokille, joiden ilmentymät ovat selvästi identifioitavissa tiloissa
elinaikanaan
Usein vain harvat sovellukset luokat ovat tilasuuntautuneita
Tyypillisesti aktiiviset luokat ja sovelluksen kontrollia ohjaavat
luokat
Ohjausolioita ovat mm. pelisovelluksen kontrolliolio ja graafisen
käyttöliittymän tapahtumankäsittelystä vastaava olio
Joskus paikallaan muidenkin luokkien kohdalla, jos on tarpeen
ymmärtää luokan dynaamista toimintaa
91. Alku- ja lopputilat
Alkutila = pieni musta ympyrä
Jos olion ylimmän tason tilakaaviolla on alkutila, olio on tässä
tilassa syntyessään (enintään yksi alkutila)
Ei alkutilaa: olion tila on aluksi määrittelemätön
Lopputila = kehän sisällä oleva musta ympyrä
Jos olion ylimmän tason tilakaaviolla on lopputila, ja olio joutuu
siihen, se lakkaa olemasta
Salasanan luku
help / nayta avuste
do / nayta kehote
entry / kaiutus pois
exit / kaiutus päälle
92. Tilasymbolin osat
Tilaan voi liittyä:
SalasanaSyöttö
Nimi
entry/kaiutus pois
Toimia (action) exit/kaiutus päälle
do/näytä kehote
Aktiviteetteja (activity) help/näytä avuste
funktionäppäin/defer
Sisäisiä siirtymiä (internal transition)
Viivästettyjä tapahtumia (deferred event)
Alitiloja
Mikä tahansa näistä voi myös puuttua
93. Tilasymbolin osat
Toimet
Mallin kannalta hetkellisiä, keskeytymättömiä toimintoja, joiden ei
ajatella kuluttavan aikaa
Tulotoimen muoto: entry/toimi
Jättötoimen muoto: exit/toimi
Aktiviteetti
Mallin kannalta aikaa kuluttava toiminta, jota suoritetaan tilassa
ollessa
Aktiviteetin muoto: do/aktiviteetti SalasanaSyöttö
entry/kaiutus pois
exit/kaiutus päälle
do/näytä kehote
help/näytä avuste
funktionäppäin/defer
94. Tilasymbolin osat
SalasanaSyöttö
Sisäiset siirtymät
entry/kaiutus pois
Sallivat reagoimisen tiettyyn exit/kaiutus päälle
do/näytä kehote
tapahtumaan jättämättä kyseistä tilaa
help/näytä avuste
Eroavat tilaan palaavasta tavallisesta siirtymästä funktionäppäin/defer
(ei jättö- ja tulotoimia)
Sisäisen siirtymän muoto:
tapahtuma {(parametrit)}} {[ehto]} {/toimet}
Viivästetyt tapahtumat
Tapahtumaa ei käsitellä kyseisessä tilassa, mutta se säilytetään
tapahtumapuskurissa
Viivästetyn tapahtuman muoto: tapahtuma/defer
Tuntemattomat tapahtumat sivuutetaan
95. Yhteenveto määrittelyistä
Tilaan liittyvät toiminnot voivat olla:
Aktiviteetteja, jotka kuvaavat tilan toimintaa do/aktiviteetti
Tulotoimia, jotka suoritetaan tilaan siirryttäessä entry/tulotoimet
Jättötoimia, jotka suoritetaan tilasta poistuttaessa exit/jättötoimet
Tilan sisäisiä siirtymiä, joissa sanoma liitetään tilan toimintoon
tapahtuma/toimet
Viivästettyjä toimia
tapahtuma/defer
96. Siirtymiin liittyvät määreet
Siirtymä laukeaa (fire), kun
olio on sen lähtötilassa, ja
siirtymään liittyvä laukaisin aktivoituu
Tällöin olio:
suorittaa lähtötilan jättötoimet,
siirtyy siirtymän kohdetilaan,
suorittaa kohdetilan tulotoimet,
suorittaa tilan varsinaiset (tavalliset) toimet, sekä
jää odottamaan seuraavan siirtymän laukeamista
97. Siirtymiin liittyvät määreet
Siirtymän laukaisin on yleisesti muotoa:
{nimi:} {tapahtuma {(parametrit)}} {[ehto]} {/toimet}
Mikä hyvänsä laukaisimen osa voi puuttua
Laukaisin aktivoituu, kun
Olio saa laukaisimessa annetun tapahtuman, ja
Ehto joko puuttuu tai on tosi
Siirtymätoimet ovat hetkellisiä toimia, jotka suoritetaan, kun
siirtymä laukeaa
98. Siirtymän laukaisimen merkinnöistä
Laukaisimessa voi esiintyä seuraavia määreitä:
sanoma(parametrit)
[ehto]
^sanoman_oheislähetys
/siirtymätoimi
99. Tapahtumat
Tapahtumat:
Tapahtuvat tiettyinä aikana
Hetkellisiä
Jaksottavat systeemin toiminnan tiloihin
100. Liikennevalojen ohjaimen tilakaavio
after(30s)
[on vas. E-P] do/Vihreä valo
do/Vihreä valo
do/Vihreä valo
do/Vihreä valo E-P suunnassa
E-P suunnassa
E-P suunnalle
E-P suunnalle
after(30s) vasemmalle
vasemmalle
[ei vas. I-L]
after(30s) after(30s) after(30s)
[ei vas. E-P]
do/Vihreä valo
do/Vihreä valo do/Vihreä valo
do/Vihreä valo
I-L suunnassa
I-L suunnassa
after(30s) I-L suunnalle
I-L suunnalle
vasemmalle
vasemmalle [on vas. I-L]
101. Haarautumissymbolin käyttö
after(30s) [on vas. E-P] do/Vihreä valo
do/Vihreä valo
do/Vihreä valo
do/Vihreä valo E-P suunnassa
E-P suunnassa
E-P suunnalle
E-P suunnalle vasemmalle
vasemmalle
[ei vas. I-L] [ei vas. E-P]
after(30s) after(30s)
do/Vihreä valo
do/Vihreä valo
I-L suunnassa do/Vihreä valo
do/Vihreä valo
I-L suunnassa
vasemmalle I-L suunnalle
I-L suunnalle
vasemmalle [on vas. I-L] after(30s)
102. Koostetilan käyttö yhteisten siirtymien
yhdistelyyn
Aktiivinen
entry/lue kortti
kortti exit/poista kortti
syötetty
Vapaa Tarkistus
Tarkistus
[jatka]
peruuta
huolto
Valinta
Valinta Prosessointi
Prosessointi
Huollossa
Huollossa
[lopeta]
Kuitin
Kuitin
tulostus
tulostus
104. Herätyskellon ohjausyksikön tilakaavio
Soitto
[aika=soittoaika]
do/soita /tee alkuasetukset
ALARM/sammuta valo
ALARM Soittovalmis Perustila
do/näytä aika
do/näytä aika ALARM/sytytä valo
SET SET
painetaan M/ajan minuutti- painetaan
Herätysasetus lisäys
Aika-asetus
do/näytä
M/soittoajan soittoaika H/soittoajan do/näytä aika
minuuttilisäys tuntilisäys H/ajan tunti-
lisäys
SET
vapautetaan SET
vapautetaan