You are on page 1of 5

Software

Conjunto de programas y rutinas que permiten a la computadora realizar determinadas


tareas.
Ingeniería
Arte y técnica de aplicar los conocimientos científicos a la investigación, diseño,
perfeccionamiento y manejo de nuevos procedimientos en la industria y otros campos de
aplicación científicos.
Ingeniería de Software
Es la aplicación de un enfoque sistemático disciplinado y cuantificable al desarrollo,
operación y mantenimiento de software
Características de un Software

 Usabilidad / Facilidad de aprendizaje: Debe ser sencillo de aprender


 Fiable: El producto de software no debería tener ningún defecto. No sólo esto, no
debe fallar mientras la ejecución.
 Eficiente: Forma en que el software utiliza los recursos disponibles. El software
debe hacer un uso eficaz del espacio de almacenamiento y el comando ejecutar
según los requisitos de tiempo deseados.
 Reutilización: Es poder utilizar el código de software con algunas modificaciones
para diferentes propósitos.
 Portable: Capacidad para llevar a cabo las mismas funciones en todos los
entornos y plataformas.
 Mantenible: El mantenimiento del software debe ser fácil para cualquier tipo de
usuario.
 Robustez: es la capacidad y proceso de reacción apropiada ante condiciones que
se encuentran fuera de alcance del software, estas condiciones son excepcionales
 Evolutivo.
Mitos de Software
(Diapositivas)
Modelados de Software
Modelo secuencial lineal

 Modelo de Cascada: Es un proceso secuencial, fácil de desarrollo en el que los pasos de


desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de
análisis de las necesidades, el diseño, implantación, pruebas (validación), la integración, y
mantenimiento.
1. El proyecto está dividido en fases secuenciales, con cierta superposición y
splashback aceptable entre fases.
2. Se hace hincapié en la planificación, los horarios, fechas, presupuestos y
ejecución de todo un sistema de una sola vez.
3. Un estricto control se mantiene durante la vida del proyecto a través de la
utilización de una amplia documentación escrita, así como a través de
comentarios y aprobación / signoff hechas por el usuario y la gestión del área
TI al final de la mayoría de las fases y antes de comenzar la próxima fase
 Modelo de Desarrollo de Aplicaciones: Con el objetivo de otorgar resultados rápidos, se trata
de un enfoque que está destinado a proporcionar un excelente procesos de desarrollo con la
ayuda de otros enfoques, pero además, está diseñado para aumentar la viabilidad de todo el
procedimiento de desarrollo de software para resaltar la participación de un usuario activo.
Dicho esto, algunas de las ventajas a destacar de este tipo de desarrollo son las siguientes:
1. Hace todo el proceso de desarrollo sin esfuerzo.
2. Asiste al cliente en la realización de revisiones rápidas.
3. Alienta la retroalimentación de los clientes para su mejora.

Modelo de creación de prototipo


El prototipado permite desarrollar modelos de aplicaciones de software que permiten ver la
funcionalidad básica de la misma, sin necesariamente incluir toda la lógica o características
del modelo terminado. El prototipado permite al cliente evaluar en forma temprana el producto,
e interactuar con los diseñadores y desarrolladores para saber si se está cumpliendo con las
expectativas y las funcionalidades acordadas. Los Prototipos no poseen la funcionalidad total
del sistema pero si condensa la idea principal del mismo, Paso a Paso crece su funcionalidad,
y maneja un alto grado de participación del usuario.

Modelo evolutivo

 Modelo Incremental: Provee una estrategia para controlar la complejidad y los riesgos,
desarrollando una parte del producto software reservando el resto de aspectos para el futuro.
1. Una serie de mini-Cascadas se llevan a cabo, donde todas las fases de la
cascada modelo de desarrollo se han completado para una pequeña parte de
los sistemas, antes de proceder a la próxima incremental.
2. Se definen los requisitos antes de proceder con lo evolutivo, se realiza una
mini-Cascada de desarrollo de cada uno de los incrementos del sistema.
3. El concepto inicial de software, análisis de las necesidades, y el diseño de la
arquitectura y colectiva básicas se definen utilizando el enfoque de cascada,
seguida por iterativo de prototipos, que culmina en la instalación del prototipo
final.
 Modelo espiral:
1. La atención se centra en la evaluación y reducción del riesgo del proyecto
dividiendo el proyecto en segmentos más pequeños y proporcionar más
facilidad de cambio durante el proceso de desarrollo, así como ofrecer la
oportunidad de evaluar los riesgos y con un peso de la consideración de la
continuación del proyecto durante todo el ciclo de vida.
2. Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos: (1)
determinar objetivos, alternativas, y desencadenantes de la iteración; (2)
Evaluar alternativas; Identificar y resolver los riesgos; (3) desarrollar y verificar
los resultados de la iteración, y (4) plan de la próxima iteración.3
3. Cada ciclo comienza con la identificación de los interesados y sus condiciones
de ganancia, y termina con la revisión y examinación.
Modelo de ensamblado de componentes
El modelo de desarrollo basado en componentes incorpora muchas de las características del
modelo espiral. Es evolutivo por naturaleza y exige un enfoque interactivo para la creación del
software. Sin embargo, el modelo de desarrollo basado en componentes configura
aplicaciones desde componentes preparados de software (clases).

1. Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización


de software.
2. Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada
uno de los componentes antes de probar el conjunto completo de componentes
ensamblados.
3. Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento
entre componentes, el desabollador es libre de actualizar y/o agregar
componentes según sea necesario, sin afectar otras partes del sistema.
4. Mayor calidad. Dado que un componente puede ser construido y luego mejorado
continuamente por un experto u organización, la calidad de una aplicación
basada en componentes mejorará con el paso del tiempo

Programación Extrema (XP)


Esta metodología, se utiliza principalmente para evitar el desarrollo de funciones que
actualmente no se necesitan, pero sobre todo para para atender proyectos complicados. Sin
embargo, sus métodos peculiares pueden tomar más tiempo, así como recursos humanos en
comparación con otros enfoques.

Técnicas de cuarta generación (4G)


Las técnicas de cuarta generación son un conjunto muy diverso de métodos y herramientas
que tienen por objeto el de facilitar el desarrollo del software, facilitan al que desarrolla el
software la propiedad de especificar algunas características del mismo a alto nivel, más tarde,
la herramienta genera automáticamente el código fuente a partir de esta especificación.

Métodos Agiles:
El desarrollo ágil de software envuelve un enfoque para la toma de decisiones en los
proyectos de software, que se refiere a métodos de ingeniería del software basados en
el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el
tiempo según la necesidad del proyecto. Así el trabajo es realizado mediante la colaboración
de equipos auto-organizados y multidisciplinarios, inmersos en un proceso compartido de
toma de decisiones a corto plazo.
Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño,
codificación, pruebas y documentación. Teniendo gran importancia el concepto de "Finalizado"
(Done), ya que el objetivo de cada iteración no es agregar toda la funcionalidad para justificar
el lanzamiento del producto al mercado, sino incrementar el valor por medio de "software que
funciona" (sin errores).

Ciclo de Vida Clásico de un Sistema de Información


Investigación preliminar

La solicitud para recibir apoyo de un sistema de información se origina con la petición de


una persona, ya sea, un administrador, un trabajador o un especialista en sistemas.
Al comenzar esta etapa se divide en tres partes:
a. Aclaración de la solicitud: Demasiadas solicitudes de trabajadores y usuarios no se
especifican de manera clara, por consiguiente antes de proceder a la investigación de
sistemas se debe determinar qué es lo que desea el solicitante.
b) Estudio de factibilidad: La investigación preliminar debe determinar si el sistema es
factible. Existen tres aspectos fundamentales:
1) Factibilidad técnica: Fijarse si las condiciones son eficaces para el desarrollo del
trabajo, tal como la tecnología.
2. Factibilidad económica: Determinar si el sistema beneficia a la organización.
3. Factibilidad operacional: Determinar si el sistema será utilizado.
C. Aprobación de la solicitud: La mayoría de proyectos solicitados no se llevan a cabo,
porque los administradores seleccionan y deciden cual es más importante. Luego más
tarde al aprobar un proyecto se estiman los costos, el tiempo que llevara su desarrollo; así
como también las necesidades de los trabajadores.
2. Determinación de los requerimientos

El analista recopila opiniones y soluciones que proponen los demás para cambiar el
proceso y conforme a estos detalles, los analistas estudian los datos sobre los
requerimientos con la finalidad de identificar las características que debe tener el nuevo
sistema, incluyendo la informacion que debe obtener y producir el nuevo sistema, junto
con características operacionales, tales como controladores de procesamiento, tiempos
de respuesta y métodos de entrada y salida.
3. Diseño de sistemas

El diseño de un sistema de informacion produce detalles de cómo el sistema cumplirá con


los requerimientos identificados durante la fase de análisis.
Este proceso indica los datos de entrada, (los cuales serán almacenados) y se inicia
identificando las salidas que debe producir el sistema, donde los diseñadores seleccionan
las estructuras de archivo y los dispositivos de almacenamiento, tales como discos y
cintas magnéticas. El diseñador emite información detallada del diseño al equipo de
programación para comenzar así la fase desarrollo de software.
4. Desarrollo de software

En esta etapa el programador instala el software y se hace responsable de la


documentación de los programas y de proporcionar una explicación de cómo y porque
ciertos procedimientos se codifican de determinada manera. La documentación es
esencial para probar el programa y dar mantenimiento a la aplicación instalada.
Durante esta fase el sistema se emplea de manera experimental para asegurarse de que
el software no tenga fallas. Se utilizan como entradas conjunto de datos de prueba para
su procesamiento y luego se examinan resultados. De esta manera se observa si el
sistema es confiable.
5. Implantación y evaluación

La implantación es un proceso, donde instala la aplicación y construye todos los archivos


de datos necesarios para su uso.
En una organización es preferible que emplee la aplicación solo en un área de la
empresa, para así no halla riesgos y una vez instaladas en la empresa, esta aplicación se
emplearan durante muchos años. Por tal motivo debe realizarse el mantenimiento
respectivo porque la organización cambia a medida que pasa el tiempo, para satisfacer
las nuevas necesidades de los usuarios.

You might also like