Вы находитесь на странице: 1из 7

UNIVERSIDAD DE MANAGUA

El más alto nivel

TRABAJO DE INGENIERIA PARA WEB

Nombre:
 Tom Maverick Bonilla Pérez.

Maestro:
 Henry Cruz Lanuza.

Grupo:
 DI10A

18 de marzo de 2019
Introducción
Con la introducción de Internet y de la Web, se han abierto infinidad de
posibilidades en cuanto al acceso a la información desde casi cualquier sitio.
Esto representa un desafío a los desarrolladores de aplicaciones, ya que los
avances en tecnología demandan cada vez aplicaciones más rápidas, ligeras y
robustas que permitan utilizar el Web.

El diseño y desarrollo de aplicaciones web consiste en implementar sus


necesidades, objetivos o ideas en Internet utilizando las tecnologías más idóneas
según su proyecto.

Las aplicaciones web ofrecen servicios a los usuarios de internet que acceden
utilizando un navegador web como internet Explorer, Firefox u Opera, entre otros,
dirigiéndose a una dirección de internet donde obtendrán los servicios que
buscan. Pueden ser de acceso público como tiendas virtuales, diarios digitales,
portales de internet, o de acceso restringido como son las intranets para mejorar
las gestiones internas de su empresa como el reporte de horas de su personal,
gestión de proyectos y tareas, control de presencia, gestores documentales, o el
uso de extranets para aumentar y mejorar el servicio con sus distribuidores,
clientes, proveedores, comerciales y colaboradores externos.

Afortunadamente, tenemos herramientas potentes para realizar esto, ya que han


surgido nuevas tecnologías que permiten que el acceso a una base de datos
desde el Web.

Las tecnologías más utilizadas en desarrollos web son las siguientes: Tecnología
Adobe Flash, Paseos virtuales (QuickTime, Flash, Java), Streaming de audio y
video (Real, Windows Media, Flash Video). Bases de datos (Microsoft SQL
Server, MySQL, Oracle. Desarrollo Web (ASP, ASP.NET, PHP, JSP, XML,
HTML, XHTML, CSS, JavaScript, Java). Plataformas de desarrollo (Windows,
Linux, Macintosh, PDA (Palm, Pocket PC)).
Desarrollo
Las tecnologías web permiten el desarrollo de aplicaciones web que van desde
soluciones pequeñas y ad hoc hasta sistemas complejos de información web.
Antes de centrarse en el desarrollo real de este tipo de aplicaciones, es decir, los
productos, en el proceso que conduce a la creación de una aplicación web.

Comprender los procesos de desarrollo de software, las actividades de


desarrollo principales que deben realizarse, sus interconexiones y su orden
temporal es de importancia fundamental para el éxito de un producto de software.
Hoy en día es difícil encontrar productos planificados, implementados y probados
por un solo desarrollador, ya que la complejidad de las aplicaciones modernas
(Web) generalmente requiere la participación de varios expertos diferentes que
pueden abordar los requerimientos de desarrollo específicos más precisamente.

Dependiendo del tamaño de la aplicación y de los actores involucrados en el


proceso de desarrollo, construir una aplicación puede ser una tarea compleja,
expuesta a una variedad de riesgos que pueden comprometer el éxito de la
aplicación final.

En las actividades del desarrollo de software es un proceso creativo que conduce


a un producto o sistema de software innovador. Por lo general, este proceso no
es solo un bloque monolítico de trabajo que toma como entrada algunas ideas
sobre la aplicación que se ha desarrollado y produce como salida una solución
perfectamente adecuada; el proceso se puede descomponer en un conjunto de
actividades básicas con límites y significados bien definidos. Estas actividades
tienen como objetivo comprender el problema, planificar una solución, llevar a
cabo el plan, examinar el resultado para determinar su exactitud y resolver
posibles errores o inexactitudes.

Organización del proceso del desarrollo de software.

 Ingeniería de requerimientos: Tiene como objetivo entender el problema.


 Diseño: Tiene como objetivo planificar una solución al problema.
 Implementación: Convierte el plan en código de aplicación en ejecución.
 Pruebas y evaluación: Tiene como objetivo identificar errores de
codificación o inconsistencias entre los requerimientos recopilados y su
implementación.
 Despliegue: Trae la solución a los clientes.
 Mantenimiento: Tiene como objetivo monitorear un sistema en
funcionamiento y mantenerlo saludable y en funcionamiento.
 Evolución: Tiene como objetivo mejorar la solución desarrollada a lo largo
del tiempo, proporcionando nuevos aportes al proceso de desarrollo en
forma de nuevos requerimientos.
Más precisamente, la ingeniería de requerimientos tiene como objetivo
comprender las capacidades y atributos necesarios de un producto.

El análisis se concentra en los requerimientos funcionales, en referencia a las


funciones que el sistema debe poder soportar, así como en los requerimientos
no funcionales, en referencia principalmente a la calidad de la solución ofrecida.
Esto implica identificar la idea general detrás del sistema, así como las partes
interesadas que requieren la nueva solución, las motivaciones para la producción
de un nuevo sistema y el entorno de uso final.

Los requerimientos recopilados se elaboran con el objetivo de producir algunos


modelos de alto nivel del sistema que abstraen de detalles irrelevantes del
dominio del problema.

Después de que se haya entendido un subconjunto de los requerimientos de la


aplicación, el diseño puede seguir. La actividad de diseño tiene como objetivo
especificar una solución, que debe cumplir con los requerimientos funcionales y
de eficiencia, así como las posibles restricciones derivadas del entorno objetivo.
Los requerimientos previamente recopilados son, por lo tanto, refinados,
restringidos y mejorados para satisfacer posibles limitaciones tecnológicas.

Durante la implementación, las diferentes vistas de diseño se transforman


manualmente o con la ayuda de herramientas de generación automática en el
código de programa correspondiente (estructurado en módulos y / o archivos),
tablas de bases de datos y archivos de configuración. La implementación puede
requerir el uso de bibliotecas de códigos existentes, una variedad de diferentes
lenguajes de programación y protocolos de comunicación, y diferentes
dispositivos de hardware.

El despliegue de una aplicación lista entrega la aplicación desarrollada a sus


usuarios. Dependiendo de la naturaleza de la aplicación, esta actividad puede
implicar la instalación del software en las PC clientes, la configuración de los
servidores centrales de bases de datos y aplicaciones, la configuración del
middleware de comunicación, etc. En estrecha relación con el despliegue de una
nueva solución de software está la instrucción y capacitación de los futuros
usuarios de la aplicación, especialmente en los casos en que la solución
entregada representa un cambio radical en lugar de uno incremental.
La descomposición del proceso de desarrollo de software en sus actividades
básicas y la identificación de sus principales actores es un primer paso hacia la
gestión exitosa del proceso de desarrollo. Sin embargo, una gestión exitosa
también exige algunos conocimientos adicionales, es decir, el orden de las
actividades y los posibles criterios de transición. Es la estructuración del proceso
de desarrollo de software en modelos de proceso bien formalizados, a partir de
las actividades identificadas previamente, lo que permite la definición fácil de un
orden adecuado y de resultados e hitos intermedios.

El modelo de cascada
Una de las primeras formalizaciones explícitas de un proceso de desarrollo es el
llamado modelo de cascada. El modelo de cascada sugiere una organización
secuencial de las actividades de desarrollo. Sólo completando una actividad
permite comenzar su actividad sucesora. La finalización de una actividad suele
estar asociada con la entrega de un producto, por ejemplo, documentación o
código de programa; por lo tanto, el modelo de cascada se considera a menudo
como un modelo de proceso basado en documentos.

El Modelo Espiral
A medida que pasaba el tiempo, se hizo cada vez más evidente que el simple
orden secuencial del modelo Waterfall no es suficiente para describir la situación
real de muchos proyectos de software grandes. De hecho, en la mayoría de los
casos, es posible que varias de las actividades constitutivas del modelo de
proceso deban repetirse dos o más veces, lo que está en claro contraste con la
secuencia impuesta por el modelo de cascada.
El modelo unificado
Con el tiempo, la práctica incremental o iterativa del modelo Spiral ha inspirado
varios otros modelos de procesos. Un ejemplo destacado es el Proceso de
desarrollo de software unificado (Proceso unificado) y su adaptación al desarrollo
de aplicaciones web y Catalysis.

Las aplicaciones web son una instancia especial de aplicaciones de software


genéricas y, por lo tanto, la ingeniería web puede verse como una instancia
especial de ingeniería de software. Desarrollar aplicaciones para la Web implica
adherirse a algunas reglas o convenciones bien definidas, que proporcionan un
marco de desarrollo y ejecución estable, robusta y escalable.

Tener en cuenta estas particularidades específicas de la Web permite una mejor


adaptación de los modelos de procesos de desarrollo. A continuación,
presentamos un modelo de proceso característico, el llamado modelo de
evolución en línea, que se deriva de nuestra experiencia en el desarrollo de
aplicaciones web y de la simple observación del ciclo de vida de las aplicaciones
web modernas que están disponibles en la web.
Conclusión
El desarrollo de software es uno de los pilares fundamentales de la Informática y al cual se
dedican muchas horas de esfuerzos en universidades, centros de investigación y empresas
de todos los tamaños.
Conforme la tecnología va avanzando, van apareciendo nuevas soluciones, nuevas formas
de programación, nuevos lenguajes, y un sin fin de herramientas que intentan realizar el
trabajo del desarrollador un poco más fácil. También surgen nuevos modelos de proceso de
desarrollo y nuevas metodologías que tratan de adaptar la manera de trabajar a las
necesidades concretas de una organización y de sus proyectos. Es importante conocer bien
estos modelos, para tener un esquema mental que nos permita gestionar proyectos y
organizar equipos de manera racional, cuando abordemos el desarrollo de software,
especialmente en el caso de aplicaciones grandes y complejas.

Вам также может понравиться