Design à u livellu di u sistema. Parte 1. Da l'idea à u sistema

Salute à tutti. Spessu applicà i principii di l'ingegneria di sistemi in u mo travagliu è mi piacerebbe sparte stu approcciu cù a cumunità.

Sistemi di ingegneria - senza standard, ma solu pusatu, hè u prucessu di sviluppà un sistema cum'è cumpunenti abbastanza astratti, senza riferimentu à mostre specifiche di u dispositivu. Duranti stu prucessu, e proprietà di i cumpunenti di u sistema è e ligami trà elli sò stabiliti. Inoltre, hè necessariu di fà u sistema coherente è ottimali è chì u sistema risponde à i requisiti. In questu tutoriale vi mustrarà e tecniche di ingegneria di sistemi utilizendu l'esempiu di cuncepimentu di un sistema di cuntrollu di accessu (ACS) abbastanza simplice.

Formazione di l'architettura iniziale

Quandu un sistema, ùn importa ciò chì, ghjustu principia à esse sviluppatu, rectanguli cù frecce appariscenu in i nostri capi o nantu à carta. Tali rectanguli sò i cumpunenti sistemi. È e frecce sò cunnessione trà cumpunenti. È assai spessu ùn avemu micca u tempu di pusà è pensate cumu tutti i cumpunenti chì avemu definitu travaglianu cù l'altri, è à a fine avemu principiatu à creà una mansa di crutches, chì venenu cù disinni redundant.

Hè impurtante di ricurdà chì da u puntu di vista di u sistema è a so architettura, un cumpunente hè una cosa abbastanza astratta. Per esempiu, se u nostru sistema hà un microcontroller, allora à u livellu architettonicu hè solu impurtante per noi chì hè un microcontroller, è micca chì hè STM32, Arduino o Milander. Inoltre, spessu ùn hè micca chjaru per noi ciò chì esattamente serà in u sistema, è vultemu à l'ingegneria di sistemi per sviluppà esigenze per l'equipaggiu, u software, etc.

Per u nostru esempiu cù ACS, avemu da pruvà à furmulà u so scopu. Questu ci aiuterà à identificà i so cumpunenti. Allora, u compitu di u sistema di cuntrollu di accessu hè di permette à un circulu limitatu di persone in a stanza. Vale à dì, hè una serratura intelligente. In cunseguenza, avemu u primu cumpunente - un tipu di dispusitivu chì chjude è sblocca a porta! Chjamemu Serratura di a porta

Cumu sapemu chì una persona pò entra? Ùn vulemu micca mette un guardianu è verificà i passaporti, nò? Demu à e persone carte speciale cù tag RFID, nantu à quale avemu da registrà ID unichi o altre dati chì ci permettenu di identificà accuratamente una persona. Allora, avemu bisognu di qualchi dispusitivu chì pò leghje sti tag. Grande, avemu un altru cumpunente, Lettore RFID

Fighjemu di novu ciò chì avemu avutu. Lettore RFID leghje qualchi dati, u sistema di cuntrollu di accessu faci qualcosa cun ellu, è nantu à a basa di questu qualcosa hè cuntrullatu Serratura di a porta. Facemu a seguente quistione - induve guardà a lista di e persone cù diritti d'accessu? U megliu in a basa di dati. Dunque, u nostru sistema deve esse capace di mandà dumande è processà e risposte da a basa di dati. Allora avemu un altru cumpunente - DBHandler. Dunque, avemu ricevutu una descrizzione estremamente astratta, ma abbastanza per principià, di u sistema. Capemu ciò chì deve fà è cumu si travaglia.

Invece di un pezzu di carta, aghju aduprà System Composer, un strumentu speciale per u modellu di l'architettura di u sistema in l'ambiente Simulink, è creanu cumpunenti 3. Sopra aghju descrittu e ligami trà questi cumpunenti, cusì cunnetta immediatamente:

Design à u livellu di u sistema. Parte 1. Da l'idea à u sistema

Espansione di l'architettura

Fighjemu u nostru schema. Sembra chì tuttu hè bè, ma in realtà ùn hè micca. Fighjate stu sistema da u puntu di vista di l'utilizatori - l'utilizatore porta a carta à u lettore è...? Cumu un utilizatore sapi s'ellu hè permessu o denegatu l'accessu? Hè necessariu d'alcuni avvisà ellu annantu à questu! Dunque, aghjustemu un altru cumpunente - notificazione di l'utilizatori, UserNotify:

Design à u livellu di u sistema. Parte 1. Da l'idea à u sistema

Avà andemu à un livellu più bassu di astrazione. Pruvemu di discrìviri certi cumpunenti in un pocu più di dettu. Cuminciamu cù u cumpunente Lettore RFID. In u nostru sistema, stu cumpunente hè rispunsevule per leghje u tag RFID. U so output deve cuntene qualchi dati (UID, dati d'utilizatori ...). Ma aspetta, RFID, cum'è NFC, hè principalmente hardware, micca software! Per quessa, pudemu assume chì avemu separatamente u chip RFID stessu, chì trasmette dati "crudi" à qualchì tipu di preprocessore. Dunque, avemu un pezzu astrattu di hardware chì pò leghje tag RFID, è un software astrattu chì pò cunvertisce dati in u furmatu chì avemu bisognu. Chjamemu li Sensore RFID и RFIDParser rispettivamente. Cumu vede questu in System Composer? Pudete sguassà un cumpunente Lettore RFID è mette dui cumpunenti invece, ma hè megliu micca fà questu, altrimenti perdemu a leghjibilità di l'architettura. Invece, andemu in RFIDReader è aghjunghje 2 novi cumpunenti:

Design à u livellu di u sistema. Parte 1. Da l'idea à u sistema

Grande, avà andemu à avvisà l'utilizatore. Cumu u sistema hà da avvisà l'utilizatore chì hè denegatu o permessu l'accessu à u locu? Una persona percepisce i soni è qualcosa chì lampeghja megliu. Dunque, pudete emette un certu signalu di sonu in modu chì l'utilizatore presta attenzione, è lampà u LED. Aghjunghjemu i cumpunenti adattati UserNotify:

Design à u livellu di u sistema. Parte 1. Da l'idea à u sistema

Avemu creatu l'architettura di u nostru sistema, ma ci hè qualcosa di sbagliatu. Chì ? Fighjemu i nomi di cunnessione. InBus и OutBus - nomi micca abbastanza normali chì aiutavanu u sviluppatore. Hanu da esse rinominati:

Design à u livellu di u sistema. Parte 1. Da l'idea à u sistema

Dunque, avemu vistu cumu i metudi di ingegneria di sistemi sò applicati in l'approssimazione più grossa. A quistione hè: perchè l'utilizanu in tuttu? U sistema hè primitivu, è pare chì u travagliu fattu ùn hè micca necessariu. Pudete scrive immediatamente codice, cuncepisce una basa di dati, scrive dumande o salda. U prublema hè chì s'ellu ùn pensate micca à u sistema è capisce cumu i so cumpunenti sò cunnessi l'un à l'altru, allora l'integrazione di i cumpunenti di u sistema duverà assai tempu è sarà abbastanza dolorosa.

U principale da piglià da sta parte hè:

L'usu di i metudi di l'ingegneria di i sistemi è di l'architettura di l'architettura in u sviluppu di u sistema permette di riduce i costi di integrazione di cumpunenti è migliurà a qualità di u sistema sviluppatu.

Source: www.habr.com

Add a comment