Domen muhandisligi - Domain engineering

Domen muhandisligideb nomlangan mahsulot liniyasi muhandisligi, qayta ishlatishning butun jarayoni domen bilimlari yangi ishlab chiqarishda dasturiy ta'minot tizimlar. Bu sistematikada asosiy tushuncha dasturiy ta'minotni qayta ishlatish. Dasturiy ta'minotni muntazam ravishda qayta ishlatishda asosiy g'oya domen. Aksariyat tashkilotlar faqat bir nechta domenlarda ishlaydi. Ular bir-biriga o'xshash tizimlarni turli xil mijozlar ehtiyojlarini qondirish uchun o'zgarishlar bilan ma'lum bir domen ichida quradilar. Har bir yangi tizim variantini noldan yaratishdan ko'ra, yangi tizimlarni yaratish uchun domendagi avvalgi tizimlarning qismlarini qayta ishlatish orqali sezilarli tejashga erishish mumkin.

Domenlarni aniqlash, ularni chegaralash va domendagi tizimlar o'rtasida umumiylik va o'zgaruvchanlikni aniqlash jarayoni deyiladi. domen tahlili. Ushbu ma'lumotlar domenni amalga oshirish bosqichida qayta ishlatilishi mumkin bo'lgan komponentlar kabi asarlar yaratish uchun ishlatiladigan modellarda saqlanadi, a domenga xos til, yoki domendagi yangi tizimlarni yaratish uchun ishlatilishi mumkin bo'lgan dastur generatorlari.

Maqsad

Domen muhandisligi dasturiy asarlaridan qayta foydalanish orqali ishlab chiqilgan dasturiy mahsulotlar sifatini yaxshilashga mo'ljallangan.[1] Domen muhandisligi shuni ko'rsatadiki, ko'pgina ishlab chiqilgan dasturiy ta'minot tizimlari yangi tizimlar emas, balki bir xil sohadagi boshqa tizimlarning variantlari hisoblanadi.[2] Natijada, domen muhandisligidan foydalanish orqali korxonalar avvalgi dasturiy ta'minot tizimlaridan tushunchalar va dasturlardan foydalanib, ularni maqsadli tizimga tatbiq etish orqali daromadlarni maksimal darajada oshirishi va bozorga vaqtni kamaytirishi mumkin.[1][3] Narxlarning pasayishi amalga oshirish bosqichida ham yaqqol ko'rinib turibdi. Bir tadqiqot shuni ko'rsatdiki, domenga xos tillardan foydalanish ikkala sonda ham kod hajmiga yo'l qo'ygan usullari va soni belgilar, 50% dan ortiqqa kamaytirilishi kerak va ularning umumiy soni kod satrlari qariyb 75 foizga kamaytirilishi kerak.[4]

Domen muhandisligi davomida to'plangan bilimlarni olishga qaratilgan dasturiy ta'minot jarayon. Qayta foydalanish mumkin bo'lgan artefaktlarni ishlab chiqish orqali komponentlarni yangi dasturiy ta'minot tizimlarida arzon narxlarda va yuqori sifatli qayta ishlatish mumkin.[5] Chunki bu hammaga tegishli dasturiy ta'minotni ishlab chiqish tsiklining bosqichlari, domen muhandisligi, shuningdek, uchta asosiy bosqichga qaratilgan: tahlil qilish, loyihalash va amalga oshirish, dastur muhandisligi bilan parallel.[6] Bu nafaqat to'plamni ishlab chiqaradi dasturiy ta'minotni amalga oshirish domenga tegishli komponentlar, shuningdek qayta ishlatilishi mumkin va sozlanishi talablar va dizaynlar.[7]

Internetdagi ma'lumotlarning o'sishi va .ning o'sishini hisobga olgan holda Internet narsalar, domen muhandisligi yondashuvi boshqa fanlarga ham tegishli bo'lib kelmoqda.[8] Veb-xizmatlarning chuqur zanjirlarining paydo bo'lishi xizmat kontseptsiyasi nisbiy ekanligini ta'kidlaydi. Bir tashkilot tomonidan ishlab chiqilgan va boshqariladigan veb-xizmatlardan boshqa tashkilot platformaning bir qismi sifatida foydalanish mumkin. Xizmatlar turli xil sharoitlarda ishlatilishi mumkinligi va shuning uchun turli xil konfiguratsiyalarni talab qilishi sababli, xizmatlar oilalari dizayni domen muhandisligi yondashuvidan foydalanishi mumkin.

Bosqichlar

Amaliy muhandislik bilan taqqoslaganda domen muhandisligi. Domen muhandisligining har bir bosqichining natijalari domen muhandisligining keyingi bosqichlariga, shuningdek dastur muhandisligining tegishli bosqichlariga beriladi.

Domen muhandisligi, xuddi dastur muhandisligi singari, uchta asosiy bosqichdan iborat: tahlil, loyihalash va amalga oshirish. Ammo, qaerda dasturiy ta'minot muhandisligi a bitta tizim, domen muhandisligi a yo'naltirilgan oila tizimlar.[6] Yaxshi domen modeli bu jarayonda keyinchalik noaniqliklarni hal qilish uchun mos yozuvlar, domen xususiyatlari va ta'rifi to'g'risidagi bilimlar ombori va domen tarkibiga kiradigan mahsulot ishlab chiqaruvchilariga spetsifikatsiya sifatida xizmat qiladi.[9]

Domen tahlili

Domen tahlili domenni aniqlash, domen haqida ma'lumot to'plash va ishlab chiqarish uchun ishlatiladi domen modeli.[10] Dan foydalanish orqali xususiyati modellari (dastlab. ning bir qismi sifatida o'ylab topilgan xususiyatga yo'naltirilgan domen tahlili usul), domen tahlili domendagi umumiy nuqtalarni va domendagi har xil nuqtalarni aniqlashga qaratilgan.[11] Domen tahlilidan foydalanish orqali sozlanishi o'rniga, talablar va arxitekturalar statik an'anaviy dasturiy muhandislik yondashuvi bilan ishlab chiqariladigan konfiguratsiyalar mumkin.[12]

Domen tahlili sezilarli darajada farq qiladi talablar muhandislik va shunga o'xshash talablarni keltirib chiqarishda an'anaviy yondashuvlar, domen modelida mavjud bo'lgan konfiguratsiya qilinadigan talablarni ishlab chiqish uchun samarasiz. Domen muhandisligini samarali qo'llash uchun, avvalgi bosqichlarda qayta foydalanishni hisobga olish kerak dasturiy ta'minotni ishlab chiqish hayot aylanishi. Rivojlangan xususiyatlar modellarining xususiyatlarini tanlash yordamida texnologiyani qayta ishlatishni ko'rib chiqish juda erta amalga oshiriladi va rivojlanish jarayonida etarli darajada qo'llanilishi mumkin.[13]

Domenni tahlil qilish, avvalambor, domendagi o'tgan tajribadan hosil bo'lgan artefaktlardan olinadi.[10] Mavjud tizimlar, ularning asarlari (masalan dizayn hujjatlari, talab hujjatlari va foydalanuvchi qo'llanmalari ), standartlar va mijozlar domen tahlilini kiritishning potentsial manbalari.[10][14] Biroq, muhandislik talablaridan farqli o'laroq, domen tahlili faqat ma'lumot to'plash va rasmiylashtirishdan iborat emas; ijodiy komponent ham mavjud. Domenni tahlil qilish jarayonida muhandislar domen haqidagi bilimlarni allaqachon ma'lum bo'lgan narsalardan tashqariga chiqarishni va qayta konfiguratsiyani kuchaytirish uchun domenni o'xshashlik va farqlarga ajratishni maqsad qilishadi.[10]

Domen tahlili asosan a ishlab chiqaradi domen modeli, domen ichidagi tizimlarning umumiy va o'zgaruvchan xususiyatlarini ifodalaydi.[10] Domen modeli ushbu tarkibiy qismlarni loyihalashtirish uchun asos bo'lib, arxitektura va tarkibiy qismlarni tuzilishga mos ravishda yaratishda yordam beradi.[15] Effektiv domen modeli nafaqat domendagi turlicha va izchil xususiyatlarni o'z ichiga oladi, balki domenda ishlatiladigan so'z boyligini ham belgilaydi va tizimdagi tushunchalar, g'oyalar va hodisalarni belgilaydi.[10][16] Xususiyat modellari kontseptsiyalarni talab qilinadigan va ixtiyoriy xususiyatlariga ajratib, to'liq rasmiylashtirilgan konfiguratsiya qilinadigan talablar to'plamini ishlab chiqaradi.[17]

Domen dizayni

Domen dizayni domenni tahlil qilish bosqichida ishlab chiqarilgan domen modelini oladi va domendagi barcha tizimlar mos keladigan umumiy arxitekturani ishlab chiqarishni maqsad qiladi.[18] Xuddi shu tarzda dastur muhandisligi funktsional va funktsional bo'lmagan talablar dizayni ishlab chiqarish uchun domen muhandisligining domen dizayni bosqichi domen tahlili bosqichida ishlab chiqilgan sozlanishi talablarni qabul qiladi va tizimlar oilasi uchun sozlanishi, standart echimini ishlab chiqaradi. Domen dizayni, turli xil konfiguratsiyalarga qaramay, domen tizimidagi umumiy muammoni hal qiladigan me'moriy naqshlarni ishlab chiqarishga qaratilgan.[19] Domenlarni loyihalash paytida naqshlarni ishlab chiqishdan tashqari, muhandislar naqsh doirasini va kontekstga tegishli bo'lgan darajani aniqlashga ham e'tibor berishlari kerak. Kontekstni cheklash juda muhimdir: juda ko'p kontekst naqshning ko'plab tizimlarga mos kelmasligiga olib keladi va juda oz kontekst natijalari foydali bo'lishi uchun etarli darajada kuchga ega emas.[20] Foydali naqsh tez-tez takrorlanadigan va sifatli bo'lishi kerak.[21]

Domen dizaynining maqsadi, ishlab chiqilgan xususiyatlar modeli tomonidan taqdim etilgan moslashuvchanlikni saqlab, iloji boricha ko'proq domen talablarini qondirishdir. Arxitektura domendagi barcha tizimlarni qondirish uchun etarlicha egiluvchan bo'lishi kerak va shu bilan birga qarorni asoslash uchun mustahkam asos yaratishi kerak.[22]

Domenni amalga oshirish

Domenni amalga oshirish - bu domenda moslashtirilgan dasturni samarali yaratish uchun jarayon va vositalarni yaratish.

Tanqid

So'nggi paytlarda domen muhandisligi "foydalanish uchun muhandislik" ga diqqatni jamlash o'rniga, umumiy dasturiy ta'minot xususiyatlarini "qayta ishlatish uchun muhandislik" yoki "qayta ishlatish bilan qayta ishlash" ga juda ko'p e'tibor qaratgani uchun tanqid qilinmoqda. til yoki kontekst dasturiy ta'minot dizayniga kiritilgan.[23]

Shuningdek qarang

Adabiyotlar

Manbalar

  • Batory, Don; Jonson, Kley; Makdonald, Bob; fon Xeder, Deyl (2002). "Mahsulot qatorlari va domenga xos tillar orqali kengayishga erishish: amaliy ish". Dasturiy ta'minot muhandisligi va metodikasi bo'yicha ACM operatsiyalari. ACM. 11 (2): 191–214. CiteSeerX  10.1.1.100.7224. doi:10.1145/505145.505147. S2CID  7864469.CS1 maint: ref = harv (havola)
  • Buschmann, Frank; Xeni, Kevlin; Shmidt, Duglas S. (2007). Naqshli dasturiy ta'minot arxitekturasi: naqsh va naqsh tillarida. 5. John Wiley & Sons. ISBN  978-0-471-48648-0.CS1 maint: ref = harv (havola)
  • Tsarnecki, Kshishtof; Eyzenecker, Ulrich W. (2000). Umumiy dasturlash: usullari, vositalari va ilovalari. Boston: Addison-Uesli. ISBN  0-201-30977-7.CS1 maint: ref = harv (havola)
  • Falbo, Rikardo de Almediya; Gizzardi, Jankarlo; Duarte, Katia Kristina (2002). "Domen muhandisligiga ontologik yondashuv". Dasturiy ta'minot va bilim muhandisligi bo'yicha 14-xalqaro konferentsiya materiallari. ACM: 351–358. CiteSeerX  10.1.1.19.2577. doi:10.1145/568760.568822. ISBN  1581135564. S2CID  16743035.CS1 maint: ref = harv (havola)
  • Kang, Kyo S.; Li, Djejun; Kim, Kijoo; Kim, Jerar Jounxyun; Shin, Euiseob; Huh, Moonhang (2004 yil oktyabr). "FORM: domenga xos mos yozuvlar arxitekturasi bilan xususiyatga yo'naltirilgan qayta foydalanish usuli". Dastur muhandisligi yilnomalari. Springer Niderlandiya. 5: 143–168. CiteSeerX  10.1.1.95.7568. doi:10.1023 / A: 1018980625587. S2CID  1830464.CS1 maint: ref = harv (havola)
  • Frakes, Uilyam B.; Kang, Kyo (2007 yil iyul). "Dasturiy ta'minotni qayta ishlatishni o'rganish: holati va kelajagi". Dasturiy injiniring bo'yicha IEEE operatsiyalari. 31 (7): 529–536. CiteSeerX  10.1.1.75.635. doi:10.1109 / tse.2005.85. S2CID  14561810.CS1 maint: ref = harv (havola)
  • Xarsu, Maarit (2002 yil dekabr). Domen muhandisligi bo'yicha so'rov (PDF) (Hisobot). Dasturiy ta'minot tizimlari instituti, Tampere Texnologiya Universiteti. p. 26. ISBN  9789521509322.CS1 maint: ref = harv (havola)
  • Mettler, Tobias (2017). "Sog'liqni saqlash uchun professional ijtimoiy tarmoqni kontekstualizatsiya qilish: aksiyalarni loyihalashtirish tadqiqotlari tajribalari" (PDF). Axborot tizimlari jurnali. 28 (4): 684–707. doi:10.1111 / isj.12154.CS1 maint: ref = harv (havola)
  • Reyxartz-Berger, Iris; Shturm, Arnon; Klark, Toni; Koen, Sholom; Bettin, Jorn (2013). Domen muhandisligi: mahsulot yo'nalishlari, tillar va kontseptual modellar. Springer Science + Business Media. ISBN  978-3-642-36654-3.CS1 maint: ref = harv (havola)