Está en la página 1de 12

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE

APURÍMAC
FACULTAD DE INGENIERÍA
ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA INFORMÁTICA Y SISTEMAS 

Teacher: Karina Gamarra Peralta


Course: Inglés
Issue:
Evolution of PHP Applications: A Systematic
Literature Review

Members:
• Roger Jhosuet Aguilar Frisancho
• José luis Loayza Narváez
• Jose Marocho Metaki
• Malú Brillith Mendieta Villagaray
INTRODUCTION

PHP is one of the most popular programming languages in


the industry and open-source community. It is used to build
large web-focused applications and application frameworks.
However, it has also been criticized for its inadequacy in
maintaining large-scale software projects. This article
examines the evolution of PHP applications in terms of
unused code, removal of functions, use of libraries, stability
of interfaces, and evolution of complexity. It is also
mentioned that PHP is dynamically typed and that Hack, a
new PHP variant supported by Facebook, tries to address
this issue by adding static typing to variables.
SOFTWARE EVOLUTION
La evolución del software se refiere al proceso de
modificación y adaptación de los programas para
satisfacer las necesidades cambiantes de su entorno.
El desarrollo ágil de software, como la programación
extrema , es un enfoque colaborativo e incremental
del desarrollo de software que da prioridad a
acomodar los cambios incluso más tarde en el ciclo
de desarrollo. La norma ISO/IEC 14764 para el
mantenimiento de software reconoce la importancia
de la planificación previa a la entrega.
Difficulties in Software Evolution
La evolución del software se refiere al proceso de modificación y adaptación de los programas para
satisfacer las necesidades cambiantes de su entorno. El desarrollo ágil de software, como la
programación extrema , es un enfoque colaborativo e incremental del desarrollo de software que da
prioridad a acomodar los cambios incluso más tarde en el ciclo de desarrollo. La norma ISO/IEC 14764
para el mantenimiento de software reconoce la importancia de la planificación previa a la entrega.

• ARCHITECTURE EVOLUTION: A partir de una


descripción (inicial) de los requisitos del software, se
puede especificar la arquitectura general del software (o
diseño de alto nivel) y el correspondiente diseño técnico
(de bajo nivel) del sistema. Estos también están
inevitablemente sujetos a evolución
• DATA EVOLUTION: En los sistemas de información y
otros sistemas informáticos que hacen un uso intensivo de
datos es esencial disponer de una descripción clara y precisa
del esquema de la base de datos.
EVOLUCIÓN EN TIEMPO DE EJECUCIÓN: Muchos sistemas de software comercial desplegados
por grandes empresas deben estar disponibles constantemente, por lo que se necesitan técnicas para
realizar cambios en el software mientras se está ejecutando. Las arquitecturas orientadas a servicios
ofrecen un nuevo enfoque del desarrollo de software en el que los servicios se diseñan en función de las
necesidades de cada usuario y pueden añadirse, eliminarse o adaptarse fácilmente.

• EVOLUCIÓN DE LOS LENGUAje Al considerar distintos tipos de lenguajes, hay que tener en
cuenta varios retos. El primero es la coevolución del software y el lenguaje utilizado para
representarlo. Ambos cambian, pero a velocidades diferentes. El segundo reto es ofrecer un mejor
soporte a los sistemas de software multilingüe durante la evolución. Un tercer reto es mejorar el diseño de los
lenguajes para hacerlos más resistentes al cambio. El diseño de nuevos lenguajes informáticos siempre ha estado
impulsado por este reto, pero cada nuevo paradigma conlleva sus propios problemas de mantenimiento.
PHP APPLICATIONS
The major reason in selecting egnoleshs projects
with a long history, large number of committers
and even larger number of users. According to
Samoladas, Angelis, & Stamelos the majority of
open-source projects are abandoned after a short
time period, rendering them inappropriate for
systematic analysis of programming and
maintenance habits. The case study has been
conducted by Kyriakakis & Chatzigeorgiou on
the following five open source projects
implemented in PHP:
of wich ar
(FIRS IS Worpres,SEGOND IS Drupal ,TRIS IS
MeintisBiti, FORS IS PHPMyEdmin. FIF
TISPhpBB)
LIBRARY USAGE: PHP is a fairly new programming language
and, according to QUIUDILEKEKIS & CHATISYIRYO, has
gained popularity over the last decade. An indirect indication of the
maturity of a given programming language is the development of
third-party libraries and the use of these libraries in other projects.
As we have shown, a side effect is the introduction of unused code
blocks, due to the scripting nature of the language.

INTERFACE STABILITY: The stability of an interface can be


characterized by the number and types of changes in function
signatures. According to the strict PHP definition, a function
signature is just the function name, but this does not reflect the
interface correctly, since no parameters are included. For each
version of the systems examined, they calculated the proportion of
changes over the total number of signatures, differentiating among
the six cases shown in Figure 1. This fact implies that the
development teams have paid attention not to break backward
compatibility and that the corresponding APIs are mature
SOFTWARE QUALITY
There are many different definitions of quality. For some it is the «capability of a software
product to conform to requirements.» . Quality consists of those product features which
meet the need of customers and thereby provide product satisfaction. Quality consists of
freedom from deficiencies. Nevertheless, in a handbook such as this it is convenient to
standardize on a short definition of the word quality as «fitness for use»

ADOPTION OF OBJECT ORIENTATED PROGRAMMING

Today there is no exact definition of object-oriented programming.


Based on these definitions, they define object-oriented programming
language as a programming language, the basic elements are objects
that have their own attributes and methods, and forming a hierarchy
organized object classes. According to this definition:
Object is a model (abstraction) of a real essence in a programming system.

Class is an abstract declaration of attributes and methods for a group of similar objects which called
instances of class.

Attribute is a parameter declared in a class which characterizes the object (class instance).

Method is declared in a class procedure which defines behavior of class instances. In general, the object-
oriented approach to development of programs based on four main mechanisms.

Abstraction is the process of identifying the essential characteristics of an object that distinguish it from
all other types and, therefore, provides a clear conceptual definition that distinguishes it from all others.

Encapsulation is the process of compartmentalizing the elements of an abstraction that constitute its
structure and behavior.

Polymorphism is the ability of being able to assign a different meaning or usage to something in different
contexts and the property of an object respond to a query according to its type.

Inheritance is a mechanism to declare new data types on the basis of existing types in such way that the
attributes and methods of the base types become the members of the subtype
Property Satisfaction Profiles (psp)
The described security models are presented. They are used to investigate the evolution of security models
extracted from various versions of a Web application. The motivation comes from the need to observe and
compare security models throughout the evolution of Web applications. The proposed PSP has been used to
monitor the evolution of the security model in various versions of a small open source PHP system, php BB
which implements a bulletin board. Model evolution analysis can identify changes in security levels
between consecutive releases and can help developers focus their change validation effort on sensitive
security statements. Extraction and validation show linear memory and runtime complexity and are
reasonably fast in practice.

Summary of the topics discussed


The revised Topic summary with the unit of analysis and the conclusions derived based on the findings
for each project are provided in the Table, YES: implies that the derived conclusion can be considered as
validated for the corresponding project, while NO: implies that the conclusion is Not validated.
CONCLUSION
The various aspects of the reviews in this document show how PHP has evolved from a simple web
scripting language to a full-scale web application and standalone application programming language.
The consistent way in which the sample PHP applications presented in this review have matured,
through the use of third-party libraries, with dynamic features introduced by Hills & Klint, are an
indication that PHP has the potential to become one of the most great programming languages ​apart
from already dominating the web with over 80% of web applications being powered by PHP

With security being a crucial part of many web applications, PHP was one of the most vulnerable
to attacks like SQL injection and cross-site scripting. The adoption of OOP has helped make PHP
applications more secure and easier to maintain. This can be verified from the large and widely
used PHP applications sampled in this review.

También podría gustarte