Vaihteisto (ohjelmointi)
Kiinnitys [1] , kytkentä , liitettävyys , konjugaatio [2] ( englanniksi kytkentä ) - ohjelmistomoduulien välisen riippuvuuden menetelmä ja aste [3] ; moduulien välisten liitäntöjen vahvuus [4] ; mitta eri rutiinien tai moduulien keskinäisriippuvuudesta [3] .
Vahvaa kytkentää pidetään vakavana haittapuolena, koska se vaikeuttaa moduulien logiikan ymmärtämistä, muokkaamista, testaamista itsenäisesti ja myös uudelleenkäyttöä erikseen. Heikko koheesio puolestaan on merkki hyvin jäsennellystä ja hyvin suunnitellusta järjestelmästä, ja yhdistettynä vahvaan koheesioon vastaa yleisiä hyvän luettavuuden ja ylläpidettävyyden indikaattoreita.
Linkitys- ja liitettävyysmittarit loi Larry Constantine , alkuperäinen rakennesuunnittelun kehittäjä [5] , joka oli myös tällaisten käsitteiden varhainen kannattaja (katso myös SSADM ) .
Heikko linkitys on yksi Craig Larmanin GRASP - kuvioista [6] .
Vaihteistotyypit
ISO/IEC/IEEE 24765:n mukaan sitoutumistyyppejä ovat: [3]
- yhteisen ympäristön kytkentä , yhteinen kytkentä - kahdella ohjelmistomoduulilla on yhteinen tietoalue;
- sisällön kytkentä - jotkin tai kaikki ohjelmistomoduulit sisältyvät johonkin moduuliin komponentteina;
- ohjauskytkentä - yksi ohjelmamoduuli kommunikoi toisen moduulin kanssa nimenomaan tarkoituksenaan vaikuttaa sen myöhempään suorittamiseen;
- datakytkentä ( input-output coupling ) - yhden ohjelmamoduulin lähtötiedot toimivat toisen moduulin syöttötietoina;
- sekoitettu kytkentä ( hybridikytkentä ) - tietyn tietoelementin arvojen eri osajoukkoja käytetään useissa ohjelmamoduuleissa erilaisiin ja toisiinsa liittymättömiin tarkoituksiin;
- patologinen kytkentä - yksi ohjelmistomoduuli riippuu toisen moduulin sisäisistä toteutusyksityiskohdista tai vaikuttaa niihin.
Menetelmiä vaihteiston pienentämiseksi
Irrotusmenetelmiä on useita . Tyypillisesti ne kuvataan suunnittelukuvioiden muodossa . Yksi keskeinen tekniikka on ohjauksen inversio ja erityisesti riippuvuuden lisääminen .
Kerrostetun sovellusarkkitehtuurin, kuten Model-View-Controller , Model-View-Presenter , Model-View-ViewModel jne.,
käyttö auttaa myös vähentämään sotkua .
Katso myös
Muistiinpanot
- ↑ Kravchenko A. K., Afanasyeva I. V. Vaihteiston ja liitettävyyden muutosten vaikutus koodin monimutkaisuuteen ja sen nopeuteen ohjelmistokehityksessä // Radioelectronics and Informatics, 2016, nro 3, s. 9-12.
- ↑ McConnell, 2010 .
- ↑ 1 2 3 ISO/IEC/IEEE 24765-2017 Järjestelmä- ja ohjelmistotekniikka - Sanasto . Haettu 1. marraskuuta 2021. Arkistoitu alkuperäisestä 31. maaliskuuta 2022. (määrätön)
- ↑ ISO/IEC TR 19759:2005, Ohjelmistotuotanto – Ohjelmistosuunnittelun osaamiselimen (SWEBOK) opas
- ↑ W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13(2), 115-139, 1974.
- ↑ Philip A. Laplante, Philip A. Laplante. Mitä jokaisen insinöörin tulisi tietää ohjelmistosuunnittelusta. - CRC Press, 2007. - S. 105-106. - ISBN 978-1-4200-0674-2 .
Kirjallisuus
- McConnell, Steve . Täydellinen koodi = Code Complete. – 2. painos. - M . : venäjänkielinen painos, 2010. - S. 139. - 896 s. - (Mestariluokka). - ISBN 978-5-7502-0064-1 .
Ohjelmiston laatu |
---|
Ominaisuudet | |
---|
Standardit ja suositukset |
- ISO/IEC 9126
- Ei-toiminnalliset vaatimukset
- Järjestelmän laatuominaisuudet
|
---|
Prosessit ja organisaatiot |
|
---|