can someone suggest me the current problems in software engineering and the research links for it?

i have some knowledge on MVVM being a pattern but i would like to know more about others and also current problems as to why people go for the patterns and how they help and what are still current problems involved and the research involved in this field

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers
2

In modern application development, there're various problems to be solved. Most patterns we apply (from a high level perspective) are meant to benefit maintainability and extensibility, or in short: To cope with change.

can someone suggest me the current problems in software engineering
and the research links for it?

There're plenty problems to be solved in software engineering. The whole profession is about solving problems. I'll list a few of the current problems:

OOP brought up the object-relational impedance mismatch because we traditionally use relational databases. There're various solutions to this problem. Object relational mapping can be used to work around it, but there're object-relational databases as well (see Postgres).

Reuse/Extensibility/Maintainability: How to communicate between UI and logic? Traditional patterns to solve this problem are MVVM or MVC.

Scalability/Distribution problems

I'd argue that future problems/current research topics involve mostly concurrency problems, as our software routines need to be parallelized more and more to take advantage of the hardware.

In any case, if you want to learn about software architecture patterns, then I'd recommend to visit Martin Fowler's website and then buy his books (Patterns of Enterprise Architecture for example). He has assembled a nice catalogue of patterns which are all meant to solve specific problems that arise in software engineering, probably the best reference out there today.

However, these patterns mostly try to provide solutions for architectural and fundamental technical problems. If you want to know more about design patterns, which are meant to provide solutions for technical/structural problems then you should read Head First Design Patterns as an introduction.

Use of "dynamically" typed languages is a big problem. It creates maintenance nightmares in form of lacking understandability because critical information (type informatione) is swept under the rug nor is it anywhere enforced that types match.

-1: unsupported opinion. Can you refer to a system development failure due to use of a dynamically typed language?
–
kevin clineSep 8 '11 at 9:16

3

I cannot see how this answers the question at all. The OP clearly asked for problems involving patterns. Can you explain that?
–
FalconSep 8 '11 at 9:37

@kevin: there so many factors in software development, especially the people themselves, that it is impossible to prove that a project failed because of this or that specific technological detail. Only common sense can help to discern what helps and what introduces difficulties.
–
arnaudSep 8 '11 at 9:37