Ob'ektga yo'naltirilgan tahlil va loyihalash - Object-oriented analysis and design

Dasturiy ta'minotni ishlab chiqish
Asosiy faoliyat
Paradigmalar va modellar
Metodika va ramkalar
Fanlarni qo'llab-quvvatlash
Amaliyotlar
Asboblar
Bilimning standartlari va organlari
Lug'atlar
Konturlar

Ob'ektga yo'naltirilgan tahlil va loyihalash (OOAD) - bu dasturni, tizimni yoki biznesni qo'llash orqali tahlil qilish va loyihalashtirish uchun texnik yondashuv ob'ektga yo'naltirilgan dasturlash, shuningdek, manfaatdor tomonlarning aloqasi va mahsulot sifatini boshqarish uchun dasturiy ta'minotni ishlab chiqish jarayonida vizual modellashtirishdan foydalanish.

Zamonaviy dasturiy ta'minot muhandisligidagi OOAD odatda takroriy va bosqichma-bosqich amalga oshiriladi. OOAD faoliyatining natijalari mos ravishda tahlil modellari (OOA uchun) va dizayn modellari (OOD uchun). Niyat bu xatarlar va biznesning qiymati kabi asosiy omillar ta'sirida doimiy ravishda takomillashtirilgan va rivojlanib borishi.

Tarix

1990-yillarning o'rtalariga qadar ob'ektga yo'naltirilgan texnologiyaning dastlabki kunlarida dasturiy ta'minotni ishlab chiqish va ishlab chiqarish uchun juda ko'p turli xil raqobatlashadigan metodologiyalar mavjud edi. ob'ektga yo'naltirilgan modellashtirish, ko'pincha o'ziga xos xususiyatlarga bog'liq Kompyuter yordamida dasturiy ta'minot (CASE) asbob sotuvchilari. O'sha paytda hech qanday standart yozuvlar, izchil shartlar va qo'llanmalar yomonlashib ketgan asosiy muammo edi aloqa samaradorligi va uzaytirilgan o'rganish egri chiziqlari.

Ob'ektga yo'naltirilgan taniqli dastlabki metodologiyalarning ba'zilari, masalan, gurulardan ilhomlangan Greydi Booch, Jeyms Rumbaugh, Ivar Jeykobson (the Uchta Amigo), Robert Martin, Piter Koad, Salli Shlaer, Stiven Mellor va Rebekka Wirfs-Brock.

1994 yilda Uchta Amigo Rational Software kompaniyasi birgalikda ishlab chiqishni boshladi Birlashtirilgan modellashtirish tili (UML). Keyinchalik, bilan birga Filipp Kruchten va Uoker Roys (katta o'g'li Uinston Roys ), ular o'zlarining metodikalarini birlashtirish bo'yicha muvaffaqiyatli topshiriqni olib borishdi, OMT, OOSE va Booch usuli, boshqa soha rahbarlarining turli tushunchalari va tajribalari bilan Ratsional birlashtirilgan jarayon (RUP), dasturiy ta'minotni ishlab chiqish va loyihalarni boshqarish bo'yicha sanoatning ilg'or tajribalarini o'rganish uchun har tomonlama takrorlanadigan va bosqichma-bosqich qo'llanma va asos.[1] O'shandan beri Birlashtirilgan jarayon oila, ehtimol ob'ektga yo'naltirilgan tahlil qilish va loyihalash uchun eng mashhur metodologiya va mos yozuvlar modeliga aylandi.

Umumiy nuqtai

Dasturiy ta'minotning hayotiy tsikli odatda muammoning mavhum tavsifidan tortib to dizaynga, so'ngra kodlash va sinovdan o'tkazishga va nihoyat joylashtirishgacha bo'lgan bosqichlarga bo'linadi. Ushbu jarayonning dastlabki bosqichlari tahlil va dizayndir. Tahlil bosqichi ko'pincha "talablarni egallash" deb ham ataladi.

OOAD takroriy va bosqichma-bosqich amalga oshiriladi Birlashtirilgan jarayon.

Birgalikda palapartishlik modellari sifatida tanilgan dasturiy ta'minotni ishlab chiqishda ba'zi yondashuvlarda har bir bosqich o'rtasidagi chegaralar juda qat'iy va izchil bo'lishi kerak. "Palapartishlik" atamasi taraqqiyot ketma-ket bir yo'nalishda ketayotganligini anglatuvchi bunday metodologiyalar uchun ishlab chiqilgan, ya'ni tahlil tugallangandan so'ng, keyin loyihalashtirish boshlangan va loyihalash masalasi kamdan-kam uchragan (va xato manbai hisoblangan). tahlil modelini o'zgartirishni talab qilgan yoki kodlash masalasi dizaynni o'zgartirishni talab qilganida.

Palapartishlik modellariga alternativa - takrorlanuvchi modellar. Ushbu farq tomonidan ommalashtirildi Barri Boem takroriy dasturiy ta'minotni ishlab chiqish uchun o'zining Spiral Modelidagi juda ta'sirli maqolada. Takrorlanuvchi modellar yordamida modelning turli bosqichlarida ishlarni parallel ravishda bajarish mumkin. Masalan, tahlil qilish, loyihalash va hattoki kod ustida ishlash va xatolarning manbai sifatida ko'rilmaslik - bir kunda va bir bosqichdan ikkinchisiga ta'sir qilish muammolari bo'lishi mumkin. Takroriy modellarga e'tibor dasturiy ta'minotni ishlab chiqish bilim talab qiladigan jarayon ekanligi va tahlil qilish kabi narsalarni dizayn masalalarini tushunmasdan to'liq tushunish mumkin emasligi, kodlash muammolari dizaynga ta'sir qilishi mumkinligi, sinovlar kod yoki hatto kod haqida ma'lumot berishi mumkin. dizayni o'zgartirilishi kerak va hokazo.[2]

Garchi palapartishlik modelidan foydalangan holda ob'ektga yo'naltirilgan rivojlanishni amalga oshirish mumkin bo'lsa-da, amalda aksariyat ob'ektga yo'naltirilgan tizimlar takrorlanadigan yondashuv bilan ishlab chiqilgan. Natijada, ob'ektga yo'naltirilgan jarayonlarda "tahlil va loyihalash" ko'pincha bir vaqtning o'zida ko'rib chiqiladi.

Ob'ektga yo'naltirilgan paradigma modullik va qayta foydalanishga urg'u beradi. Ob'ektga yo'naltirilgan yondashuvning maqsadi - uni qondirish "ochiq yopiq printsip". Agar kengaytmani qo'llab-quvvatlasa yoki modul yangi xatti-harakatlarni qo'shish yoki yangi holatlarni tavsiflashning standartlashtirilgan usullarini taqdim etsa, modul ochiq. Ob'ektga yo'naltirilgan paradigmada bu ko'pincha mavjud sinfning yangi subklassini yaratish orqali amalga oshiriladi. Agar modul boshqa barcha modullardan foydalanishi kerak bo'lgan va bir modulga boshqasiga o'zgartirish kiritilishi mumkin bo'lgan o'zaro ta'sirni va potentsial xatolarni cheklaydigan aniq belgilangan barqaror interfeysga ega bo'lsa yopiladi. Ob'ektga yo'naltirilgan paradigmada bu ob'ektlarga xizmat ko'rsatadigan usullarni aniqlash orqali amalga oshiriladi. Usullar ommaviy yoki xususiy bo'lishi mumkin, ya'ni ob'ektga xos bo'lgan ba'zi xatti-harakatlar boshqa narsalarga ta'sir qilmaydi. Bu kompyuter dasturida uchraydigan ko'plab xatolar manbasini kamaytiradi.[3]

Dasturiy ta'minotning hayotiy tsikli odatda muammoning mavhum tavsifidan tortib to dizaynga, so'ngra kodlash va sinovdan o'tkazishga va nihoyat joylashtirishgacha bo'lgan bosqichlarga bo'linadi. Ushbu jarayonning dastlabki bosqichlari tahlil va dizayndir. Tahlil va dizayn o'rtasidagi farq ko'pincha "nima va qanday qilib" deb ta'riflanadi. Tahlil jarayonida ishlab chiquvchilar foydalanuvchilar va domen mutaxassislari bilan birgalikda tizim nima qilishi kerakligini aniqlash uchun ishlaydi. Amalga oshirish tafsilotlari ushbu bosqichda asosan yoki umuman (ma'lum bir uslubga qarab) e'tiborga olinmasligi kerak. Tahlil bosqichining maqsadi tegishli texnologiya kabi cheklovlardan qat'iy nazar tizimning funktsional modelini yaratishdir. Ob'ektiv yo'naltirilgan tahlilda bu odatda foydalanish holatlari va eng muhim ob'ektlarning mavhum ta'riflari orqali amalga oshiriladi. Keyingi dizayn bosqichi tahlil modelini takomillashtiradi va kerakli texnologiyani va boshqa amalga oshirishni tanlaydi. Ob'ektga yo'naltirilgan dizaynda asosiy e'tibor turli xil ob'ektlarni, ularning ma'lumotlarini, xulq-atvorini va o'zaro ta'sirlarini tavsiflashga qaratiladi. Dasturchilar kodni loyihalashni amalga oshirishi uchun dizayn modeli zarur bo'lgan barcha tafsilotlarga ega bo'lishi kerak.[4].

Ob'ektga yo'naltirilgan tahlil

Har qanday tahlil faoliyatining maqsadi dasturiy ta'minotning hayotiy tsikli tizimning funktsional talablarining amalga oshirish cheklovlaridan mustaqil modelini yaratishdir.

Ob'ektga yo'naltirilgan tahlilning boshqa tahlil shakllaridan asosiy farqi shundaki, biz ob'ektga yo'naltirilgan yondoshish orqali tizim o'zaro aloqada bo'lgan real dunyo ob'ektlaridan keyin modellashtirilgan xatti-harakatlarni (jarayonlarni) va holatlarni (ma'lumotlarni) birlashtiradigan talablarni ob'ektlar atrofida tashkil qilamiz. Boshqa yoki an'anaviy tahlil metodologiyalarida ikki jihat: jarayonlar va ma'lumotlar alohida ko'rib chiqiladi. Masalan, ma'lumotlar tomonidan modellashtirilgan bo'lishi mumkin ER diagrammalari va xatti-harakatlar oqim jadvallari yoki tuzilish jadvallari.


OOA-da ishlatiladigan keng tarqalgan modellar foydalanish holatlari va ob'ekt modellari. Ishlardan foydalaning tizim bajarishi kerak bo'lgan standart domen funktsiyalari stsenariylarini tavsiflang. Ob'ekt modellari asosiy ob'ektlarning nomlari, sinf munosabatlari (masalan, Circle - Shape subklassi), operatsiyalari va xususiyatlarini tavsiflaydi. Tushunishga yordam beradigan foydalanuvchi interfeysi maketlari yoki prototiplari ham yaratilishi mumkin.[5]


Ob'ektga yo'naltirilgan dizayn (OOD) davomida ishlab chiquvchi ob'ektga yo'naltirilgan tahlilda ishlab chiqarilgan kontseptual modelga nisbatan cheklovlarni qo'llaydi. Bunday cheklovlar apparat va dasturiy ta'minot platformalar, ishlash talablari, doimiy saqlash va operatsiyalar, tizimning qulayligi va byudjetlar va vaqt tomonidan belgilangan cheklovlar. Texnologiyadan mustaqil bo'lgan tahlil modelidagi tushunchalar sinflar va interfeyslarni amalga oshirishda xaritada joylashtiriladi, natijada echim domeni modeli, ya'ni batafsil tavsifi Qanaqasiga tizim aniq texnologiyalar asosida qurilishi kerak.[6]

OOD paytida muhim mavzular dizaynini ham o'z ichiga oladi dasturiy ta'minot me'morchiligi murojaat qilish orqali me'moriy naqshlar va dizayn naqshlari ob'ektga yo'naltirilgan dizayn tamoyillari bilan.

Ob'ektga yo'naltirilgan modellashtirish

Ob'ektga yo'naltirilgan modellashtirish (OOM) - bu ob'ektga yo'naltirilgan paradigmani butun davomida ishlatib, dasturlarni, tizimlarni va biznes sohalarini modellashtirishga keng tarqalgan yondashuv. rivojlanish hayot tsikllari. OOM zamonaviy dasturiy ta'minot muhandisligida OOD va OOA faoliyati tomonidan keng qo'llaniladigan asosiy texnikadir.

Ob'ektga yo'naltirilgan modellashtirish odatda ishning ikki jihatiga bo'linadi: biznes jarayonlari va kabi dinamik xatti-harakatlarni modellashtirish holatlardan foydalanish va sinflar va komponentlar kabi statik tuzilmalarni modellashtirish. OOA va OOD - bu OOM davomida ajralib turadigan ikkita mavhum daraja (ya'ni tahlil darajasi va dizayn darajasi). The Birlashtirilgan modellashtirish tili (UML) va SysML ob'ektga yo'naltirilgan modellashtirish uchun ishlatiladigan ikkita mashhur xalqaro standart tillardir.[7]

OOMning afzalliklari quyidagilardir:

Samarali va samarali aloqa

Foydalanuvchilar odatda keng qamrovli hujjatlar va dasturlash tili kodlarini yaxshi tushunishda qiynaladilar. Vizual model diagrammalari yanada tushunarli bo'lishi mumkin va foydalanuvchilarga va manfaatdor tomonlarga tizimning tegishli talablari va tuzilishi to'g'risida ishlab chiquvchilarga fikr-mulohaza bildirishlariga imkon beradi. Ob'ektga yo'naltirilgan yondashuvning asosiy maqsadi tizim va real dunyo o'rtasidagi "semantik bo'shliqni" kamaytirish va tizimni manfaatdor tomonlar kundalik biznesda ishlatadigan terminologiyadan foydalangan holda tuzishdir. Ob'ektga yo'naltirilgan modellashtirish buni engillashtirish uchun muhim vositadir.

Foydali va barqaror abstraktsiya

Modellashtirish kodlashda yordam beradi. Ko'pgina zamonaviy dasturiy ta'minot metodologiyalarining maqsadi avval "qanday" savollarga murojaat qilish, so'ngra "qanday" savollarga murojaat qilishdir, ya'ni tizimning amalga oshirish cheklovlarini hisobga olmagan holda taqdim etadigan funksionalligini aniqlash, so'ngra ushbu abstraktga qanday qilib aniq echimlarni topish kerakligini ko'rib chiqish. talablar va ularni texnologiya va byudjet kabi cheklovlar asosida batafsil dizayn va kodlarda takomillashtirish. Ob'ektga yo'naltirilgan modellashtirish tizim talablari va dizaynlarining mavhum va tushunarli tavsiflarini ishlab chiqarish orqali bunga imkon beradi, ya'ni. modellar jarayonlar va ob'ektlar kabi muhim tuzilmalari va xatti-harakatlarini belgilaydigan, bu muhim va qimmatli rivojlanish aktivlari bo'lib, aniq va murakkab manba kodidan yuqori abstraktsiya darajalariga ega.

Shuningdek qarang

Adabiyotlar

  1. ^ "Dasturiy ta'minotni ishlab chiqish bo'yicha jamoalar uchun ratsional birlashtirilgan jarayonning eng yaxshi amaliyoti" (PDF). Ratsional dasturiy ta'minot (TP026B). 1998 yil. Olingan 12 dekabr 2013.
  2. ^ Boem B, "Dasturiy ta'minotni ishlab chiqish va takomillashtirishning spiral modeli ", IEEE Computer, IEEE, 21 (5): 61-72, may 1988 yil
  3. ^ Meyer, Bertran (1988). Ob'ektga yo'naltirilgan dasturiy ta'minotni qurish. Kembrij: Kompyuter fanlari bo'yicha xalqaro Prentise Hall seriyasi. p. 23. ISBN  0-13-629049-3.
  4. ^ Yakobsen, Ivar; Magnus Kristerson; Patrik Jonsson; Gunnar Overgaard (1992). Ob'ektga yo'naltirilgan dasturiy ta'minot. Addison-Uesli ACM Press. pp.15, 199. ISBN  0-201-54435-0.
  5. ^ Yakobsen, Ivar; Magnus Kristerson; Patrik Jonsson; Gunnar Overgaard (1992). Ob'ektga yo'naltirilgan dasturiy ta'minot. Addison-Uesli ACM Press. pp.77–79. ISBN  0-201-54435-0.
  6. ^ Conallen, Jim (2000). UML bilan veb-ilovalarni yaratish. Addison Uesli. p.147. ISBN  0201615770.
  7. ^ Yakobsen, Ivar; Magnus Kristerson; Patrik Jonsson; Gunnar Overgaard (1992). Ob'ektga yo'naltirilgan dasturiy ta'minot. Addison-Uesli ACM Press. pp.15, 199. ISBN  0-201-54435-0.

Qo'shimcha o'qish

  • Greydi Booch. "Ob'ektga yo'naltirilgan tahlil va ilovalar bilan loyihalash, 3-nashr":http://www.informit.com/store/product.aspx?isbn=020189551X Addison-Uesli 2007 yil.
  • Rebekka Wirfs-Brock, Brayan Uilkerson, Loran Vayner. Ob'ektga yo'naltirilgan dasturiy ta'minotni loyihalash. Prentice Hall, 1990 yil. [Ob'ektga yo'naltirilgan dasturlash va loyihalashtirishga oddiy kirish.]
  • Ob'ektga yo'naltirilgan dizayn nazariyasi: OOD ning qurilish bloklari va ularni ifodalash uchun yozuvlar (dizayn naqshlariga e'tiborni qaratgan holda).
  • Martin Fauler. Tahlil namunalari: Qayta foydalaniladigan ob'ekt modellari. Addison-Uesli, 1997. [Kontseptual modellar bilan ob'ektiv yo'naltirilgan tahlilga kirish]
  • Bertran Meyer. Ob'ektga yo'naltirilgan dasturiy ta'minotni qurish. Prentice Hall, 1997 yil
  • Kreyg Larman. UML va naqshlarni qo'llash - OOA / D va Iterative Development-ga kirish. Prentice Hall PTR, 3-nashr. 2005., mnnm, n, nnn
  • Setrag Khoshafian. Ob'ektga yo'naltirish.
  • Ulrix Norbisrat, Albert Zyundorf, Ruben Jube. Hikoyaga asoslangan modellashtirish. Amazon Createspace. p. 333., 2013 yil. ISBN  9781483949253.

Tashqi havolalar