Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Kari Suihkonen
Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Tuote Ohjelmisto Ulkoiset tekijät Sisäiset tekijät 2
Hissin ohjausjärjestelmä ohjelmistotuotteena FCB CPU Drive M Hajautettu sulautettu järjestelmä: > 1 M LOC satoja parametreja turvallisuuskriittisiä ohjelmistoja FCB FCB Car CCG 5 COP FCB RIF 3
Ohjelmistoarkkitehtuuriin vaikuttavia tuotteen ominaisuuksia tuotteen elinikä HW-arkkitehtuuri fyysinen hajautusarkkitehtuuri valitut kommunikointiverkot skaalautuvuus käytettävissä oleva muisti & prosessoriteho sekä sen jakautuminen eri komponenteille tuotteen toiminnalliset ominaisuudet kustannuskriittisyys liitäntävaatimukset muihin järjestelmiin tuotteen muunneltavuus turvallisuus kriittisyys luotettavuus vaatimukset 4
Ohjelmistoarkkitehtuuriin vaikuttavia sisäisiä tekijöitä tuotekehityksen organisaatio ja resurssit omat innovaatiot kehitysprosessit kulttuuri valitut työkalut tuotanto-organisaation työkalut sekä prosessit kenttäorganisaation kompetenssi huolto-organisaation strategiat sekä työkalut myyntiorganisaation työkalut, tuotetuntemus sekä kurinalaisuus 5
Ohjelmistoarkkitehtuuriin vaikuttavia ulkoisia tekijöitä lainsäädäntö viranomaiset (notified bodies) saatavilla olevat tunnetut teknologiat ohjelmistosuunnittelussa vallalla olevat trendit kilpailijat (patentit, hyvin myyvät innovaatiot) valittujen komponenttien valmistajien strategiset valinnat muisti- ja prosessoripiirien valmistajat käyttöjärjestelmien ja muiden ohjelmistokomponenttien tekijät asiakkaat vallalla olevat yleiset mega-trendit taloudellinen tilanne (yleensä) 6
Hissin ohjausjärjestelmän elinikä Uuden ohjausjärjestelmän suunnittelu alkaa Ensimmäinen hissituote tuotantoon Viimeisen hissituotteen tuotanto päättyy Varaosien toimitus päättyy 5 V 20 V 20 V 7
Elinikä & komponentit Tuotteen elinikä Application Prosessorien & muistien valmistajien strategia Arkkitehtuurivalinnat TTS control logic group shaft Ohjelmistokomponenttien valmistajien strategia Kone API API OS HW 8
Tuotekehitysorganisaation vaikutus arkkitehtuuriin Projektiorientoitunut organisaatio P1 P3 P3 Projektiorganisaatio linja- ja teknologiavastuilla P1 P3 P3 SW P1 Ohjelmistokehittäjät Ohjelmistokehittäjät 9
Tuotannon vaikutus arkkitehtuuriin Tuotannon tietojärjestelmät Suunnittelun tietojärjestelmät Tuotannon testausjärjestelmät Toimitusprosessi (logistiikka) konfiguroitavuus parametristojen rakenne parametristojen sijainti ja hajautukset rajapinnat tuotannon testausjärjestelmiin testausjärjestelmien toiminnalliset vaatimukset ohjelmistojen latausprosessi tuotannossa Varaosien toimitusprosessi 10
Huolto-organisaation valintojen vaikutus arkkitehtuuriin Kaukovalvonta: diagnostiikka parametrointi ohjelmistojen lataus Ennakoiva huolto Huoltoprosessit järjestelmätason itsediagnostiikka vikaraportointi vikasietoisuuden aste rajapinnat huollon tietojärjestelmiin huoltoa ja vianhakua helpottavat toiminnot parametristojen varmuuskopionti ohjelmiston etälataustuki varaosien parametrointi ohjelmiston latausprosessi Huoltohenkilökunnan kompentenssi 11
Myynnin vaikutus arkkitehtuuriin Työkalut (building traffic simulator) Myynnin tuotetuntemus Kurittomuus tai liika agressivisuus ryhmäohjauksen allokointialgoritmien sekä hissimallien sovitettavuus simulaattoriin tarpeettomia räätälöintejä hätiköidyt tekniset ratkaisut -> arkkitehtuuri rapautuu resurssointiongelmat 12
V&V strategian vaikutus arkkitehtuuriin Customer Requirements [ Caliber ] Release Testing [ QC ] System Requirements [ Caliber ] Architecture Specifications [ Word ] Integration Testing [ TG ] System Testing [ QC ] Component Requirements [ Caliber ] Cluster Specifications [ Word ] Module Testing [ TG ] Source Code [ Word ] Unit Testing (from make) [ CPPUnit ] 13
Lainsäädännön ja viranomaisten vaikutus hissien ohjelmistoarkkitehtuuriin EN 81-1 EN 81-2 EN 81-72 EN 81-73 EN 81-1: 1998/prA 1 IEC 61508-1 IEC 61508-2 IEC 61508-3 IEC 61508-4 IEC 61508-5 IEC 61508-6 IEC 61508-7 Viranomaisten tulkinta suunnittelu sääntöjä rajoituksia menetelmäsääntöjä työkalusuosituksia Tuote & Ohjelmisto 14
Mega-trendien vaikutus sustainability energian kulutuksen vähentäminen Energian kulutuksen huomioiminen ryhmäohjauksessa Järjestelmätason power saving -moodi Hissiaulan valaistuksen ohjaus Huoltotarpeen tunnistaminen ja ennustaminen Etädiagnostiikka ja etähuolto 15
Taloustilanteen vaikutus asiakkaat kilpailijat hinta kustannus Kahden tai useamman kortin toimintojen yhdistäminen yhdelle kortille Kuparin säästäminen, Korvaalla IO-kaapelointeja sarjakommunikaatiolla Mekaanisten turvalaitteiden korvaaminen ohjelmoitavilla turvalaitteilla HW:lla tuotettujen Ominaisuuksien korvaaminen ohjelmistoilla 16
Organisaation, prosessien sekä tuotteen välinen yhteys Release frozen K1-C2 K2-C3 K3-C4 S4-C5 K5/K6-C6 Release content definition Project planning Project realization Test management Pilot planning Pilot follow-up Release Tuote Requirement analysis Requirement definition Requirement change management Architecture design / prototyping Specification Verification planning Integrati on planning Design Test case design Coding Iteration 1..n Module testing Integrati on testing System testing Release testing Piloting Defect management Organisaatio Configuration management 17
Testausautomaation käyttöönotto & kehitys Visio 1. Testausjärjestelmän kehitys 2. 3. Organisaation muokkaamien Tuotteen modifioiminen testattavuusmielessä (normaalin kehityksen ohessa) 5. 4. Prosessien modifioiminen (käytön vakiinnuttaminen) 18