🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #17260

Do czego porównać konstrukcję dużego systemu informatycznego

#17260
From: Filip Sielimowicz
Date: Thu, 23 Aug 2007 13:33
82 lines
5706 bytes
Interesuje mnie zagadnienie znalezienia dobrej analogii między konstrukcją 
systemu informatycznego
a konstrukcją jakiegoś złożonego bytu, np. architektonicznego (wysokościowca 
? wiaduktu w miejscu przecięcia
się dwóch autostrad ?).

Generalnie chodzi o to, by przy dyskusjach na temat budowy takiego systemu, 
jego rozbudowy czy bardziej
wprowadzania zmian, móc się posługiwać jakimś w miarę wyrazistym modelem, 
który pobudza wyobraźnię przestrzenną,
posługuje się w miarę znanymi pojęciami ze świata rzeczywistego, dzięki 
czemu złożoność takiej konstrukcji jest łatwiejsza
do ogarnięcia dla zespołu ludzi, którzy mają przy takim systemie grzebać i 
przewidywać konsekwencje swoich działań,
a mają na dzień dzisiejszy bardzo różne kwalifikacje i perspektywy widzenia 
tego systemu.

Generalnie chodzi o to, by taki model pomógł wypracować kierunki prac przy 
przebudowie starego, dużego systemu opartego
o pliki dbf na bazę relacyjną. Stary system jest słabo zmodularyzowany, ma 
słabo zarysowaną logikę biznesową - wszystko
wbudowane w interfejs użytkownika (fox pro), komunikuje się z wieloma innymi 
systemami za pośrednictwem różnych technik
integracji, głównie 'file transfer'. Od modernizacji oczekuje się spełnienia 
dwóch podstawowych celów:
 - system ma zostać przeniesiony na relacyjną bazę danych (bezpieczeństwo 
danych i inne)
 - system ma uzyskać architekturę umożliwiającą jego rozwój (kontrolowane, 
bezpieczne spełnianie żądań zmian - zapanować
nad powiązaniami w systemie)

Jest wiele koncepcji, które kładą podstawy pod to przedsięwzięcie, ale są 
dość radykalnie różne. Model miałby posłużyć
wstępnemu testowaniu "na papierze", "w czasie burzy mózgu" tych koncepcji. 
Pojawiają się np. takie pytania, jak:
 - czy/jak budować interfejsy wewnętrzne i precyzyjnie rozdzielić 
odpowiedzialności za dane pomiędzy elementy systemu
(silna modularyzacja także na poziomie bazy danych).
- czy pozostawać przy jednej, centralnej bazie danych - w sensie jednej 
struktury danych, czy dzielić ją na kawałki. Jeśli to drugie, to czy budować 
złożony system replikacji między tymi bazami, czy budować system usług, czy 
wydzielać osobno bazę danych raportową zbierającą dane i oddzielić raporty 
od pierwotnego systemu
- czy dażyć do architektury silnie warstwowej, z wyraziście zarysowanymi 
usługami i możliwie silnie oddzielonym interfejsem
- czy zachowywać jednolitość technologiczną komponentów systemu (czyli 
pozostać przy fox pro powoli wbudowując go w .NET)
- jak podzielić przedsięwzięcie na małe kawałki - projekty, gdzie każdy z 
nich przechodziłby przez pełen cykl życia oprogramowania
(powiedzmy od analizy poprzez projekt, implementację, testowanie aż do 
wdrożenia i utrzymania)
- jak zrównoleglić prace - by wiele projektów pracujących nad różnymi 
kawałkami systemu mogło biec równocześnie, możliwie niezależnie
- na jakiego typu decyzje strategiczne należy się już teraz przygotować

Generalnie klarują się dwa ogólne obozy ;)
- centraliści - jak najdłużej utrzymać jedną, spójną bazę danych i w 
pierwszej kolejności spróbować wymienić bazę na relacyjną, nawet jeśli
oznacza to grzebanie w bardzo słabo uporządkowanym i opisanym kodzie. Siłą 
tego obozu jest teza, że taką zmianę można w dużym stopniu
wykonać automatycznie i zajmie to stosunkowo mało czasu.
- usługowcy - zbudować model wielu technologii i baz danych. Siłą tego obozu 
jest teza, że tylko takie podejście pozwoli na stopniowe
przenoszenie systemu i w ten sposób kontrolę przedsięwzięcia jako takiego, a 
jednocześnie bardzo szybko daje podstawy pod
rozbudowę systemu w oparciu o nowsze technologie, bez oczekiwania, aż całe 
przedsięwzięcie sięskończy.

Jednocześnie usługowcy radykalnie krytykują wizję półautomatycznego 
przerabiania kodu fox pro na bazę relacyjną (poprzedni system jest w dbf)
bez wcześniejszego uporządkowania logiki - twierdzą, że to niewykonalne lub 
co najmniej bardzo trudne w oszacowaniu - zarówno kosztów jak
i ryzyka niepowodzenia. Trudne także z punktu widzenia zarządzalności - 
trudno to podzielić na etapy zakończone wdrożeniem u klienta.

Centraliści zaś krytykę opierają na tezie, że modularyzacja jest bardzo 
kosztowna, także w utrzymaniu, w szczególności wskazują na złożoność
systemów replikacji danych między powstałymi podsystemikami.

Macie jakieś pomysły, jak wybrnąć z tej sytuacji ? :)))

(kupić inny system, sparametryzować i zmigrować ...) ;) 
Technical Details
Message-ID: <fak2kt$biu$1@nemesis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Filip Sielimowicz" <sielim@wp.pl>
Newsgroups: pl.comp.objects
Subject: Do czego porównać konstrukcję dużego
 systemu informatycznego
Date: Thu, 23 Aug 2007 15:33:30 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 84
Message-ID: <fak2kt$biu$1@nemesis.news.tpi.pl>
NNTP-Posting-Host: efp194.internetdsl.tpnet.pl
X-Trace: nemesis.news.tpi.pl 1187876317 11870 83.14.249.194 (23 Aug 2007 13:38:37 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Thu, 23 Aug 2007 13:38:37 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3138
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit