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

¡La universidad de todos!

GERENCIA DE CENTROS DE TI
Unidad I :
Sistemas de Informaciòn empresarial
Tema : INGENIERÍA DE SOFTWARE
Docente : Mg. Ing. Maribel Molina Barriga

Periodo académico: 2018 – 2B


Escuela Profesional Semestre: X
INGENIERÍA DE SISTEMAS E INFORMÁTICA Unidad:01
INGENIERÍA DE
SOFTWARE
INTRODUCCIÓN
• Las economías de los países desarrollados dependen en gran parte del
software
• El gasto en la ingeniería de software, representa un ato porcentaje del
PBI(Producto bruto interno) de los países desarrollados.
• Más y más sistemas son actualmente controlados por el software
• A ingeniería de Software concierne a teorías, métodos y herramientas para
el desarrollo profesional de software.
¿Qué hace un Ingeniero de Sistemas?
Concepto
• La Ingeniería del Software es una disciplina de la ingeniería que concierne a
todos los aspectos de producción de software, comprende las técnicas y
procedimientos ingenieriles para el desarrollo del software.

• Los Ingenieros de software adoptan un enfoque sistemático para llevar a


cabo su trabajo y utilizan las herramientas y técnicas necesarias para
resolver el problema planteado, de acuerdo a las restricciones de desarrollo
y recursos disponibles.
Concepto
• La IS no se plantea solo una actividad de programación, previamente son
necesarias las fases de análisis y diseño y posteriormente la integración y la
verificación, incluso el manteniendo cuando el producto ya está en
explotación. (CICLO DE VIDA).
• Inicialmente la tarea de desarrollo era realizada individualmente por hábiles
creativos, de forma poco disciplinada. El trabajo en equipo supone la
división y organización del trabajo utilizando metodologías de desarrollo
(hoy en día).
• En los 70 y los 80 empiezan a usarse herramientas CASE (Computer Aided
Software Engineering). En los 90 IPSE e ICASE.
¿Qué es el software?
• Son los programas de cómputo y su documentación asociada
• Sistemas o productos de software grandes y complejos

• ¿Qué contiene un software?


• ¿Qué tipos de software hay?
• ¿Cuál es el costo de software?
• ¿Cómo se desarrolla un software?
• ¿Cómo saber si un software tiene calidad?

Capas de la Ingeniería de Software


Los productos de un software
• Productos genéricos
– Productos que son producidos por una organización para ser vendidos al mercado

• Productos hechos a medida


– Sistemas que son desarrollados bajo pedido a un desarrollador especifico

• La mayor parte del gasto de un software es en productos genéricos, pero


hay mas esfuerzo en el desarrollo de los sistemas hechos a medida
Características de los productos de software
• Mantenibles: Debe ser posible que el software evolucione y que siga
cumpliendo sus especificaciones

• Confiabilidad: El software no debe causar daños físicos o económicos en el


caso de fallos

• Eficiencia: El software no debe desperdiciar los Recursos del sistema

• Utilización adecuada: El software debe contar con una interfaz d usuario


adecuada y su documentación.
Importancia de las características del producto
• La importancia relativa de las características depende en el tipo de producto
y en el ambiente en el que será utilizado

• En algunos casos, algunos atributos pueden dominar


– Sistemas de seguridad críticos de tiempo real, los atributos clave pueden ser de
confiabilidad y la eficiencia

• Los costos tienden a crecer exponencialmente si son requeridos altos


niveles de alguna característica
¿Qué contiene el software?
• Líneas de código de algún lenguaje
• Instrucciones de computadora
• Descripción de estructura de datos
• Algoritmos
• Procedimientos y funciones
• Componentes de software
¿Qué tipos de Software hay?
• Por su estructura:
– Funcionales, OO, orientados a listas, orientados a componentes.
• Por su función:
– Programas y sistemas de usuarios
– Interfaces de Hombre-maquina
– Herramientas de Software
– Librerias
– Sistemas de usos genérico: Compiladores, SO, procesadores de texto, etc.
– Bases de datos
– Sistemas basados en web
• Por su plataforma de computo
– S embebidos, de computo distribuidos, computo paralelos, de tiempo real, basados en
chips, ubiquos, Wereable computig systems (machine learning)
Costos del Software
Costos
• Los costos del software a menudo al
costo del sistema. El costo del software
en un PC es a menudo caro que la PC
• Cuesta más mantener el software que
desarrollarlo. Para sistemas con una
larga vida, este costo se multiplica.
• La Ingeniería de software concierne a
un desarrollo efectivo en cuanto a
costes del software Eficiencia

Costes de Eficiencia
El Proceso de Software
• Conjunto estructurado de actividades
requeridas para desarrollar un sistema de
software.
 Especificación- que debe hacer el
software y cuales son sus especificaciones
de desarrollo.
 Desarrollo – producción del sistema de
software.
 Validación – verificar que el software
hace lo que el cliente pide.
 Evolución – cambiar/adaptar el software
a las demandas.
• Las actividades varían dependiendo de la
organización y del tipo de sistema a
desarrollarse.
• Debe estar explícitamente modelado si va a
ser bien administrado.
Proceso Genérico de Software
• Especificación - establecer los requerimientos y restricciones del sistema
• Diseño - Producir un modelo en papel del sistema
• Manufactura - construir el sistema
• Prueba - verificar que el sistema cumpla con las especificaciones requeridas
• Instalación - entregar el sistema al usuario y asegurar su operacionalidad
• Mantenimiento - reparar fallos en el sistema cundo sea descubiertos

Proceso de
Sistema de
Requerimientos desarrollo de
software
del usuario software
Características del proceso
• Entendible
 Se encuentra el proceso bien definido y es entendible ?.
• Visible
 El proceso es visible al exterior ?.
• Soportable
 Puede el proceso ser soportado por herramientas CASE ?.
• Aceptable
 El proceso es aceptado por aquellos involucrados en el ?.
• Confiable
 Los errores del proceso son descubiertos antes de que se conviertan en errores del producto ?.
• Robusto
 Puede continuar el proceso a pesar de problemas inesperados ?.
• Mantenible
 Puede el proceso evolucionar para cumplir con los objetivos organizacionales ?.
• Rapidez
 Que tan rápido puede producirse el sistema ?.
Problemas en el Modelo del Proceso
• Normalmente, las especificaciones son incompletas o anómalas
• No existe una distinción precisa entre la especificación, el diseño y la
manufactura
• Solo hasta que el sistema se ha producido se puede probar
• El software no se puede remplazar siempre durante el mantenimiento
Modelos de Proceso de Desarrollo de Software
(o Tipos de Ciclo de Vida)
• Representación formal o simplificada de proceso de software.
• Modelos Genéricos:
– Modelo de Cascada – lineal - secuencial
 Separar en distintas fases de especificación y desarrollo.
– Desarrollo Evolutivo
 La especificación y el desarrollo están intercalados.
– Prototipado
 Un modelo sirve de prototipo para la construcción del sistema final.
– Transformación Formal
 Un modelo matemático del sistema se transforma formalmente en la implementación.
– Desarrollo basado en Reutilización
 El sistema es ensamblado a partir de componentes existentes.
¿Cómo construir un SI?

• Identificar los usuarios


• Definir la arquitectura del sistema
• Definir el software a desarrollar
– Cada vez MÁS COMPLEJO
– Desarrollarlo RÁPIDAMENTE
– Se necesitan métodos mejores de desarrollo

20
El proceso de desarrollo de software
• Ofrece un marco de trabajo genérico

DATOS y
PARTE
ESTÁTICA ARQUITECTURA del
SISTEMA
PARTE
DINÁMICA PROCESOS

INTERFAZ

CICLO DE MODELO de
VIDA REFERENCIA 21
Elementos utilizados en los distintos procesos

OMT / OORAM
Pr. Unificado

M. Dinámico
M. Estático
SSADM

Metrica
Merise
Proceso/Método ->
Técnica o artefacto
Modelo E/R (E)   
Vistas externas   
Diagrama de Flujo de Datos (DFD)   
Modelo Lógico de Datos (MLD)  
Historia de la Vida de Entidades (HVE)   
Diagrama de clases   
Casos de uso    22

Diagrama de colaboración   
Tipos de Ciclos de Vida (CV)
CV es MODELO de proceso de Software o de
REFERENCIA para construir software

• Sin prototipos
– En cascada (Waterfall)
• Con prototipos
– desechables
– no desechables
• Incremental
• evolutivo
• En espiral
• Iterativo e incremental 23
Ciclo de vida en cascada – lineal o secuencial
Definir Requisitos
Sistema
Desarrollo de SI
El más
común y el Definir Requisitos
más antiguo software
(1970)
Se basa en Diseño Codificar
completar un preliminar módulos e
paso antes
de comenzar Diseño integrarlos
con el Diseño de alto nivel detallado
siguiente Integrar el
software en
Codificar & debug
el sistema

Diseño de los algoritmos Test y


Pre-operación
Operación y
Mantenimiento 24
Características del Modelo en Cascada
– Enfoque sistemático y secuencial del desarrollo
– Es el modelo de ciclo de vida más antiguo y más ampliamente usado
– Cada fase empieza cuando ha terminado la anterior

Los problemas y/o críticas


– Toma una visión estática de los requerimientos ignorando la volatilidad
– No refleja el proceso real de desarrollo de software, estos raramente siguen procesos
lineales
– Para pasar de una fase a otra es necesario conseguir todos los objetivos de la fase, se tarda
mucho tiempo en pasar por todos los ciclos
– Poca participación de usuario una vez que la especificación es obtenida
– Separación poco realista de la especificación contra el diseño
– No hay lugar para prototipos, reuso, etc
– El sistema está listo muy al final, pero acentúa el fracaso de la industria del software porque
demora mucho.
ACTIVIDADES
• Formas grupos de trabajo y leer los modelos de proceso de Software y
Exponer lo siguiente:
– Modelo gráfico de Software
– Características Principales
– Ventajas
– Desventajas
– Conclusiones
– Recomendaciones
¡Gracias!

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