archiwum tematu „software engineering” z roku 2005

Człowiek musi być obłąkany

Żadne przygotowanie teoretyczne nie jest w stanie uodpornić zdrowego człowieka na pomysły wariatów.

Graphviz

Kolejna perełka w kolekcji narzędzi na różne okazje: Graphviz - Graph Visualization Software. Dokładnie to, co prawdziwy geek lubi najbardziej — kawałek kodu źródłowego na wejściu i obrazek w jednym z wielu formatów na wyjściu.

Modelowanie niezupełnie rzeczywiste

W najróżniejszych ogólnych opisach i wstępach do technologii mówi się często, że programowanie obiektowe przedstawia związki między pojęciami w sposób analogiczny jak to ma miejsce w świecie rzeczywistym. Dzięki temu oprogramowanie ma być bliższe prawdziwemu światu — opiera się na interakcji autonomicznych obiektów, a nie tylko na wykonywaniu jakiegoś abstrakcyjnego ciągu rozkazów. Zgodnie z tym wszelkie dodatkowe technologie, które wyewoluowały z tego paradygmatu, w szczególności UML, oferują zestaw pojęć i notacji do „modelowania świata”. Taki model przekłada się potem na klasy, które w założeniu mają reprezentować obiekty lub pojęcia rzeczywiste czy chociażby wyobrażalne oraz relacje między nimi. Zadziwiające, jak łatwo udowodnić, że jest to bzdura... Chociażby wykorzystując stary (nawet jeśli znany, to wart przypomnienia) przykład z kwadratem i prostokątem.

Diagramy aktywności w modelowaniu workflow

„Workflow” to „buzzword” z gatunku tych nielicznych, które użyte w dobrze dobranym kontekście brzmią nawet lepiej niż „XML”. Precyzyjnie wstawione we właściwie uszy „workflow” może uzasadnić nawet przebudowanie od zera systemu dla klienta, który teraz sam już nie rozumie jak mógł dotąd funkcjonować nie znając tego zbawiennego pojęcia.

Projektowanie parami

W przeciwieństwie do programowania parami, w które wciąż nie wierzę (być może z powodu braku otoczki w postaci reszty metod XP), projektowanie uważam za doskonale nadające się do pracy grupowej.

TEC 2006

Dzisiaj pojawiły się na stronach Borlanda nowe wersje Together: Architect|Designer|Developer version 2006. Zaciekawił mnie wpis w kolumnie Platform: „Eclipse 3.1 on Windows, Linux, Mac OS X, and Solaris”. Nie „Windows, Linux, Solaris, Mac OS X” i osobno wersja „for Eclipse”, jak było dotychczas, tylko jedna, jedyna wersja 2006 na platformę Eclipse 3.1.

Czy klient to nasz pan?

Poniższe miało być komentarzem do wpisu Patrysa, który z kolei jest komentarzem do wpisu Łukasza, który komentuje ... i tak dalej i tak dalej... Postanowiłem kontynuować ten łańcuszek szczęścia i zamieszczam te kilka zdań jako wpis osobny. A co tam...

Każdy ma taką inżynierię, na jaką go stać

Z powodów najróżniejszych, wśród których zmiana pracodawcy wcale nie jest najważniejszym, nie poświęcam ostatnio tyle uwagi okolicznym blogom, ile szanujący się obywatel Sieci poświęcać powinien. Jednak mimo przeciwności zdarza mi się trafić, zazwyczaj po czasie, na coś interesującego...

profesja czy ledwie zajęcie?

Wszystkim znudzonym mnogością informacji czysto technicznych, ewentualnie zainteresowanym szukaniem ludzkiej strony branży polecam ostatni artykuł na Hacknot: „The Crooked Timber Of Software Development”.

Akceptujesz?

Poniższy obrazek znalazłem w drukowanej dokumentacji pewnego systemu stworzonego dla poważnej instytucji publicznej. Zakładam, że nie jest to chochlik drukarski i faktycznie takie okienko jest prezentowane nieszczęsnemu użytkownikowi.

Komercyjny UML w Eclipse

W ramach przygotowania do nowego podejścia do starego projektu spojrzałem przez chwilkę na dwóch przedstawicieli komercyjnych produktów modelowania UML na platformie Eclipse: Visual Paradigm SDE for Eclipse (version 3.0 Professional Edition),Together Edition for Eclipse (version 7.0)

gdzie ten diabeł?

wychodzi na to, że nawet jeśli faktycznie opis funkcjonalności jest „rozsądnie uogólniony”, to projekt techniczny i tak musi zawierać kilka zupełnie irracjonalnych szczegółów... :-/ Największy diabeł tkwi w tym, co zostało w cytowanym na wstępie tekście ujęte rozbrajająco prostym „oraz ERD”.

proste narzędzia

Simple tools are easy to learn, easy to use, and very often easy to share with others. Yes, complex tools have their place, assuming they provide the best value for your investment in them, but never underestimate the effectiveness of simple tools either.

SIWZ

W moim wyobrażonym świecie sytuacji idealnych, które czasami (wbrew pozorom) faktycznie się zdarzają, pierwszy kontakt ”technicznych” przedstawicieli producenta oprogramowania (czyli analityka i/lub szefa grupy wykonawczej) z potencjalnym przyszłym systemem informatycznym następuje na poziomie dokumentu SIWZ.

Jutro obetniemy wam jaja!

Przypomniałem sobie kilka słów, które napisałem (a może wręcz opublikowałem, w końcu to na blogu było) dwa i pół roku temu, a które dziwnie złośliwie nie chcą stracić na aktualności.

Notacja Węgierska - rehabilitacja?

jak można być na tyle głupim, żeby bezkrytycznie dać sobie wmówić, że Charles Simonyi był na tyle głupi, żeby wymyślić „notację węgierską” tak, jak to zostało przedstawione światu..?

double on the floor

Krótko ilustrowana opowieść o tym, jak skomplikowana bywa praca programisty

Phalanger - spotkanie pierwsze

The Phalanger is a complex solution giving web-application developers the ability to benefit from both the ease-of-use and effectiveness of the PHP language and the power and richness of the .NET platform. This solution enables developers to painlessly deploy and run existing PHP code on an ASP.NET web server and develop cross-platform extensions to such code taking profit from the best from both sides.

guru

Nadal w podobnym duchu pseudofilozoficznego zadumania jak poprzednio...

kiełbasy, ustawy i systemy

Żelazny kanclerz Niemiec Otto von Bismarck mawiał, że lepiej nie patrzeć, jak powstają kiełbasy i ustawy. Dziś należałoby jeszcze jego radę rozszerzyć o publiczne systemy informatyczne.

I co z tego, że działa...

Każdy, kto usiłuje traktować tworzenie oprogramowania z szacunkiem należnym, jeśli nie sztuce to przynajmniej rzemiosłu, musi przyznać, że „działa” to za mało. Program może działać i wykonywać wszelkie zachcianki użytkownika/zlecającego/klienta i równocześnie być zupełnie marnym produktem software'owym.

lepiej późno czy wcale?

Niedawno kolega zadał mi pytanie: „czy ten PL jest faktycznie tak bardzo inny?” Chodziło o porównanie języka PL/I i Javy, a konkretnie o to, czy dzieląca je przepaść może być tak ogromna, że dla niektórych nie do przeskoczenia.

Programiści mają łatwiej - polemika

Kolega Łukasz oczywiście spłyca, jak to profesjonalny analityk, wiadomo ;-) Przede wszystkim mam wrażenie, że popełnia błąd numer jeden wszystkich analityków systemowych wszechświata — nadużycie określenia „programiści”.

menu / search web

Oglądając dzisiaj program Process Explorer zauważyłem ciekawą opcję w menu kontekstowym — „Google”

Version People Control System

Wybór mechanizmu kontroli wersji i repozytorium kodu dla projektu jest zagadnieniem niebanalnym. Dostępne narzędzia VCS różnią się zarówno wymaganiami jak i możliwościami. Wybór między VSS, CVS czy innym Subversion to dla jednych zagadnienie wyboru platformy lepszej i stabilniejszej, dla innych wybór najwygodniejszego narzędzia, a dla wielu pewnie wybór czysto ideologiczny. Jednak w przypadku VCS wybór narzędzia „najbardziej odpowiedniego” nie zawsze jest wyborem „lepszej” technologii..

wycieczka do piekła

Im więcej różnych programistów lub zespołów roboczych pracuje nad projektem informatycznym w czasie całej jego historii, tym trudniej jest „zgrać” efekty ich działań i tym niższej jakości jest produkt tego projektu. Obserwacja ta wydaje się oczywista, wręcz banalna, a mimo to bywa zupełnie niepojęta

punkt siedzenia - punkt widzenia

Zadanie testowe dla analityka systemowego — czy zaprezentowana poniżej konstrukcja adresu w Polsce jest poprawna przy założeniu, że w rozpatrywanym systemie nie funkcjonują słowniki miejscowości, nazw ulic ani kodów pocztowych; czas wykonania: 7 sekund

beta über alles

Wynalazek wersji beta jest chyba jednym z największych osiągnięć psychologii i polityki w służbie inżynierii oprogramowania. Dopisek „beta” ma dobroczynny wpływ na wszystkich zaangażowanych w projekt informatyczny.

Targeting Small Screens

Truizm: urządzenia przenośne to <del>przyszłość</del> jutro komputerów osobistych. PDA czy inne MDA stają się z dnia na dzień lepsze, szybsze, mocniejsze i ... po prostu ciekawsze.