The domain
of information technology belongs to one of the most rapidly developing areas
in the world. Nowadays, software companies, which are intended to be successful
in the software development market, have to keep their knowledge bases up to
date. The task of picking up right methodologies, techniques, and tools is
critical when we are talking about delivering high-quality and maintainable
software products, and still, keep time and money costs in reasonable limits.
Current modern trends in the development of software applications could help
companies in their business but have to be used correctly and the fact that
some of them could have a negative impact on attributes of resulting software
performance. The term Application Posture basically refers to the way how end
users interact with the software application. This characteristic is really
important mainly because it indicates how important the software is for its
users.
Modern
Methodologies in Software Development Small and mid sized software development
companies are often fighting with the need of having high quality methodology in
the back-end of software development life-cycle and the possibility of being
agile enough to quickly react on changing requirements from users plus reduce
the time needed for iteration cycle in order to produce prototypes of system
and provide customers an opportunity to get an insight of the resulting
application. The ideal solution to this problem is to simply compose basis
trends, disciplines, methods and tool in the way which will be suitable for the
current software project.
· Model-driven architecture (MDA)
MDA was initially introduced by Object Management Group (OMG)
and provide an approach for capturing system-specification via usage of formal
models. In MDA, platform-independent models (PMI) are initially expressed in a
platform-independent modeling language.
· Agile software development
The idea of agility was firstly used by Kent Beck and
transformed into methodology called Extreme Programming (XP). This methodology
is described as easy, effective, low risk, flexible, predictable, scientific
and funny way of software development.
· X-Driven design/development (XDD)
The effort of developing better applications is not the only
problem of usage of newest technologies. Often in order to develop a good
product, insight into stakeholders domain problem is needed
· Aspect-oriented programming (AOP)
Aspect Oriented Programming is aimed at cross-cutting
problems in object-oriented applications, which could not be modeled with
object-oriented paradigm.
· Object-relational mapping (ORM) as data access strategy
Relational Database Management Systems (RDMS) were and still
are standard preferred solutions in the market of a corporate information
system, mainly because they are mature enough and their wide field of usability
is determining the factor for many types of software systems.