Untwerp op systeemnivo. Diel 1. Fan idee oant systeem

Hoi allegearre. Ik tapasse faak systeemtechnykprinsipes yn myn wurk en wol dizze oanpak graach diele mei de mienskip.

Systeemtechnyk - sûnder noarmen, mar gewoanwei, it is it proses fan it ûntwikkeljen fan in systeem as frij abstrakte komponinten, sûnder ferwizing nei spesifike apparaatmonsters. Tidens dit proses wurde de eigenskippen fan 'e systeemkomponinten en de ferbiningen tusken har fêststeld. Dêrneist is it nedich om it systeem konsekwint en optimaal te meitsjen en dat it systeem foldocht oan de easken. Yn dizze tutorial sil ik systeemtechnyktechniken sjen litte mei it foarbyld fan it ûntwerpen fan in frij ienfâldich tagongskontrôlesysteem (ACS).

It foarmjen fan de earste arsjitektuer

As in systeem, nettsjinsteande wat, gewoan begjint te ûntwikkeljen, ferskine rjochthoeken mei pylken yn ús hollen as op papier. Sokke rjochthoeken binne de komponinten systemen. En de pylken binne ferbiningen tusken komponinten. En heul faak hawwe wy gjin tiid om te sitten en nei te tinken oer hoe't alle komponinten dy't wy hawwe definieare mei elkoar wurkje, en op it lêst begjinne wy ​​​​in boskje krukken te meitsjen, mei oerstallige ûntwerpen te kommen.

It is wichtich om te betinken dat út it eachpunt fan it systeem en syn arsjitektuer in komponint in frij abstrakt ding is. Bygelyks, as ús systeem in mikrocontroller hat, dan is it op arsjitektoanysk nivo allinich wichtich foar ús dat it in mikrocontroller is, en net dat it STM32, Arduino of Milander is. Boppedat is it ús faaks hielendal net dúdlik wat der krekt yn it systeem sil wêze, en wy wende ús ta systeemtechnyk om easken te ûntwikkeljen foar apparatuer, software, ensfh.

Foar ús foarbyld mei ACS sille wy besykje it doel te formulearjen. Dit sil ús helpe by it identifisearjen fan har komponinten. Dat, de taak fan it tagongskontrôlesysteem is om in beheinde sirkel fan minsken yn 'e keamer te litten. Dat is, it is in tûk slot. Dêrtroch hawwe wy de earste komponint - in soarte fan apparaat dat de doar beskoattelt en ûntskoattelt! Litte wy him skilje Doarslot

Hoe witte wy dat in persoan nei binnen kin komme? Wy wolle net in wachter sette en paspoarten kontrolearje, wol? Litte wy minsken spesjale kaarten mei RFID-tags jaan, wêrop wy unike ID's as oare gegevens sille opnimme wêrmei wy in persoan sekuer kinne identifisearje. Dan sille wy wat apparaat nedich wêze dat dizze tags kin lêze. Geweldich, wy hawwe noch ien komponint, RFIDreader

Litte wy nochris sjen wat wy krigen hawwe. RFIDreader lêst wat gegevens, it tagongskontrôlesysteem docht der wat mei, en op grûn dêrfan wurdt wat kontrolearre Doarslot. Litte wy de folgjende fraach stelle - wêr't jo de list fan minsken mei tagongsrjochten opslaan? Bêste yn database. Dêrom moat ús systeem yn steat wêze om fersiken te ferstjoeren en antwurden te ferwurkjen fan 'e database. Dat wy hawwe noch ien komponint - DBHandler. Sa, wy hawwe krigen in ekstreem abstrakte, mar genôch om te begjinnen mei, beskriuwing fan it systeem. Wy begripe wat it moat dwaan en hoe't it wurket.

Ynstee fan in stikje papier sil ik System Composer brûke, in spesjaal ark foar it modellerjen fan systeemarsjitektueren yn 'e Simulink-omjouwing, en meitsje 3-komponinten. Hjirboppe beskreau ik de ferbiningen tusken dizze komponinten, dus litte wy se fuortendaliks ferbine:

Untwerp op systeemnivo. Diel 1. Fan idee oant systeem

It útwreidzjen fan de arsjitektuer

Litte wy nei ús diagram sjen. It liket derop dat alles goed is, mar yn werklikheid is it net. Besjoch dit systeem út it eachpunt fan 'e brûker - de brûker bringt de kaart nei de lêzer en ...? Hoe wit in brûker as se tagong hawwe talitten of wegere? It is nedich om ien of oare wize ynformearje him oer dit! Litte wy dêrom noch ien komponint tafoegje - notifikaasje fan brûkers, UserNotify:

Untwerp op systeemnivo. Diel 1. Fan idee oant systeem

Litte wy no nei in leger nivo fan abstraksje gean. Litte wy besykje guon komponinten yn in bytsje mear detail te beskriuwen. Litte wy begjinne mei de komponint RFIDreader. Yn ús systeem is dizze komponint ferantwurdlik foar it lêzen fan de RFID-tag. De útfier moat wat gegevens befetsje (UID, brûkersgegevens ...). Mar wachtsje, RFID, lykas NFC, is foaral hardware, gjin software! Dêrom kinne wy ​​oannimme dat wy apart de RFID-chip sels hawwe, dy't "rauwe" gegevens oerstjoert nei in soarte fan preprocessor. Dat, wy hawwe in abstrakt stik hardware dat RFID-tags kin lêze, en abstrakte software dy't gegevens kin konvertearje yn it formaat dat wy nedich binne. Litte wy se neame RFIDSensor и RFIDParser respektivelik. Hoe kin ik dit werjaan yn System Composer? Jo kinne fuortsmite in komponint RFIDreader en set twa komponinten ynstee, mar it is better om dit net te dwaan, oars sille wy de lêsberens fan 'e arsjitektuer ferlieze. Litte wy ynstee yn RFIDReader gean en 2 nije komponinten tafoegje:

Untwerp op systeemnivo. Diel 1. Fan idee oant systeem

Geweldich, litte wy no trochgean mei it ynformearjen fan de brûker. Hoe sil it systeem de brûker ynformearje dat er tagong wurdt wegere of tastien ta it pân? In persoan fynt lûden en wat blinkend it bêste. Dêrom kinne jo in bepaald lûdsinjaal útjaan, sadat de brûker omtinken jout en de LED knipperje. Litte wy de passende komponinten tafoegje UserNotify:

Untwerp op systeemnivo. Diel 1. Fan idee oant systeem

Wy hawwe de arsjitektuer fan ús systeem makke, mar der is wat mis mei. Wat? Litte wy nei de ferbiningsnammen sjen. InBus и OutBus - net heul normale nammen dy't de ûntwikkelder soene helpe. Se moatte omneamd wurde:

Untwerp op systeemnivo. Diel 1. Fan idee oant systeem

Dat, wy seagen nei hoe't metoaden foar systeemtechnyk wurde tapast yn 'e rûchste approximaasje. De fraach ûntstiet: wêrom brûke se hielendal? It systeem is primitive, en it liket derop dat it dien wurk is net nedich. Jo kinne fuortendaliks koade skriuwe, in databank ûntwerpe, fragen skriuwe of solderje. It probleem is dat as jo net troch it systeem tinke en begripe hoe't syn komponinten mei elkoar ferbûn binne, dan sil de yntegraasje fan systeemkomponinten lang duorje en frij pynlik wêze.

De wichtichste takeaway fan dit diel is:

It gebrûk fan metoaden foar systeemtechnyk en arsjitektuermodellering yn systeemûntwikkeling lit ien de kosten fan it yntegrearjen fan komponinten ferminderje en de kwaliteit fan it ûntwikkele systeem ferbetterje.

Boarne: www.habr.com

Add a comment