Sviluppare un software come base per un sito

di il
36 risposte

Sviluppare un software come base per un sito

Salve a tutti,
quanto tempo ci vorrebbe e che linguaggi servirebbero per sviluppare un software per un sito tra ebay ed un sito per scommesse?
Ovvero,le persone possono comprare un oggetto da qualcuno per poi rivenderlo all'infinito(fino a quando ci sarà domanda). Il software dovrebbe gestire diciamo i "carrelli" dei giocatori,dove i soldi dovrebbero passare da un conto ad un altro a seconda di alcuni parametri che gli consentano appunto di vendere/comprare,tipo:
1-Se il saldo è inferiore al prezzo,non può comprare.
2-Se una parte del saldo è impegnato in un'offerta,non può impegnare ancora quella parte di soldi
3-Se il saldo è inferiore all'eventuale quota che potrebbe raggiungere l'oggetto all'asta,non può venderlo.
Ci sarebbe un saldo,un margine disponibile da spendere ed un margine diciamo "congelato" a garanzia dell'acquirente.
immagino quindi,che il programma dovrebbe essere basato principalmente su condizioni: se A=2 allora OK ,se A<2 allora NIENTE ,ecc...Perdonate la mia ignoranza del settore,ma come dicevo nella presentazione studio economia e non informatica...

Grazie a tutti.

36 Risposte

  • Re: Sviluppare un software come base per un sito

    Spannometricamente: 1 o 2 anni, 2 persone ESPERTE (QUINDI NON ragazzini, una per la parte front-end, ed una per la parte back-end) USANDO framework gia' esistenti

    linguaggio:
    front-end -> Javascript, HTML, CSS, XML, XSLT, JSON e DECINE di librerie gia' pronte
    backend -> diverse alternative
    1) Java, SQL, XML, XSLT, e DECINE di librerie/framework gia' pronti
    2) C#, SQL, XML, XSLT, e DECINE di librerie/framework gia' pronti
    3) PHP , SQL, XML, XSLT, e DECINE di librerie/framework gia' pronti

    Ma, NATURALMENTE, questa e' SOLO LA PARTE SEMPLICE.

    Poi viene la parte COMPLICATA:
    - gestione dell'accesso concorrente da parte di decine/centinaia di persone NELLO STESSO MOMENTO
    - gestione della CONSISTENZA dei dati
    - gestione delle DIFFERENZE tra i vari dispositivi (tablet, cellulare, web) E i vari browser (Firefox, Chorme, Safari, Opera, Android, iOS, ...) e RELATIVE VERSIONI
    - conoscenza dei concetti di INTERAZIONE UNOMO MACCHINA
    - un certo grado di capacita' artistiche


    e N-MILIONI di altri dettagli

    Ovviamente ti perdoniamo l'ignoranza: cosi' come noi non pretendiamo di conoscere i segreti della finanza mondiale, tu non pretendere di avere anche una minima idea di come si debba implementare il software necessario per gestire un sito di e-commerce.

    Nel senso, la frase:
    immagino quindi,che il programma dovrebbe essere basato principalmente su condizioni: se A=2 allora OK ,se A<2 allora NIENTE ,ecc...
    e' un po' come se uno che conosce solo l'ARITMETICA pretenda di avere una vaga idea di che cosa sia l'algebra astratta.

    Consiglio: considera il mondo dell'informatica alla stessa stregua di come noi consideriamo il mondo del trading online: un simpatico giochino con cui gingillarsi saltuariamente, MA CERTAMENTE non qualcosa con cui avere a che fare in modo professionale: per questo ci sono I PROFESSIONISTI
  • Re: Sviluppare un software come base per un sito

    Innanzitutto,grazie per la risposta!Poi, la frase che hai citato non era certamente un modo per minimizzare il lavoro che ci vuole...Anzi,era piu una banalissima sintesi per me,diciamo per capire!Se qualcuno inesperto,che non ha la minima idea di come funzioni il trading,mi chiedesse cos'è,gli risponderei inizialmente che è uno scambio.Ovvero un sistema che funziona sulla compravendita di titoli,valute,materi,eccetera...
    Chiedo scusa se possa essere arrivato un messaggio con una base di arroganza,ma ti assicuro che non è assolutamente così.Sono un ragazzo molto umile,consapevole che ognuno ha il proprio ruolo,le proprie conoscenze e la propria professionalità.

    Tornando al discorso,immagino che due professionisti che si occupino dello sviluppo del progetto possano costare 40K,se non di piu, per un anno di lavoro del genere...A questo punto,mi domando se con una spesa di 20k/25k ci si possa rivolgere a qualche software-house in Romania,Bulgaria o Albania.Lì gli ingegneri hanno stipendi compresi tra i 500 e 900 euro al mese e hanno molte meno tasse.Con 20k/25k si avrebbe un vero e proprio team al lavoro su un progetto del genere(quindi ci vorrebbe anche meno tempo,forse).Il problema è assicurarsi che abbiano un portfolio ben corredato...Il risparmio non è sempre guadagno,va a finire che potrebbero farlo anche uno schifo,oppure potrebbero esserci poi problemi di assistenza dato la distanza,la lingua,eccetera...
    Tu dici che i ragazzini non sono capaci di una cosa del genere,ma i "ragazzini" come me sono quelli che credono ancora nei sogni e se a qualcuno dovesse piacere la mia idea almeno quanto piace a me,potrebbe nascerne una società dove io mi occupi della parte contabile-finanziaria,la cessione di licenza (entro un mese dovrei avere il responso da UIBM,circa l'assoluta esclusività del mio gioco) e gli altri della parte informatica...

    Il gioco è rivolto ad una fascia d'età compresa tra i 18 ed i 40 anni,il mercato è in continuo trend rialzista dal 2003 ed è un settore di nicchia dove il mio gioco consisterebbe in un servizio in più che online non esiste ancora (sono due mesi che,in attesa del brevetto del regolamento, cerco in 15 lingue diverse su google per vedere se da qualche altra parte già esiste).In più,il cambio generazionale non può far altro che giovare a questo servizio,dato che sempre più persone si affacceranno all'online.

    Il fatto è che sono in cerca di persone che ci sappiano fare e che possano credere nel mio progetto.Per le start-up,i finanziamenti arrivano fino a 50k e se solo per lo sviluppo del software dovessero andarsene 30k/35k,resterebbe poco per il marketing.Sono in cerca di consigli da persone più grandi o con più esperienza di me...

    Come dovrebbe muoversi qualcuno che ha la necessità di un sito del genere?Gli sviluppatori potrebbero essere pagati di meno,ma entrando in società?
  • Re: Sviluppare un software come base per un sito

    doc_who ha scritto:


    Tornando al discorso,immagino che due professionisti che si occupino dello sviluppo del progetto possano costare 40K,se non di piu, per un anno di lavoro del genere...
    Hai sbagliato ordine di grandezza, è a mese, non a anno
    A questo punto,mi domando se con una spesa di 20k/25k ci si possa rivolgere a qualche software-house in Romania,Bulgaria o Albania...
    Prova. Io ho esperienza solo con gli indiani (pessima).
    Ti suggerisco nel caso l'Ucraina, la moneta è praticamente carta straccia.
    Tu dici che i ragazzini non sono capaci di una cosa del genere,ma i "ragazzini" come me sono quelli che credono ancora nei sogni...
    Non sono sogni, sono fantasie
    Come dovrebbe muoversi qualcuno che ha la necessità di un sito del genere?Gli sviluppatori potrebbero essere pagati di meno,ma entrando in società?
    Difficile, devi trovare disoccupati o pensionati, in generale chi lo fa a tempo più o meno perso.
  • Re: Sviluppare un software come base per un sito

    Ma il sito non sarà grande quanto ebay.Cioè,non metterà in contatto persone in tutto il mondo,ma solo in Italia.E poi,il sito non dovrebbe funzionare come un sito d'acquisti più o meno?Solo che gli acquisti e le vendite possono avvenire solo quando il margine disponibile lo permette.
    Esempio: compro X a 10 e posso scegliere se tenerlo o rivenderlo a 11 o 9;chi vende però deve avere l'equivalente del valore di vendita nel saldo.Questo perchè la vendita avviene subito(il pagamento dall'acquirente al venditore),ma la merce arriva all'acquirente solo se un determinato evento si verifica.
    E' davvero così difficile?
  • Re: Sviluppare un software come base per un sito

    Ho modificato il post inserendo 40K (la frase precedente non era compatibile con questo forum).

    doc_who ha scritto:


    E' davvero così difficile?
    Non è difficile, ci mancherebbe.
    Il problema è che non hai la minima idea della "quantità" di lavoro che deve essere fatta per realizzare la piattaforma.
    Ti bastano degli sviluppatori senior (non ci vogliono di certo dei fuoriclasse) + un buon analista programmatore.
  • Re: Sviluppare un software come base per un sito

    Scusate per la questione del "black",non pensavo che anche solo un'ipotesi potesse essere "illecita"...
    Comunque,ho registrato il regolamento del gioco alla SIAE e sono in attesa che la camera di commercio,tramite l'UIBM,mi registri il nome.
    Voglio dire,il mercato di riferimento è in continua crescita,appoggiato dallo Stato,non ci sono costi di gestione elevati una volta inaugurato il sito,il cambio generazionale favorirà sempre più persone sul web,è una cosa che ad oggi non esiste ancora e tramite il regolamento(che abbiamo scritto in 2,più un avvocato nostro parente)dovremmo garantirci che non ci siano brutte copie/imitazioni.
    Possibile che nessun programmatore possa credere in questo progetto ed entrare in società?Pensate sia davvero così poco probabile,se non impossibile?
  • Re: Sviluppare un software come base per un sito

    doc_who ha scritto:


    Scusate per la questione del "black",non pensavo che anche solo un'ipotesi potesse essere "illecita"...
    Comunque,ho registrato il regolamento del gioco alla SIAE e sono in attesa che la camera di commercio,tramite l'UIBM,mi registri il nome.
    Voglio dire,il mercato di riferimento è in continua crescita,appoggiato dallo Stato,non ci sono costi di gestione elevati una volta inaugurato il sito,il cambio generazionale favorirà sempre più persone sul web,è una cosa che ad oggi non esiste ancora e tramite il regolamento(che abbiamo scritto in 2,più un avvocato nostro parente)dovremmo garantirci che non ci siano brutte copie/imitazioni.
    Possibile che nessun programmatore possa credere in questo progetto ed entrare in società?Pensate sia davvero così poco probabile,se non impossibile?
    Il punto è che tra 100 sicuri e subito e 1000 forse in futuro, molti (me compreso) preferiscono i 100 sicuri subito.
    Anche se c'è mercato per il prodotto che proponi, per avere successo devi riuscire a promuoverlo (altre decine di migliaia di euro), e in ogni caso non c'è nessuna garanzia.
    Per fare un esempio: prima di facebook ci sono stati altri social network, alcuni nati poco tempo prima (per cui non si può dire che la gente non fosse pronta, altrimenti non sarebbe stata pronta neanche per fb) e spesso erano anche migliori di fb, però nessuno ha avuto successo (myspace sopravvive ancora ma solo in alcune nicchie). Quindi non conta solo il time to market.
  • Re: Sviluppare un software come base per un sito

    Se memoria non mi inganna, l'investimento iniziale fatto per creare Facebook fu di 500mila dollari...
    e nonostante questo, servirono diversi anni e mooolti più denari prima che il social iniziasse ad avere introiti reali.

    Per quanto riguarda siti/aziende come ad esempio: Ebay, Amazon... ecc. ecc. erano veramente altri tempi, in cui lanciare sul mercato un'idea innovativa come quelle citate, se ben supportate e con un pizzico di culo, si poteva arrivare al successo.

    Ma... detto questo, l'idea potrebbe anche essere valida, ma devi mettere sul piatto molti soldi.
    Difficilmente trovi in Italia persone esperte che possano diventare tuoi soci e fare il lavoro di programmazione per pochi spiccioli...

    Ps. la gran parte dei sogni americani nati con internet, sono stati creati tutti tra amici e molto spesso in ambito universitario oppure come idee nate subito dopo l'università tra colleghi... che già si conoscevano bene.
  • Re: Sviluppare un software come base per un sito

    La questione e' molto piu' semplice/complicata:

    1) l'idea e' SIGNIFICATIVAMENTE innovativa: e questo viene certificato da lavori di ricerca, pubblicazioni, supporto da parte di professori competenti nel settore
    2) l'universita' ha una struttura in grado di assistere gli studenti/professori nella realizzazione di una startup
    3) l'universita' ha contatti con gli investitori e quando propone il progetto, lo propone con opportune certificazioni

    Insomma: l'idea innovativa NON SI INVENTA, non e' frutto di un genio solitario, ma e' un lavoro corale tra parti professionalmente competenti.
    E soprattutto, QUALCUNO COMPETENTE certifica che l'idea e' EFFETTIVAMENTE innovativa.
  • Re: Sviluppare un software come base per un sito

    Ragazzi,con tutta l'onestà e l'umiltà del mondo...davvero non penso di essere il secondo Zuckerberg o Gates!
    Semplicemente,non esiste ancora niente del genere.Infatti,ho potuto registrare il regolamento alla SIAE con deposito cautelare.Ho cercato per mesi sul web qualcosa del genere in piu lingue e non ho mai trovato nulla del genere.Ho chiesto ad amici e conoscenti se gli piacesse l'idea e la risposta è stata sempre più che positiva.
    Il gioco ha per oggetto un comportamento/un'azione che viene ripetuta spesso (dal 30 % delle persone del mercato) che però non hanno ancora la possibilità di poterlo fare online.
    Il problema non è trovare fondi per sviluppare il sito,ma una gestione delle risorse che ovviamente sono limitate.Questo perchè la maggior parte del budget della società dovrebbe essere speso in marketing.Perchè dico questo? Perchè avere un socio che sviluppi il sito(ovviamente con una retribuzione,ma rapportata alla quota in società),significherebbe avere maggiori garanzie circa gli aggiornamenti e manutenzione del sito dato che lo sviluppatore stesso ci ha investito ed è responsabile della parte informatica.
  • Re: Sviluppare un software come base per un sito

    Ho cercato anche nel deep cose del genere,ma niente di niente...
  • Re: Sviluppare un software come base per un sito

    migliorabile ha scritto:


    ...
    Mah vedo un pò di esagerazioni.
    Poi fra uno e due anni... corrè il doppio del tempo...

    Io direi che sarebbero stato molto più opportuno valutare il lavoro in ore, così anche se le stime sono pur sempre approssimative, lo sono meno che valutare in "uno o due anni".

    doc_who:
    Se posso darti dei consigli personali, prendili come semplici consigli di un ragazzo che ha una start-up insieme ad un altro programmatore e 2 matematici (un analista che è anche un prof. universitario e uno che si occupa della probabilistica) per lo sviluppo di AI.

    Vorrei riferirti di alcuni problemi che ho riscontrato io prima di rilasciare la prima versione, consigli che reputo dovresti illustrare agli addetti al lavoro o trovare relativi addetti al lavoro:

    1) Utilizza linguaggi di programmazione/scripting che abbiano tante librerie, non siano tipizzati (tipizzazione debole, quindi con un garbage collector) e supportino il paradigma ad oggetti per tutto le parti del software che non richiedono prestazioni, ed evita le porcherie di windows:
    - Tipizzazione debole: Velocità di sviluppo, inutile sviluppare qualcosa con l'impiego di tanto codice per avere prestazioni incredibilmente veloci ma che non facciano differenza all'essere umano, in fondo siamo tutti disposti ad aspettare 3 secondi il caricamento della pagina, mentre fa differenza triplicare la velocità di sviluppo per mettere online il proprio codice;
    - ho lavorato nell'IT di una famosa banca dove avevano trattati commerciali con microsoft e usano 90% dei servizi winzozz, non mi sono mai trovato PEGGIO in tutto, in qualsiasi settore dell'immenso stabilimento nel quale lavoravo c'erano problemi dettati da lentezza, bug o continue interruzione dei servizi, oltre al fatto che un server windows devi riavviarlo per aggiornarlo (=spegnerlo), mentre non è praticamente mai necessario alle controparti che utilizzano un kernel unix, quindi vorrebbe dire interrompere il tuo servizio per ogni aggiornamento;
    - Il paradigma ad oggetti è fondamentale per mantenere il codice nel tempo, se il codice è organizzato male, è più difficile mantenere il codice nel tempo piuttosto che svilupparlo, quindi costa più denaro e oltretutto costa tanto denaro nel tempo;

    Riassunto:
    Per il presente direi Python, PHP sono le possibilità (do per assodato che scegli dei programmatori seri che rispettino ciò che ho scritto).
    Python: python in ambiente unix ha molte librerie (mentre non posso dire lo stesso per windows visto che molte librerie sono solo per la 2.7 e/o per i 32bit), e molto veloce perchè "ha una struttura intrinsica" che ti permette di non scrivere troppe righe di codice per fare fondamentalmente la stessa cosa, ma non ha molti framework;
    PHP: E' un linguaggio ostracizzato molto perchè "è nato male", poteva essere un ottimo linguaggio procedurale ma l'implementazione delle OOP era pessima, per fortuna sono riusciti a colmare questo gap immenso che aveva nei confronti degli altri linguaggi negli ultimi anni, però è pieno di framework e di librerie;

    2) Utilizza il C SOLO per le parti di codice che devono richiedere prestazioni e SE POSSIBILE, il C++ se viene trovato il compromesso velocità/mantenibilità del codice, anche se l'assembly è sicuramente quello con cui ottenere le prestazioni migliori, non abbiamo mai avuto la necessità di implementarlo, aggiungere anche per fortuna visto il tempo che ci avrebbe sprecato;

    3) Per il database, noi lo abbiamo frammentato, creando un sistema ibrido fra RDBMS e NoSQL: il primo per la mantenibilità e il secondo per la scalabilità e la velocità, abbiamo scelto MongoDB e MariaDB, però laddove ti consiglio MariaDB > ALL other choices (lancio una provocazione agli utilizzatori di PostgreSQL), non faccio lo stesso con MongoDB;

    4) Per quanto riguarda il server, onestamente io ti consiglierei una distro sempre aggiornata e mantenuta, io utilizzai ubuntu "ai miei inizi" e per velocità di configurazione, due righe da terminale e monti su quasi tutto... Attualmente utilizziamo un sistema embedded che non ti consiglio perchè il nostro "non è un servizio web", se non "per noi" visto che siamo gli unici che comunichiamo con esso;

    Quindi riepilogando:
    1) Ricordati utilizza tecnologie "veloci", "facili da mentenere" e possibilmente fatte da altri per sviluppare velocemente;

    2) PHP o Python con relativi framework;
    3) Un framework per velocizzare/mantenere l'utilizzo di Javascript, come JQuery, oltre al fatto che è sicuramente il framework con più librerie online;
    4) RDBMS e NoSQL o anche uno solo dei due, però valutate bene...;
    5) HTML5/CSS3 per "la grafica";
    6) Server come Ubuntu, Debian, ArchLinux o FreeBSD (io consiglio ubuntu per costi e velocità);
    7) Dei buoni programmatore;
    "micro-tecnologie" (chiamiamole così) che fanno da contorno e da supporto per la semplificazione del mantenimento del codice come XML/JSON etc... ma che un "buon programmatore" che sa fare una applicazione REST dovrebbe conoscere;
    9) Conoscenza dei tools di supporto per sviluppatori come cmake o GIT... " " " ";
  • Re: Sviluppare un software come base per un sito

    Allora TommyB1992 prima di tutto,grazie!Grazie soprattutto per aver condiviso quelle che sono state le tue principali difficoltà nel development,che di certo saranno utili a me e chiunque altro leggerà il topic.
    In secondo luogo, per quanto rigurarda:

    TommyB1992 ha scritto:


    migliorabile ha scritto:


    ...
    - Tipizzazione debole: Velocità di sviluppo, inutile sviluppare qualcosa con l'impiego di tanto codice per avere prestazioni incredibilmente veloci ma che non facciano differenza all'essere umano, in fondo siamo tutti disposti ad aspettare 3 secondi il caricamento della pagina, mentre fa differenza triplicare la velocità di sviluppo per mettere online il proprio codice;
    ... " " " ";
    diciamo che,per il sito che abbiamo in mente,i secondi rappresentano un perno dato che la compravendita sarà effettuata su variabili provenienti esternamente al sito (abbiamo anche chiamato chi si occupa della distribuzione dei dati per un preventivo ed i tipi di abbonamenti semestrali/annuali).I dati quindi vengono visualizzati in tempo reale sulla piattaforma e quindi penso che il margine massimo sia il secondo,secondo e qualcosa...Ovviamente il sito non si riterrà responsabile per eventuali ritardi o altro,ma queste sono le cose contenute in tutti i contratti/accordi/condizioni che si accettano durante le registrazioni a qualsiasi sito...
  • Re: Sviluppare un software come base per un sito

    doc_who ha scritto:


    Allora TommyB1992 prima di tutto,grazie!Grazie soprattutto per aver condiviso quelle che sono state le tue principali difficoltà nel development,che di certo saranno utili a me e chiunque altro leggerà il topic.
    In secondo luogo, per quanto rigurarda:

    TommyB1992 ha scritto:


    migliorabile ha scritto:


    ...
    - Tipizzazione debole: Velocità di sviluppo, inutile sviluppare qualcosa con l'impiego di tanto codice per avere prestazioni incredibilmente veloci ma che non facciano differenza all'essere umano, in fondo siamo tutti disposti ad aspettare 3 secondi il caricamento della pagina, mentre fa differenza triplicare la velocità di sviluppo per mettere online il proprio codice;
    ... " " " ";
    diciamo che,per il sito che abbiamo in mente,i secondi rappresentano un perno dato che la compravendita sarà effettuata su variabili provenienti esternamente al sito (abbiamo anche chiamato chi si occupa della distribuzione dei dati per un preventivo ed i tipi di abbonamenti semestrali/annuali).I dati quindi vengono visualizzati in tempo reale sulla piattaforma e quindi penso che il margine massimo sia il secondo,secondo e qualcosa...Ovviamente il sito non si riterrà responsabile per eventuali ritardi o altro,ma queste sono le cose contenute in tutti i contratti/accordi/condizioni che si accettano durante le registrazioni a qualsiasi sito...
    Si ok, allora il punto è sviluppare il sito (login/registrazione/home) con linguaggi "veloci" PHP/Python mentre integrare i moduli "che richiedono ottimizzazione" con C/C++
Devi accedere o registrarti per scrivere nel forum
36 risposte