Es ubna diciplina formada
por un conjunto de
metodos herramientas y
tecnicas
Diciplina o area de la
informatica que proporciona
herramientas para el
mantenimiento de los
programas
Es el estudio de los principios y
metodologias para el desarrollo
y antenimiento del sistema
Trata del establecimiento de
los principios y metodos de la
ingenieria a fin de obtener
software de modo rentable
Metodologia
esta se refiere a un framework que es usado para
estructurar planear y controlar el proceso de desarrollo
en sistemas de informacion
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.
modelo 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.
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.
Los principios básicos
son:
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.
Se definen los requisitos antes de
proceder con lo evolutivo, se realiza un
mini-Cascada de desarrollo de cada
uno de los incrementos del sistema.
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 en espiral
Los principios básicos son:
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.
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.
Cada ciclo comienza con la identificación de los interesados y sus
condiciones de ganancia, y termina con la revisión y examinación.
herramientas
CASE
Las herramientas CASE (Computer
Aided Software Engineering,
Ingeniería de Software Asistida por
Computadora) son diversas
aplicaciones informáticas o
programas informáticos destinadas
a aumentar la productividad en el
desarrollo de software reduciendo
el costo de las mismas en términos
de tiempo y de dinero.
¿Qué es Ingeniería de Software?
La ingeniería del software, según la definición
de la IEEE en 1993, es la aplicación de un
enfoque sistemático, disciplinado y
cuantificable al desarrollo, operación y
mantenimiento del software. La ingeniería del
software ofrece métodos o técnicas para
desarrollar y mantener software de calidad
que resuelven problemas de todo tipo, y
trata áreas muy diversas de la informática
y de las ciencias computacionales.
Historia
El concepto de ingeniería del software surgió en 1968, tras una conferencia en Garmisch
(Alemania) que tuvo como objetivo resolver los problemas de la crisis del software. El término
crisis del software se usó desde finales de 1960 hasta mediados de 1980 para describir los
frecuentes problemas que aparecían durante el proceso de desarrollo de nuevo software.
Tras la aparición de nuevo hardware basado en circuitos integrados, comenzaron a
desarrollarse sistemas y aplicaciones mucho más complejos que hasta entonces no era
posible construir puesto que el hardware disponible no lo permitía. Estos nuevos proyectos
de desarrollo de software, en la mayoría de ocasiones, no se terminaban a tiempo, lo cual
también provocaba que el presupuesto final del software excediera de aquel que se había
pactado.
Algunos de estos proyectos eran tan críticos (sistemas de control de aeropuertos, equipos para
medicina, etc) que sus implicaciones iban más allá de las pérdidas millonarias que causaban. Además,
en muchos casos el software no daba respuesta a las verdaderas necesidades del cliente o había que
ser un usuario experto para poder utilizarlo, todo ello sumado a que el mantenimiento de los productos
era complejo y muy costoso.
Objetivo de la ingeniería de software
• Dirigir y coordinar el desarrollo de aplicaciones complejas
• Intervenir en todas las fases del ciclo de vida de un producto.
• Estimar los costes de un proyecto y determinar los tiempos de desarrollo.
• Hacer el seguimiento de costes y plazos.
• Diseñar aplicaciones informáticas que se ajusten a las necesidades de las organizaciones.
Cuál es el ciclo de vida del software
El ciclo de vida del desarrollo Software (SDLC en sus siglas inglesas), es una secuencia estructurada y
bien definida de las etapas en Ingeniería de software para desarrollar el producto sofware deseado.
Que es la ingeniería de requisitos
La ingenieria de requisitos es la rama de la ingeniería del software o ingeniería de sistemas que se encarga de la
realización de actividades en el intento de entender las necesidades exactas de los usuarios de un sistema y traducir
éstas a precisas funciones y acciones que subsecuentemente serán usadas en el desarrollo del sistema. Loucopoulos, P
(1995). System Requirements Engineering. McGraw-Hill.
Ques es un requisito en Ing. De software
Según la IEEE un requisito es: 1. Una condición o capacidad requerida por un usuario para resolver un
problema o alcanzar un objetivo. 2. Una condición o capacidad que debe cumplir o poseer un sistema o
componente de sistema para satisfacer un contrato, estándar, especificación, o cualquier otro
documento impuesto formalmente. 3. Una representación documentada de una condición o capacidad
de lo explicado en los puntos 1 o 2. IEEE Standard Glosary of Software Engineering Terminology. IEEE
Computer Society Press. 1990.
Los requisitos pueden dividirse en:
2. Especificación:
1. Análisis de requerimientos:
3. Diseño y arquitectura
4. Programación:
5. Prueba
6. Documentación:
7. Mantenimiento:
Cuales son los requerimientos funcionales y no funcionales
Identificación de Requerimientos funcionales
Los requerimientos funcionales son declaraciones de los servicios que proveerá el sistema, de la
manera en que éste reaccionará a entradas particulares. En algunos casos, los requerimientos
funcionales de los sistemas también declaran explícitamente lo que el sistema no debe hacer.
Identificación de Requerimientos no funcionales
Son aquellos requerimientos que no se refieren directamente a las funciones específicas que entrega el
sistema, sino a las propiedades emergentes de éste como la fiabilidad, la respuesta en el tiempo y la
capacidad de almacenamiento. De forma alternativa, definen las restricciones del sistema como la
capacidad de los dispositivos de entrada/salida y la representación de datos que se utiliza en la
interface del sistema.