Sviluppo di progetti al livello successivo [chiuso]

3

Ho cercato qualche consiglio su come gestire un progetto a cui sto lavorando, ma senza risultato. Sono praticamente sulla mia quarta iterazione del miglioramento di una "applicazione" su cui sto lavorando; le prime due volte erano in Excel, la terza volta in Access e ora in Visual Studio. Il campo è in produzione.

L'idea di base è che sto prendendo i dati di sola lettura da un enorme server Sybase, filtrandolo e creando tabelle molto più piccole in Access quotidianamente (usando delete e append Queries) e poi facendo un sacco di cose. Più in particolare, utilizzo una serie di query per combinare dati da più tabelle o raggruppare dati in modi specifici (funzioni di aggregazione) e quindi inserisco questi dati in una tabella (in modo da poter ordinare e manipolare i dati utilizzando DAO.recordset ed eseguire più algoritmi personalizzati). Questo processo viene quindi ripetuto più volte nel database fino a quando non viene creata una serie di tabelle pertinenti.

Molte volte creerò un campo in una query con un valore come 1.1 in modo tale che quando lo aggiungo a una tabella posso memorizzare le informazioni nel campo dagli algoritmi. Quindi, mentre il processo continua, il numero di campi per le tabelle cambia.

L'applicazione complessiva è composta da 4 database "back-end" collegati tra loro su un'unità condivisa, con vari output (applicazioni di accesso front-end o Excel).

Quindi la domanda è: È un modo comune come funzionano le applicazioni basate sui dati?

Ogni database di back-end viene aggiornato con nuovi dati ogni giorno e l'aggiornamento richiede circa 10 secondi (per tre) e 2 minuti (per 1).

Obiettivi del progetto: Voglio / mi trasferisco presto a SQL Server. Front End sarà un'applicazione Web (conosco lo sviluppo web di base e mi piace la flessibilità amministrativa) e visual-studio sarà IDE con c # /. NET.

Questi algoritmi dovrebbero essere eseguiti "all'interno del database" o usando una serie di funzioni C # su ogni richiesta del server. So che non è necessario memorizzare i dati in un database a meno che non sia un vero punto dati, e in Access ho molte colonne che contengono solo calcoli dagli algoritmi in vba.

La verità è che ho visto più applicazioni di accesso professionale e non ne ho mai visto uno che abbia la complessità o addirittura vicino a ciò che fa il mio (nel bene o nel male). Ma so che alcune applicazioni software professionali sono 1000 volte migliori delle mie.

Sono stato completamente da solo e ho bisogno di una guida su come affrontare questo progetto nel modo giusto. Quale sarebbe un buon approccio da seguire?

    
posta user1745022 14.10.2012 - 17:18
fonte

2 risposte

2

In breve , in realtà dipende dall'utilizzo dell'applicazione da parte degli utenti finali e dei requisiti.

Tuttavia, potresti trarre grandi vantaggi da due approcci generali che sono parti dello sviluppo di applicazioni a livello aziendale, che ho sperimentato finora. In particolare, puoi avere un'applicazione multilivello con 3 livelli: Livello presentazione, Livello aziendale e Livello dati o in alternativa puoi avere 2 livelli, in cui sposti il livello aziendale sul livello dati.

  • Presentation Layer: sarà responsabile per "Componenti del processo di interfaccia utente"
  • Livello aziendale: sarà responsabile per i componenti aziendali, i flussi di lavoro, le entità, le interfacce di servizio
  • Livello dati: accesso responsabile principalmente ai dati tramite componenti di accesso ai dati, gateway di servizio, servizi di base (come sicurezza, gestione operativa e comunicazione)

Come verità universale, Un diagramma vale più pagine .

References:

Cisonomoltipostiincuipuoirifletteresucomeprogettarelatuaapplicazioneinmodoscalabile.Unodeipuntidiriferimentoè Modelli di soluzioni aziendali che utilizzano Microsoft .NET

    
risposta data 14.10.2012 - 19:05
fonte
1

Poiché sembra un'applicazione di reporting, per semplificare il lato del database un altro approccio da considerare consiste nell'utilizzare alcuni dei principi del data warehousing. Questo fondamentalmente denormalizza il database in "fatti" e "dimensioni" ( schema a stella ). Ciò semplifica la generazione di report e gestione delle modifiche del database di origine (ad esempio, basta aggiungere un'altra dimensione) e aprirlo anche agli strumenti OLAP per la creazione di report. Ciò potrebbe anche ridurre il numero di database / tabelle di cui ti devi preoccupare poiché non devono essere personalizzati.

    
risposta data 14.10.2012 - 19:59
fonte

Leggi altre domande sui tag