Desain ing tingkat sistem. Part 1. Saka idea kanggo sistem

Halo kabeh. Aku kerep ngetrapake prinsip teknik sistem ing karyaku lan pengin nuduhake pendekatan iki karo masyarakat.

Teknik sistem - tanpa standar, nanging mung minangka proses ngembangake sistem minangka komponen sing cukup abstrak, tanpa referensi kanggo conto piranti tartamtu. Sajrone proses iki, sifat-sifat komponen sistem lan sambungan ing antarane. Kajaba iku, perlu kanggo nggawe sistem konsisten lan optimal lan sistem kasebut nyukupi syarat. Ing tutorial iki, aku bakal nuduhake teknik teknik sistem nggunakake conto ngrancang sistem kontrol akses (ACS) sing cukup prasaja.

Mbentuk arsitektur wiwitan

Nalika sistem, ana prakara apa, mung wiwit dikembangakΓ©, rectangles karo panah katon ing sirah utawa ing kertas. persegi dowo kuwi Komponen sistem. Lan panah iku sambungan antarane komponen. Lan asring banget kita ora duwe wektu kanggo njagong lan mikir babagan carane kabeh komponen sing wis ditetepake bakal bisa karo saben liyane, lan ing pungkasan kita miwiti nggawe Bunch saka crutches, teka munggah karo desain keluwih.

Penting kanggo elinga yen saka sudut pandang sistem lan arsitektur, komponen minangka barang sing rada abstrak. Contone, yen sistem kita duwe mikrokontroler, banjur ing tingkat arsitektur mung penting kanggo kita iku mikrokontroler, lan ora iku STM32, Arduino utawa Milander. Kajaba iku, asring ora jelas kanggo kita apa sing bakal ana ing sistem kasebut, lan kita nguripake teknik sistem kanggo ngembangake syarat kanggo peralatan, piranti lunak, lsp.

Kanggo conto karo ACS, kita bakal nyoba ngrumusake tujuane. Iki bakal mbantu kita ngenali komponen. Dadi, tugas sistem kontrol akses yaiku ngidini bunderan winates wong menyang kamar. Sing, iku kunci pinter. Akibate, kita duwe komponen pisanan - sawetara jinis piranti sing ngunci lan mbukak kunci lawang! Ayo nelpon dheweke Kunci Pintu

Kepiye carane ngerti yen wong bisa mlebu? Kita ora pengin nyelehake penjaga lan mriksa paspor, apa? Ayo menehi wong kertu khusus karo tag RFID, sing bakal ngrekam ID unik utawa data liyane sing ngidini kita ngenali wong kanthi akurat. Banjur, kita butuh sawetara piranti sing bisa maca tag kasebut. Apik, kita duwe komponen liyane, RFIDReader

Ayo dideleng maneh apa sing kita entuk. RFIDReader maca sawetara data, sistem kontrol akses nindakake soko karo, lan ing basis soko iki kontrol Kunci Pintu. Ayo takon pitakonan ing ngisor iki - ing ngendi kanggo nyimpen dhaptar wong sing duwe hak akses? Paling apik ing database. Mulane, sistem kita kudu bisa ngirim panjalukan lan ngolah respon saka database. Dadi kita duwe siji komponen liyane - DBHandler. Dadi, kita wis nampa gambaran banget abstrak, nanging cukup kanggo miwiti karo, sistem. Kita ngerti apa sing kudu ditindakake lan cara kerjane.

Tinimbang Piece saka kertas, Aku bakal nggunakake System Composer, alat khusus kanggo modeling arsitektur sistem ing lingkungan Simulink, lan nggawe 3 komponen. Ing ndhuwur aku nerangake sambungan antarane komponen kasebut, mula ayo langsung nyambungake:

Desain ing tingkat sistem. Part 1. Saka idea kanggo sistem

Ngembangake arsitektur

Ayo katon ing diagram kita. Iku misale jek sing kabeh iku nggoleki, nanging ing kasunyatan iku ora. Deleng sistem iki saka sudut pandang pangguna - pangguna nggawa kertu menyang maca lan ...? Kepiye pangguna ngerti yen diidini utawa ditolak akses? Sampeyan kudu piye wae menehi kabar babagan iki! Mula, ayo nambah siji komponen maneh - kabar pangguna, UserNotify:

Desain ing tingkat sistem. Part 1. Saka idea kanggo sistem

Saiki ayo pindhah menyang tingkat abstraksi sing luwih murah. Ayo dadi nyoba kanggo njlèntrèhaké sawetara komponen ing sethitik liyane rinci. Ayo dadi miwiti karo komponen RFIDReader. Ing sistem kita, komponen iki tanggung jawab kanggo maca tag RFID. Outpute kudu ngemot sawetara data (UID, data pangguna ...). Nanging ngenteni, RFID, kaya NFC, utamane hardware, dudu piranti lunak! Mulane, kita bisa nganggep yen kita duwe chip RFID dhewe, sing ngirim data "mentah" menyang sawetara preprocessor. Dadi, kita duwe hardware abstrak sing bisa maca tag RFID, lan piranti lunak abstrak sing bisa ngowahi data menyang format sing dibutuhake. Ayo padha nelpon RFIDsensor и RFIDparser mungguh. Kepiye carane nampilake iki ing System Composer? Sampeyan bisa mbusak komponen RFIDReader lan sijine loro komponen tinimbang, nanging iku luwih apik ora kanggo nindakake iki, digunakake kita bakal kelangan readability arsitektur. Nanging, ayo mlebu ing RFIDReader lan tambahake 2 komponen anyar:

Desain ing tingkat sistem. Part 1. Saka idea kanggo sistem

Apik, saiki ayo pindhah menyang ngabari pangguna. Kepiye sistem bakal menehi kabar marang pangguna yen dheweke ditolak utawa diijini akses menyang papan kasebut? A wong perceives swara lan soko blinking paling apik. Mulane, sampeyan bisa ngetokake sinyal swara tartamtu supaya pangguna menehi perhatian, lan kedhip LED. Ayo dadi nambah komponen cocok kanggo UserNotify:

Desain ing tingkat sistem. Part 1. Saka idea kanggo sistem

Kita wis nggawe arsitektur sistem kita, nanging ana sing salah. opo? Ayo goleki jeneng sambungan. InBus ΠΈ OutBus - jeneng ora cukup normal sing bakal bantuan pangembang. Padha kudu diganti jeneng:

Desain ing tingkat sistem. Part 1. Saka idea kanggo sistem

Dadi, kita ndeleng kepiye cara teknik sistem ditrapake kanthi perkiraan paling kasar. Pitakonan muncul: kenapa nggunakake kabeh? Sistem iki primitif, lan misale jek sing karya rampung ora perlu. Sampeyan bisa langsung nulis kode, ngrancang database, nulis pitakon utawa solder. Masalahe yaiku yen sampeyan ora mikir babagan sistem lan ngerti carane komponen kasebut disambungake, mula integrasi komponen sistem bakal suwe lan cukup nglarani.

Takeaway utama saka bagean iki yaiku:

Panggunaan metode teknik sistem lan model arsitektur ing pangembangan sistem ngidini sampeyan nyuda biaya kanggo nggabungake komponen lan nambah kualitas sistem sing dikembangake.

Source: www.habr.com

Add a comment