ingeniería de software unidad i gestión de proyectos de software el producto de software y su...
TRANSCRIPT
Ingeniería de software
Unidad I
Gestión de Proyectos de Software
El producto de software y su ciclo de vida
Tema
Semana 1
Objetivos Generales:
Comprender correcta y eficientemente los conceptos y principios del espectro de técnicas de Ingeniería de Software que puedan ser aplicadas en proyectos de software.
Desarrollar una cultura de ingeniería de software.
Objetivos Específicos:
Aplicar correctamente los conceptos y principios relacionados a la Ingeniería de Software en la resolución de casos prácticos para la gestión de proyectos de software de calidad.
Utilizar herramientas para el modelado y gestión de proyectos de software.
Utilizar metodologías agiles en el desarrollo de software.
Objetivos Instruccionales:
Definir la Ingeniería de Software y explicar su importancia.
Discutir los conceptos de producto de software.
Introducir la noción de responsabilidad profesional.
Ingeniería de Software…
Las economías de los países desarrollados dependen en gran parte del software.
Mas y más sistemas son actualmente controlados por software.
La Ingeniería de Software concierne a teorías, métodos y herramientas para el desarrollo profesional de software.
El gasto en La Ingeniería de Software, representa un alto porcentaje del PBI de los países desarrollados.
…Ingeniería de SoftwareLa Ingeniería de software es el establecimiento y uso de principios robustos de la ingeniería a fin de obtener económicamente software que sea fiable y que funcione eficientemente sobre maquinas reales.
…Ingeniería de Software
¿Cuál es el trabajo del ingeniero de software?
Realizar software de calidad en el plazo y costo establecido.
Planificar su trabajoHacer su trabajo de acuerdo al planEsforzarse en producir productos de calidad
Conceptos Básicos ¿Qué es la Ingeniería de Software ?
¿Cuál es la diferencia entre un programador y un Ingeniero de Software?
¿Cuál es la diferencia entre un Ingeniero de Software y un Ingeniero de Sistemas?
¿Cual es la diferencia entre la Ingeniería de Software y la Computación ?
¿Qué es el software ?
¿Qué es un proceso de software ?
¿Qué es un modelo de software?
Intr
od
ucc
ión
¿Que es la Ingeniería de Software?
La Ingeniería de Software es una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de 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.
Intr
od
ucc
ión
Diferencia entre Ingeniería de Software y Computación
La computación concierne a la teoría y fundamentos de cualquier sistema de cómputo, sea de hardware o de software.
La Ingeniería de software concierne solo al desarrollo de sistemas o productos de software.
La Ingeniería de Software todavía esta lejos de ser una ciencia como los son la Química, la Ingeniería Civil o la Electrónica.
Intr
od
ucc
ión
Diferencia entre Ingeniería de Sistemas e Ingeniería de Software
La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo, que incluyen hardware, software y el proceso de Ingeniería.
La Ingeniería de Software es solo parte de este proceso.
Intr
od
ucc
ión
Me
tas
de
la In
ge
nie
ría
de
So
ftwa
re
Mejorar la calidad de los procesos de producción de software
Mejorar la calidad de los productos de software
Aumentar la productividad y satisfacción profesional de los ingenieros de esta disciplina
¿Que se requiere?
Me
tas
de
la In
ge
nie
ría
de
So
ftwa
re
Creación de empleo calificado
Generación de exportaciones no tradicionales de alto valor agregado
Facilitar el proceso de modernización de las economías nacionales
¿Que se puede esperar?
¿Que es el Software?
Programas de cómputo y su documentación asociada
Sistemas o Productos de software grandes y complejos.
El p
rod
uct
o s
oftw
are
Clasificación
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
específico.
La mayor parte del gasto del software es en productos genéricos, pero hay más esfuerzo en el desarrollo de los sistemas hechos a medida.
El p
rod
uct
o s
oftw
are
Características de los Productos de Software
Mantenibles. Debe ser posible que el software evolucione y que siga cumpliendo con
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 de usuario adecuada y su
documentación.
El p
rod
uct
o s
oftw
are
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. En sistemas de seguridad críticos de tiempo real, los atributos clave
pueden ser la confiabilidad y la eficiencia.
Los costos tienden a crecer exponencialmente si son requeridos altos niveles de alguna característica.
El p
rod
uct
o s
oftw
are
¿Que contiene el software ?
El software contiene:
Líneas de código de algún lenguajeInstrucciones de computadora.Descripción de las estructuras de datos.Algoritmos.Procedimientos y funciones.Componentes de software.E
l pro
du
cto
so
ftwa
re
¿Que tipos de software hay?...
Por su estructura:Funcionales.Orientados a objetos.Orientados a listas.Orientados a componentes.
Por su función:Programas o Sistemas de UsuarioInterfaces Hombre-Maquina.Herramientas de Software.Librerías.Sistemas de uso genérico: Compiladores, S.O, Procesadores
de Texto, etc.Bases de Datos.Sistemas basados en Web.
El p
rod
uct
o s
oftw
are
…¿Que tipos de software hay ?
Por su plataforma de computo:Sistemas embebidos.Sistemas de computo distribuido.Sistemas de computo paralelo.Sistemas de tiempo real.Sistemas basados en Chips.
El p
rod
uct
o s
oftw
are
Costos del Software
Los costos del software a menudo dominan al costo del sistema. El costo del software en un PC es a menudo mas caro que la PC.
Cuesta mas 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.
El p
rod
uct
o s
oftw
are
Costes de Eficiencia.
Costes
Eficiencia
El p
rod
uct
o s
oftw
are
Percepciones del software
El software se desarrolla, no se fabrica en un sentido clásico.
El software no se “estropea”.
Aunque la industria tiende a ensamblar componentes, la mayoría del software se construye a medida.E
l pro
du
cto
so
ftwa
re
¿Que hace que un producto de software sea considerado de calidad?
Si existe interés en desarrollar software de calidad, se debe tener presente los 6 principios de calidad de software (planteados por el padre de la calidad de los procesos de software), de Watts Humphrey, publicados originalmente en CrossTalk.
El p
rod
uct
o s
oftw
are
GeneracionesE
volu
ció
n d
el s
oftw
are
Mitos del software…
De gestión.
Tenemos ya un libro que esta lleno de estándares y procedimientos para construir software. ¿No le proporciona ya a mi gente todo lo que necesita saber?
Mi gente dispone de las herramientas de desarrollo de software mas avanzadas, después de todo, les compramos las computadoras mas modernas.
Si fallamos en la planificación, podemos añadir mas programadores y adelantar el tiempo perdido.
Evo
luci
ón
de
l so
ftwa
re
...Mitos del software…
Del Cliente.
Una declaración general de los objetivos es suficiente para comenzar a escribir los programas, podemos dar los detalles mas adelante
Los requisitos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente, ya que el software es flexible.
Evo
luci
ón
de
l so
ftwa
re
De los desarrolladores.
Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado.
Hasta que no tengo el programa ejecutándose, realmente no tengo forma de comprobar su calidad.
Lo único que se entrega al terminar el proyecto es el programa funcionando.
Evo
luci
ón
de
l so
ftwa
re...Mitos del software
Software de sistemas.
Software de tiempo real.
Software de gestión.
Software de ingeniería y científico.
Software empotrado.
Software de computadoras personales.
Ap
lica
cio
ne
s d
el s
oftw
are
Los procesos que se utilizan en cualquier fábrica son básicos e imprescindibles para el correcto funcionamiento de la fábrica. El proceso más importante en una fábrica de software es el proceso de desarrollo de software. Por ello, se debe definir el proceso, basado en estándares adaptado a los proyectos y tipología de los clientes, donde se definen:La planificación de las fases del proyecto: Inicio, Elaboración, Construcción y Transición.Los estándares de tiempos de ejecución y costes de desarrollo de cada fase.La planificación de los flujos de trabajo de desarrollo: Requisitos, Análisis, Diseño, Implementación y Pruebas.Los roles de desarrolladores asociados a cada tarea.Las herramientas a utilizar en cada flujo de trabajo y actividad.Las plantillas correspondientes a los artefactos a generar.Las métricas de diferentes parámetros del proyecto.Una completa documentación de todo el proceso.
Vis
ión
ind
ust
ria
l de
l so
ftwa
re
Es el proceso que se sigue desde el planteamiento de un problema hasta que se tiene una solución instalada en la computadora, y en funcionamiento por los usuarios finales mientras sea de utilidad.
Cic
lo d
e v
ida
de
un
a a
plic
aci
ón
Mantener y tratar con sistemas legados. Tratar con una mayor diversidad de sistemas con mayores
demandas de computo, y menores tiempos de entrega
Sistemas LegadosSistemas antiguos que deben ser mantenidos y mejorados.
HetereogenidadSistemas que incluyen una mezcla de software y hardware.
EntregaExiste una presión incremental por una entrega a tiempo de los
productos de software
Formalidad. Existe una gran demanda de que exista formalidad en el
proceso de desarrollo de softwareRe
tos
de
la In
ge
nie
ría
de
So
ftwa
re
¿Porque no podemos desarrollar sistemas de software con técnicas formales como lo hacen los Ingenieros en Electrónica, los Ingenieros Químicos o los Ingenieros Civiles?
Re
tos
de
la In
ge
nie
ría
de
So
ftwa
re
Los Ingenieros de software no solo deben considerar aspectos técnicos. Deben tener una visión mas amplia, en lo ético, social y profesional.
No existe estatutos para ninguno de estos aspectos.Desarrollo de sistemas militares.Piratería.Que es mejor para la profesión de Ingeniero de
Software.Re
spo
nsa
bili
da
d p
rofe
sio
na
l
Aspectos Éticos
Confidencialidad.
Competencia.
Derechos de propiedad intelectual.
Mal uso de la computadora.
Re
spo
nsa
bili
da
d p
rofe
sio
na
l
La Ingeniería de software concierne a las teorías, métodos y herramientas para el desarrollo, administración y evolución de productos de software.
Los productos de software consisten de programas y documentación. Los atributos de los productos son, mantenabilidad, dependabilidad, eficiencia y usabilidad.
El proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.
Re
sum
en
La visibilidad del proceso involucra la creación de documentos o resultados de las actividades.
Los Ingenieros de software deben tener responsabilidades éticas, sociales y profesionales.
Las personas obtienen tanta satisfacción del proceso que del producto final.
Re
sum
en
“La Ingeniería de Software es una disciplina que integra procesos, métodos y herramientas para el
desarrollo de software de computadora”R
esu
me
n
Ingeniería de software
Unidad I
Gestión de Proyectos de Software
El producto de software y su ciclo de vida
Tema
Semana 1