INGENIERIA
DEL SOFTWARE
La ingeniería del software es la disciplina formada por métodos y técnicas que se llevan a cabo a la hora de programar, diseñar, de llevar a cabo todos los requerimientos que el usuario necesita, Cabe destacar que el proceso de desarrollo de software implica lo que se conoce como ciclo de vida del software, que está formado por cuatro etapas: concepción, elaboración, construcción y transición.
La concepción fija el alcance del proyecto
y desarrolla el modelo de negocio; la elaboración define el plan del proyecto,
detalla las características y fundamenta la arquitectura; la construcción es el
desarrollo del producto; y la transición es la transferencia del producto
terminado a los usuarios.
Una vez que se completa este ciclo, entra
en juego el mantenimiento del software. Se trata de una fase de esta ingeniería donde se solucionan los
errores descubiertos (muchas veces advertidos por los propios usuarios) y se
incorporan actualizaciones para hacer frente a los nuevos requisitos. El
proceso de mantenimiento incorpora además nuevos desarrollos, para permitir que
el software pueda cumplir con una mayor cantidad de tareas.
La ingenieria del software satisface lo siguiente:
Tecnologias Multicapas
Herramientas
Tecnologias Multicapas
Herramientas
Métodos
Procesos
Enfoque de calidad
La calidad es la
actividad que proporciona evidencia de que se puede confiar en que la función
calidad se ha llevado a cabo con efectividad. Se entiende por función de la
calidad: al conjunto de actividades a través de las cuales se alcanza la
aptitud para el uso.
Todo trabajo o actividad forma parte de un proceso que es posible
definirlo, controlarlo y mejorarlo, así es como se hace posible aplicar métodos
y herramientas para el mejoramiento continúo.
Cada actividad que se realiza en la empresa, está inserta dentro de
un conjunto de actividades, las cuales tienen un objetivo dado. Para cumplir
con dicho objetivo se requiere que cada una de las actividades se lleve a cabo
en forma ordenada y coordinada
Proceso de
ing.Sotfware
Un proceso de desarrollo
de software es un método a organizar las actividades relacionadas con la creación
de la actividad, presentación y mantenimiento del sistema.
Los pasos en el
proceso son:
- Planificación y elaboración
- Creación del sistema
- Transición de la implementación del sistema
Método de Ing.,
Software
Requiere del análisis de
requerimientos, etapas, especificación, diseño y arquitectura, programación,
prueba y manteamiento del sistema.
Ingeniería del software basada en componentes
Reutilización de software. Código similar los buscan, los modifican según lo
creen necesario y los incorporan en el sistema. Tiene la ventaja obvia de
reducir la cantidad de software a desarrollarse y así reduce los costos y los
riesgos.
Modelo de ciclos de
Vida del Software
Es una vista de las actividades que
ocurren durante el desarrollo de software, intenta determinar el orden de las
etapas involucradas y los criterios de transición asociadas entre estas etapas.
Un modelo de ciclo de vida del software:
- Describe las fases principales de desarrollo de software.
- Define las fases primarias esperadas de ser ejecutadas durante esas fases.
- Ayuda a administrar el progreso del desarrollo, y
- Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.
Define el estado de las
fases a través de las cuales se mueve un proyecto de desarrollo de software:
Modelo secuencial
consiste en la
sistematización del proceso de construcción, a fin de alcanzar un nivel de
producción, sugiere un enfoque sistemático o más bien secuencial del desarrollo
de software que comienza en un nivel de sistemas y progresa con el análisis,
diseño, codificación, pruebas y mantenimiento.
Comienza
estableciendo requisitos de todos los
elementos de sistema asignando al software
a algún subgrupo de estos requisitos. Análisis de los requisitos del software.
Se debe comprender el dominio de información de software, así como la función
requerida, el comportamiento, rendimiento e interconexión. Diseño. Proceso de
muchos pasos, que se centra en cuatro atributos distintos de programa:
estructura de datos, arquitectura de software, representaciones de interfaz y
detalle procedimental (algoritmo).
Modelo de prototipo
Es la creación de una
implementación parcial de un sistema, para el propósito explícito de aprender
sobre los requerimientos del sistema. Un prototipo es construido de una manera
rápida tal como sea posible.
Modelo De Desarrollo
Incremental
Existen riesgos en el desarrollo de sistemas largos y
complejos. La forma de reducir los riesgos es construir una parte del
sistema.
Un sistema pequeño es siempre menos riesgoso que construir un sistema grande.es más fácil determinar si los requerimientos para los niveles subsiguientes son correctos.
Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo. Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento.
Un sistema pequeño es siempre menos riesgoso que construir un sistema grande.es más fácil determinar si los requerimientos para los niveles subsiguientes son correctos.
Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo. Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento.
Modelo De Desarrollo
Evolutivo
El modelo de desarrollo evolutivo construye versiones
sucesivas de un producto, el modelo evolutivo asume que los requerimientos no
son completamente conocidos al inicio del proyecto.
Basada en esta retroalimentación, la especificación de
requerimientos es actualizada. El desarrollo de software en forma evolutiva
requiere un especial cuidado en la manipulación de documentos, programas, datos
de test, etc. desarrollados para distintas versiones del software.
Modelo Espiral
Basada en la necesidad continúa de refinar los
requerimientos y estimaciones del proyecto.
Efectivo para proyectos pequeños donde con la
retroalimentación dada por el cliente, se aprueba las diferentes etapas, puede
ocurrir el riesgo que no se defina bien los objetivos por el cual el desarrollo
puede ser caótico.
Modelo
Concurrente
El modelo concurrente provee una meta-descripción del proceso software, tiene la capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.
El modelo concurrente provee una meta-descripción del proceso software, tiene la capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.



No hay comentarios:
Publicar un comentario