Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: system CRM
Forum PHP.pl > Inne > Hydepark
zzeus
Witam, proszę ludzi którzy mają już doświadczenie w projektowaniu i implementowaniu systemów typu CRM o informacje na co należy zwrócić szczególną uwagę podczas pracy nad takim systemem. Wszelkie sugestie mile widziane smile.gif Oczywiście system z wykorzystaniem języka PHP.

Pozdrawiam
nasty
Należy zwrócić uwagę na to, żeby był dobrze zrobiony.
thek
Przede wszystkim: bezpieczeństwo.
Nieco dalej: modularność (nigdy nie wiemy czy nie przyjdzie nam dorzucać jakichś nowych funkcjonalności)
Potem: ergonomia użytkownika końcowego.

Innymi słowy: postaw się na miejscu usera i wymagaj, przewiduj jego zachowania. Myśl przede wszystkim jednak o własnej wygodzie na przyszłość, by rozbudowa drobnostki nie zajmowała Ci dni. A potem myśl o wygodzie użytkownika. Najpotrzebniejsze rzeczy do podręcznego menu, mniej przydatne ukryj w podstronach gdzie możesz to wykorzystać. Zastanów się co będzie najczęściej używane lub na co Twoim zdaniem powinno zajmować usera najbardziej. Wyeksponuj to.
zzeus
Cytat(nasty @ 6.11.2009, 16:15:52 ) *
Należy zwrócić uwagę na to, żeby był dobrze zrobiony.

Bardzo odkrywcze, przypomina że w hydeparku nie ma +1 za posta ...

Cytat(thek @ 6.11.2009, 16:27:03 ) *
Przede wszystkim: bezpieczeństwo.
Nieco dalej: modularność (nigdy nie wiemy czy nie przyjdzie nam dorzucać jakichś nowych funkcjonalności)
Potem: ergonomia użytkownika końcowego.

Innymi słowy: postaw się na miejscu usera i wymagaj, przewiduj jego zachowania. Myśl przede wszystkim jednak o własnej wygodzie na przyszłość, by rozbudowa drobnostki nie zajmowała Ci dni. A potem myśl o wygodzie użytkownika. Najpotrzebniejsze rzeczy do podręcznego menu, mniej przydatne ukryj w podstronach gdzie możesz to wykorzystać. Zastanów się co będzie najczęściej używane lub na co Twoim zdaniem powinno zajmować usera najbardziej. Wyeksponuj to.

Innymi słowy walidacja, walidacja i jeszcze raz walidacja.
A jak z obliczeniami w takim systemie, korzystać z BC Math czy nie ma sensu zaprzątać sobie tym głowy bo standardowe funkcje spełnią swoje zadanie ?
thek
To zależy na jakim poziomie dokładności oczekujesz. Użycie float z dużą dokładnością lub double w większości sytuacji powinno być wystarczające. Wskakiwanie z BC math tylko niepotrzebnie zje pamięć smile.gif
nasty
Cytat
Bardzo odkrywcze, przypomina że w hydeparku nie ma +1 za posta ...

Wiem ;-) Ale odpowiedź, której udzieliłem, jest tam samo generalna co pytanie.

Cytat
Przede wszystkim: bezpieczeństwo.
Nieco dalej: modularność (nigdy nie wiemy czy nie przyjdzie nam dorzucać jakichś nowych funkcjonalności)
Powiedział co wiedział...

Nie masz przecież podanych żadnych wymagań odnośnie systemu, to jak możesz stwierdzić, że to jest potrzebne?
Bezpieczeństwo? nawet jeżeli będzie to system używany przez jedna osobę na komputerze który nie jest podłączony do sieci a wejście do tego pokoju z komputerem ma tylko uprawniony personel?
Modularność? skąd wiesz, że to jest potrzebne? a nie np. czas wykonania (co jest odwrotnie proporcjonalne do modularności w pierwszych fazach tworzenia) jest najważniejszy dla klienta końcowego?

Informację jakie zzeus przedstawił na temat tego systemu CRM (to też bardzo szerokie pojęcie bo możesz mieć CRM który waży kilka KB a możesz taki co waży kilka GB - Dynamics) pozwalają na udzielenie tyko jednej poprawnej odpowiedzi - takiej jaką udzieliłem w moim poprzednim poście.

zzeus: Przedstaw może trochę więcej na temat tego kto będzie ten system używał, jakie są jego funkcjonalności, w jakiej branży przemysłu będzie działać, arhitekturę, jakieś wymagania funkcjonalnie i niefunkcjonalne wtedy usłyszysz normalne odpowiedzi, które nie będziesz musiał ironicznie komentować ;-)
itsme
najpierw nalezy sprawdzić czy nie chcesz wyważać już otwartych drzwi :-)

poszukaj CRM napisany w PHP :-)
może spełni już twoje oczekiwania :-)
zzeus
Cytat(thek @ 6.11.2009, 16:54:38 ) *
To zależy na jakim poziomie dokładności oczekujesz. Użycie float z dużą dokładnością lub double w większości sytuacji powinno być wystarczające. Wskakiwanie z BC math tylko niepotrzebnie zje pamięć smile.gif

Dokładność taka jak jest wymagana w księgowości. Obecnie największy problem polega na tym, że system współpracuje z oprogramowaniem Optima, i wyliczenia z optimy i systemu czasami się różnią.

Cytat(itsme @ 8.11.2009, 16:00:47 ) *
najpierw nalezy sprawdzić czy nie chcesz wyważać już otwartych drzwi :-)

poszukaj CRM napisany w PHP :-)
może spełni już twoje oczekiwania :-)

Odpada, system już w zasadzie istnieje i działa, jednak będzie teraz dosyć intensywnie rozwijany.

@nasty: ok, widzę że jednak masz coś więcej do powiedzenia w temacie, więc cofam to co napisałem wcześniej smile.gif

System ogólnie wykorzystywany jest przy obsłudze firmy, składanie zamówień, rozliczenia międzydziałowe, bilanse, itd.
Jak chodzi o obciążenie to jest niewielkie, system działa lokalnie i ma do niego dostęp kilkadziesiąt osób.

Jak chodzi o bezpieczeństwo, to warto zastosować silnik bazy danych InnoDB i wykorzystać więzy integralności ?
emp
Bezpieczeństwo nie jest ważniejsze jak wy wypadku innych aplikacji w żadnym wypadku nie jest na pierwszym miejscu to nie jest system dla wojska , policji czy do przechowywania jakiś super tajnych danych gdzie będziemy stosować wymyślne algorytmy i tuzin super pomysłów by zabezpieczyć dane. Aplikacja ma być bezpieczna jak każda inna tyle.

W twoim wypadku skupiłbym się na "dynamicznie rozwijana" Czy ten system jest na to gotowy został stworzony z myślą o dynamicznym rozwoju ? Bo jak nie to bardzo ciężko ci to będzie dynamicznie rozwijać.

Modularność, interfejsy i jakaś standardowa biblioteka to nie jest coś co można lub nie zrobić tylko trzeba to mieć zrobione. Mam interfejs modułu, aplikacje zaprojektowaną w tym kierunku plus biblioteka standardowa i mogę dodawać spokojnie nowe moduły do aplikacji, ale to nie pomoże w rozwoju już istniejących modułów.

Żeby móc spokojnie rozwijać moduł on sam musi być dobrze, odpowiednio zaprojektowany i to nie wystarczy - cały system powinien być zaprojektowany i nastawiony na dynamiczny rozwój jeśli ma się go dać dynamicznie rozwijać co to konkretnie oznacza:
- raporty i podsumowania powinno się dać samemu tworzyć z dostępnych danych i dodawać do systemu łączyć z jego elementami, a nie że użytkownik chce wykres, podsumowanie jakaś tabelkę a ty za każdym razem będziesz robił skrypt , grzebał w kodzie itp
- elementy systemu powinny być konfigurowalne przez użytkownika w jakimś module konfiguracyjnym byś ty nie musiał za każdym razem grzebać w kodzie poprawiać 100 miejsc bo dodałeś nowe pole do elementu typu firma - użytkownik sobie sam dodaje takie pole decyduje jakiego ma być typu i tyle

Rób swoje biblioteki, swoje komponenty itp tak byś dodawał odpowiednie elementy jedna 2 linijkami kodu i żebyś poprawiał w razie potrzeby w jednym miejscu komponent a wszędzie zostanie poprawione.

I najważniejsza rzecz musisz grać dużo w gry przygodowe typu point and click, pić kompot z rabarbaru... nie zapomnij jeszcze mieć w kieszeni szyszkę i jedz szparagi a wszystko będzie gites.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.