Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad NoCarretera
1. Introducción a la ingeniería de
Cunduacán-Jalpa KM. 1 Col. La Esmeralda CP. 86690
software.
Rajlich y Bennett (2000) propusieron una visión alternativa del ciclo de vida de la
evolución del software, como se indica en la figura 1. En ese modelo, distinguen
entre evolución y servicio. La evolución es la fase donde es posible hacer cambios
significativos a la arquitectura y la funcionalidad del software. Durante el servicio,
los únicos cambios que se realizan son relativamente pequeños.
Durante la evolución, el software se usa con éxito y hay un flujo constante de
propuestas de cambios a los requerimientos. Sin embargo, conforme el software se
modifica, su estructura tiende a degradarse y los cambios se vuelven más y más
costosos. Esto sucede con frecuencia después de algunos años de uso, cuando
también se requieren otros cambios ambientales como el hardware y los sistemas
operativos. En alguna etapa de su ciclo de vida, el software alcanza un punto de
transición donde los cambios significativos que implementan nuevos requerimientos
se vuelven cada vez menos rentables.
Figura 2
Evolución y servicio
Figura 3
Identificación del cambio y procesos de evolución
La IS se puede concebir como una disciplina compuesta por varias capas o niveles,
que abarcan diferentes aspectos o dimensiones del desarrollo, operación y
mantenimiento del software.
• Capa de procesos: Incluye las fases, etapas, tareas, roles, etc., que se usan para
planificar, gestionar, ejecutar o supervisar las actividades relacionadas con el
software.
• Capa de calidad: Incluye los criterios, indicadores, medidas, métricas, etc., que
se usan para asegurar, controlar, mejorar o certificar la calidad del software.
Arquitectura de capas
Este tipo de arquitectura es la más común para la mayoría de software, y su punto central
es la base de datos en casi todos los casos para persistir la información. Todo el código en
esta arquitectura se organiza para que accedan por una capa superior y ésta pase la
petición a una capa inferior hasta llegar a la capa de persistencia (base de datos, ficheros...)
En cada fase (o capa del aplicativo) se realiza una única tarea, como validar los datos
introducidos, transformarlos...
Una estructura típica en esta arquitectura sería: MVC (Modelo, Vista, Controlador), es el
más común porque la mayoría de frameworks de desarrollo lo ofrecen como versión
estándar al iniciar un desarrollo.
1. Capa persistencia (Base de datos)
Es la capa inferior, el corazón de nuestra aplicación. Ésta capa solo debe
comunicarse con su capa inmediatamente superior. Es en ésta, dónde se persiste
la información, sea en base de datos, ficheros, memoria...
En primer lugar, permite una mejor comprensión y comunicación entre los miembros
del equipo de desarrollo, ya que la estructura jerárquica facilita la división del trabajo
y la asignación de responsabilidades. Además, este modelo se centra en la
modularidad, lo que facilita la reutilización de código y reduce el tiempo de
desarrollo. También ayuda a identificar y corregir errores de manera más rápida y
eficiente.
Herencia: Permite crear nuevas clases basadas en clases existentes, lo que facilita
la reutilización de código y la creación de jerarquías de clases. Las clases derivadas
(subclases) heredan atributos y métodos de las clases base (superclases), y pueden
extender o modificar su comportamiento.
https://www.poli.edu.co/blog/poliverso/que-es-la-ingenieria-de-software
M. Cruz Castillo.
https://gc.scalahed.com/recursos/files/r161r/w25469w/ingdelsoftwarelibro9_
compressed.pdf
Ingivision. (2021, Agosto 3). ¿Cuántos tipos de software existen? Retrieved from
Ingivision: https://www.ingivision.com/2021/08/03/tipos-software/
software