[wiki:WikiStart Почетна] >> [wiki:ДДзадача3 Задача 3] == Избор на процес за развој на информацискиот систем За изведување на CRM модулот од овој информациски систем, сметам дека најпогоден би бил RUP процесот на развој на информациски системи. === RUP (Rational Unified Process) [wiki:ДДреференци#=ref4 (4)] RUP е добро дефиниран и структуриран процес за развој на ИС. RUP нуди флексибилна рамка за развој на софтвер, прилагодлива на барањата на компанијата. Креиран од страна на Rational Software Corporation, која подоцна е купена од страна на IBM, заедно со RUP. ==== Карактеристики Главните карактеристики на RUP: - се води според корисничките случаи - ориентиран кон архитектура - е итеративен и инкрементален. ==== Структура: Rational Unified Process (RUP) има динамичка структура и се состои од 4 фази: - **Inception (зачеток)** - Се формулира визијата и опсегот на проектот, се поставуваат главните побарувања и се одредуваат засегнати страни. Главната цел на оваа фаза е да се определи што треба да се прави, без одење во детали. - **Elaboration (елаборација)** - Се намалуваат ризиците врзани за технологијата, се поставува основна архитектура со најголем број од побарувањата. Целта е да се дефинира како ќе се прави софтверот. - **Construction (конструкција)** - Градење на прва оперативна верзија на производот. - **Transition (транзиција)** - Градење на конечна верзија на производот и доставување на клиентот. Оваа фаза исто така вклучува запознавање на корисниците со софтверот и осигурување дека софтверот ќе биде прифатен. Работните текови (workflows) кои се користат во RUP се : • Бизнис моделирање – се моделираат бизнис процесите преку кориснички случаи, се утврдува контекстот на системот • Барања – се развиваат корисничките случаи и визијата на системот • Анализа и дизајн – опис на архитектурата на системот, преку модели на компоненти, архитектурни модели, модели на секвенци и сл. • Имплементација – користење на моделите на дизајн за имплементација на подсистемите и генерирање на код • Тестирање – итеративен процес што се одвива низ сите фази, паралелно со имплементацијата и се користи за утврдување дали се исполнети барањата, функционалностите, сигурноста и перформансите на системот • Поставување – се поставува комплетиран систем кај корисниците, истиот се инсталира, а корисниците се обучуваат • Конфигурација и менаџирање со промени – се одржува и следи системот, се утврдуваат и се извршуваат промените во системот, доколку постојат • Менаџирање со проектот – надгледување и управување со проектот, користејќи техники и алатки, со цел утврдување на успешноста на системот • Околина – избор и набавка на соодветни алатки кои ќе се користат при развој на процесот === Примена на RUP во проектот **1. Inception** [[BR]] [[BR]] **1.1. Итерација бр. 1** [[BR]] Одржување на состанок со нарачателот на софтверот и заинтересираните страни. Во овој случај тоа би биле претставници од раководството на фирмата одговорна за патиштата во земјата и барем еден вработен кој ќе го користи системот. На овој состанок се изнесуваат барањата. Овие барања потоа се анализирани од софтверската компанија и се составува првична листа на кориснички барања. Сите забелешки од состанокот, заедно со барањата се составуваат во визија за системот. [[BR]] [[BR]] **1.2. Итерација бр.2** [[BR]] Визијата се доставува до фирмата и откако се анализира повторно се закажува состанок. На состанокот се изнесуваат забелешките за визијата и дефинираните кориснички барања. После состанокот корисничките барања и визијата се модифицираат врз база на коментарите добиени на состанокот. Се дефинира конечна визија и се детализираат корисничките барања. На крајот од оваа итерација тимот се спрема за фазата на елаборација, со изготвување на план за елаборација. [[BR]] [[BR]] [[BR]] **2. Elaboration** [[BR]] [[BR]] **2.1. Итерација бр.1** [[BR]] Поставување на прелиминарна архитектура на системот. На состанок со нарачателот се дообјаснуваат корисничките барања и се дефинира use case модел. Со користење на UML дијаграми се опишува архитектурата на системот. [[BR]] [[BR]] **2.2. Итерација бр.2** [[BR]] [[BR]] Се анализираат корисничките случаи и се детализираат дијаграмите на архитектурата. Од ова се изведува прв прототип на архитектурата. [[BR]] [[BR]] **2.3 Итерација бр.3** [[BR]] [[BR]] Нов состанок со клиентите, се собираат повеќе детали и се подобрува архитектурниот прототип и неговите дијаграми. На крајот се доставува конечен архитектурен прототип. [[BR]] [[BR]] [[BR]] **3. Construction** [[BR]] [[BR]] **3.1. Итерација бр.1** [[BR]] [[BR]] Дизајн и имплементација на use case-овите. Постепена интеграција на истите во еден систем. На крајот се генерира првичен прототип и се презентира на нарачателот. [[BR]][[BR]] **3.2. Итерација бр.2** [[BR]] [[BR]] Тестирање на сите use cases. Поправање на забележани грешки. Довшување на останатите use cases и правење промени кои ги побарал клиентот после првата итерација. На крај од итерацијата се доставува конечен софтвер, придружен со документација за користење и се прави план за транзиција. [[BR]] [[BR]] [[BR]] **4. Transition** [[BR]] [[BR]] **Итерација бр.1** [[BR]] [[BR]] Во оваа фаза се инсталира системот во околината во која се користи. Се објаснува на оние кои што ќе го користат и се охрабруваат да го користат системот. Ова се прави преку континуирана обука. Откако корисниците го прифатат системот, можеме да кажеме дека фазата на транзиција е завршена. [[BR]] [[BR]] RUP е строго дефиниран процес на развој на информациски систем кој доследно ги применува дефинираните методи. Сметам дека оваа методологија е добра за проект од овој тип, бидејќи барањата се доро дефинирани и точно знаеме што треба да се направи. Ако во фазата на зачеток добро ги дефинираме корисничките сценарија и потоа добро ги доработиме во фазата на елаборација, проектот ќе биде успешно завршен и клиентот ќе биде задоволен. Има мал простор за премислување и ако истото се случи може да се зголеми предвиденото време и буџет.