Birlashtirilgan jarayon. Yagona RUP ishlab chiqish jarayoni

Birlashtirilgan jarayon- bu dasturiy ta'minotni yaratish jarayonining umumlashtirilgan doirasi bo'lishi mumkin keng ko'lamli dasturiy ta'minot tizimlari uchun ixtisoslashgan. Birlashtirilgan jarayon dasturiy ta'minot tizimining modelini ishlab chiqish uchun birlashtirilgan modellashtirish tilidan foydalanadi.

    asosiy xavf-xatarlarga hujum qilishni boshlang, uni doimiy ravishda bajaring, aks holda xavflar sizga hujum qiladi.

    mijozning talablari bajarilishini ta'minlash: talablarni mijoz tushunadigan tarzda hujjatlashtirish va loyihalash va amalga oshirish jarayonida ushbu talablarga qat'iy rioya qilish.

    bajarilayotgan dasturga e'tibor qarating: keng qamrovli hujjatlardan ko'ra testlardan yaxshiroq o'tadigan ishlaydigan dasturiy mahsulot

    loyihaning boshidanoq o'zgarishlarga moslashing: zamonaviy ilovalar etarlicha murakkab bo'lib, biz rivojlanishning boshida aniq talablarni olishimiz mumkin. Shuning uchun dasturiy ta'minot arxitekturasini o'zgarishlarga moyil bo'ladigan tarzda loyihalash kerak.

    iloji boricha tezroq bajariladigan arxitekturaning poydevorini qo'ying. Bajariladigan arxitektura - kalitlardan foydalanish holatlari. Kalit VI - bu tizimning funksionalligi, ularsiz dasturiy ta'minot mantiqiy emas. Kalit. VI barcha variantlarning 7-10% ni tashkil qiladi

    komponentlardan tizim qurish. Komponentlarga asoslangan ilovalar tezroq quriladi, o'zgarishlar nuqtai nazaridan ancha moslashuvchan va nisbatan arzon.

    1 jamoa bo'lib ishlash

    sifatni o'ylash emas, balki hayot tarziga aylantiring

6 Birlashtirilgan jarayonning hayot aylanishi. Har bir bosqichning maqsadlari.

Birlashtirilgan jarayon davriy ravishda takrorlanadi. Yagona jarayonni takrorlashning ushbu ketma-ketligi tizimning hayot aylanishini ifodalaydi. Har bir tsikl mahsulot ishlab chiqarishni xaridorlarga yetkazib berish bilan tugaydi.

Har bir tsikl to'rt bosqichdan iborat - talablarni tahlil qilish va rejalashtirish, loyihalash, qurish va amalga oshirish. Har bir bosqich, quyida muhokama qilinganidek, yana iteratsiyalarga bo'linadi.

Davomida tahlil qilish va rejalashtirish bosqichlari talablar yaxshi fikr tayyor mahsulot kontseptsiyasiga aylanadi va ushbu mahsulotni ishlab chiqish bo'yicha biznes-reja tuziladi. Xususan, ushbu bosqichda quyidagi savollarga javob berish kerak:

    Tizim asosiy foydalanuvchilari uchun birinchi navbatda nima qilishi kerak?

    Tizim arxitekturasi qanday bo'lishi kerak?

    Reja qanday va mahsulotni ishlab chiqish qancha turadi?

Ushbu bosqichda arxitekturaning sinov versiyasi yaratiladi. Bu odatda eng muhim quyi tizimlarni o'z ichiga olgan kontur. Ushbu bosqichda eng muhim xavflar aniqlanadi va ustuvorlik belgilanadi, loyihalash bosqichi batafsil rejalashtirilgan va umumiy loyiha taxminan taxmin qilinadi.

Davomida dizayn bosqichlari ko'pchilik foydalanish holatlari batafsil tavsiflangan va tizim arxitekturasi ishlab chiqilgan.

Loyihalash bosqichining oxirida loyiha menejeri faoliyatni rejalashtirish va loyihani bajarish uchun zarur bo'lgan resurslarni hisoblash bilan shug'ullanadi. Shu nuqtada asosiy savol quyidagicha bo'ladi: foydalanish holatlari, arxitektura va dizayn etarlicha etukmi va nazorat ostidagi xavflar rivojlanish ishlarini yakunlash uchun shartnoma majburiyatini kafolatlash uchun etarlimi?

Davomida qurilish bosqichlari mahsulot yaratilmoqda - mushaklar (tugallangan dasturlar) skeletga (arxitektura) qo'shiladi. Ushbu bosqichda me'morchilikning asosiy darajasi to'liq etuk tizimga aylanadi. Kontseptsiyalar foydalanuvchilarga topshirishga tayyor mahsulotga aylantiriladi. Faza davomida zarur resurslar miqdori ortadi. Ushbu bosqichning oxirida mahsulot rahbariyat va mijoz joriy nashrga kiritishga kelishib olgan barcha foydalanish holatlarini o'z ichiga oladi. To'g'ri, ularda xatolar bo'lishi mumkin. Ko'pgina kamchiliklar amalga oshirish bosqichida topiladi va tuzatiladi. Bosqichning asosiy yakuniy savoli: mahsulot ba'zi mijozlarga oldindan yetkazib berilishi mumkin bo'lgan darajada foydalanuvchi talablariga javob beradimi?

Amalga oshirish bosqichi mahsulot beta versiyasi yoki beta versiyasi sifatida mavjud bo'lgan davrni qamrab oladi. Mahsulotning beta-versiyasi bilan ishlaydigan oz sonli malakali foydalanuvchilar nuqsonlar va kamchiliklar haqida xabar berishadi. Keyinchalik ishlab chiquvchilar topilgan xatolarni tuzatadilar va taklif qilingan ba'zi yaxshilanishlarni keng tarqatishga tayyor bo'lgan yirik nashrga kiritadilar. Amalga oshirish bosqichi nusxalarini ishlab chiqarish, mijozlar xodimlarini o'qitish, ishonch telefoni yordamini tashkil etish va etkazib berishdan keyin aniqlangan kamchiliklarni tuzatish kabi tadbirlarni o'z ichiga oladi.

Ratsional Unified Process (RUP) eng yaxshi rivojlanish metodologiyalaridan biridir dasturiy ta'minot, Rational Software tomonidan yaratilgan. Ko'pgina muvaffaqiyatli dasturiy ta'minot loyihalari tajribasiga asoslanib, Yagona jarayon sanoatni rivojlantirish usullariga asoslangan murakkab dasturiy ta'minot tizimlarini yaratishga imkon beradi. RUP tayanadigan asosiy ustunlardan biri bu Yagona modellashtirish tili (UML) yordamida modellarni yaratish jarayonidir. Ushbu maqola Rational Software metodologiyasidan foydalangan holda dasturiy ta'minot tizimlarini ishlab chiqish ish jarayonida UML diagrammalaridan foydalanish haqida.

Hech kimga sir emaski, dasturiy ta'minotni yaratish murakkab jarayon bo'lib, u bir tomondan ijodkorlik bilan ko'p umumiyliklarga ega bo'lsa, ikkinchi tomondan, bu juda daromadli bo'lsa-da, ayni paytda qimmat biznesdir. Bozordagi shiddatli raqobat ishlab chiquvchilarni ko'proq izlashga majbur qiladi samarali usullar ish. Dasturiy ta'minot tizimlarini yaratish usullari ko'proq Qisqa vaqt, kamroq xarajat va eng yaxshi sifat. Dasturlarning murakkabligi doimiy ravishda oshib bormoqda. So'nggi paytgacha dasturiy mahsulotlar jismoniy shaxslar tomonidan yoki, masalan, avtomatlashtirilgan korxonaning IT bo'limida yaqin vaqt ichida yaratilishi mumkin edi.

Hozirgi vaqtda tizzada dasturlarni yaratadigan shaxslar kichik kommunal xizmatlar va "og'ir" dasturiy mahsulotlar uchun turli xil kengaytmalar modullari bilan qolmoqda. Kelajak dasturiy ta'minotni yaratishga sanoat yondashuviga tegishli. 1913 yilda Genri Ford birinchi avtomobil yig'ish liniyasini ishga tushirdi va 90-yillarda shunga o'xshash yig'ish liniyasi IT texnologiyalari sohasida qo'llanila boshlandi. Jamoani rivojlantirish butunlay boshqacha yondashuvni va ertami-kechmi yaratilishi kerak bo'lgan boshqa metodologiyani talab qiladi.

Rational Software Corporation (http://www.rational.com) deyarli har qanday dasturiy mahsulotni yaratish uchun keng qamrovli tavsiyalar to'plami bo'lgan Rational Unified Process (RUP) deb nomlangan tuzilgan bilimlar bazasini chiqardi. Eng yaxshi ishlanmalar tajribasini o'zlashtirgan RUP, natijaga erishish uchun loyihada qachon, kim va nima qilish kerakligini batafsil aytib beradi. dasturiy ta'minot tizimi belgilangan muddatlarda, ma'lum funksionallik bilan va ajratilgan byudjet doirasida.

Birlashtirilgan jarayonni yig'indi sifatida ko'rsatish mumkin har xil turlari mijozlar talablarini dasturiy ta'minot tizimiga aylantirish uchun zarur bo'lgan ishlab chiqish kompaniyasining faoliyati. Foydalanuvchilarga "mazmunli natijalar" beradigan va ular tizimdan kutganlarini bajaradigan tizim. Shuning uchun jarayon tizimdan foydalanish holatlari yoki boshqacha tarzda - pretsedentlar bilan boshqariladi.

Mijozlarning talablarini o'z vaqtida amalga oshirish uchun Yagona jarayon iteratsiyalardan iborat bosqichlarga bo'linadi, shuning uchun jarayon iterativ va qo'shimcha deb ataladi. Har bir iteratsiya asosiy ish tsiklidan o'tadi va ishlab chiquvchilarni yakuniy maqsadga olib keladi: dasturiy ta'minot tizimini yaratish. Takrorlashlar davomida loyihani muvaffaqiyatli yakunlash uchun zarur bo'lgan oraliq artefaktlar va ma'lum funktsiyalar to'plamini amalga oshiradigan dasturiy ta'minot tizimining versiyasi yaratiladi, bu iteratsiyadan iteratsiyagacha ortadi. Jarayonning bosqichlari va asosiy ish oqimlari rasmda ko'rsatilgan. 1, u erda bosqichma-bosqich ishning taxminiy mehnat xarajatlari ham berilgan.

guruch. 1 RUP bosqichlari va ish oqimlari

Shuni ta'kidlash kerakki, rasmda. 1-rasmda faqat Yagona jarayonning asosiy ishi ko'rsatilgan. Misol uchun, diagrammani chalkashtirmaslik uchun faoliyatni boshqarish faoliyati bu erda ko'rsatilmagan.

Barcha dasturiy ta'minotni ishlab chiqish RUPda artefaktlarni yaratish jarayoni sifatida ko'rib chiqiladi. Loyihaning har qanday natijasi, xoh u manba matnlari, xoh ob'ekt modullari, foydalanuvchiga uzatiladigan hujjatlar, modellar - bu barcha loyiha artefaktlarining kichik sinflari. Loyiha jamoasining har bir a'zosi o'z artefaktlarini yaratadi va ular uchun javobgardir. Dasturchi dasturni yaratadi, menejer loyiha rejasini tuzadi va tahlilchi tizim modellarini yaratadi. RUP qachon, kim tomonidan va qanday artefakt yaratilishi, o'zgartirilishi yoki ishlatilishi kerakligini aniqlash imkonini beradi.

Loyiha artefaktlarining eng qiziqarli sinflaridan biri bu modellar bo'lib, ular ishlab chiquvchilarga dasturiy ta'minot tizimi artefaktlarini aniqlash, vizualizatsiya qilish, qurish va hujjatlashtirish imkonini beradi. Har bir model ishlab chiqilayotgan tizimning o'ziga xos ko'rinishi bo'lib, muammolarni tasvirlash va yechimlarni taklif qilish uchun mo'ljallangan. Modellarning o'zini-o'zi ta'minlashi analitik yoki ishlab chiquvchining boshqa manbalarga murojaat qilmasdan, ma'lum bir modeldan o'ziga kerakli barcha ma'lumotlarni olishi mumkinligini anglatadi.

Modellar kelajakdagi tizimni, uning ob'ektlarini va ularning o'zaro ta'sirini rivojlanishga katta mablag 'sarflashdan oldin ham ko'rib chiqishga imkon beradi; ular kelajakdagi foydalanuvchilarning tashqi tomondan va ishlab chiquvchilarning ko'zlari bilan, hatto manbaning birinchi qatoridan oldin ham ko'rishga imkon beradi. kod yaratiladi. Aksariyat modellar UML diagrammalari bilan ifodalanadi, siz UML haqida ko'proq ma'lumot olishingiz mumkin, masalan.

Yagona modellashtirish tili 80-yillarning oxiri va 90-yillarning boshlarida, asosan, "uch do'st" Gradi Bucha, Jim Rembo va Ivar Jeykobsonning sa'y-harakatlari tufayli paydo bo'ldi. Endi u OMG konsorsiumi tomonidan standart modellashtirish tili sifatida qabul qilingan bo'lib, u ishlab chiquvchilarga modellarni loyihadagi har bir kishi tomonidan umumiy qabul qilingan va tushunarli bo'lgan grafik elementlarda ko'rsatishga imkon beruvchi aniq belgi bilan ta'minlaydi.

Ammo shuni unutmasligimiz kerakki, modellashtirish tili faqat yozuvni ta'minlaydi - tizimni tavsiflash va modellashtirish vositasi va birlashtirilgan jarayon ushbu vositadan foydalanish metodologiyasini, shuningdek Rationalning boshqa metodologiyasini qo'llab-quvvatlash vositalarini belgilaydi. UML dan ma'lum bir metodologiyasiz foydalanish mumkin, chunki u jarayondan mustaqil va qaysi jarayon opsiyasi qo'llanilishidan qat'i nazar, ishlab chiqish jarayonida qabul qilingan qarorlarni hujjatlashtirish va yaratilgan modellarni ko'rsatish uchun diagrammalardan foydalanishingiz mumkin.

Dasturiy ta'minot tizimi dasturchilar uchun yangi texnologiyalarni sinab ko'rish va loyiha menejeri uchun tajriba orttirish uchun emas, balki foydalanuvchining muayyan muammolarini hal qilish uchun yaratilgan. Umuman olganda, ishlab chiqish jarayonida ob'ektga yo'naltirilgan yondashuv, UML, RUP dan foydalanasizmi yoki XP (ekstremal dasturlash) usulidan foydalangan holda tizim yaratasizmi, foydalanuvchining ahamiyati yo'q. Muayyan usullardan, texnologiyalardan foydalanish va loyihaning optimal ichki tuzilishini yaratish ishlab chiquvchilarning vijdoniga bog'liq bo'lib, ular oldingi tajriba va o'z xohishlariga ko'ra qaror qabul qiladilar. Biroq, foydalanuvchi o'z talablarini e'tiborsiz qoldirganingizni kechirmaydi. Agar dasturiy ta'minot tizimi o'ta zamonaviy uslub va texnologiyalar yordamida kamida o'n marta ishlab chiqilgan bo'lsa ham, foydalanuvchi undan "mazmunli natija" deb atalmasa, sizning dasturiy ta'minot loyihasi ayanchli muvaffaqiyatsizlikka uchraydi.

Bundan kelib chiqadiki, UML-ni o'ylamasdan qo'llash, moda bo'lgani uchun, nafaqat rivojlanishni muvaffaqiyatga olib keladi, balki katta hajmdagi qo'shimcha adabiyotlarni o'rganishi kerak bo'lgan xodimlar va loyiha menejerlari orasida norozilikni keltirib chiqarishi mumkin. loyiha bo'yicha mehnat xarajatlari oshadi va daromadlar o'smaydi. Ushbu texnologiyani amalga oshirishdan nimani olishni xohlayotganingizni aniq tushunishingiz va ushbu maqsadga amal qilishingiz kerak. UML-dan foydalanish ishlab chiqish resurslarini tejaydi, chunki bu tizim haqida tasavvurga ega bo'lish uchun sxemalar va prototiplarni yaratishdan ko'ra tezroq, beqiyos kamroq resurslarni sarflashga imkon beradi.

Diagrammalar loyiha a'zolarining bir-biri bilan muloqot qilishlarini osonlashtiradi va ayniqsa qimmatli bo'lgan narsa tizimning oxirgi foydalanuvchilarini jarayonga jalb qiladi. Modellashtirish sizga loyiha xatarlarini kamaytirishga imkon beradi, chunki dasturchilar uchun noaniq natijaga borishdan ko'ra aniq va tushunarli narsalarni qilish har doim osonroqdir. Diagrammalarni yaratish qurilishda loyihani yaratishga o'xshaydi - siz usiz ham qilishingiz mumkin, masalan, yozgi uyda shiypon qurishda, ammo bino qanchalik katta bo'lsa (bizning holatlarimizda dasturiy mahsulot), bu qanchalik qiyin bo'lsa. qilish va yakuniy natija qanchalik noaniq.

Bir marta men o'n yil davomida bozorda ancha muvaffaqiyatli bo'lgan, lekin ish jarayonida modellashtirishdan umuman foydalanmagan, balki prototiplarga asoslangan dasturiy ta'minot kompaniyasida RUP bo'yicha seminar o'tkazganman. Zalda yigirmaga yaqin yosh va tajribali dasturchilar yig'ildi, ular RUP va UML haqida aytganlarimni diqqat bilan tinglashdi. Ulardan biri misol diagrammalari bilan qoplangan taxtaga qarab shunday dedi: "Bularning barchasi qiziqarli va ehtimol boshqa loyihalar uchun yaxshidir," dedi u, "lekin biz bularning barchasisiz ancha vaqtdan beri ishlayapmiz, chunki biz Biz hali ham UMLsiz boshqardik, ehtimol bizga kerak emas.

Bu savol meni dasturiy ta'minot ishlab chiqaruvchi kompaniyada RUP va UML ni joriy qilishda muqarrar ravishda ro'y berishi kerak bo'lgan biznes jarayonlaridagi o'zgarish sanoat korxonasida axborot tizimini joriy qilish kabi qiyin bo'lishi mumkin degan fikrni uyg'otdi.Har qanday amalga oshirish stereotiplarni buzishdir. Dasturiy ta'minotni ishlab chiquvchi kompaniya xodimlarining malakasi ancha yuqori bo'lganligi sababli, bunday odamlar uchun "oddiy odamlarga" qaraganda o'z qarashlaridan voz kechish qiyinroq va yuzaga keladigan qiyinchiliklar va rad etishni protsessualdan ob'ektga o'tish bilan taqqoslash mumkin. yo'naltirilgan fikrlash.

1.Talablarning ta'rifi

Birlashtirilgan jarayon - bu foydalanuvchilarning o'zaro ta'siri stsenariylarini aks ettiruvchi foydalanish holatlariga asoslangan jarayon. Aslida, bu foydalanuvchilarning dasturiy ta'minot tizimiga tashqi ko'rinishi. Shunday qilib, RUP ma'lumotlariga ko'ra, rivojlanishning eng muhim bosqichlaridan biri faqat foydalanuvchilar va tahlilchilarning xayoliga kelishi mumkin bo'lgan tizimning ishlashi uchun barcha mumkin bo'lgan istaklarni to'plashdan iborat bo'lgan talablarni aniqlash bosqichi bo'ladi. Keyinchalik, bu ma'lumotlarni tizimlashtirish va tizimlashtirish kerak bo'ladi, ammo bu bosqichda foydalanuvchilar bilan suhbatlar va hujjatlarni o'rganish orqali tahlilchilar kelajakdagi tizim uchun iloji boricha ko'proq talablarni to'plashlari kerak, bu birinchi qarashda ko'rinadigan darajada oddiy emas. Foydalanuvchilar ko'pincha oxirida nima olishlari kerakligini bilishmaydi. Ushbu jarayonni osonlashtirish uchun tahlilchilar foydalanish holatlari diagrammalaridan foydalanadilar (2-rasm).

2-rasm. Foydalanish misoli diagrammasiga misol

Diagramma - bu tizim bilan o'zaro aloqada bo'lgan aktyorlar (aktantlar) va dasturiy ta'minot ob'ektlarining ularning harakatlariga reaktsiyasi. Aktyorlar ham foydalanuvchilar, ham axborotni uzatishi yoki qabul qilishi kerak bo'lgan tashqi agentlar bo'lishi mumkin. Foydalanish holati belgisi tizimning tashqi kiritishga munosabatini aks ettiradi va faol uchun nima qilish kerakligini ko'rsatadi.

Muayyan foydalanish holatini batafsil bayon qilish uchun faoliyat diagrammasi qo'llaniladi, uning misoli 3-rasmda keltirilgan.

guruch. 3 Faoliyat diagrammasiga misol

Foydalanish diagrammasining soddaligi tahlilchilarga talablarni aniqlash jarayonida mijozlar bilan oson muloqot qilish imkonini beradi, tizimga qo'yiladigan cheklovlarni va individual talablarni amalga oshirishda, masalan, tizimning javob vaqti, keyinchalik ular ishlamaydigan bo'limga kiradi. talablar.

Foydalanish diagrammasi test stsenariylarini yaratish uchun ham ishlatilishi mumkin, chunki foydalanuvchilar va tizim o'rtasidagi barcha o'zaro aloqalar allaqachon aniqlangan.

Talablarni to'g'ri aniqlash uchun ishlab chiquvchilar kelajakdagi tizim ishlaydigan kontekstni (mavzu sohasining bir qismini) tushunishlari kerak. Buning uchun domen modeli va biznes modeli yaratiladi, ular bir xil masalaga turlicha yondashuvlardir. Ko'pincha bitta narsa yaratiladi: domen modeli yoki biznes modeli.

Ushbu modellar orasidagi farq shundaki, domen modeli tizim ishlaydigan muhim tushunchalarni va ularning bir-biri bilan aloqalarini tavsiflaydi. Holbuki, biznes modeli tizim qo'llab-quvvatlashi kerak bo'lgan biznes jarayonlarini (mavjud yoki kelajak) tavsiflaydi. Shu sababli, ushbu model jarayonga jalb qilingan biznes ob'ektlarini belgilashdan tashqari, ishchilarni, ularning mas'uliyatini va ular bajarishi kerak bo'lgan harakatlarini belgilaydi.

Domen modelini yaratish uchun oddiy sinf diagrammasi qo'llaniladi (6-rasm), lekin biznes modelini yaratish uchun bu etarli emasligi aniq. Bunday holda, biznes-jarayonlarning mohiyatini aks ettiruvchi qo'shimcha piktogrammalardan foydalangan holda foydalanish diagrammasi qo'llaniladi - bular tadbirkorlik sub'ekti, biznesdan foydalanish holati, tadbirkorlik sub'ekti va biznes boshqaruvi. Bu model ishlab chiqish jarayonida yaratilgan keyingi model - tahlil modeliga ancha yaqinroq.

2. Tahlil

Tizimning ishlashi uchun talablar va kontekstni aniqlagandan so'ng, olingan ma'lumotlarni tahlil qilish vaqti keldi. Tahlil jarayonida ishlab chiquvchilarni kelajakdagi tizim arxitekturasiga yo'naltiradigan analitik model yaratiladi. Analitik model - tizimning tashqi ko'rinishini ko'rsatadigan foydalanish misolidan farqli o'laroq, tizimning ichkaridan ko'rinishi.

Ushbu model sizga tizimni qanday loyihalash kerakligini, qanday sinflarga ega bo'lishi kerakligini va ular bir-biri bilan qanday munosabatda bo'lishi kerakligini tushunishga imkon beradi. Uning asosiy maqsadi - talablarni yig'ish bosqichida aniqlangan funksionallikni amalga oshirish yo'nalishini aniqlash va tizim arxitekturasini eskiz qilish.

Keyinchalik yaratilgan dizayn modelidan farqli o'laroq, tahlil modeli ko'proq kontseptual model bo'lib, faqat ishlab chiquvchilarni amalga oshirish sinflariga yaqinlashtiradi. Ushbu modelda oldingi modelda yuzaga kelishi mumkin bo'lgan qarama-qarshiliklar bo'lmasligi kerak.

UML yordamida tahlil modelini ko'rsatish uchun "chegara sinfi", "ob'ekt", "nazorat" stereotiplari (xulq-atvor namunalari) bo'lgan sinf diagrammasi va batafsillashtirish uchun hamkorlik diagrammasi qo'llaniladi (4-rasm). "Chegara sinfi" stereotipi tashqi faollar bilan o'zaro ta'sir qiluvchi sinfni, "ob'ekt" stereotipi ma'lumotlar ombori bo'lgan sinflarni va "nazorat" stereotipi ob'ektlarga so'rovlarni boshqaradigan sinflarni tasvirlaydi.

Shakl 4. Hamkorlik diagrammasining namunasi

Xabarlarni raqamlash ularning tartibini ko'rsatadi, lekin diagrammaning maqsadi almashilgan xabarlar tartibini hisobga olish emas, balki sinflarning bir-biri bilan aloqalarini aniq ko'rsatishdir.

Agar biz o'zaro ta'sir qilish tartibiga e'tibor qaratadigan bo'lsak, unda yana bir vakillik 5-rasmda ko'rsatilgan ketma-ketlik diagrammasi (Sequence) bo'ladi. Bu diagramma sizga jarayonning ketma-ketligini vizual ravishda ko'rsatib, vaqt o'tishi bilan xabarlar almashinuvini ko'rish imkonini beradi. Rational Rose kabi model yaratish vositasidan foydalanganda, ushbu ikki turdagi diagrammalar bir-biridan avtomatik ravishda yaratilishi mumkin (masalan, Rational Rose haqida ko'proq o'qishingiz mumkin).

Guruch. 5 Ketma-ketlik diagrammasiga misol

Ikki diagrammaning qaysi birini birinchi bo'lib yaratish qarori individual ishlab chiquvchining afzalliklariga bog'liq. Ushbu diagrammalar bir xil jarayonning tasviri bo'lganligi sababli, ularning ikkalasi ham ob'ektlar orasidagi o'zaro ta'sirni aks ettirishga imkon beradi.

3. Dizayn

Tizimni yaratish jarayonining keyingi bosqichi dizayn bo'lib, uning davomida avval yaratilgan modellar asosida dizayn modeli yaratiladi. Ushbu model tizimning jismoniy amalga oshirilishini aks ettiradi va yaratilgan mahsulotni sinf va komponentlar darajasida tavsiflaydi. Tahlil modelidan farqli o'laroq, dizayn modeli amalga oshirish shartlariga, dasturlash tillari va ishlatiladigan komponentlarga aniq bog'liqdir. Tizim arxitekturasini eng aniq tushunish uchun ushbu model iloji boricha rasmiylashtirilishi va butun tizimni ishlab chiqish hayoti davomida yangilanib turishi kerak.

Dizayn modelini yaratish uchun UML diagrammalarining butun majmuasi qo'llaniladi: sinf diagrammasi (5-rasm), hamkorlik diagrammasi, o'zaro ta'sir diagrammasi, faoliyat diagrammasi.

6-rasm. Sinf diagrammasining namunasi

Bundan tashqari, ushbu ish jarayoni Joylashtirish diagrammasi asosida amalga oshiriladigan joylashtirish modelini yaratishi mumkin. Bu tarmoqdagi qurilmalarni taqsimlashni modellashtirish uchun mo'ljallangan eng oddiy diagramma turi. Displey uchun protsessor va qurilma piktogrammalarining faqat ikkita varianti va ular orasidagi ulanishlar ishlatiladi.

4. Amalga oshirish

Amalga oshirish jarayonining asosiy vazifasi komponentlar ko'rinishidagi tizimni yaratishdir - manba matnlar dasturlar, skriptlar, ikkilik fayllar, bajariladigan fayllar va boshqalar. Ushbu bosqichda loyihalash modelining elementlari qanday amalga oshirilishini tavsiflovchi amalga oshirish modeli yaratiladi, qaysi sinflar aniq komponentlarga kiritiladi. Ushbu model tanlangan dasturlash muhitida qabul qilingan tuzilish va modullashtirish mexanizmlariga muvofiq ushbu komponentlarni tashkil qilish usulini tavsiflaydi va komponentlar diagrammasi bilan ifodalanadi (7-rasm).

guruch. 7 Komponentlar diagrammasi misoli

5. Sinov

Sinov jarayonida amalga oshirish natijalari tekshiriladi. Bu jarayon uchun test namunasi yaratiladi, u test holatlari, test protseduralari, test komponentlaridan iborat, lekin UML diagrammasi tasviriga ega emas, shuning uchun biz bu haqda to'xtalmaymiz.

6. Xulosa

Bu erda faqat Ratsional metodologiyaning asosiy jarayonlari ko'rib chiqildi. RUP juda keng bo'lib, turli xil dasturiy ta'minot loyihalarini amalga oshirish bo'yicha tavsiyalarni o'z ichiga oladi, bir necha kishidan iborat dasturchilar guruhi tomonidan dasturlarni yaratishdan tortib, turli qit'alarda minglab odamlarni birlashtirgan tarqatilgan dasturiy ta'minot loyihalarigacha. Biroq, ularning katta farqlariga qaramay, UML yordamida yaratilgan modellardan foydalanish usullari bir xil bo'ladi. Rivojlanishning turli bosqichlarida yaratilgan UML diagrammalari dasturiy ta'minot loyihasining qolgan artefaktlaridan ajralmas va ko'pincha individual RUP jarayonlari o'rtasidagi bog'liqlikdir.

Muayyan diagrammalardan foydalanish to'g'risidagi qaror kompaniyada tashkil etilgan rivojlanish jarayoniga bog'liq bo'lib, u birlashtirilgan deb ataladigan bo'lsa-da, muzlatilgan narsa emas. Rational nafaqat uni takomillashtirish va takomillashtirishni taklif qiladi, balki RUP ma'lumotlar bazasiga o'zgartirishlar kiritish uchun maxsus vositalarni ham taqdim etadi.

Ammo har qanday holatda ham, UML dan birlashtirilgan jarayon bilan birgalikda foydalanish prognoz qilinadigan natijaga erishish, ajratilgan byudjetni qondirish, loyiha ishtirokchilarining ta'sirini va yaratilgan dasturiy mahsulot sifatini oshirish imkonini beradi.

Kratchen. F. Kirish Ratsional birlashtirilgan jarayon . Ed. 2-chi - M.: Uilyams nashriyoti, 2002. - 240 pp.: kasal.

Jacobson A., Buch G., Rambo J. Birlashtirilgan dasturiy ta'minotni ishlab chiqish jarayoni - Sankt-Peterburg: Peter, 2002. - 496 pp.: kasal.

Fowler M., Scott K. UML qisqacha. Ob'ektni modellashtirishning standart tilini qo'llash: Transl. ingliz tilidan – M.:Mir, 1999. – 191 b., kasal.

Bek. E. Ekstremal dasturlash. – Sankt-Peterburg: Pyotr, 2002. – 224 b.: kasal.

TrofimovS. CASE texnologiyalari: Amaliy ish Rational Rose-da.
Ed. 2-chi - M .: Binom-Press, 2002 - 288 b.


Birlashtirilgan jarayon Rational (Rational Unified Process, RUP) tomonidan ishlab chiqilgan - foydalanuvchi talablarini dasturiy ta'minot tizimiga aylantirish uchun zarur bo'lgan turli xil tadbirlar yig'indisi. Uning mavhum va batafsil tasviri rasmda ko'rsatilgan. 7.2.

RUPning asosiy tushunchalari artefakt va pretsedentdir. Artefaktlar- bu yakuniy ish paytida ishlab chiqarilgan yoki foydalanilgan loyihaning ba'zi mahsulotlari dasturiy mahsulot. Pretsedentlar yoki foydalanish holatlari(foydalanish holati) Bu kuzatilishi mumkin bo'lgan natijani yaratish uchun dasturiy ta'minot tizimi tomonidan bajariladigan harakatlar ketma-ketligi.

Dasturiy ta'minot tizimini ishlab chiqishning butun jarayoni RUP sifatida ko'rib chiqiladi artefakt yaratish jarayoni. Bundan tashqari, oxirgi foydalanuvchining qo'liga tushadigan narsa, u dasturiy modul yoki dasturiy ta'minot hujjatlari bo'ladimi, barcha loyiha artefaktlarining quyi sinflaridan biridir.

Loyiha jamoasining har bir a'zosi o'z artefaktlarini yaratadi va ular uchun javobgardir. Dasturchi dasturni ishlab chiqadi, menejer loyiha rejasini ishlab chiqadi va tahlilchi tizim modelini ishlab chiqadi. RUP qachon, kim tomonidan va qanday artefakt yaratish kerakligini aniqlash imkonini beradi.

(A)

Guruch. 7.2. Yagona dasturiy ta'minotni ishlab chiqish jarayoni ( A- mavhum tasvirlash, b- asosiy RUP jarayonlarining batafsil tasviri)

Biroq, RUP bitta jarayondan ko'ra ko'proq; u keng ko'lamli dasturiy ta'minot tizimlari, dastur sohalari, malaka darajalari va loyiha o'lchamlari uchun ixtisoslashtirilgan umumlashtirilgan jarayon asosidir. RUP - komponentlarga yo'naltirilgan. Bu shuni anglatadiki, yaratilayotgan dasturiy ta'minot tizimi aniq belgilangan interfeyslar bilan bog'langan dasturiy komponentlar asosida qurilgan.

Dasturiy ta'minot tizimining grafik tasvirlarini (modellarini) ishlab chiqish uchun RUP dan foydalanadi Yagona modellashtirish tili(UML) . Aslida, UML RUP ning ajralmas qismidir - ular birgalikda ishlab chiqilgan.

Biroq, RUP jarayonining haqiqatan ham o'ziga xos jihatlari uchta iborada yotadi - foydalanish holiga asoslangan, arxitekturaga yo'naltirilgan, iterativ va ortib boruvchi. Bu Yagona jarayonni noyob qiladi.

RUPda dasturiy ta'minot tizimining to'liq ko'rinishi dasturiy ta'minot tizimini vizualizatsiya qilish, spetsifikatsiya qilish, loyihalash va hujjatlashtirish bo'yicha barcha muhim qarorlarni qamrab oluvchi to'qqiz modelni o'z ichiga oladi (7.3-rasm):

1. biznes jarayoni modeli, bu tashkilotning mavhumligini rasmiylashtiradi (boshqaruv tizimidan foydalanishning barcha variantlari va ularning foydalanuvchilar bilan aloqalari bilan);

2. modeldan foydalaning- tizimga qo'yiladigan funksional talablarni rasmiylashtiradi;

3. domen modeli yoki biznes modeli, tizim kontekstini tavsiflovchi.

4. tahlil modeli, bu ikkita maqsadga ega - foydalanish holatlari tafsilotlarini aniqlashtirish va tizim xatti-harakatlarini ta'minlaydigan ob'ektlar to'plami bo'yicha birlamchi taqsimlashni yaratish. turli xil variantlar xulq-atvor;

5. jarayon modeli(ixtiyoriy) - tizimda parallellik va sinxronizatsiya mexanizmlarini rasmiylashtiradi;

6. dizayn modeli, belgilaydi: ( A) - tizimning statik tuzilishi, masalan, quyi tizimlar, sinflar va interfeyslar va ( b) - shaklda amalga oshirilgan holatlardan foydalanish hamkorliklar quyi tizimlar, sinflar va interfeyslar o'rtasida;

7. amalga oshirish modeli, bu komponentlarni (manba kodi bilan ifodalangan) va komponentlar bo'yicha sinflar tartibini o'z ichiga oladi;

8. joylashtirish modeli, bu jismoniy kompyuterlarni belgilaydi - tarmoq tugunlari va ushbu tugunlar bo'ylab komponentlarning joylashuvi;

9. sinov modeli, foydalanish holatlarini tasdiqlash uchun sinov holatlarini tavsiflaydi;

Guruch. 7.3. RUP modellari (tegishli UML diagrammalari shaklida)
va ularning aloqalari,

Ushbu modellarning barchasi ulangan. Ular birgalikda dasturiy ta'minot tizimini to'liq tavsiflaydi. Bitta modelning elementlari boshqa modellar bilan bog'lanish orqali tashkil etilgan oldinga va orqaga qarab kuzatishga bog'liq (7.3-rasmga qarang). Masalan, foydalanish holati (foydalanish modelida) mos keladigan foydalanish misolida (dizayn modelida) va test misolida (sinov modelida) kuzatilishi mumkin. Kuzatish tushunish va o'zgartirish kiritishni osonlashtiradi. RUP ishlab chiqish jarayonida yaratilgan UML diagrammalari dasturiy mahsulot haqida to'liq tasavvur beradi).

RUPda asosiy e'tibor hujjatlarni tayyorlashga emas, balki shunga qaratilgan modellashtirish ishlab chiqilayotgan tizim. Modellar muammoni ham, uni hal qilish yo'llarini ham aniqlashga yordam beradi va ular uzoq vaqtdan beri murakkab tizimlarni tavsiflashning de-fakto standartiga aylangan va ishlab chiquvchilarga har qanday dasturiy ta'minot tizimlarining artefaktlarini aniqlash, vizualizatsiya qilish, qurish va hujjatlashtirish imkonini beradigan UML tilidan foydalangan holda yaratilgan. murakkablik.

Yagona jarayon (UP) umumlashtirilgan jarayondir ramka keng ko'lamli dasturiy ta'minot tizimlari, turli dastur sohalari, malaka darajalari va loyiha o'lchamlari uchun ixtisoslashtirilgan bo'lishi mumkin bo'lgan jarayon.

Birlashtirilgan jarayon komponentga yo'naltirilgan. Demak, yaratilgan dasturiy ta’minot tizimi dasturiy ta’minot asosida qurilgan komponentlar, yaxshi belgilangan interfeyslar orqali ulanadi.

UP ning o'ziga xos jihatlari uning uchta xususiyatida yotadi:

● foydalanish holatlariga asoslangan;

● arxitekturaga yo'naltirilgan;

● iterativ va ortib boruvchi .

Birlashtirilgan jarayonning hayot aylanishi

UP hayot aylanishi tsikllarga bo'linadi, ularning har biri mahsulot chiqarilishi bilan yakunlanadi. Har bir rivojlanish tsikli to'rt bosqichdan iborat - talablarni tahlil qilish va rejalashtirish, loyihalash, qurish, amalga oshirish. Har bir bosqich iteratsiyalarga bo'linadi.

UP sakkiz ish oqimini o'z ichiga oladi: beshta asosiy- talablarni aniqlash, tahlil qilish, loyihalash, amalga oshirish, sinovdan o'tkazish va uchta yordamchi (asosiylarini qo'llab-quvvatlash uchun) - konfiguratsiya va talablarni o'zgartirishni boshqarish, loyihalarni boshqarish, atrof-muhitni boshqarish.

Ish oqimining tuzilishini aniqlash uchun, avvalo, nimani aniqlashingiz kerak ijrochilarning turlari jarayonda ishtirok etish. Keyin aniqlandi artefaktlar, har bir turdagi ishchi tomonidan ma'lum bir ish jarayoni davomida yaratilishi kerak.

18. XP - bu jarayon.

Ekstremal dasturlash(Inglizcha: Extreme Programming, XP) dasturiy taʼminotni ishlab chiqishning moslashuvchan metodologiyalaridan biridir. Metodologiya mualliflari Kent Bek, Uord Kanningem, Martin Fauler va boshqalardir.

Ekstremal dasturlashning o'n ikkita asosiy texnikasini (ekstremal dasturlash kitobining birinchi nashriga ko'ra) to'rt guruhga birlashtirish mumkin:

1. Qisqa sikl fikr-mulohaza(Yuqori miqyosda fikr-mulohazalar)

a. Sinovga asoslangan rivojlanish

b. Rejalashtirish o'yini

c. Mijoz har doim yaqin (butun jamoa, saytdagi mijoz)

d. Juftlik dasturlash

2. Ommaviy jarayon emas, balki uzluksiz

a. Doimiy integratsiya

b. Refaktoring (dizaynni takomillashtirish, refaktor)

c. Tez-tez kichik nashrlar

3. Hammaga umumiy tushuncha

a. Oddiylik (oddiy dizayn)

b. Aloqa

c. Hurmat

d. Kollektiv kod egaligi yoki tanlangan dizayn naqshlari (jamoa naqshlarga egalik)

e. Kodlash standarti yoki kodlash qoidalari

4. Dasturchining farovonligi:

a. 40 soat ish haftasi(Barqaror sur'at, haftada qirq soat)

XP da jarayon rejalashtirilgan jarayonlarga nisbatan juda kichik bosqichlarga bo'linadi. Bu sharshara modelidagi har bir qadam uchun oylar yoki hatto yillar o'rniga kunlar yoki haftalarni talab qiladigan birinchi qadamlarga olib keladi. Birinchidan, rivojlanish maqsadlarini tavsiflash uchun avtomatlashtirilgan testlar yoziladi. Keyin kodlash keladi, u barcha testlardan o'tgan va dasturchilar yangi testlarni o'ylab topmagan paytda tugaydi. Dizayn kodni yozgan bir xil odamlar tomonidan amalga oshiriladi. (faqat oxirgi bosqich - dizayn va kodni ulash - barcha tezkor jarayonlar uchun umumiydir). Tugallanmagan, ammo ishlaydigan tizim foydalanuvchilarning tor doirasiga ko'rsatiladi (ko'pincha bu ishlab chiquvchilarning o'zlari). Ayni paytda ular tizimning keyingi eng muhim qismi uchun testlar yozishni boshlaydilar.

19. ICONIX - bu jarayon.

ICONIX Dag Rosenberg tomonidan ishlab chiqilgan ICONIX dasturiy ta'minot ICONIX jarayoni foydalanish holatlariga asoslangan, ammo uning kamchiliklari ko'p emas. Bu jarayon UML modellashtirish tilidan ham foydalanadi, lekin faqat UML dan asosiy yozuv ishlatiladi - bu tilning 20% ​​ni tashkil qiladi. ICONIX jarayoni to'rtta asosiy dasturni ishlab chiqish bosqichiga asoslangan:

● domenni modellashtirish;

● pretsedentlarni modellashtirish;

● talablarning muvofiqligini tahlil qilish (barcha funktsional talablar bajarilishini tekshirish);

● ketma-ketlik sxemalarini qurish.

Jarayonning asosiy bosqichlari quyidagilardan iborat:

● Talablarni tahlil qilish

● Dastlabki dizayn

● Dizayn

● Amalga oshirish

Jarayon kelajakdagi tizimni aks ettiruvchi minimal sonli modellarni yaratishga asoslangan. Tahlil bosqichida foydalanish holatlari modellari, foydalanuvchi interfeysi modeli va domen ob'ekt modeli yaratiladi. Dastlabki loyihalash bosqichida mustahkamlik diagrammasi yaratiladi. Pretsedent modeli va domen ob'ekt modeli ham to'ldiriladi. Batafsil loyihalash bosqichida ketma-ketlik diagrammasi (SequenceDiagram) tuziladi va sinf diagrammasi yaratiladi. Amalga oshirish bosqichida manba kodi yaratiladi. Shuningdek, siz joylashtirish diagrammasi va komponentlar diagrammasini yaratishingiz mumkin. Har bir bosqich ko'rib chiqish bosqichi bilan yakunlanadi, unda yaratilgan diagrammalarni hamkasblar bilan muhokama qilish kerak.

20. SCRUM - bu jarayon.

Scrum - bu qat'iy belgilangan qisqa muddatlarga ruxsat beruvchi rivojlanish jarayoni qurilgan tamoyillar to'plami ( sprintlar 2 dan 4 haftagacha) oxirgi foydalanuvchini eng yuqori ustuvorlikka ega bo'lgan yangi xususiyatlarga ega ishlaydigan dasturiy ta'minot bilan ta'minlash. Keyingi sprintda amalga oshirish uchun dasturiy ta'minot imkoniyatlari rejalashtirish bosqichida sprint boshida aniqlanadi va uning butun muddati davomida o'zgarmasdir. Shu bilan birga, sprintning qat'iy belgilangan qisqa muddati rivojlanish jarayonini bashorat qilish va moslashuvchanlikni beradi.

Scrumdagi asosiy rollar: ScrumMaster- rahbarlik qiluvchi Scrum mitinglar o'tkazadi va barcha tamoyillarga rioya etilishini ta'minlaydi Scrum(roli to'g'ri o'tkazishdan boshqa narsani anglatmaydi Scrum-oh, loyiha menejeri ko'proq murojaat qiladi Mahsulot egasi va bo'lmasligi kerak ScrumMaster);Mahsulot egasi (Mahsulot egasi) - yakuniy foydalanuvchilar va mahsulotdan manfaatdor boshqa shaxslarning manfaatlarini ifodalovchi shaxs; va o'zaro faoliyat Jamoa (Scrum jamoasi), ham ishlab chiquvchilar, ham sinovchilar, arxitektorlar, tahlilchilar va boshqalardan iborat (ideal jamoa hajmi 7±2 kishi). Jamoa ishlab chiqishda to'liq ishtirok etgan yagona ishtirokchi bo'lib, natija uchun yaxlit javobgardir. Sprint paytida rivojlanish jarayoniga jamoadan boshqa hech kim xalaqit bera olmaydi.

Har bir sprint davomida dasturiy ta'minotning funktsional o'sishi yaratiladi. Har bir sprintda taqdim etiladigan xususiyatlar to'plami chaqirilgan bosqichdan keladi mahsulot zaxirasi(ish so'rovlarini hujjatlashtirish) bajarilishi kerak bo'lgan ish talablari darajasi bo'yicha eng yuqori ustuvorlikka ega. Ish uchun so'rovlar ( orqada qolgan narsalar), davomida aniqlanadi sprint rejalashtirish kengashi (sprint rejalashtirish uchrashuvi), sprint bosqichiga o'tkaziladi. Ushbu yig'ilishda mahsulot egasi bajarilishi kerak bo'lgan vazifalarni bildiradi. Keyin jamoa keyingi sprint davomida kerakli qismlarni bajarish uchun qancha narsaga erishmoqchi ekanligini aniqlaydi. Sprint paytida jamoa ma'lum bir belgilangan vazifalar ro'yxatini bajaradi (deb ataladi. sprint orqasida). Ushbu davrda hech kim ish talablari ro'yxatini o'zgartirishga haqli emas, bu muzlatish talablari sifatida tushunilishi kerak ( talablar) sprint paytida.

Artefaktlar

Mahsulot zaxirasi muhimligi bo'yicha tartiblangan funksionallik talablari ro'yxatini o'z ichiga olgan hujjat. Mahsulot zaxirasi - etkazib berilishi kerak bo'lgan narsalar ro'yxati. Ushbu ro'yxatdagi narsalar "hikoyalar" deb ataladi ( foydalanuvchi hikoyasi) yoki orqada qolgan elementlar ( orqada qolgan narsalar). Mahsulot zaxirasi Scrum jarayonining barcha ishtirokchilari tomonidan tahrirlash uchun ochiq.

Kirish

Ratsional Unified Process (RUP) spiral dasturiy ta'minotni ishlab chiqish metodologiyalaridan biridir. Metodologiya Rational Software tomonidan qo'llab-quvvatlanadi va mahsulot yiliga taxminan ikki marta yangilanadi. Modellashtirish tili sifatida umumiy asos bilimlari uchun Yagona modellashtirish tili (UML) ishlatiladi.

RUP-da dasturiy ta'minotni takroriy ishlab chiqish loyihani ketma-ket amalga oshiriladigan bir nechta kichik loyihalarga bo'lishni o'z ichiga oladi va har bir ishlab chiqish iteratsiyasi iteratsiya oxirida erishish kerak bo'lgan maqsadlar to'plami bilan aniq belgilanadi. Yakuniy takrorlash takrorlash maqsadlari to'plami mahsulot mijozi tomonidan belgilangan maqsadlar to'plamiga to'liq mos kelishi kerak, ya'ni barcha talablar bajarilishi kerak deb taxmin qiladi.

RUP juda yaxshi rasmiylashtirilgan va loyihani ishlab chiqishning dastlabki bosqichlariga - tahlil va modellashtirishga katta e'tibor beriladi. Shunday qilib, ushbu metodologiya rivojlanishning dastlabki bosqichlarida xatolarni aniqlash orqali tijorat risklarini (xavfni yumshatish) kamaytirishga qaratilgan. Texnik xavflar rivojlanish tsiklining boshida baholanadi va ustuvorliklarga ega bo'ladi, so'ngra vaqt o'tishi bilan qayta ko'rib chiqiladi va loyiha keyingi iteratsiyalar orqali rivojlanadi. Ushbu xavflarning ustuvorligiga qarab yangi maqsadlar paydo bo'ladi. Versiya relizlari shunday taqsimlanadiki, birinchi navbatda eng yuqori darajadagi xavflar ko'rib chiqiladi.

Jarayon modellarning evolyutsiyasini o'z ichiga oladi; ishlab chiqish tsiklining iteratsiyasi dasturiy ta'minot modelining ma'lum bir versiyasiga noyob tarzda mos keladi. Har bir iteratsiya (ish jarayoni) dasturiy ta'minotning hayotiy tsiklini boshqarish elementlarini o'z ichiga oladi: tahlil qilish va loyihalash (modellash), amalga oshirish, integratsiya, sinovdan o'tkazish, amalga oshirish. Shu ma'noda, RUP spiral modelni amalga oshirishdir, garchi u ko'pincha jadval grafigi sifatida tasvirlangan. Quyida biz jarayonning asosiy tarkibiy qismlarini taqdim etamiz.

Uchun muvaffaqiyatli jarayon Rivojlanish uchta komponentni talab qiladi (1-rasm): jarayon, belgi va yordamchi dasturlar to'plami. Jarayon biz nima qilayotganimizni, qanday tartibda va qanday yo'l bilan qilayotganimizni tasvirlaydi; notalash aloqa vositasidir; yordamchi dasturlar to'plami jarayonni avtomatlashtirish va boshqarishga yordam beradi.

Guruch. 1. Muvaffaqiyat uchburchagi

RUP uchta komponentni o'z ichiga oladi. Birinchidan, quyidagi amallarni bajaradigan notatsiya funksiyalarini ko‘rib chiqamiz:

Jarayonni bir butunga "yopishtirish" ni amalga oshiradi;

Bu manba kodidan aniq bo'lmagan qarorlarni qabul qilishning tilga asoslangan vositasi;

Muhim strategik va taktik qarorlarni ifodalash uchun semantikani ta'minlaydi;

Rasmiylashtirilgan ma'lumotlarni manipulyatsiya qilish uchun jarayonni avtomatlashtirish uchun qarorlar va vositalarni aks ettirish va keyin qabul qilish uchun etarli shaklni taklif qiladi.

Haqiqatan ham, yozuv dasturiy ta'minotni ishlab chiqishni o'z ichiga oladi, tahlildan to mahsulotni joriy qilishgacha. RUP-UML holatlaridagi notatsiya jarayonni tavsiflashning rasmiy til vositasidir (UML quyida muhokama qilinadi). Keyinchalik, biz jarayonning tuzilishini ko'rib chiqamiz, shuningdek, RUP bo'yicha loyihani ishlab chiqishni boshqarish jarayonida foydalaniladigan yordamchi dasturlar to'plamini taqdim etamiz.

RUP tuzilishi

UP iterativ dasturiy ta'minotni ishlab chiqishga tizimli yondashuvni taqdim etadi, jarayonni vaqt o'tishi bilan to'rt bosqichga ajratadi: Boshlanish, ishlab chiqish, Qurilish va o'tish. Afsuski, rus tilida o'rnatilgan terminologiya mavjud emas, shuning uchun kelajakda biz inglizcha atamalarni rus tiliga tarjimasi bilan birga ishlatamiz. Shaklda. 2-rasmda RUP bosqichlarining keng qo'llaniladigan tasviri. Ushbu bosqichlarning har birining maqsadlari:

Biz nima yaratayotganimizni tushunishning boshida. Ma'lumot to'plash va talablarni tahlil qilish, butun loyihaning qiyofasini aniqlash bosqichi;

Uni qanday yaratishimizni tushunish. Talablarni tahlil qilish va tizimni loyihalash bosqichi, zarur faoliyat va resurslarni rejalashtirish, funktsiyalar va dizayn xususiyatlarini aniqlash;

Mahsulotning beta versiyasini yaratish. Rivojlanish va kodlashning asosiy bosqichi, mahsulotni ortib boruvchi iteratsiyalar ketma-ketligi sifatida qurish (kod versiyalari);

Mahsulotning yakuniy versiyasini yaratish. Mahsulotni joriy etish bosqichi, mahsulotni ma'lum bir foydalanuvchiga etkazib berish.

Guruch. 2. RUP bosqichlari

Bu mahsulot evolyutsiyasini boshqarish bosqichlari - hayot tsiklining takrorlanishi. RUP yakuniy maqsadga yaqinlashishni o'z ichiga oladi, ammo klassik ISO standartidan (palapartishlik metodologiyasi) farqli o'laroq, o'tish yakuniy bosqich bo'lib, har bir bosqich bir necha marta takrorlanishi mumkin, bu mijozning mahsulotga bo'lgan talablaridagi o'zgarishlarni aks ettiradi.

RUP metodologiyasi dasturiy ta'minotning hayot tsikli iteratsiyasining elementlari bo'lgan to'qqizta asosiy ish oqimiga asoslanadi:

Biznesni modellashtirish (biznes tahlili) - hayot tsiklining ma'lum bir iteratsiyasidagi talablarni tahlil qilishni, kerakli tizim parametrlarini va foydalanuvchi ehtiyojlarini aniqlashni o'z ichiga oladi;

Tizim tasvirini rasmiylashtirish talablari. Talablarni to'plash va boshqarish, talablarni funktsional spetsifikatsiyalarga aylantirishni o'z ichiga oladi. Bu erda pretsedentlarni tahlil qilish va foydalanish holatlarini (foydalanuvchi hikoyalari) UMLda foydalanuvchi talablarining rasmiy xaritasini qurish boshlanadi. Natijada boshqaruv darajasidagi hujjatlar;

Tahlil va dizayn (tahlil va modellashtirish) - to'plangan talablarni rasmiylashtirilgan dasturiy modelga tarjima qilishni o'z ichiga oladi. Natijada amalga oshirish bosqichida tizimning tavsifi ( texnik loyiha) tizim ishlab chiquvchilari darajasidagi hujjatlardir. Rasmiylashtirish tili UML (Uniified Modeling Language) bo'lib, u quyida muhokama qilinadi. Takroriy rivojlanish jarayonida ushbu aniq oqimning mahsuli - loyiha modeli rivojlanadi. RUP-dagi barcha o'zgarishlar to'g'ridan-to'g'ri modellarga bog'liq va avtomatlashtirish vositalari va juda moslashuvchan modellash tili sizga bu jarayonni vaqt va resurslar nuqtai nazaridan kamroq yoki kamroq og'riqsiz boshqarishga imkon beradi. Bu ishlab chiqish natijasi model emas, balki bajariladigan kod ekanligini anglatadi, shuning uchun mijoz odatda modellashtirish uchun pul to'lashni yoqtirmaydi, chunki modellar unga kerak bo'lgan mahsulot emas);

Amalga oshirish (amalga oshirish, kodlash) - aslida kodni yozishni o'z ichiga oladi. RUP-dagi kod elementlari tahlil va dizayn bosqichida allaqachon yaratilgan, chunki UMLni amalga oshirish vositasi - Rational Rose - bir nechta dasturlash tillarida kod elementlarini yaratishga imkon beradi. Metodologiya - ob'ektga yo'naltirilgan dasturlash;

Sinov mahsulotni ma'lum bir iteratsiyada sinab ko'rishni o'z ichiga oladi. Shuni alohida ta'kidlash joizki, regressiya sinovi (qaytarilish sinovi, mahsulotning "buzilmasligi" testi) bu holda oldingi iteratsiyaning barcha joriy sinovlarini va oldingi o'tish bosqichidan qabul qilish testlarini o'z ichiga olishi kerak;

Joylashtirish (amalga oshirish) mahsulotni mijozning saytida o'rnatish, xodimlarni o'qitish, tizimni ishga tushirish va qabul qilish sinovlarini o'z ichiga oladi, mahsulotni qadoqlash va tarqatish uchun standartlarni tayyorlash, materiallarni savdo bo'limiga o'tkazish (harakatlar mahsulotning o'ziga xos xususiyatlariga qarab ixtiyoriydir) ).

Yuqoridagi elementlar dasturiy ta'minotni ishlab chiqish hayotiy tsikli nuqtai nazaridan yangi emas, chunki ular deyarli har qanday metodologiyada uchraydi - ehtimol XP bundan mustasno (bu erda ular juda original shaklda taqdim etilgan). RUPni amalga oshirishning o'ziga xos xususiyati - bu vaqtinchalik urg'u, ya'ni iteratsiyada ma'lum iplar ustunlik qiladi, shuningdek, rivojlanish jarayonini tavsiflashga imkon beradigan universal til va yordamchi dasturlar to'plamining mavjudligi. Rasmda ko'rib turganimizdek. 2, mahsulot evolyutsiyasining dastlabki bosqichlarida asosiy e'tibor tijorat risklarini kamaytirish va dizayn xatolarining narxini kamaytirishga qaratilgan loyihani rasmiylashtirishga (tahlil qilish, modellashtirish) qaratiladi. Rasm ko'proq yoki kamroq aniq bo'lganda, mahsulotni haqiqiy ishlab chiqish, sinovdan o'tkazish va nihoyat amalga oshirish boshlanadi.

Dastlabki interna, bu aslida korxona rahbarlari uchun texnik kengash tomonidan chiqarilgan hujjatlardir. Dastlabki bosqichlarning asosiy maqsadi shartnoma yoki niyat xatini tuzishdir. Keyingi iteratsiyalar rasmiy modellarni yaratish uchun vaqt va resurslarga ega bo'lgan ishlab chiqish guruhi ishining haqiqiy boshlanishidir. UML bu holda modelni kod elementlariga joylashtirish imkonini beruvchi vositalarga ega. Masalan, ob'ektlar daraxti to'g'ridan-to'g'ri ko'rsatiladi, variatsiyalar ishlab chiquvchilar tomonidan tanlangan dasturlash tilini amalga oshirish kuchiga, shuningdek, G. Butch va ushbu tilni ishlab chiquvchilarning ob'ekt modeliga qarashlarining mos kelishiga bog'liq. . Xuddi shu narsa usullarga ham tegishli.

Endi mahsulotni qo'llab-quvvatlash bilan bog'liq elementlarni ko'rib chiqaylik - asosiy qo'llab-quvvatlovchi ish oqimlari:

Konfiguratsiyani boshqarish (konfiguratsiya va o'zgarishlarni boshqarish) - bu mahsulot versiyalarini boshqarishga qaratilgan kuchli ma'muriy harakatlar qatlami bo'lib, u manba kodini (model, bajariladigan modullar, testlar, hujjatlar), mahsulot versiyasini nazorat qilishni, kodni ishlab chiqish va hujjatlarni ishlab chiqish uchun korporativ standartlarni, o'zgarishlar va xatolarni kuzatish (xatolarni kuzatish); sinov va mijozlarni qo'llab-quvvatlash bilan chambarchas bog'liq;

Menejment (loyihalarni boshqarish) - RUP mafkurasiga muvofiq loyihalarni boshqarish bo'yicha ma'muriy harakatlar to'plamini o'z ichiga oladi, loyihani boshqarish vositalaridan foydalaniladi (Rational mahsulotlar ro'yxatini quyida ko'ring);

Atrof-muhit yaratish va saqlashni o'z ichiga oladi tahlil vositalari, dizayn, ishlab chiqish, sinovdan o'tkazish (dasturiy ta'minot va apparat).

Takroriy rivojlanish;

Talablarni boshqarish;

Modulli arxitekturadan foydalanish;

Vizual modellashtirish;

Sifatni tekshirish;

O'zgarishlarni kuzatish.

Amaliyotlar bevosita bir qismi emas RUP jarayoni, lekin foydalanish uchun tavsiya etiladi. Ba'zi amaliyotlar bevosita RUP mafkurasidan kelib chiqadi. Shunday qilib, takroriy rivojlanish RUP tuzilishiga kiritilgan, chunki bu jarayon "spiral" ning amalga oshirilishidan biridir. RUPda talablarni boshqarish tahlilning dastlabki bosqichlarida paydo bo'ladi. Nazariy jihatdan modulli arxitektura kodni qayta ishlatishga imkon beradi, bu esa tizimni yanada moslashuvchan qiladi. UML ob'ekt tili bo'lganligi sababli modullilikka e'tibor bermaslik mumkin, ammo... bu biroz qiyin. Vizual modellashtirish tizimlarning ortib borayotgan murakkabligi bilan samarali kurashish imkonini beradi. Bundan tashqari, modellar ishlab chiquvchilar o'rtasidagi aloqa vositasidir, ammo buning uchun ishlab chiquvchilar UML tilida gapirishlari kerak, bu esa biroz tayyorgarlikni talab qiladi. Vizual modellashtirish ko'pincha Rational Rose vositasi yordamida amalga oshiriladi, bu sizga menejerlar, tizim ma'murlari, ishlab chiquvchilar, testerlar uchun juda foydali hujjatlar to'plamini olish va kod elementlarini yaratish imkonini beradi. Ushbu vosita UML ning yagona amalga oshirilishi emas - ikkala tijorat alternativlari (masalan, Microsoft Visio) va bepullari mavjud. Shuni ta'kidlash kerakki, modellashtirish vositalarida qo'llaniladigan UML dialektlari har doim ham bir xil emas: Rational dialekt hujjatlarda ham, UML kitoblarida ham tasvirlangan ba'zi katta farqlarga ega.

RUP-ni qo'llab-quvvatlaydigan mahsulotlar

Quyida Ratsional Yagona Jarayonni qo'llab-quvvatlaydigan eng mashhur mahsulotlar mavjud:

Rational Rose CASE vizual modellashtirish vositasi axborot tizimlari, kod elementlarini yaratish qobiliyatiga ega. Rational Rose RealTime mahsulotining maxsus nashri chiquvchi sifatida bajariladigan modulni olish imkonini beradi;

Rational Requisite Pro talablarini boshqarish vositasi, bu dastur komponentlarini ishlab chiqishning istalgan bosqichida yuzaga keladigan talab o'zgarishlarini yaratish, tuzilish, ustuvorlik qilish, kuzatish va nazorat qilish imkonini beradi;

Rational ClearQuest - sinov va talablarni boshqarish vositalari bilan chambarchas integratsiyalashgan va barcha xatolar va hujjatlarni bir-biri bilan bog'lash uchun yagona muhitni ta'minlaydigan loyihadagi o'zgarishlarni boshqarish va kamchiliklarni kuzatish (xatolarni kuzatish) mahsuloti;

Avtomatik ravishda loyiha hujjatlarini yaratish uchun Rational SoDA mahsuloti ichki hujjatlar uchun korporativ standartni o'rnatish imkonini beradi. Shuningdek, hujjatlarni mavjud standartlarga (ISO, CMM) etkazish mumkin;

Rational Purify, Rational Quantify Rational PureCoverage, - sinov va disk raskadrovka vositalari:

Rational Purify - bu C/C++ da dasturlash dasturlari va komponentlar ishlab chiquvchilari uchun juda kuchli ish vaqtida xatoliklarni aniqlash vositasi,

C/C++, Visual Basic va Java-da dasturlash va komponentlar ishlab chiquvchilari uchun Rational Visual Quantify unumdorligini o'lchash vositasi; dasturiy ta'minotning ishlashidagi qiyinchiliklarni aniqlash va bartaraf etishga yordam beradi;

Rational Visual PureCoverage - kodning sinovdan o'tmagan joylarini avtomatik ravishda aniqlaydi;

Rational ClearCase - bu dasturiy ta'minot konfiguratsiyasini boshqarish mahsuloti (Rational's Software Configuration Management, SCM), u barcha loyiha hujjatlarining versiyalarini boshqarish imkonini beradi. Uning yordami bilan siz bir vaqtning o'zida loyihalarning bir nechta versiyalarini qo'llab-quvvatlashingiz mumkin, ular orasida tezda almashishingiz mumkin. Rational Requisite Pro yangilanishlarni qo'llab-quvvatlaydi va ishlab chiqish guruhiga qo'yiladigan talablardagi o'zgarishlarni kuzatib boradi;

SQA TeamTest testini avtomatlashtirish vositasi;

Test bilan bog'liq barcha vositalar, artefaktlar, skriptlar va ma'lumotlarni birlashtirgan Ratsional TestManager test boshqaruvi tizimi;

Testlarni yaratish, o'zgartirish va avtomatik ravishda ishga tushirish uchun Rational Robot vositasi;

SaytLoad, SiteCheck vositalari veb-saytlarning ishlashi va buzilgan havolalar mavjudligini sinab ko'rish uchun;

Rational PerformanceStudio - tizimning ishlash xususiyatlarini o'lchaydi va bashorat qiladi.

Artefaktlar va rollar

RUPning ajralmas qismi artefaktlar, pretsedentlar va rollardir. Artefaktlar - bu yakuniy mahsulot ustida ishlash paytida yaratilgan yoki loyihada foydalaniladigan loyihaning ba'zi mahsulotlari. Foydalanish holatlari - kuzatilishi mumkin bo'lgan natijaga erishish uchun tizim tomonidan bajariladigan harakatlar ketma-ketligi. Darhaqiqat, shaxs yoki guruh ishining har qanday natijasi artefaktdir, xoh u tahlil hujjati, model elementi, kod fayli, test skripti, xato tavsifi va boshqalar. U yoki bu turdagi artefaktni yaratish uchun ma'lum mutaxassislar javobgardir. Shunday qilib, RUP ishlab chiqish guruhining har bir a'zosining u yoki bu bosqichda mas'uliyatini aniq belgilaydi, ya'ni u yoki bu artefaktni qachon va kim yaratishi kerak. Dasturiy ta'minot tizimini ishlab chiqishning butun jarayoni RUPda artefaktlarni yaratish jarayoni sifatida ko'rib chiqiladi - dastlabki tahlil hujjatlaridan bajariladigan modullar, foydalanuvchi qo'llanmalari va boshqalar. Quyida har bir oqim uchun artefaktlar to'plami (modellar, hujjatlar va boshqalar) keltirilgan.

Biznes modellashtirish

Biznes-jarayon modeli ishlab chiqilayotgan tizim uchun biznes talablarini aniqlash;

Korxona strukturasi modeli - tizimning funktsional modelini ishlab chiqish uchun artefakt;

Hujjatlar modellari, xo'jalik yurituvchi sub'ektlar, biznes funktsiyalari stsenariylari modellari, xo'jalik yurituvchi sub'ektlarning holati modellari - foydalanuvchi interfeysini, ma'lumotlar bazasi tizimini loyihalash uchun; tizimning statik va dinamik holatini turli nuqtai nazardan tavsiflash;

Biznes qoidalari modellari artefakt dasturiy ta'minotdagi qoidalarni modellashtirish uchun ishlatiladi.

RequisitePro, SoDA, matn protsessorlari tomonidan ishlatiladigan hujjat artefaktlari, Microsoft loyihasi:

Buyurtmachining tashkilotini, biznes tuzilmasini baholash;

Mavzu sohasi atamalarining lug'ati;

Biznes qoidalari to'plami;

Tijorat taklifi;

Biznes funktsiyalari spetsifikatsiyalari;

Biznesni modellashtirish bosqichida ish rejasi;

So'rovlarni o'zgartirish.

Talablar

Rational Rose tomonidan ishlatiladigan artefakt modellari:

Tizim funksiyasi modeli;

Tizim funksiyasi stsenariy modeli;

Foydalanuvchi interfeysi modeli;

Tizim foydalanuvchilari stsenariylari modeli;

Chiqarish shakllari modeli;

Tizim qoidalari modeli.

Talablarni boshqarish rejasi;

Tizim atamalarining lug'ati;

Dasturiy ta'minot tizimining spetsifikatsiyasi;

Tizim funktsiyalari uchun spetsifikatsiya;

Tizim qoidalari;

Manfaatdor tomonlarning so'rovlari;

Tizim talablarini aniqlash bosqichida ish rejasi;

So'rovlarni o'zgartirish.

Tahlil va dizayn

Rational Rose tomonidan ishlatiladigan artefakt modellari:

Mantiqiy ma'lumotlar modeli;

Jismoniy ma'lumotlar modeli;

Tizim komponentlari spetsifikatsiyalari modeli;

Tizim komponentlarini amalga oshiradigan sinflar o'rtasidagi o'zaro ta'sir stsenariylari.

RequisitePro, SoDA, matn protsessorlari, MS Project tomonidan ishlatiladigan hujjat artefaktlari:

Dasturiy ta'minot arxitekturasi;

Dasturiy ta'minot komponentlarining texnik xususiyatlari;

Tahlil va loyihalash bosqichida ish rejasi;

So'rovlarni o'zgartirish.

Amalga oshirish

Rational Rose tomonidan ishlatiladigan artefakt modellari:

Komponent dastur modeli.

Rational Rose tomonidan ishlatiladigan artefaktlar-kod, dasturlash vositalari, matn protsessorlari:

Rational Rose-dan olingan kod yaratish elementlari;

Haqiqiy dastur kodi;

Hujjatlar.

RequisitePro, SoDA, matn protsessorlari, MS Project tomonidan ishlatiladigan hujjat artefaktlari:

Ilovani yaratish rejasi;

Amalga oshirish bosqichida ish rejasi.

Sinov

Rational Rose tomonidan ishlatiladigan artefakt modellari:

Test ishi modeli;

Test dasturining funksional modeli;

Test dasturi komponentining spetsifikatsiya modeli;

Test dasturi komponentlarining o'zaro ta'sirini amalga oshiradigan sinflarning o'zaro ta'siri stsenariylari.

Sinov holatlarining tavsifi;

Sinov rejasi;

Sinov bosqichi uchun ish rejasi;

So'rovlarni o'zgartirish.

Sinovni amalga oshirish Quantify, Purify, PureCoverage, Robot, SiteLoad, SiteCheck.

Joylashtirish

Rational Rose tomonidan ishlatiladigan artefakt modellari:

Ishlov berish tugunlarida komponentlarni joylashtirishning joylashtirish modeli tavsifi.

SoDA, matn protsessorlari, MS Project tomonidan ishlatiladigan hujjat artefaktlari:

O'quv materiallari;

O'rnatish hujjatlari;

Tizim versiyalarining tavsifi;

Amalga oshirish rejasi.

Ushbu turkumdagi keyingi maqola Yagona modellashtirish tiliga (UML) bag'ishlanadi.