EyfelStudio - EiffelStudio - Wikipedia

EyfelStudio uchun rivojlanish muhiti Eyfel dasturlash tili Eiffel Software tomonidan ishlab chiqilgan va tarqatilgan.

EiffelStudio bitta foydalanuvchi interfeysi ostida birlashtirilgan vositalarning kombinatsiyasini o'z ichiga oladi: kompilyator, tarjimon, disk raskadrovka, brauzer, metrikalar vositasi, profiler, diagramma va kod inspektori vositasi. Foydalanuvchi interfeysi bir qator o'ziga xos interfeys paradigmalariga, xususan, samarali ko'rib chiqish uchun "tanlash va tashlash" ga asoslangan.

EiffelStudio bir qator platformalarda, shu jumladan Windows, Linux, Mac OS, Solaris, VMS, RaspberryPi. Manba ostida mavjud GPL; boshqa tijorat litsenziyalari ham mavjud.

Uchta oynani o'z ichiga olgan oyna: sinf manba kodini o'z ichiga olgan muharrir oynasi, tahrir ostidagi sinf manba kodining xususiyatlar ro'yxatini o'z ichiga olgan xususiyatlar paneli va sinfni boshqa sinflar bilan aloqalari bilan piktogramma sifatida ko'rsatadigan diagramma oynasi.
EiffelStudio 7.2 versiyasi, muharriri, xususiyatlari va diagrammasi oynalarini namoyish etadi

Holati, litsenziyasi va jamiyat jarayoni

EiffelStudio - bu an ochiq manbali bilan rivojlanish beta-versiyalari muntazam ravishda mavjud bo'lgan keyingi nashrning.

Eyfel jamoasi uning rivojlanishida faol ishtirok etadi; uning rasmiy veb-sayti Eiffel.org, loyihalar va manbalar ro'yxati berilgan. Resurs kodlari bazasi odatda chiqish orqali mavjud Subversion yoki Git. Shuningdek, muhokama forumlari va shunga o'xshash narsalar mavjud.

Kompilyatsiya texnologiyasi

EiffelStudio juda tez burilish uchun (o'zgarish kattaligiga mutanosib ravishda rekompilyatsiya vaqti emas, balki eritma muzi deb nomlangan ma'lum bir kompilyatsiya texnologiyasidan foydalanadi (Eiffel Software tomonidan savdo belgisi sifatida da'vo qilingan), bu oxirgi kompilyatsiyadan beri o'zgartirilgan elementlarning talqini bilan kompilyatsiyani to'g'ri birlashtiradi. umumiy dastur hajmi). Garchi bunday "eritilgan" dasturlarni etkazib berish mumkin bo'lsa-da, odatiy amaliyot - ozod qilishdan oldin "yakunlash" bosqichini bajarishdir. Yakunlash - bu ancha optimallashtirilgan kompilyatsiya shakli bo'lib, u ko'proq vaqt talab etadi, ammo optimallashtirilgan bajariladigan fayllarni yaratadi.

EiffelStudio-ning tarjimon qismi a ga asoslanadi bayt kodi - yo'naltirilgan virtual mashina. Tuzuvchi ham yaratadi C yoki .NET CIL (umumiy oraliq til).

Qaytish bo'yicha muhandislik

EiffelStudio diagrammasi vositasi dasturiy ta'minot tuzilmalarining grafik ko'rinishini beradi. U ikkalasida ham ishlatilishi mumkin

  • Oldinga yo'naltirilgan muhandislik, grafik tavsiflardan dasturiy ta'minot ishlab chiqarish uchun dizayn vositasi sifatida.
  • Avtomatik ravishda mavjud dastur matnlarining grafik tasvirlarini ishlab chiqaradigan teskari muhandislik.

Ushbu vosita har qanday uslubda kiritilgan o'zgarishlarning yaxlitligini to'liq "aylanib o'tish muhandisligi" uchun kafolatlaydi.

Grafik yozuv ham BON (biznes ob'ekti belgisi, bibliografiyaga qarang) yoki UML. BON standart hisoblanadi.

Foydalanuvchi interfeysi paradigmasi

EiffelStudio ko'plab boshqalarni namoyish etishga imkon beradi qarashlar sinflar va xususiyatlar: matn ko'rinishi (to'liq dastur matni), kontrakt ko'rinishi (faqat interfeys, bilan shartnomalar ), tekis ko'rinish (merosxo'rlik xususiyatlarini o'z ichiga oladi), mijozlar (berilgan sinf yoki xususiyatdan foydalanadigan barcha sinflar va xususiyatlar), meros tarixi (meros tarkibi yuqoriga va pastga qarab nima bo'ladi) va boshqalar.

EiffelStudio asl nusxasiga asoslanadi foydalanuvchi interfeysi "rivojlanish ob'ektlari", "toshlar" va "teshiklar" ga asoslangan paradigma. Xuddi shu tarzda ob'ektga yo'naltirilgan Eyfelda ijro paytida ob'ektlar bilan ishlash, ishlab chiquvchilar sinflar, xususiyatlar, to'xtash nuqtalari (disk raskadrovka uchun), klasterlar (sinflar guruhlari) va boshqalarni ifodalovchi abstraktsiyalar bilan shug'ullanadilar. rivojlanish ob'ektlari. EiffelStudio-da rivojlanish ob'ekti tanlanishi mumkin (tanlangan) interfeysda qaerda ko'rinmasin va uning vizual tasviridan qat'i nazar (ob'ekt nomi, vizual belgi yoki boshqa).

Rivojlanish ob'ektini tanlash uchun uni o'ng tugmasini bosish kifoya. Keyin kursor maxsus belgiga yoki ga aylanadi tosh ob'ekt turiga mos keladi: sinf uchun "qabariq" (ellips), to'xtash nuqtasi uchun nuqta, funktsiya uchun xoch va boshqalar. Kursorni siljitish paytida asl ob'ektdan hozirgi holatiga chiziq ko'rsatiladi. Keyin qila olasiz tushirish toshni har qanday mos keladigan joyga: yoki umumiy shakli bir xil bo'lgan teshikni ifodalovchi belgi (sinf teshigi, sinish teshigi, xususiyat teshigi va boshqalar) yoki mos keladigan oynaga. Asbobga toshni tushirishning ta'siri, bu butun asbobni "tanlangan" rivojlanish ob'ektiga qayta yo'naltirishdir. Masalan, sinf vositasi endi tanlangan sinfni, har qanday ko'rinishda (matn, shartnoma, kvartira va hk) tanlangan holda namoyish etadi. Bu "Pick-and-Drop" paradigmasi sifatida tanilgan.

Ko'p ko'rinishlar va Pick-and-Drop kombinatsiyasi murakkab tizimlar orqali tezkor ko'rib chiqishga va merosxo'rlik xususiyatiga ega bo'lgan ba'zan kengaytirilgan o'zgarishlarni kuzatishga imkon beradi: nomini o'zgartirish, qayta belgilash, belgilash.

Birlik va integratsiyani sinash

EiffelStudio deb nomlangan integral sinov vositasini o'z ichiga oladi EiffelStudio AutoTest [1] bu orqali ishlab chiquvchilar sodda va murakkab bo'linma va integratsiyalashgan sinov to'plamlarini qurishlari mumkin. EiffelStudio AutoTest imkoniyatlari ishlab chiquvchiga Eyfel sinf kodini funktsiya darajasidan (masalan, birlik sinovidan) butun sinf tizimlariga qadar (masalan, integratsiya) amalga oshirish va sinab ko'rish imkoniyatini beradi. Shunday qilib, ushbu kodning bajarilishi, shuningdek, bajarilgan xususiyatlar va atributlarning shartnomalarini bajaradi. Shunday qilib, EiffelStudio AutoTest Shartnoma shartlari bo'yicha Dizaynning "sinovlari" yoki taxminlarini amalga oshirish vositasidir. Shuning uchun birlik va integratsiyalashgan testlar sinf matni kontraktlarida spetsifikatsiya sifatida kodlangan narsalarni tasdiqlash yoki sinash oracle orqali qayta sinovdan o'tkazishga hojat yo'q.

EiffelStudio AutoTest foydalanuvchiga test ishini yaratishning uchta usulini taqdim etadi.

Birinchidan, qo'lda yaratilgan testlar uchun EiffelStudio AutoTest test uchun ramkani o'z ichiga olgan test sinfini yaratadi. Foydalanuvchiga faqat sinov kodini o'zi etkazib berishi kerak.

Ikkinchidan, EiffelStudio AutoTest dasturni ishga tushirish vaqtida ishlamay qolishi asosida yangi test yaratish usulini taqdim etadi. Ushbu turdagi test deyiladi qazib olingan. Maqsadli tizimni ishga tushirishda kutilmagan nosozlik yuz bersa, EiffelStudio AutoTest tuzatuvchida mavjud bo'lgan ma'lumotlardan ish olib borishi mumkin va bu holatni keltirib chiqaradigan chaqiriqlarni takrorlaydi. Muammo bartaraf etilgandan so'ng, chiqarilgan test sinov majmuasiga muammoning regressiyalaridan himoya sifatida qo'shilishi mumkin.

Sinovlarni yaratishning uchinchi usuli nima deyilganini ishlab chiqaradi hosil qilingan testlar. Ushbu stsenariyda foydalanuvchi EiffelStudio AutoTest-ga testlarni yaratish kerak bo'lgan sinflar va testlarni ishlab chiqarishni boshqarish uchun ba'zi qo'shimcha ma'lumotlarni taqdim etadi. Keyinchalik, vosita randomizatsiyalangan argument qiymatlari yordamida maqsadli sinflarda tartib-qoidalarni chaqirishni boshlaydi. Har bir noyob uchun keyingi shart yoki sinf o'zgarmas qoidabuzarlik, EiffelStudio AutoTest muvaffaqiyatsiz qo'ng'iroqni takrorlaydigan yagona yangi testni ishlab chiqaradi.

Tarix

EiffelStudio 1986 yilda chiqarilgan Interfaol dasturiy ta'minot injiniring kompaniyasi (Eyfel dasturiy ta'minotining salafi) tomonidan amalga oshirilgan Eyfel dasturining birinchi amalga oshirilishidan kelib chiqadi. Hozirgi texnologiyaning kelib chiqishi 1990 yilda "EiffelBench" ga borib taqaladi. tilning Eyfel 3 versiyasining dizayni (hujjatlashtirilganidek) Eyfel: Til, bibliografiyaga qarang). EiffelBench 2001 yil atrofida "EiffelStudio" deb o'zgartirildi; bu ayni paytda atrof-muhit Windows va boshqa platformalarni nishonga olish uchun Unix kelib chiqishidan tashqariga chiqqan vaqt.

2001 yildan beri chiqarilgan asosiy nashrlar va ularning har biri uchun ba'zi yangi xususiyatlar quyidagilar:

  • 5.0, 2001 yil iyul: birinchi versiyasi "EiffelStudio" ga mos keladi; grafik dizayn uchun avvalgi "EiffelCase" vositasini EiffelBench bilan birlashtirish, EiffelStudio diagrammasi vositasi shaklida)
  • 5.1, 2001 yil dekabr: .NET-ni qo'llab-quvvatlaydigan birinchi versiya (Matbuot xabari (PDF)). Chiqishdan oldin uni "Eyfel #" deb atashgan [2].
  • 5.2, 2002 yil noyabr: GUI dizayni uchun yangi EiffelBuild, kengaytirilgan disk raskadrovka, C va C ++ integratsiyasining yangi mexanizmlari, Diagramma vositasi uchun yaxshiroq davra yo'llari (Matbuot xabari ).
  • 5.3, 2003 yil mart: Eyfel .NET uchun qo'shimcha kompilyator texnologiyasi mavjud. Eiffel2Java Java interfeysi, EiffelStore (ma'lumotlar bazasi bilan bog'liqlik interfeysi) endi .NET, birinchi Mac OS versiyasi, ishlashni yaxshilash (Matbuot xabari ).
  • 5.4, ​​2003 yil noyabr: yangi konvertatsiya qilish mexanizmi, ish vaqtini yaxshilash (xususan agentlar ), kompilyatsiya tezligining katta yaxshilanishi, ko'p qirrali ishlov berishning yaxshilangan qo'llab-quvvatlanishi, EiffelBuild-ning asosiy yaxshilanishlari, birinchi navbatda yangi mexanizmlarni ECMA Eyfel qo'mitasi, tashqi (masalan, C) tartib-qoidalaridagi oldingi shartlar va keyingi shartlarni qo'llab-quvvatlash, Eyfeldan ortiqcha yuklangan .NET tartiblarini chaqirishning shaffof usuli (masalan, C)Matbuot xabari ).
  • 5.5, 2004 yil sentyabr: docking, takomillashtirilgan tuzatuvchi, ECMA tilining yangi xususiyatlari (Matbuot xabari ).
  • 5.6, 2005 yil avgust: kengaytirilgan diagramma vositasi (UML-ni qo'llab-quvvatlash, majburiy yo'naltirilgan grafikalar, yaxshiroq aylantirish), yangi avlod uchun EiffelCOM sehrgar Microsoft COM komponentlar, sinfni yaxshiroq tugatish, tezroq .NET kod yaratish (Matbuot xabari ).
  • 5.7, 2006 yil oktyabr: ISO / ECMA Eyfel qo'shimchasi (inline agentlar, yangi "kengaytirilgan" semantika, nomlangan tuples, Unicode qo'llab-quvvatlash), qayta ishlash imkoniyatlari, loyiha tizimini sozlashning yangi usuli, ko'rsatkichlar (Matbuot xabari ).
  • 6.0, 2007 yil iyun: ISO / ECMA Eyfel qo'shilishi (ko'p sonli cheklovlar, tamsayılar uchun sakkizli va ikkilik yozuvlar), yangi yorliqli muharrir, foydalanuvchiga ish joyini belgilashga imkon beradigan yangi ulanish imkoniyatlari, kontekst menyusi tanlash va tushirishdan tashqari, qaramlik vositasi. (Matbuot xabari ).
  • 6.1, 2007 yil noyabr: (Matbuot xabari ).
  • 6.2, 2008 yil may: (Matbuot xabari ).
  • 6.3, 2008 yil dekabr: (Matbuot xabari ).
  • 6.4, 2009 yil iyun: (Matbuot xabari ).
  • 6.5, 2009 yil noyabr: (Matbuot xabari ).
  • 6.6, 2010 yil may: (Matbuot xabari ).
  • 6.7, 2010 yil noyabr: (Matbuot xabari ).
  • 6.8, 2011 yil may. Dasturiy ta'minotni amalga oshirishni o'z ichiga oladi SCOOP, Oddiy bir vaqtda ob'ektga yo'naltirilgan dasturlash. (Matbuot xabari ).
  • 7.0, 2011 yil noyabr. Ishlash va funktsional yaxshilanishlarni o'z ichiga oladi SCOOP parallel rivojlanish ob'ekti, GUI kutubxonasi va vositalarni qo'llab-quvvatlash lenta interfeys tuzilmalari, yaxshilangan qo'llab-quvvatlash yaroqsiz dasturiy ta'minotni ishlab chiqish va boshqa ko'plab yaxshilanishlar.
  • 7.1, iyun 2012. o'z ichiga oladi SCOOP protsessor axlat yig'ish. Dastur kodini talablar hujjatlari kabi tegishli tashqi manbalarga bog'laydigan Eyfel Axborot tizimining bir nechta yaxshilanishi.
  • 7.2, 2013 yil fevral.
  • 7.3, 2013 yil iyul.
  • 13.11, 2013 yil dekabr. Ushbu versiya a-dan foydalanishni boshlaganligini anglatadi yangi versiyani raqamlash sxemasi. (Chiqarilgan eslatma ) (Matbuot xabari ).
  • 14.05, 2014 yil, may. Eyfel inspektorining yangi vositasi (kodning yuqori sifatini saqlashga yordam beradigan statik tahlil vositasi). (Matbuot xabari ).
  • 15.01, yanvar 2015. Yangi SCOOP ish vaqti ishlashni sezilarli darajada yaxshilaydi. (Matbuot xabari ).
  • 15.08, 2015 yil avgust. Veb-server dasturini yaratish uchun EiffelWeb echimi yaxshilandi. (Matbuot xabari ).
  • 2015 yil 15.12. Tilni takomillashtirish (agentning yangi turi). (Matbuot xabari ).
  • 16.05, may, 2016 yil. Xizmat ko'rsatilishi. (Matbuot xabari ).
  • 17.01, 2017 yil yanvar. Qo'llab-quvvatlanadigan kompilyatsiya variantlarini hujjatlashtirish va ularni bajarish uchun kutubxona imkoniyatlari mexanizmi. Kod shablonlari. (17.01 versiyasi )
  • 17.05, 2017 yil may. Eskirgan xususiyatlarni yaxshiroq aniqlash. Mahalliy o'zgaruvchilar uchun tanlang va qoldiring. (17.05 chiqishi )
  • 18.01, 2018 yil fevral. Chuqurroq integral kod analizatori. Shartli ifodalar va manifest massivlari uchun takomillashtirilgan turdagi qoidalar. Sinf xususiyatlari. (18.01 versiyasi ).
  • 18.07, iyul 2018. Sinf xususiyatlari uchun qulay qoidalar. Keyingi qavsli iboralar. Masofadagi loyiha maqsadlari. (18.07 versiyasi ).
  • 18.11, Dekabr 2018. Barcha konteynerlar tsiklning takrorlanish shaklida ishlatilishi mumkin, va chiziqli boshqalar boshqalardan boshlanishi mumkin. (18.11 versiyasi ).
  • 19.05, May 2019. Unicode operatorlari, HiDPI, o'lik "sinf" ni olib tashlash, kompilyatorni optimallashtirish. (19.05 versiyasi ).

Kod analizatori

Kod analizatori (avvalgi Inspektor Eyfel) avtomatlashtirilgan Eyfel dasturiy ta'minotni sinovdan o'tkazish va statik tahlil Dastlab magistrlik dissertatsiyasi loyihasi natijasida ishlab chiqarilgan Eyfel Software tomonidan chiqarilgan dastur ETH Tsyurix.[1]

Kod analizatori - bu qoidaga asoslangan statik kodni tahlil qilish vositasi bo'lib, u EiffelStudio-ga o'rnatilgan rejimdan va undan ishlaydi. buyruq satri. U ishlatadi mavhum sintaksis daraxti (AST) Eyfel kompilyatori tomonidan ishlab chiqarilgan va keyin a hosil qiladi oqim oqimi grafigi (CFG), bu asbobdagi kod moduli tomonidan hisoblab chiqilgan. Keyinchalik CFG va ASTga bir qator belgilangan qoidalar tashrif buyuradi. Har qanday qoidaning buzilishi haqida foydalanuvchiga Xatolar, Ogohlantirishlar yoki Maslahatlar sifatida xabar beriladi. Har bir qoida buzilishi aniq qaysi qoida buzilganligi to'g'risida xabar beradi.

Shuningdek qarang

Adabiyotlar

  1. ^ Zurfluh, Stefan; Tschannen, Julian; Meyer, Bertran (2014 yil 1-aprel), Qoidalarga asoslangan kodlarni tahlil qilish (PDF), ETH Tsyurix, olingan 25 may, 2014

Bibliografiya

  • Eyfel dasturi: EyfelStudio qo'llanmasi. Onlayn da https://www.eiffel.org/documentation
  • Bertran Meyer: Eyfel: Til, Prentice Hall, 1991 (ikkinchi qayta ishlangan bosma, 1992).
  • Bertran Meyer.: Ob'ektga yo'naltirilgan muhit: printsiplar va qo'llanmalar, Prentice Hall. 1995 yil (asl EiffelBench asosidagi printsiplarni tavsiflaydi).
  • Kim Valden va Jan-Mark Nerson: Ob'ektga yo'naltirilgan dasturiy ta'minotning uzluksiz arxitekturasi, Prentice Hall, 1995 (BON usuli va yozuvlari tavsifini o'z ichiga oladi).

Tashqi havolalar