Nel moderno sviluppo di applicazioni, ci sono vari problemi da risolvere. La maggior parte dei modelli che applichiamo (da una prospettiva di alto livello) hanno lo scopo di favorire la manutenibilità e l'estensibilità, o in breve: Per far fronte al cambiamento .
can someone suggest me the current problems in software engineering
and the research links for it?
Ci sono molti problemi da risolvere nell'ingegneria del software. Tutta la professione riguarda la soluzione dei problemi. elencherò alcuni dei problemi attuali:
-
OOP ha evidenziato il disadattamento dell'impedenza relazionale all'oggetto perché usiamo tradizionalmente database relazionali. Esistono varie soluzioni a questo problema. La mappatura relazionale degli oggetti può essere utilizzata per aggirarla, ma esistono anche database relazionali agli oggetti (vedi Postgres).
-
Riutilizzo / Estensibilità / Manutenibilità: come comunicare tra interfaccia utente e logica? I modelli tradizionali per risolvere questo problema sono MVVM o MVC.
-
Problemi di scalabilità / distribuzione
Direi che i problemi futuri / argomenti di ricerca attuali implicano principalmente problemi di concorrenza, dal momento che le nostre routine software devono essere sempre più parallele per sfruttare l'hardware.
In ogni caso, se vuoi conoscere i modelli di architettura del software, ti consiglio di visitare il sito web di Martin Fowler e poi acquista i suoi libri ( Modelli di architettura aziendale per esempio). Ha assemblato un bel catalogo di modelli che sono tutti pensati per risolvere problemi specifici che sorgono nell'ingegneria del software, probabilmente il miglior riferimento in circolazione oggi.
Tuttavia, questi schemi cercano principalmente di fornire soluzioni per problemi tecnici architettonici e fondamentali. Se vuoi saperne di più sui modelli di progettazione, che sono pensati per fornire soluzioni per problemi tecnici / strutturali, allora dovresti leggere Head First Design Patterns come introduzione.