sty 30

Zleceniodawca powinien zdawać sobie sprawę jakiego typu połączeń będzie wymagało jego oprogramowanie na zamówienie. Sieć intranetowa to sieć, w której połączenie między komputerami nie jest realizowane z użyciem łącz internetowych dostawcy internetu. Jest to możliwe np. w jednym biurze, choć nie tylko. Obecnie sieci radiowe mają zasięg kilku kilometrów, tak więc teoretycznie taką siecią można połączyć wszystkie biura firmy w większym mieście. Oczywiście, jest to rzadko realizowane. Zwykle komputery w biurze połączone są ze sobą lokalnie a ze światem – w tym z innymi oddziałami firmy – za pomocą łącza internetowego.

Najlepiej, gdy możliwe jest funkcjonowanie aplikacji poprzez intranet ze względów zamieszczonych w poniżej tabeli, jednak często istnieje potrzeba działania takiej aplikacji z wykorzystaniem internetu (znacznie oddalone od siebie oddziały czy też części firmy np. centrala i magazyn). W takim przypadku program bazodanowy działa wolniej, jest mnie bezpieczny, zależny od dostawców internetu, na których firma ma ograniczony wpływ jednak wtedy może być realizowany dla komputerów rozmieszczonych na całym świecie.

Połączenie intranetowe Połączenie internetowe
Szybsze – jego prędkość to 54 Mb/s dla łącza radiowego (przesłanie filmu zajmuje niecałe 2 minuty) i nawet 1 Gb/s w przypadku łącza kablowego (przesłanie filmu w czasie 6 sekund) Wolne- obecnie prędkość tego łącza to w Polsce od 1 Mb/s do 8 Mb/s, czyli to łącze jest nawet o 1000 razy wolniejsze niż intranetowe.
Tanie – jego koszt to koszt okablowania, urządzeń podtrzymujących sieć (zwykle routera) i prądu Drogie – koszt to comiesięczna opłata za internet wynosząca nawet kilkaset złotych w przypadku najszybszych łącz
Jakość zależna od firmy Jakość zależna od dostawcy internetu
Siecią zarządza firma Siecią zarządza dostawca internetu
Większe możliwości konfiguracyjne Możliwości konfiguracyjne zależne w znacznej części od dostawcy internetu
Bezpieczniejsze – połączenia realizowane są wewnątrz firmy. Wymagany jest najczęściej fizyczny dostęp do sieci aby dokonać włamania Mało bezpieczny- połączenie z bazą danych przechodzi przez wiele zewnętrznych i niekontrolowanych przez firmę punktów, gdzie nastąpić może przejęcie informacji. Najpopularniejszy protokół Ethernet do realizacji takich połączeń nie umożliwia wybrania drogi przesyłu danych (jest ona wybierana automatycznie przez urządzenia na „świecie”)
Dostępny jedynie na małe odległości Poprzez Internet możliwe jest obecnie połączenie niemal z każdym komputerem na świecie
Tagged with:
sty 30

Schemat funkcjonowania programu bazodanowego

Na świecie są programy różnego typu. Występują na przykład programy do odtwarzania filmów, dźwięku, gry, edytory tekstu i inne. Znaczna jednak część oprogramowania na zamówienie to aplikacje bazodanowe, gdyż w ich działaniu wymagana jest obsługa dużej ilości danych a do tego niezbędna jest baza danych. Tworzenie na przykład programu magazynowego, który dane zapisywałby w plikach tekstowych byłoby nieefektywne, gdyż taki plik nie zapewniałby bezpieczeństwa danych oraz ich szybkiej obsługi.

Baza danych to specjalne oprogramowanie, które zapisuje dane w określonej strukturze dając do nich szybki i bezpieczny dostęp. Umożliwia ona wiele czynności, jak choćby dostęp przez internet do danych dla wielu użytkowników jednocześnie.

Istnieje wiele różnych baz danych, zarówno komercyjnych jak i darmowych. Niektóre osiągają ceny kilkudziesięciu tysięcy złotych. To, jaka baza danych zostanie wybrana zależy od potrzeb. Dla większości zastosowań wystarczy jedna z darmowych baz danych. Wyboru bazy danych zwykle dokonuje firma IT i z reguły wybiera jedną z baz, których sama używa.

Najczęściej używanymi darmowymi bazami danych są Firebird i PostgreSQL. Do najpopularniejszych komercyjnych baz danych należą MySQL i MS SQL Server (występuje także w wersji bezpłatnej z ograniczeniami)

Funkcjonowanie programu bazodanowego wygląda tak, że za pomocą GUI oprogramowanie na zamówienie wyświetla dane, które pobiera za pomocą swojego kodu z aktualnie używanej bazy danych. Schemat takiego działania wygląda następująco:

Schemat komputerów z lokalnymi bazami danych

W przypadku firm, najczęściej mamy do czynienia z pierwszą możliwością, gdyż niezbędne jest, aby wszyscy użytkownicy mieli dostęp do tych samych danych. Przykładowo, dział magazynowy zatwierdza w programie otrzymanie materiałów na podstawie czego dział księgowości płaci fakturę. Czasem jednak wystarczy baza lokalna, przykładowo dla programu księgowego tworzonego dla jedynej księgowej w firmie.

Jeśli do programu będzie potrzebna centralna baza danych zwykle tworzy się ją na osobnym komputerze (wtedy taki komputer nazywa się serwerem bazodanowym). Co ciekawe, serwer taki może mieć darmowy system operacyjny Linux, podczas gdy wszystkie komputery użytkowników będą miały program działający pod systemem Windows. Z tych powodów zwykle serwer bazodanowy nie jest kosztownym rozwiązaniem, jeśli korzystamy z bezpłatnej bazy danych, gdyż jego koszt sprowadza się do zakupu komputera a do zastosowań normalnych wystarczy obecnie nawet komputer o słabszych parametrach.

Schemat komputerów z centralną bazą danych

Tagged with:
sty 30

Oprogramowanie na zamówienie zawsze ma stanowić pomoc w funkcjonowaniu firmy. Zwykle potrzeba jego stworzenia wynika ze zwiększonej ilości klientów/transakcji/procesów wykonywanych przez firmę. W ten sposób przykładowo występuje duże zapotrzebowanie na programy magazynowe, gdyż firma nie jest w stanie zapanować nad swoimi stanami towarowymi. Gdy już zdecyduje się na program, stara się rozstrzygnąć czy nie potrzebuje pomocy także w innych obszarach działalności.

Jeden z klientów z branży meblarskiej dysponował oprogramowaniem do ewidencjonowania produktów gotowych i półproduktów oraz sprzedaży, jednak program ten nie miał możliwości dbania o dostawy do magazynu. Brak tej funkcji powodował daleko idące konsekwencje, choćby w postaci kradzieży wykonywanej poprzez zamawianie większej ilości materiałów niż było to konieczne do produkcji i wyprowadzanie ich. Właściciel stwierdził, że przydałaby się też funkcja rozpatrywania i kontroli przebiegu reklamacji, zarówno w obszarze zamówień materiałów, jak i tych zgłaszanych przez klientów kupujących wyroby firmy. W ten sposób powstały produkt łączył funkcje kontroli stanu materiałów na magazynie oraz reklamacji a po zintegrowaniu go z już istniejącym oprogramowaniem sprawił, że firma jako całość działała efektywniej.


Tworząc spis obszarów w jakich program ma pomóc należy wziąć pod uwagę poniższe:

  • Często zleceniodawca nie jest w stanie określić, w czym oprogramowanie na zamówienie może pomóc, dlatego powinien uwzględnić nawet obszary, w których z pozoru pomoc programu komputerowego wydaje się niemożliwa. Istnieje bowiem prawdopodobieństwo, że firma IT znajdzie rozwiązanie części z tych problemów
  • W tworzeniu opisu powinni brać udział wszyscy pracownicy, którzy będą użytkownikami programu a przynajmniej wskazane by było aby posiadali oni możliwość zgłoszenia swoich uwag, jeśli liczba takich osób jest znaczna. To oni najlepiej wiedzą, jaka funkcjonalność jest dla nich niezbędna
  • Powstający program powinien rozwiązywać wszystkie problemy przedsiębiorstwa a nie tylko niektóre. Jeśli okaże się przykładowo zbyt rozbudowany a więc drogi, zawsze można zrezygnować z części oferowanych rozwiązań
  • Należy poznać metody pracy pracowników. Często jest tak, że pracownik nie zgłasza problemów, jednak pewne czynności wykonuje poprzez długotrwałe uzupełnianie arkusza Excel, co odpowiedni program mógłby zrobić o wiele szybciej
  • Dobrze jest poprosić firmę IT o udzielenie wskazówek co do obszarów działania aplikacji. Zazwyczaj firmy takie miały wcześniej klientów z danej branży lub podobnej i mogą zaproponować użyteczne funkcje, które zleceniodawca mógłby przeoczyć. Zwykle firmy IT nie robią tego standardowo, gdyż wymaga to zwiększonej ilości pracy w przygotowaniu oferty a dodatkowe funkcje – choć pożyteczne – zwiększają cenę, która znajduje się w wycenie aplikacji

Przykładowa tabela ułatwiająca definiowanie obszarów teoretycznego funkcjonowania dla wspomnianej firmy meblarskiej może wyglądać następująco:

Dział Nazwa problemu Opis problemu Osoba zgłaszająca Obecne rozwiązanie Postulowane rozwiązanie Inne
Magazyn Zakup materiałów Nie ma właściwej kontroli nad ilością zamawianych materiałów Kierownik magazynu, właściciel Właściwie brak Program powinien weryfikować zamówione materiały z potrzebami obliczanymi na podstawie wcześniej zapisanych składów materiałowych każdego wyrobu gotowego
Sprzedaż Kontrola reklamacji Nie ma kontroli nad reklamacjami klientów (czas wykonania, obecny stan) Dział sprzedaży Arkusz Excel ze zgłoszonymi reklamacjami. Gdy towar przychodzi z naprawy, wysyłany jest klientowi Możliwość wpisania czasu rozpatrzenia reklamacji, szybki podgląd stanu zgłoszenia gdy klient zadzwoni, informacja o zmianie stanu na e-mail klienta
Magazyn Kontrola reklamacji Nie ma kontroli nad reklamacjami materiałów Właściciel Brak Ewidencja reklamowanych towarów. Żaden materiał nie może pójść do reklamacji zanim właściciel nie wyda elektronicznej zgody w programie. Statystyka reklamowanych materiałów co do wartości dla każdego magazyniera


Tagged with:
sty 30

Problem z wyborem systemu operacyjnego – pod który będzie oprogramowanie na zamówienie a więc i obsługiwany- ma miejsce w przypadku aplikacji stacjonarnej. Przeszło 90% komputerów używa systemów z rodziny Windows (XP, Vista, 7) i pod ten system tworzone są zwykle aplikacje stacjonarne.

System Windows, chociaż jest kosztowny ma wiele zalet, które decydują o jego wykorzystaniu. Przede wszystkim, jest prosty w obsłudze i powszechnie wykorzystywany. Istnieją jednak inne systemy operacyjne, które mogą również być użyte, a w dodatku są bezpłatne. W większości przypadków wyboru dokonuje się pomiędzy rodziną systemów Windows a rodziną systemów opartych o jądro Linux.

Systemy Windows Systemy Linux
Większe obycie z tym systemem wśród zwykłych użytkowników ze względu na powszechność jego użycia Używany głównie przez branżę IT
Kosztowny. Wyposażenie jednego komputera to koszt kilkuset złotych Zwykle darmowy
Łatwa instalacja Instalacja trudniejsza niż w przypadku Windows
Dużo dostępnych programów powszechnego użytku Mniejsza liczba dostępnych aplikacji, zwykle mniej popularnych niż dla Windows
W miarę łatwa obsługa Obsługa trudniejsza, wymagana jest w miarę dobra znajomość systemu
Dziury bezpieczeństwa, system najczęściej atakowany Duże bezpieczeństwo
Stabilny, jednak nie tak jak Linux Stabilniejszy niż Windows
Posiada GUI (graficzny interfejs użytkownika) Niektóre wersje posiadają GUI

Z powyższego zestawienia wynika, że główną wadą Windows są luki bezpieczeństwa i cena. Główną zaletą systemu jest obycie z nim znacznej części użytkowników, którzy używają go także w swych domowych komputerach. Firmy wybierają ten system wiedząc, że jedynie z nim poradzi sobie pracownik przeciętnie znający się na komputerach. Jednorazowo wydane kilkaset złotych na system operacyjny stanowi w tym przypadku niewielki wydatek w porównaniu do kosztownych szkoleń, jakie musieliby przejść pracownicy, aby wprawić się w nieznany dotąd im system operacyjny.

Udziały rynkowe systemów operacyjnych na podstawie: gemiusRanking (www.ranking.pl) na dzień 20.12.2009

Tagged with:
sty 30

Czasem znaczny problem stanowi dla zamawiającego określenie jakiego rodzaju oprogramowanie na zamówienie jest mu potrzebne. Rzeczywiście, często jest tak, że wymagania mogłaby spełniać zarówno aplikacja stacjonarna działająca tak jak Microsoft Word czy Excel pod systemem operacyjnym jak i aplikacja internetowa taka jak poczta.onet.pl. Nazwa „aplikacja internetowa” nie oznacza więc, że program wyróżnia działanie poprzez internet, bo to może robić także aplikacja stacjonarna lecz, że program tego rodzaju działa z wykorzystaniem przeglądarki internetowej.

Porównajmy więc te 2 typy programów pod względem najważniejszych różnic:

Aplikacja stacjonarna Aplikacja internetowa
Działa pod systemem operacyjnym (tak jak Microsoft Word, Excel) Działa poprzez przeglądarkę internetową tak jak poczta.onet.pl czy gmail.com
Zwykle droższa Zwykle tańsza
Daje większe możliwości programistyczne, ze względu na to, że ograniczona jest jedynie przez możliwości środowiska programistycznego oraz systemu operacyjnego Podlega większym ograniczeniom programistycznym, bo do ograniczeń aplikacji stacjonarnej dochodzą ograniczenia samej przeglądarki internetowej (np. drukowanie odbywa się poprzez przeglądarkę internetową więc podlega jej ograniczeniom). Czasem jest tak, że niemożliwe jest wykonanie czegoś, co w aplikacji stacjonarnej mogłoby zostać wykonane
Zwykle działa szybciej. Program wszystkie niezbędne dane pobiera lokalnie lub zdalnie tylko dane Zwykle działa wolniej. Strona musi się wczytać a stanowią ją zarówno dane jak i kod html stanowiący o sposobie ich wyświetlania
Wymagana jest instalacja do uruchomienia aplikacji Do uruchomienia aplikacji wystarczy wejście na określoną stronę www
Obsługa jest zwykle łatwiejsza, gdyż możliwa jest implementacja wielu ułatwień Obsługa jest zwykle trudniejsza ze względu na ograniczenia przeglądarki internetowej
Aplikacja może mieć bogatszy GUI (graficzny interfejs użytkownika, czyli to co można zobaczyć po uruchomieniu programu) ze względu na większą możliwą do wykorzystania liczbę elementów GUI Aplikacja ma ograniczone GUI, ze względu na ograniczoną ilość elementów graficznych możliwych do wykorzystania
Czasem nie nadaje się do niektórych zastosowań (jeśli np. chcemy stworzyć serwis internetowy) Czasem nie nadaje się do niektórych zastosowań
Polecana w takich rozwiązaniach jak: oprogramowanie dla firm (księgowe, sprzedażowe, magazynowe, oprogramowanie analityczne) Polecana raczej tylko w przypadku tworzenia serwisów internetowych i programów, dla których korzystanie poprzez przeglądarkę internetową jest prostsze i bardziej naturalne
Zwykle pisana pod konkretny system operacyjny z możliwością stworzenia wersji instalacyjnych na inne systemy Działa pod każdym systemem operacyjnym

Dla wielu zastosowań tak samo dobrze dla oprogramowania na zamówienie nadaje się aplikacja stacjonarna jak i internetowa. Przykładem takiej usługi może być poczta e-mail. Niektórzy wolą zalogować się na stronie usługodawcy (np. poczta.onet.pl) a niektórzy wolą skonfigurować program pocztowy taki jak MS Outlook czy Mozilla Thunderbird do obsługi poczty. Czasem występuje próba stworzenia aplikacji internetowej w obszarach, gdzie dominowała aplikacja stacjonarna. Takim przykładem jest oprogramowanie google – edytor tekstu, który zwykle jest aplikacją stacjonarną. Czasem robi się na odwrót, czyli próbuje aplikację internetową zamienić na stacjonarną lub dodać do niej aplikację stacjonarną. Przykładami mogą być aplikacje stacjonarne wspomagające handel w serwisie allegro.pl. Czasami konieczne jest stworzenie zarówno wersji internetowej jak i wersji stacjonarnej aplikacji i wzajemna współpraca między nimi.

Z reguły firma IT jest w stanie szybko podjąć właściwą decyzję za klienta i stworzyć właściwy rodzaj oprogramowania na zamówienie. Dobrze jednak orientować się w różnicach między tymi dwoma aplikacjami, gdyż projektowanie oprogramowania na zamówienie w znacznej części zależy od typu aplikacji, jaki zleceniodawca chce stworzyć.

Tagged with:
preload preload preload