Áttétel (programozás)
Engagement [1] , csatolás , kapcsolódás , konjugáció [2] ( angolul coupling ) - a szoftvermodulok közötti kölcsönös függés módja és mértéke [3] ; a modulok közötti kapcsolatok erőssége [4] ; annak mértéke, hogy mennyire függenek egymástól a különböző rutinok vagy modulok [3] .
Az erős csatolás komoly hátránynak számít, mivel megnehezíti a modulok logikájának megértését, módosítását, önálló tesztelését és külön-külön történő újrafelhasználását. A gyenge kohézió ezzel szemben a jól strukturált és jól megtervezett rendszer jele, és erős kohézióval kombinálva a jó olvashatóság és karbantarthatóság általános mutatóinak felel meg.
A kapcsolódási és kapcsolódási mérőszámokat Larry Constantine , a szerkezeti tervezés eredeti fejlesztője [5] alkotta meg , aki szintén az ilyen koncepciók korai támogatója volt (lásd még SSADM ).
A gyenge kapcsolás Craig Larman egyik GRASP mintája [6] .
A hajtómű típusai
Az ISO/IEC/IEEE 24765 szabvány szerint a következők: [3]
- közös környezeti csatolás , közös csatolás – két szoftvermodul közös adatterületen osztozik;
- tartalomcsatolás – néhány vagy az összes szoftvermodul komponensként benne van egyes modulokban;
- vezérlő csatolás - egy programmodul kommunikál egy másik modullal azzal a kifejezett céllal, hogy befolyásolja annak későbbi végrehajtását;
- adatcsatolás ( input-output coupling ) - az egyik programmodul kimeneti adatai egy másik modul bemeneti adataiként szolgálnak;
- vegyes csatolás ( hibrid csatolás ) - egy bizonyos adatelem értékeinek különböző részhalmazait több programmodulban használják különböző és nem kapcsolódó célokra;
- patológiás csatolás - egy szoftvermodul egy másik modul belső megvalósítási részleteitől függ, vagy befolyásolja azokat.
Módszerek az áttétel csökkentésére
Különféle módszerek léteznek a szétválasztásra . Általában tervezési minták formájában vannak leírva . Az egyik kulcsfontosságú technika a vezérlés megfordítása , és különösen a függőségi injekció .
A többrétegű alkalmazásarchitektúra, például Model-View-Controller , Model-View-Presenter , Model-View-ViewModel stb.,
szintén segít csökkenteni a rendetlenséget .
Lásd még
Jegyzetek
- ↑ Kravchenko A. K., Afanasyeva I. V. A gearing and connectivity változásainak hatása a kód összetettségére és sebességére a szoftverfejlesztésben // Radioelectronics and Informatics, 2016, No. 3, p. 9-12.
- ↑ McConnell, 2010 .
- ↑ 1 2 3 ISO/IEC/IEEE 24765-2017 Rendszer- és szoftverfejlesztés – Szókincs . Letöltve: 2021. november 1. Az eredetiből archiválva : 2022. március 31. (határozatlan)
- ↑ ISO/IEC TR 19759:2005, Szoftverfejlesztés – Útmutató a Szoftverfejlesztési Tudástárhoz (SWEBOK)
- ↑ W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13(2), 115-139, 1974.
- ↑ Philip A. Laplante, Philip A. Laplante. Amit minden mérnöknek tudnia kell a szoftverfejlesztésről. - CRC Press, 2007. - P. 105-106. - ISBN 978-1-4200-0674-2 .
Irodalom
- McConnell, Steve . Tökéletes kód = Code Complete. — 2. kiadás. - M . : orosz kiadás, 2010. - S. 139. - 896 p. - (Mesterkurzus). - ISBN 978-5-7502-0064-1 .
Szoftver minőség |
---|
Jellemzők | |
---|
Szabványok és ajánlások |
- ISO/IEC 9126
- Nem funkcionális követelmények
- A rendszer minőségi jellemzői
|
---|
Folyamatok és szervezetek |
|
---|