N² diagrammi [1] , jota kutsutaan myös nimellä N², diagrammi, N-neliökaavio tai N-neliökaavio - on matriisin muodossa oleva kaavio , joka edustaa järjestelmän elementtien välisiä toiminnallisia tai fyysisiä rajapintoja . Tätä matriisia käytettiin "toiminnallisten ja fyysisten rajapintojen systemaattiseen tunnistamiseen, määrittelemiseen, taulukoimiseen, rakentamiseen ja analysointiin". Tämä koskee järjestelmäliitäntöjä ja laitteisto- ja /tai ohjelmistoliitäntöjä .
N-neliökaavion keksi järjestelmäinsinööri Robert J. Lano ollessaan TRW:ssä [ [1] ] 1970-luvulla, ja se julkaistiin ensimmäisen kerran TRW:n sisäisessä raportissa vuonna 1977. Yksi hyvin toimivan N² -matriisin ilmeisistä sivuvaikutuksista on, että näet heti, kuinka nopeasti järjestelmän monimutkaisuus lisääntyy, kun siihen lisätään uusia ominaisuuksia. Matriisi näyttää visuaalisesti, kuinka suuri "O"-arvo saavutetaan kuvattaessa algoritmien monimutkaisuutta . Jos algoritmi on O(N2), niin sen ominaisuudet ovat suoraan verrannollisia syötetietojoukon arvon neliöön.
N²-kaaviota on käytetty laajasti tietorajapintojen kehittämisessä, pääasiassa ohjelmistoaloilla . Sitä voidaan kuitenkin käyttää myös laitteistorajapintojen kehittämiseen. N²-pääkaavio on esitetty kuvassa 2. Järjestelmän toiminnot on järjestetty vinottain; loput neliöt N × N -matriisissa edustavat liitännän tuloja ja lähtöjä.
Kun välilyönti näkyy, vastaavien toimintojen välillä ei ole rajapintaa. Data liikkuu myötäpäivään funktioiden välillä (esimerkiksi symboli F1 F2 osoittaa tiedot, jotka tulevat funktiosta F1 toimintoon F2). Lähetettävät tiedot voidaan määritellä vastaaviin laatikoihin. Vaihtoehtoisesti ympyröitä ja numeroita käyttämällä tietoliitännät voidaan listata erikseen. Myötäpäivään tapahtuvaa datavirtaa takaisinkytkentäsilmukan omaavien funktioiden välillä voidaan havainnollistaa suurella ympyrällä, jota kutsutaan ohjaussilmukaksi. Kriittisen toiminnon tunniste on myös esitetty kuvassa 3, jossa funktiolla F4 on useita tuloja ja lähtöjä kaikille muille ylämoduulin toiminnoille. F7- ja F8-toimintojen ylä- ja alamoduulien välillä on yksinkertainen käyttöliittymän tietovirta. Alamoduulilla on monimutkainen vuorovaikutus sen toimintojen välillä. N2-kaavio voidaan viedä laitteiston ja ohjelmiston toimintatasojen alemmille tasoille. Sen lisäksi, että N2-kaavio määrittää rajapinnan kautta toimitettavat tiedot, se voi osoittaa alueet, joissa voi esiintyä ristiriitoja.
"N" N2-kaaviossa on objektien lukumäärä, joille suhteet näytetään. Tämä N × N matriisi edellyttää, että käyttäjä luo täydelliset määritelmät kaikista liitännöistä jäykässä kaksisuuntaisessa kiinteässä rakenteessa. Käyttäjä sijoittaa funktionaalisia tai fyysisiä objekteja diagonaaliakselille ja liitännän tulot ja lähdöt kaavion muihin ruutuihin. Tyhjä neliö osoittaa, että vastaavien objektien välillä ei ole rajapintaa. Dataa siirretään myötäpäivään objektien välillä (eli symboli F1 → F2 kuvassa 4 tarkoittaa funktiosta F1 toimintoon F2 siirrettyä dataa; symboli F2 → F1 tarkoittaa palautetta). Se, mikä kulkee rajapinnan läpi, määritellään vastaavissa neliöissä. Kaavio on valmis, kun käyttäjä on vertannut jokaista objektia kaikkiin muihin objekteihin. N2-kaaviota on käytettävä jokaisella peräkkäin alemmalla objektin hajoamistasolla. Kuva 1 havainnollistaa kaavion N2 entiteettien välisten rajapintojen suunnattua virtaa. (Tässä tapauksessa toiminnot ovat toimintoja.)
DiagonaalifunktiotOikealla olevassa esimerkissä N on 5. Viisi funktiota on järjestetty vinottain. Nuolet osoittavat datavirran funktioiden välillä. Jos siis toiminto 1 lähettää dataa funktiolle 2, tietokohteet sijoitetaan funktion 1 oikealla puolella olevaan kenttään. Jos toiminto 1 ei lähetä tietoja millekään muulle funktiolle, muut kentät funktion 1 oikealla puolella tulee olemaan tyhjä. Jos toiminto 2 lähettää dataa funktiolle 3 ja funktiolle 5, dataelementit sijoitetaan ensimmäiseen ja kolmanteen lohkoon funktion 2 oikealle puolelle. Jos jokin funktio lähettää dataa takaisin edelliseen funktioon, niin vastaava lohko funktion 2 oikealla puolella. funktio sijoittaa siihen tietoelementtejä. Diagonaalin kummallakin puolella olevat neliöt (ei vain vierekkäiset neliöt) on täytetty asianmukaisilla tiedoilla piirteiden välisen virran näyttämiseksi. Jos kahden funktion välillä ei ole liitäntää, kahden funktion välistä rajapintaa edustava laatikko jätetään tyhjäksi. Fyysisiä rajapintoja käsitellään samalla tavalla, fyysisiä objekteja diagonaalisesti toiminnallisten objektien sijaan.
Jokaisen N²-kaavion on sisällettävä vähintään seuraavat kontekstuaaliset ja hallinnolliset tiedot:
N²-kaaviot ovat arvokas työkalu paitsi toiminnallisten tai fyysisten rajapintojen tunnistamiseen, myös sellaisten alueiden tunnistamiseen, joilla rajapinnat voivat olla ristiriidassa, jotta järjestelmäintegraatio sujuu kitkattomasti ja tehokkaasti.
Kuvassa 5 on esitetty toiminnallista vuokaaviota täydentävän N²-kaavion tiedot. Huomaa, että tässä kuvassa ei ole kohteita tai laukaisimia. Kuvassa näkyy konteksti funktioiden välillä mallin eri tasoilla.
Kuvassa 6 on esimerkkikaavio, kun solut on täytetty tiedolla.