Tizimni modellashtirish
Download 0.74 Mb. Pdf ko'rish
|
5.Tizimni modellashtirish
- Bu sahifa navigatsiya:
- 5.3-rasm.
- 5.3. Strukturaviy modellar
- 5.4. Holat (xulq-atvor) modellari
- 5.4.1 Malumotlarga asoslangan modellashtirish
- 5.5-rasm.
- Mustaqil o’rganish uchun
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna 5-Mavzu TIZIMNI MODELLASHTIRISH
5.1. Kontekst modellari 5.2. О„zaro ta‟sir modellari 5.3. Strukturaviy modellar 5.4. Xulq-atvor modellari 5.5. Modelga asoslangan arxitektura
Tizimni modellashtirish - bu tizimning mavhum modellarini ishlab chiqish jarayoni bo'lib, unda har bir model o'zgacha nuqtai nazar yoki nuqtai nazarni taqdim etadi. Tizimni modellashtirish odatda Birlashgan Modellashtirish Tilida (UML) diagramma turlariga asoslangan biron bir grafik modeldan foydalangan holda tizimni ifodalashni anglatadi. Shu bilan birga, odatda tizimning batafsil spetsifikatsiyasi sifatida tizimning rasmiy (matematik) modellarini ishlab chiqish mumkin. Bu yerda UML-dan foydalanib grafik modellashtirishni yoritiladi va grafik modellashtirish qisqacha 10-mavzuda muhokama qilinadi. Modellar talablarga javob beradigan muhandislik (injiniring) jarayonida, tizim uchun batafsil talablarni olishga yordam berish uchun, tizimni ishlab chiqaruvchi muhandislarga tizimni tavsiflash uchun, va tizimni tuzilishi va ishlashini hujjatlashtirish uchun loyihalash jarayonida qo'llaniladi. Siz mavjud tizimlar va ishlab chiqiladigan tizimlarning modellarini ishlab chiqishingiz mumkin: 1. Mavjud tizimning modellari talablar injiniringi (dasturiy ta‟minot talablarini ishlab chiqish) vaqtida qo'llaniladi. Ular mavjud tizim nima qilishini aniqlashtirishga yordam beradi va ulardan kuchli va zaif tomonlarini muhokama qilish uchun foydalanish mumkin. 2. Yangi tizimning modellari talablarni loyihalash jarayonida boshqa tizimning tomonlariga taklif etilayotgan talablarni tushuntirishga yordam berish uchun ishlatiladi. Muhandislar ushbu modellardan loyiha takliflarini muhokama qilish va tizimni joriy qilish uchun hujjatlashtirish uchun foydalanadilar. Agar siz modelga asoslangan muhandislik jarayonidan foydalansangiz (Brambilla, Cabot va Wimmer 2012), tizim modellaridan to'liq yoki qisman tizimni yaratishingiz mumkin.
Tizim modeli ishlab chiqilayotgan tizimning to'liq ifodalab beraolmasligini tushunish muhimdir. Tushunishni osonlashtirish maqsadida unda tafsilotlar qoldiriladi. Model bu tizimning muqobil namoyishi emas, balki o'rganilayotgan tizimning alternative ifodasidir. Tizimning vakili taqdim etilayotgan mantiqiy ob'ekt to'g'risidagi barcha ma'lumotlarni o'z ichiga olishi kerak. Abstraktsiya ataylab tizim loyihasini soddalashtiradi va eng muhim xususiyatlarni tanlaydi. Masalan, ushbu kitob bilan birga kelgan PowerPoint slaydlari kitobning asosiy fikrlarining abstrakt ifodalanishidir. Ammo, agar kitob tarjima qilingan bo'lsa ingliz tilidan boshqa tiliga o'tganda, bu alternativ vakillik bo'lishi mumkin.
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna Tarjimon barcha ma'lumotlarni ingliz tilida taqdim etilganidek saqlab turishni niyat qilgan.
Tizimni boshqasidan ifodalash uchun siz turli kurinishdagi turli xil modellarni ishlab chiqishingiz mumkin. Masalan: 1. Tashqi ifodasi, unda siz tizimning kontekstini yoki atrofini modellashtirasiz. 2. Tizim va uning muhiti, yoki tizim va uning tarkibiy qismlari o'rtasidagi o'zaro munosabatlarni modellashtiradigan o'zaro ta'sir ifodasi. 3. Tizimning tashkil etilishini yoki tizim tomonidan ishlov berilgan ma'lumotlarning tuzilishini modellashtiradigan tarkibiy ifodasi. 4. Xulq-atvor ifodalanishi, unda tizimning dinamik xatti-harakatlarini va voqealarga qanday munosabatda bo'lishi modellashtiriladi. Tizim modellarini ishlab chiqishda siz ko'pincha grafik notatsiyasini ishlatishda moslashuvchan bo'lishingiz mumkin. Siz har doim notatsiyaning tafsilotlariga qat'iy rioya qilishingiz shart emas. Modelning tafsilotlari va qat'iyligi siz uni qanday ishlatmoqchi ekanligingizga bog'liq. Grafik modellardan keng foydalaniladigan uchta usul mavjud: 1. Mavjud yoki taklif qilinayotgan tizim haqida qiziqishni oshirish va diqqatni jalb qilish usuli sifatida. Modelning maqsadi – tizimni ishlab chiqishda ishtirok etadigan dastur muhandislari o'rtasida qiziqishni oshirish va diqqat markazida bo'lishdir. Modellar to'liq bo'lmasligi mumkin (agar ular munozaraning asosiy jihatlarini qamrab olsalar) va ular modellashtirishga oid notatsiyalardan norasmiy foydalanishlari mumkin. Shunday qilib, odatda modellarni tezkor o‟zgaruvchan (agile) modellashtirishda foydalaniladi (Ambler va Jeffrie, 2002). 2. Mavjud tizimni hujjatlashtirish usuli sifatida. Modellar hujjat sifatida ishlatilganda, ular to'liq bo'lishi shart emas, chunki siz tizimning ba'zi qismlarini hujjatlashtirish uchun faqat modellardan foydalanishingiz kerak bo'lishi mumkin. Biroq, ushbu modellar to'g'ri bo'lishi kerak - ular notatsiyalardan to'g'ri foydalanishi va tizimning aniq tavsifini ifodalashi kerak. 3.
Tizim amalga oshirishni generatsiyalash uchun ishlatilishi mumkin bo'lgan tizimning batafsil tavsifi sifatida. Agar modellashtirish modelga asoslangan ishlab chiqish jarayonining bir qismi sifatida foydalanilsa, tizim modellari to'liq va to'g'ri bo'lishi lozim. Ular tizimning dastlabki kodini yaratish uchun asos sifatida ishlatiladi va shuning uchun siz turli xil ma'nolarga ega bo'lgan strelka va blokirovka strelkalari kabi o'xshash belgilarni chalkashtirib yubormaslik uchun juda ehtiyot bo'lishingiz kerak. Ushbu mavzuda Unifikatsiyalashgan (birlashgan) modellashtirish tilida (UML - Unified Modeling Language) aniqlangan diagrammalardan foydalanilgan (Rumbaugh, Jacobson va Booch 2004; Booch, Rumbaugh va Jacobson 2005), bu ob'ektga yo'naltirilgan modellashtirish uchun standart tilga aylandi. UML 13 ta diagramma turiga ega va shuning uchun har xil turdagi tizim modellarini yaratishni qo'llab-quvvatlaydi. Ammo, o‟tkazilgan so‟rov natijalariga ko‟ra (Erickson va Siau, 2007) UML foydalanuvchilarining aksariyati beshta diagramma turi tizimning zaruriy ma'lumotlarini ifodalashi mumkinligini ta‟kidlashgan. Shunga ko‟ra UML diagrammalarining ushbu beshta turini ko‟rib chiqamiz: 5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna 1. Faoliyat diagrammalari (activity diagrams), jarayonlarda yoki ma'lumotlarni qayta ishlashda ishtirok etadigan faoliyatlarni ifodalaydi. 2. Ishchi diagrammalar (use case diagrams), tizim va uning tashkil etuvchilari o‟rtasidagi o'zaro ta'sirini ifodalaydi. 3. Ketma-ketlik diagrammalari (sequence diagrams), tizimga ta‟sir etuvchi sub‟yekt va tizim o'rtasidagi o'zaro aloqani va tizim tarkibiy qismlari o'rtasidagi o'zaro aloqani ko'rsatadi. 4. Sinf diagrammalar (class diagrams), tizimdagi ob'ekt sinflarini va ushbu sinflar o'rtasidagi bog'liqlikni ko'rsatadi. 5. Holat diagrammalari (state diagrams), tizimning ichki va tashqi hodisalarga qanday munosabatda bo'lishini ko'rsatadi.
Tizimni spetsifikatsiyalashning dastlabki bosqichida tizim chegaralari, ya'ni ishlab chiqilayotgan tizimning tarkibiga kirgan va kirmagan qismlari to'g'risida qaror qabul qilish lozim. Bu tizimga qanday funktsional imkoniyatlarni kiritish kerakligini va tizimning ish sharoitida qanday ishlov berish va operatsiyalarni bajarish kerakligini aniqlash uchun tizimning manfaatdor tomonlar bilan ishlashni o'z ichiga oladi. Siz ba'zi ish jarayonlarini avtomatlashtirilgan qo'llab-quvvatlashni ishlab chiqilayotgan dasturiy ta'minotda amalga oshirish kerakligi haqida qaror qabul qilishingiz mumkin, ammo boshqa jarayonlar qo'lda yoki turli xil tizimlar tomonidan qo'llab-quvvatlanishi kerak. Mavjud tizimlar bilan ishlashning mumkin bo'lgan ziddiyatlarini ko'rib chiqish va yangi funktsional imkoniyatlarni qayerda amalga oshirish kerakligini hal qilish kerak. Ushbu qarorlar tizim xarajatlari va tizim talablari va loyihalashni tushunish uchun zarur bo'lgan vaqtni cheklash uchun jarayonning boshida qabul qilinishi kerak. Ba'zi hollarda tizim va uning atrof-muhit o'rtasidagi chegara nisbatan aniqdir. Masalan, avtomatlashtirilgan tizim mavjud qo'lda yoki kompyuterlash- tirilgan tizim bilan almashtirilsa, yangi tizimning muhiti odatda mavjud tizimning muhiti bilan bir xil bo'ladi. Boshqa hollarda, ko'proq moslashuvchanlik mavjud va siz talablarni muhandislik jarayonida tizim va uning atrof-muhit o'rtasidagi chegarani nima tashkil qilishni hal qilasiz. Masalan, siz
“Mentcare” bemorlarining ma'lumot tizimi uchun spetsifikatsiyani ishlab chiqmoqdasiz. Ushbu tizim ruhiy salomatlik klinikalariga tashrif buyurgan bemorlar va belgilangan muolajalar haqida ma'lumotni boshqarish uchun mo'ljallangan. Ushbu tizim spetsifikatsiyasini ishlab chiqishda, siz tizim faqat konsultatsiyalar to'g'risida ma'lumot to'plashga (bemorlarning shaxsiy ma'lumotlarini to'plash uchun boshqa tizimlardan foydalanishga) e'tibor qaratish kerakmi yoki bemorning shaxsiy ma'lumotlarini to'plash kerakligini hal qilishingiz kerak. Bemor ma'lumotlarini olish uchun boshqa tizimlarga ishonishning afzalligi shundaki, siz ma'lumotlarning takrorlanishidan qochasiz. Ammo asosiy kamchilik shundaki, boshqa tizimlardan foydalanish ma'lumotlarga kirishni sekinlashtirishi mumkin va agar ushbu tizimlar mavjud bo'lmasa, Mentcare tizimidan foydalanish imkonsiz bo'lishi mumkin. 5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna Ba'zi holatlarda tizim uchun foydalanuvchi bazasi juda xilma-xildir va foydalanuvchilar turli xil tizim talablariga ega. Siz chegaralarni aniq belgilashni emas, balki turli xil foydalanuvchilarning ehtiyojlariga moslashtirilishi mumkin bo'lgan sozlanadigan tizimni ishlab chiqarishni tanlashingiz mumkin. Bu biz iLearn tizimida 1-mavzuda joriy qilgan yondashuv bo'lib, unda foydalanuvchilar o'qiy olmaydigan juda yosh bolalardan tortib, kattalarga, ularning o'qituvchilariga va maktab ma'murlariga murojaat qilishadi. Ushbu guruhlarga turli xil tizim chegaralari kerakligi sababli, tizim joylashtirilganda chegaralarni belgilashga imkon beradigan konfiguratsiya tizimini belgilab qo'ydik. Tizim chegarasini belgilash bebaho qaror emas. Ijtimoiy va tashkiliy tashvishlar tizim chegaralarining joylashuvi noma'lum texnik omillar bilan belgilanishini anglatishi mumkin. Masalan, tizim chegarasi diqqat bilan joylashtirilgan bo'lishi mumkin, shunda to'liq tahlil jarayoni bitta saytda amalga oshiriladi; u tanlangan bo'lishi mumkin, shunda ayniqsa qiyin menejerga maslahat berilmasligi kerak; va shunday qilib joylashtirilishi mumkinki, tizim qiymati oshadi va tizimni ishlab chiqish bo'linmasi tizimni loyihalashtirish va amalga oshirish uchun kengayishi kerak. Tizim chegaralari bo'yicha ba'zi qarorlar qabul qilingandan so'ng, tahlil faoliyatining bir qismi bu kontekstni va tizimning uning atrof-muhitiga bog'liqligini aniqlashdir. Odatda, oddiy me'moriy modelni ishlab chiqarish bu faoliyatdagi birinchi qadamdir.
5.1-rasm Mentcare tizimi va uning atrofidagi boshqa tizimlarni ko'rsatadigan kontekst modelidir. Siz ko'rishingiz mumkinki, Mentcare tizimi uchrashuvlarni tayinlash tizimiga va ma'lumotlar almashadigan umumiy bemorlarni ro'yxatga olish tizimiga ulangan. Tizim, shuningdek, hisobot berish va kasalxonaga yotqizishni boshqarish tizimlari va tadqiqotlar uchun ma'lumot to'playdigan statistika tizimlariga ulangan. Va nihoyat, bemorlarning dori-darmonlariga retseptlar tuzishda retseptlash tizimidan foydalaniladi. MENTCARE «Tizimi» Bemor haqida ma'lumot «Tizimi» Qabul
«Tizimi» Retsept
(ko'rsatma) «Tizimi» Uchrashuvlar «Tizimi» Statistika «Tizimi» Hisobotni boshqaruv «Tizimi»
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna Kontekst modellari, odatda, atrof-muhit bir nechta boshqa avtomatik tizimlarni o'z ichiga oladi. Biroq, ular atrof-muhitdagi tizimlar va aniqlanayotgan tizim o'rtasidagi munosabatlar turlarini ko'rsatmaydi. Tashqi tizimlar ma'lumotlar ishlab chiqarishi yoki tizimdan ma'lumotlarni iste'mol qilishi mumkin. Ular tizim bilan ma'lumotlarni almashishi yoki to'g'ridan-to'g'ri tarmoq orqali ulanishi yoki umuman ulanmagan bo'lishi mumkin. Ular jismoniy ravishda yoki alohida binolarda joylashgan bo'lishi mumkin. Ushbu munosabatlarning barchasi aniqlanadigan tizimning talablari va dizayniga ta'sir qilishi mumkin va shuning uchun ularni hisobga olish kerak. Shuning uchun, oddiy kontekst modellari, masalan, ish jarayoni modellari kabi boshqa modellar bilan birgalikda ishlatiladi. Bular muayyan dasturiy ta'minot tizimlaridan foydalaniladigan inson va avtomatik jarayonlarni tavsiflaydi. UML faoliyat sxemalari tizimlardan foydalaniladigan biznes-jarayonlarni namoyish qilish uchun ishlatilishi mumkin. 5.2-rasm, UML faoliyatining diagrammasi bo'lib, Mentcare tizimi ruhiy sog'liqni saqlashning muhim jarayonida - majburiy qamoqxonada ishlatilishini ko'rsatadi.
Ba'zida, ruhiy kasallikka chalingan bemorlar boshqalar uchun yoki o'zlari uchun xavf tug'dirishi mumkin. Shuning uchun ularni davolanish uchun kasalxonada o'z xohishlariga qarshi hibsga olish kerak bo'lishi mumkin. Bunday hibsga olish qat'iy huquqiy kafolatlarning subyektidir, masalan, bemorni hibsga olish to'g'risida qaror doimiy ravishda qayta ko'rib chiqilishi kerak, shunda odamlar aniq sabablarsiz muddatsiz ushlab turilmasligi kerak. Mentcare tizimining muhim vazifalaridan biri bu himoya choralarini amalga oshirish va bemorlarning huquqlariga rioya qilishdir. UML faoliyatining diagrammalarida jarayonlardagi harakatlar va bir faoliyatdan boshqasiga boshqarish oqimi ko'rsatilgan. Jarayonning boshlanishi to'ldirilgan doira bilan belgilanadi, oxiri boshqa doira ichida to'ldirilgan doira 5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna bilan. Dumaloq burchakli to'rtburchaklar faoliyatni, ya'ni amalga oshirilishi kerak bo'lgan aniq subprocesslarni anglatadi. Ob'ektlarni harakatlar jadvaliga kiritishingiz mumkin. 5.2-rasmda ixtiyoriy aniqlash jarayonida turli fermentli subprosesslarni qo'llab-quvvatlaydigan tizimlar ko'rsatilgan. Men bu UML stereotipi xususiyatidan foydalanib, alohida tizimlar ekanligini ko'rsatdim, bu erda chevronlar orasidagi katakchada ob'ekt turi ko'rsatilgan. Strelka ko‟rsatkichlri bir faoliyatdan ikkinchisiga ish oqimini va mustahkam bar harakat faoliyatini muvofiqlashtirishni anglatadi. Agar bir nechta faoliyatdan keladigan oqim barqaror to'siqqa olib keladigan bo'lsa, unda barcha harakatlar bajarilishdan oldin bajarilishi kerak. Qattiq bardan oqim bir qator harakatlarga olib keladigan bo'lsa, ular parallel ravishda kesilishi mumkin. Shu sababli, 5.2-rasmda ijtimoiy yordam va bemorning qarindosh-urug'lari haqida ma'lumot berish, shuningdek qamoqda saqlash to'g'risidagi yozuvni yangilash bo'yicha harakatlar bir xil bo'lishi mumkin. O'qlar bu oqimning qachon bajarilishini belgilaydigan soqchilar bilan biriktirilishi mumkin (kvadrat qavs ichida). 5.3-rasmda siz xavfli va jamiyat uchun xavfli bo'lmagan bemorlar uchun oqimni ko'rsatadigan soqchilarni ko'rishingiz mumkin. Jamiyat uchun xavfli bo'lgan bemorlar xavfsiz joyda saqlanishi kerak. Ammo o'z joniga qasd qiladigan va o'zlari uchun xavfli bo'lgan bemorlar kasalxonadagi tegishli bo'limga yuborilishi mumkin, u erda ularni qattiq nazorat ostida saqlash mumkin.
5.3-rasm. Ma'lumotlarni uzatish tizimidan foydalanish holati.
5.2. O'zaro ta'sir modellari Barcha tizimlar o'zaro ta'sir o'tkazishni o'z ichiga oladi. Bu foydalanuvchi kirishlari va chiqishlarini o'z ichiga oladigan foydalanuvchilarning o'zaro munosabati bo'lishi mumkin; ishlab chiqilayotgan dasturiy ta'minot bilan uning atrofidagi boshqa tizimlarning o'zaro ta'siri; yoki dasturiy ta'minot tizimining tarkibiy qismlari o'rtasidagi o'zaro ta'sir. Foydalanuvchilarning o'zaro ta'sirini modellashtirish juda muhimdir, chunki u foydalanuvchi talablarini aniqlashga yordam beradi. Tizim-tizim o'zaro ta'sirini modellashtirishda yuzaga keladigan aloqa muammolari ta'kidlanadi. Modellashtirish komponentlari o'zaro ishlashi bizga taklif qilinadigan tizim tuzilishi zarur tizim ishlashi va ishonchliligini etkazib beradimi yoki yo'qligini tushunishga yordam beradi. Ushbu bo'limda o'zaro munosabatlarni modellashtirishga tegishli ikkita yondashuv ko'rib chiqiladi: 1. Ko'pincha tizim va tashqi agentlar (inson foydalanuvchilari yoki boshqa tizimlar) o'rtasidagi o'zaro munosabatlarni modellashtirish uchun foydalaniladigan holatlar modellashtirishidan foydalaning. Ma‟lumotni uzatish
Medik kotiba Bemorlar kasallik qaydnomasi tizimi
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna 2. Tizim komponentlari o'rtasidagi o'zaro munosabatlarni modellashtirish uchun foydalaniladigan ketma-ketlik diagrammalari, garchi tashqi vositalar ham kiritilishi mumkin. Foydalanish namunalari va ketma-ketlik diagrammalarida turli xil darajadagi o'zaro ta'sir mavjud va shuning uchun birgalikda foydalanish mumkin. Masalan, yuqori darajadagi foydalanish korpusidagi o'zaro ta'sirlarning tafsilotlari ketma- ketlik diagrammasida hujjatlashtirilishi mumkin. UML shuningdek shovqinlarni modellashtirish uchun ishlatilishi mumkin bo'lgan aloqa diagrammalarini ham o'z ichiga oladi. Men ushbu diagramma turini tasvirlamayman, chunki aloqa diagrammalari shunchaki ketma-ketlik diagrammalarining alternativ ko'rinishi. 5.3. Strukturaviy modellar Dasturiy ta'minotning tarkibiy modellari ushbu tizimni tashkil etuvchi komponentlar va ularning o'zaro munosabatlari nuqtai nazaridan tizimning tashkil etilishini namoyish etadi. Strukturaviy modellar tizim dizayni tashkil etilishini ko'rsatadigan statik modellar yoki tizim ishlayotganda uning tashkil etilishini ko'rsatadigan dinamik modellar bo'lishi mumkin. Bular bir xil emas - tizimning dinamik tashkil etilishi, o'zaro ta'sir o'tkazuvchi iplar to'plami tizim tarkibiy qismlarining statik modelidan juda farq qilishi mumkin. Tizim arxitekturasini muhokama qilish va loyihalashda siz tizimning tarkibiy modellarini yaratasiz. Bular umumiy tizim arxitekturasining modellari yoki tizimdagi ob'ektlarning va ularning o'zaro munosabatlarining batafsilroq modellari bo'lishi mumkin. Ushbu bo'limda men dasturiy ta'minot tizimida ob'ekt sinflarining statik tuzilishini modellash uchun sinf diagrammalaridan foydalanishga e'tibor qarataman. Arxitektura dizayni dasturiy muhandislikning muhim mavzusidir va UML komponenti, paketi va tarqatish dia-grammlari arxitektura modellarini namoyish etishda ishlatilishi mumkin. Men 6 va 17-boblarda me'moriy modellashtirishni yoritaman. 5.4. Holat (xulq-atvor) modellari Xulq-atvor modellari - bu tizim bajarilayotgan paytda dinamik xatti- harakatlar modelidir. Ular tizim atrof-muhit tomonidan stimulga javob berganda nima sodir bo'lishi yoki nima bo'lishi kerakligini ko'rsatadi. Ushbu ogohlantirishlar ma'lumotlar yoki hodisalar bo'lishi mumkin: 1. Tizim tomonidan qayta ishlanishi kerak bo'lgan ma'lumotlar mavjud bo'ladi. Ma'lumotlarning mavjudligi qayta ishlashni qo'zg'atadi. 2. Tizimni qayta ishlashni boshlaydigan hodisa. Voqealar bilan bog'liq ma'lumotlar bo'lishi mumkin, ammo bu har doim ham shunday emas. Ko'pgina biznes tizimlari asosan ma'lumotlarga asoslangan ma'lumotlarni qayta ishlash tizimlari. Ular tizimga ma'lumotlarni kiritish bilan boshqariladi, ularda tashqi hodisalar nisbatan kam ishlanadi. Ularni qayta ishlash bu ma'lumotlar bo'yicha harakatlar ketma-ketligini va natijani yaratishni o'z ichiga oladi. Masalan, telefon orqali hisob-kitob qilish tizimi mijoz tomonidan qilingan qo'ng'iroqlar 5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna haqidagi ma'lumotlarni qabul qiladi, ushbu qo'ng'iroqlar narxini hisoblab chiqadi va ushbu mijoz uchun hisob-kitobni yaratadi. Bundan farqli o'laroq, real vaqtda tizimlar odatda voqealarni boshqarishga asoslangan bo'lib, ma'lumotlar cheklangan holda ishlaydi. Masalan, shahar telefonini kommutatsiya qilish tizimi "qo'ng'iroqni yoqish" kabi voqealarga javob beradi, masalan, qo'ng'iroq ohangini yaratish, telefon raqamini ushlab qolish orqali telefonda tugmalarni bosish va hokazo.
Ma'lumotlarga asoslangan modellar kirish ma'lumotlarini qayta ishlash va tegishli natijalarni yaratishda bajariladigan harakatlar ketma-ketligini ko'rsatadi. Ulardan talablarni tahlil qilishda foydalanish mumkin, chunki ular tizimda oxirigacha ishlov berishni namoyish etadi. Ya'ni, ular dastlabki ishlov berishdan tortib javob berishgacha, ya'ni tizimning javobi bo'lgan barcha harakatlar ketma- ketligini namoyish etadi. Ma'lumotlarga asoslangan modellar birinchi grafik dasturiy ta'minot modellari qatoriga kirdi. 70-yillarda tuzilgan dizayn usullari tizimda ishlov berish bosqichlarini tasvirlash uchun ma'lumotlar oqimi diagrammalaridan (DFD) foydalangan. Axborot oqimlari modellari foydalidir, chunki muayyan jarayon bilan bog'liq ma'lumotlarning tizim orqali qanday o'tishini kuzatib borish va hujjatlashtirish jarayoni tahlilchilar va dizaynerlarga ushbu jarayonda nimalar bo'layotganini tushunishga yordam beradi. DFD sodda va intuitivdir va shuning uchun boshqa model turlariga qaraganda manfaatdor tomonlar uchun qulayroqdir. Odatda ularni modelni tekshirishda ishtirok etadigan potentsial tizim foydalanuvchilariga tushuntirish mumkin. Ma'lumot oqimining diagrammalari 5.1 bo'limida tavsiflangan faoliyat diagrammasidan foydalanib UML-da namoyish etilishi mumkin. 5.4-rasm, insulin pompasi dasturida ishtirok etadigan qayta ishlash zanjirini ko'rsatadigan oddiy faoliyat diagrammasi. Faoliyat (dumaloq to'rtburchaklar) sifatida tasvirlangan ishlov berish bosqichlarini va ob'ektlar (to'rtburchaklar) sifatida namoyish etilgan ushbu qadamlar orasida oqadigan ma'lumotlarni ko'rishingiz mumkin.
5.4-rasm. Insulin pompasi dasturida ishtirok etadigan qayta ishlash zanjirini ko'rsatuvchi oddiy faoliyat diagrammasi. Qondagi qand miqdori sensori Sensor qiymatini olish Sensor sanasi
Qondagi qand miqdori darajasi Qand miqdorini hisoblash Yuboriladigan Insulinni hisoblash Insulin talablari Ukol nazorati buyruqlari Dori yuborish buyrug‟ini hisoblash Dori yuborishni nazorat qilish Insulinni yuborish
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna Tizimda ishlov berish ketma-ketligini ko'rsatadigan alternativ usul UML ketma-ketlik diagrammalaridan foydalanish hisoblanadi. Ushbu diagrammalarni o'zaro munosabatlarni modellashtirish uchun qanday foydalanish mumkinligini ko'rgansiz, ammo agar siz xabarlarni faqat chapdan o'ngga yuboradigan qilib chizib qo'ysangiz, unda ular tizimda ketma-ket ishlov berishni ko'rsatadi. 5.5- rasmda bu buyurtmani qayta ishlash va etkazib beruvchiga yuborishning ketma- ketlik modelidan foydalangan holda ko'rsatilgan. Tizimli modellar tizimdagi ob'ektlarni ajratib ko'rsatishadi, ma'lumot uzatish diagrammalari esa operatsiyalar yoki harakatlarni yoritib beradi. Amalda, tajribali mutaxassislar ma'lumotlar oqimi dia-grammni yanada intuitiv deb hisoblashadi, ammo muhandislar ketma-ketlik diagrammalarini afzal ko'rishadi.
5.5-rasm. Buyurtmani qayta ishlash va etkazib beruvchiga yuborishning ketma- ketlik modeli
Modelga asoslangan arxitektura (Model-driven architecture – MDA) (Mellor, Scott va Weise 2004; Stahl va Voelter 2006) bu tizimni tavsiflash uchun UML modellaridan foydalanadigan dasturiy ta'minotni loyihalash va amalga oshirishga yo'naltirilgan yondoshuv. Bu yerda mavhumlikning turli darajalarida modellar yaratiladi. Yuqori darajadagi platformaning mustaqil modelidan, qoida bo'yicha, qo'lda aralashmasdan ishchi dasturni yaratish mumkin. MDA usuli uch xil mavhum tizim modelini ishlab chiqarishni tavsiya qiladi: 1. Hisoblashning mustaqil modeli ( computation independent model – CIM)
CIMlar tizimda ishlatiladigan muhim domen mavhumliklarini modellashtiradi va shuning uchun ba'zan domen modellari deb ataladi. Siz tizimning turli xil qarashlarini aks ettiradigan bir nechta turli xil CIM-larni ishlab chiqishingiz mumkin. Masalan, xavfsizlik CIM bo'lishi mumkin, bunda siz aktiv kabi muhim :Buyurtma Balans
Buyurtmalar bazasi
Sotuvchi Mijoz
to'ldirish h tasdiqlash [tasdiqlash ma'qullandi] 5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna maxfiylik mavhumliklarini, CIM roli va bemorning yozuvlarini aniqlaysiz, unda siz bemor va maslahat kabi abstraktsiyalarni tavsiflaysiz. 2. Platformaning mustaqil modeli (platform-independent model
PIM)
tizimning ishlashini uning amalga oshirilishiga havola qilmasdan modellashtiradi. Odatda, PIM statik tizim tuzilishini va uning tashqi va ichki hodisalarga qanday javob berishini ko'rsatadigan UML modellaridan foydalanib tavsiflanadi. 3. Platformaning spesifik modellari (platform-specific models – PSM). PSM bu har bir amaliy platforma uchun alohida PSM bo'lgan platformadan mustaqil modelning o'zgarishi. Printsipial jihatdan, PSM qatlamlari bo'lishi mumkin, ularning har birida platformaga ma'lum tafsilotlar qo'shiladi. Shunday qilib, birinchi darajali PSM o'rta dasturlarga xos bo'lishi mumkin, ammo ma'lumotlar bazasiga bog'liq emas. Muayyan ma'lumotlar bazasi tanlanganida, keyinchalik ma'lumotlar bazasiga tegishli PSM yaratilishi mumkin. Modelga asoslangan muhandislik muhandislarga tizimlarni ularni amalga oshirish tafsilotlari haqida qayg'urmasdan, yuqori darajada abstraktsiya to'g'risida o'ylashga imkon beradi. Bu xatolar ehtimolini kamaytiradi, loyihalash va amalga oshirish jarayonini tezlashtiradi va qayta ishlatiladigan, platformadan mustaqil dastur modellarini yaratishga imkon beradi. Kuchli vositalardan foydalanib, bir xil modeldan turli xil platformalar uchun tizimli dasturlarni yaratish mumkin. Shuning uchun tizimni ba'zi yangi plat-form texnologiyasiga moslashtirish uchun siz ushbu platforma uchun namunaviy tarjimon yozasiz. Agar mavjud bo'lsa, platformadan mustaqil bo'lgan barcha modellar tezda yangi platformada tezda joylashtirilishi mumkin.
MDA uchun asos 5.6-rasmda ko'rsatilgandek modellar o'rtasidagi o'zgarishlarni avtomatik ravishda dasturiy vositalar yordamida aniqlash va qo'llash mumkin degan tushunchadir. Ushbu diagrammada shuningdek, belgilangan dasturiy platformada ishlaydigan kodni yaratish uchun PSM-ga transformatsiya qo'llaniladigan avtomatik transformatsiyaning yakuniy darajasi ko'rsatilgan. Shuning uchun, hech bo'lmaganda, bajarilishi mumkin bo'lgan dasturiy ta'minot yuqori darajadagi tizim modelidan yaratilishi mumkin.
Hisoblashning mustaqil modeli Platformaning mustaqil modeli
Platformaning spesific modeli Bajariladigan dastur kodi Domen bo'yicha aniq ko'rsatmalar Platformaning o'ziga xos obraz va qoidalari Tilning o'ziga xos obrazlari
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna Amalda, modellarni kodga to'liq avtomatik tarjima qilish kam uchraydi. Yuqori darajadagi CIM-ni PIM modellariga tarjima qilish tadqiqot muammosi bo'lib qolmoqda va ishlab chiqarish tizimlari uchun odatda 5.6-rasmda ko'rsatilgan tayoq yordamida tasvirlangan inson aralashuvi talab etiladi. Avtomatlashtirilgan modellashtirish uchun juda qiyin muammo, turli xil CIMSda ishlatiladigan tushunchalarni bog'lash zaruratidir. Masalan, CIM shifoxonasida ishlaydigan xodim tushunchasi bilan bog'liq bo'lgan, xavfsizlikni boshqarish tizimidagi rolni boshqarishni o'z ichiga olgan xavfsizlik tushunchasi. Xavfsizlikni va kasalxona muhitini tushunadigan odamgina ushbu xaritani tuzishi mumkin. Hutchinson va uning hamkasblari (Hutchinson, Rouncefild va Uayt 2012) MDA-ning sanoat ishlatilishi to'g'risida hisobot berishdi va ularning ishi modellarga asoslangan ishlanmalarni ishlatishda muvaffaqiyat tizim tizim mahsulotlarida bo'lganligini tasdiqlaydi. Ularning bahosi shundan dalolat beradiki, kompaniyalar ushbu yondashuvni qo'llashda turli xil natijalarga erishdilar, ammo ko'pchilik foydalanuvchilar MDAdan foydalanish samaradorlikni oshirdi va parvarishlash xarajatlarini kamaytirdilar. Ular MDA ayniqsa qayta ishlatishni osonlashtirishda foydaliligini aniqladilar va bu samaradorlikni sezilarli yaxshilanishiga olib keldi. Agile usullar va modelga asoslangan arxitekturalar o'rtasida qiyinchiliklar mavjud. Old tomondan keng qamrovli modellashtirish g'oyasi agile manifestdagi asosiy g'oyalarga ziddir va ba'zi agile ishlab chiquvchilar modelga asoslangan injiniringda o'zlarini qulay his qilishmaydi. Agile usullarni ishlab chiqishda ilg‟orlardan bo‟lgan Ambler, MDA-ning ba'zi jihatlaridan tezkor o‟zgaruvchan (agile) jarayonlarda foydalanish mumkinligini ta'kidlaydi (Ambler 2004), ammo avtomatlashtirilgan kodlarni yaratish imkonsiz deb hisoblaydi. Biroq, Zhang va Patel Motorolaning avtomatlashtirilgan kodlarni ishlab chiqarishda Agile ishlab chiqishdan foydalanishidagi muvaffaqiyatlari haqida xabar berishgan (Zhang va Patel 2011). Xulosa • Model - bu tizimning ba'zi tafsilotlarini ataylab e'tiborsiz qoldiradigan mavhum ko'rinish. Tizimning kontekstini, o'zaro ta'sirini, tuzilishini va xulq- atvorini namoyish etish uchun to'liq tizimli modellarni ishlab chiqish mumkin. • Kontekst modellari modellashtirilayotgan tizim boshqa muhit va jarayonlar bilan muhitda qanday joylashishini ko'rsatadi. Ular ishlab chiqilishi kerak bo'lgan tizimning chegaralarini aniqlashga yordam beradi. • Ishchi diagrammalarni va ketma-ketlik diagrammalarini ishlab chiqilayotgan tizimdagi foydalanuvchilar va tizimlarning o'zaro ta'sirini tavsiflash uchun foydalaniladi. Foydalanish holatlari tizim va tashqi ishtirokchilar o'rtasidagi o'zaro munosabatlarni tavsiflaydi; ketma-ketlik diagrammalariga tizim ob'ektlari o'rtasidagi o'zaro ta'sirlarni ko'rsatish orqali ularga qo'shimcha ma'lumotlar qo'shiladi.
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna • Strukturaviy modellar tizimning tashkil etilishini va arxitekturasini namoyish etadi. Klassik diagrammalar tizimdagi sinflarning statik tuzilishini va ularning birlashmalarini aniqlash uchun ishlatiladi. • Xatti-harakatlar modellari ijro etuvchi tizimning dinamik xatti-harakatlarini tasvirlash uchun ishlatiladi. Ushbu xatti-harakatni tizim tomonidan ishlov berilgan ma'lumotlar nuqtai nazaridan yoki tizim javoblarini rag'batlantiradigan hodisalar orqali modellashtirish mumkin. • Faoliyat sxemalari ma'lumotlarga ishlov berishni modellashtirish uchun ishlatilishi mumkin, bunda har bir faoliyat bitta bosqichni tashkil etadi. • Davlat diagrammalari ichki yoki tashqi hodisalarga javoban tizimning xatti- harakatlarini modellashtirish uchun ishlatiladi. • Modellashtirilgan muhandislik bu dasturiy ta'minotni ishlab chiqishga yondashuv bo'lib, unda tizim avtomatik ravishda bajariladigan kodga o'zgartirilishi mumkin bo'lgan modellar to'plami sifatida takrorlanadi. Topshiriqlar
5.1. Loyihaning qamrovini loyihaning narxini sezilarli darajada oshirishi mumkin bo'lgan loyihani doimiy ravishda ko'paytirish sifatida aniqlash mumkin. Tizim kontekstining to'g'ri modeli qamrab olishni oldini olishga qanday yordam berishi mumkinligini tushuntiring. 5.2. Tizim chegarasi va kontekstning tegishli modelini yaratish usuli loyihaning murakkabligi va narxiga jiddiy ta'sir ko'rsatishi mumkin. Shu holatga oid bo'lgan ikkita misol keltiring. 5.3. Sizdan to'ylar, bitiruv bayramlari va tug'ilgan kunlar kabi keng ko'lamli tadbirlar va kechalarni rejalashtirishda yordam beradigan tizimni ishlab chiqishni taklif qilishdi. Harakatlar diagramidan foydalanib, tadbirni rejalashtirish bilan bog'liq harakatlar (joyni bron qilish, taklifnomalarni tashkil qilish va hk) va har bir bosqichda ishlatilishi mumkin bo'lgan tizim elementlarini ko'rsatadigan tizim uchun jarayon kontekstini modellashtiring. 5.4. Mentcare tizimi uchun bemorlarni ko'radigan va dori-darmonlarni va davolanishni buyuradigan shifokor bilan Mentcare tizimining o'zaro ta'sirini ko'rsatadigan foydalanish holatlari to'plamini taklif eting. 5.5. Talaba universitetga ro'yxatdan o'tishda qatnashadigan o'zaro bog'liqlik diagrammasini tuzing. Kurslarga kirish cheklangan bo'lishi mumkin, shuning uchun ro'yxatdan o'tish jarayoni joylar mavjudligini tekshirishni o'z ichiga olishi kerak. Aytaylik, talabalar mavjud kurslar to'g'risida ma'lumot olish uchun elektron kurslar katalogiga kirishadi. 5.6. Siz foydalanadigan elektron pochta tizimida xabarlar va pochta qutilarining qanday ko'rinishini diqqat bilan ko'rib chiqing. Pochta qutisi va elektron pochta xabarlarini taqdim etish uchun tizimni ishlab chiqishda ishlatilishi mumkin bo'lgan ob'ektlar sinflarini modellashtiring. 5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna 5.7. Bankomatning bankomati bilan ish tajribangizga asoslanib, mijoz naqd pulni
plastik kartadan yechib olganda
ma'lumotlarni qayta
ishlashni modellashtiradigan faoliyat diagrammasini tuzing. 5.8. Xuddi shu tizim uchun ketma-ketlik diagrammasini chizish. Tizimning xatti-harakatlarini modellashtirishda nima uchun harakatlar va ketma-ketlik diagrammalarini ishlab chiqishni xohlashingiz mumkinligini tushuntiring. 5.9. Boshqarish dasturining davlat diagrammalarini chizish: • har xil turdagi kiyimlar uchun har xil dasturlarga ega bo'lgan avtomatik kir yuvish mashinasi; • DVD pleyer uchun dastur; • mobil telefoningizdagi kamerani boshqarish dasturi. Agar telefoningizda bo'lsa, chiroqni e'tiborsiz qoldirmang. 5.10. Asos sifatida, modelga asoslangan arxitekturadan foydalanganda, ishlaydigan dasturlarni yuqori darajadagi modeldan anual aralashuvisiz yaratish mumkin. To'liq avtomatlashtirilgan tarjima vositalarining mavjudligi oldida turgan ba'zi bir qiyinchiliklarni muhokama qiling.
• UML-dagi biron bir kirish kitobi men bu erda qamrab olgandan ko'ra notats haqida ko'proq ma'lumot beradi. UML so'nggi bir necha yil ichida bir oz o'zgardi, shuning uchun bu kitoblarning ba'zilari deyarli 10 yoshda bo'lsa ham, ular hali ham dolzarbdir. • UML-dan foydalanish: Ob'ektlar va komponentlar bilan dasturiy ta'minot muhandisi, 2-nashr. Ushbu kitob UML-ni tizim spetsifikatsiyasi va dizaynida foydalanishga oid qisqa, o'qilishi mumkin bo'lgan kirish qismidir. O'ylaymanki, bu UML notatsiyasini o'rganish va tushunish uchun juda yaxshi, ammo u UML ma'lumotnomasi qo'llanmasida joylashgan UML ning to'liq tavsiflaridan kam qamrovli bo'lsa ham. (P. Stivens bilan R. Puli, Addison-Uesli, 2006) • Amaliyotda dasturiy ta'minot muhandisligi bo'yicha model Ushbu modelga asoslangan yondashuvlar haqida to'liq kitob bo'lib, modelga asoslangan dizayn va amalga oshirishga e'tibor qaratiladi. UML bilan bir qatorda, domenga xos modellashtirish tillarining rivojlanishini ham qamrab oladi. (M. Brambilla, J. Kabot va M. Vimmer. Morgan Kleypool, 2012).
1. Ushbu bo‟limga oid PowerPoint taqdimoti: www.pearsonglobaleditions.com/Sommerville . 2. Videoma‟ruzalarga gipperhavola: http://software-engineering-book.com/videos/requirements-and-design/
Adabiyotlar
1. Ambler, S. W. 2004. The Object Primer: Agile Model-Driven Development with UML 2.0, 3rd ed. Cambridge, UK: Cambridge University Press.
5-mavzu
Ma‟ruzachi: Xidirova Charos Murodilloyevna 2.
Ambler, S. W., and R. Jeffries. 2002. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. New York: John Wiley & Sons.
3. Booch, G., J. Rumbaugh, and I. Jacobson. 2005. The Unified Modeling Language User Guide, 2nd ed. Boston: Addison-Wesley.
4. Brambilla, M., J. Cabot, and M. Wimmer. 2012. Model-Driven Software Engineering in Practice. San Rafael, CA: Morgan Claypool.
5. Den Haan, J. 2011. “Why There Is No Future for Model Driven Development.” http://www. theenterprisearchitect.eu/archive/2011/01/25/why-there-is-no- future-for-model-driven- development/
Erickson, J,, and K Siau. 2007. “Theoretical and Practical Complexity of Modeling Methods.” Comm. ACM 50 (8): 46–51. doi:10.1145/1278201.1278205.
Harel, D. 1987. “Statecharts: A Visual Formalism for Complex Systems.” Sci. Comput. Programming 8 (3): 231–274. doi:10.1016/0167-6423(87)90035-9.
8. Hull, R., and R King. 1987. “Semantic Database Modeling: Survey, Applications and Research
9. Issues.” ACM Computing Surveys 19 (3): 201–260. doi:10.1145/45072.45073.
10. Hutchinson, J., M. Rouncefield, and J. Whittle. 2012. “Model-Driven Engineering Practices in Industry.” In 34th Int. Conf. on Software Engineering, 633–642. doi:10.1145/1985793.1985882.
Jacobsen, I., M. Christerson, P. Jonsson, and G. Overgaard. 1993. Object- Oriented Software Engineering. Wokingham, UK: Addison-Wesley.
12. Koegel, M. 2012. “EMF Tutorial: What Every Eclipse Developer Should Know about EMF.” http:// eclipsesource.com/blogs/tutorials/emf-tutorial/
13. Mellor, S. J., and M. J. Balcer. 2002. Executable UML. Boston: Addison-Wesley.
14. Mellor, S. J., K. Scott, and D. Weise. 2004. MDA Distilled: Principles of Model-Driven Architecture. Boston: Addison-Wesley.
15. OMG. 2012. “Model-Driven Architecture: Success Stories.” http://www.omg.org/mda/products success.htm
Rumbaugh, J., I. Jacobson, and G Booch. 2004. The Unified Modelling Language Reference Manual, 2nd ed. Boston: Addison-Wesley.
17. Stahl, T., and M. Voelter. 2006. Model-Driven Software Development: Technology, Engineering, Management. New York: John Wiley & Sons.
18. Zhang, Y., and S. Patel. 2011. “Agile Model-Driven Development in Practice.” IEEE Software 28 (2): 84–91. doi:10.1109/MS.2010.85. Download 0.74 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling