Peter Lefterov’s Weblog

Just another WordPress.com weblog

RUP и добрите му идеи

 Наскоро писах за едно списание статия за Software Engineering за начинаещи и се замислих за пореден път колко недооценени са някои от най-добрите мисли за софтуерната разработка.

 Вземете например Waterfall - това дефакто е първият опит да се систематизират основните дейности в софтуерната разработка. И до ден днешен по-неопитните фирми го ползват като прост референтен модел за това как да си организират процеса. Да, всички знаем, че “Waterfall е лош”, но предстаяте ли си какво щеше да бъде фирмите изобщо да не знаеха, че трябва да се прави анализ? Или дизайн? Или да вземат да забравят за тестването? Отделно е неговата роля като модел, стартирал първата дискусия на тема итеративния подход и SE като цяло - малко хора знаят, че “създателя” на Waterfall просто е описал какво се прави и именно той първи е предложил итеративния подход като алтернатива.

 В моделирането на бизнес процеси съществуват два типа модели, описващи процеси - Диграми на добавената стойност и процесни описания. Процесните описания отразяват хронологична последователност - всяка дейност се върши след предната във веригата. Диаграмите на добавената стойност описват смислова последователност - всяка следавща дейност зависи от предната. Waterfall е диаграма на добавената стойност, не е процесно описание.

 RUP е новият герой. Въпросите са все “Дали ще бъдем гъвкави или ще ползваме RUP?” “Дали залагаме на човешката интеракция или на тромавите процеси?”. Досадната му документация и навлизане в изилшни подробности настрана, RUP е поредната голяма стъпка в теорията на софтуерното инжинерство. Не го познавам целия, никога няма да се запозная с него в подробности, и никога няма да го следвам, но от него вече улових поне две идеи, които ще са ми от огромна полза, и то завинаги.

 rationalunifiedprocess.png

 Първата е фазовия модел, показан на тази картинка. Макар да изглежда като някаква кардиограма, идеята, представена чрез нея е поне за мен следващата стъпка след итеративният подход. За тези, които не са я виждали (или само са й хвърляли по някой поглед), идеята е следната:

  Това е диаграма, представяща как различните дейности по проекта се движат в периода от неговото започване, до неговото завършване. Реално всяка от дейностите се върши почти във всеки(!) етап, но има моменти, когато има водеща функция и такива, в които има заглъхваща. Това тотално противоречи на дървената представа, според която правим спецификация и свършваме с анализа, правим дизайн, четем документа и го захвърляме. Тази диаграма, според мен, илюстрира посоката, в която ще се движат процесите по разработка на софтуер през следващите 10-на години. Поне това се надявам - иначе песимиста в мен вижда как може да стане като с Waterfall и след 30-40 години още да дъвчем собствените си предразсъдъци вместо да обсъждаме посланието на самия модел.

  Наскоро четох една статия, която показва друга добра идея на RUP - разделението на работата в “широчина” и “дълбочина”.

  http://www-128.ibm.com/developerworks/rational/library/apr05/crain/index.html

 Отново невероятна идея за разделението на работата по проекта. Поне в бизнес анализът, който в момента ми е амплоа, ми прави впечатление фрапиращата разлика между идентифицирането на основните необходими функционалности на системата, от една страна, и договарянето на интерфейса на конкретен екран, от друга (и двете в момента водещи се една стъпка от процеса, вършена от един и същи човек). Подобна е разликата, макар и по-малка, между моделирането на цялостният процес на работа на клиента и описанието на конкретната му последователност от действия при ползване на някоя функционалност. За разликата между това да пишеш код и да внимаваш за съвместимостта между компонентите на приложението няма нужда да споменавам, предполагам?

 Накратко, докато защитниците на процесният и гъркавият подход при разработката на софтуер копаят окопи и се готвят за поредния сблъсък, добрите идеи подминават индустрията като вятър. Остава само да последваме старата китайска поговорка и да почнем да строим вятърни мелници. :)

февруари 13, 2008 Публикувано от plefterov | 1 | , , , | Няма коментари

Мисля да стана терорист

Защо, бихте ме питали? Защото би ми било по-лесно да получа административно обслужване!

В момента ми трябва международен паспорт за да отида за 1-2 седмици до Индия, но се оказва, че това никак не е тривиална задача. Първо, не можеш да си издадеш международен паспорт никъде другаде в България, освен по постоянния си адрес. Казвам “в България” нарочно - в посолството в Бангладеш например няма да имаш проблем, само ще чакаш дипломатическата поща. А постоянният ми адрес е във Варна, на 7-8 дълги часа път от столицата…

Мислех си, че съм намерил хитър workaround - за щастие смяната на постоянният адрес е сравнително лека процедура и с добавени 20-на лева (за издаване на нова лична карта) човек може да си смени постоянният адрес и да си издаде паспорт където си иска.

Да, ама не. Защо? Защото в момента съм се настанил в любимия Студентски град, а се оказва, че човек не може да има постоянен адрес на общежитие. Освен ако не е инвалид. (какво общо има това идея нямам) Може да има постоянен адрес навсякъде другаде, дори на адрес на който от години не се е появявал, но не и на общежитие.

Няма да се отчайвам, обаче, има решение! Непогрешимият ми план е следния:

1. Присъединявам се към “Бригада на Аллах 47, звено 6245″

2. Взривявам район “Студентски” заедно с гражданските и папортните служби

3. Като ме хванат викам “Ай говори не български. Аллах велик! Мушараф от Пакистан маха се!”

4. Експулсират ме в Пакистан, където ме освобождават след като обещая да взривявам само одобрени от правителството цели.

5. Отивам на границата с Индия и казвам на пакистанските гранични, че отивам да взривя Тадж Махал. Те ми помагат да се промъкна край индийските им колеги.

6. Върша си работата в Индия.

7. Свързвам се с терористичната мрежа и ги помолвам да ме върнат в България за нов атентат.

Ето така се върши работа у нас!

ноември 15, 2007 Публикувано от plefterov | Нещата от живота | | Няма коментари

Едно не чак толкова ново начало

 Ок, чакайки един приятел да си свърши работата за да се видим не е точно най-благоприятния момент за започване на блог. Но ще трябва да свърши работа.

 Чувал съм да казват, че при писането на книга най-трудни са първите 2-3 изречения. Прави са.  Защото когато напишеш тях, можеш да си кажеш “Ок, написах 2. Няма ли да ме е яд ако не напиша още едно?”, после “Гледай, цели три изречения и колко време ми струваха! Сега могат ли да отидат на вятъра като няма четвърто?” И така докато напишеш научен труд в 10 тома за това защо ти обиват обувките.

 Е, да се надяваме, че моят блог няма да постигне този съмнителен успех. Все пак имам доста други неща, които да започвам, сред които не на последно място нова работа, собствен бизнес, образователен курс… и нещата които сега не се сещам но определено имат една здравословна нужда от започване. Може би ще пиша за тях и за други неща от живота… стига да успея да напиша втори пост…

октомври 30, 2007 Публикувано от plefterov | Нещата от живота | | Няма коментари