You are on page 1of 39

Ingeniera de software

Unidad I

Gestin de Proyectos de Software

Semana 1 Tema

El producto de software y su ciclo de vida

Objetivos Generales:
Comprender correcta y eficientemente

los conceptos y principios del espectro de tcnicas de Ingeniera de Software que puedan ser aplicadas en proyectos de software.
Desarrollar una cultura de ingeniera de

software.

Objetivos Especficos:
Aplicar

correctamente los conceptos y principios relacionados a la Ingeniera de Software en la resolucin de casos prcticos para la gestin de proyectos de software de calidad. gestin de proyectos de software.

Utilizar herramientas para el modelado y

Utilizar metodologas agiles en el desarrollo

de software.

Objetivos Instruccionales:
Definir la Ingeniera de Software y

explicar su importancia.
Discutir los conceptos de producto de

software.
Introducir la nocin de responsabilidad

profesional.

Introduccin Metas de la ingeniera de software

Contenidos

El producto software La evolucin del software

Aplicaciones del software


Visin industrial del software Ciclo de vida de una aplicacin Responsabilidad Profesional

Ingeniera de Software
Las

economas de los pases desarrollados dependen en gran parte del software.

Introduccin

Mas y ms sistemas son actualmente controlados

por software.
La Ingeniera de Software concierne a teoras,

mtodos y herramientas profesional de software.

para

el

desarrollo

El gasto en La Ingeniera de Software, representa

un alto porcentaje desarrollados.

del

PBI

de

los

pases

Ingeniera de Software
La Ingeniera de software es el establecimiento y uso de principios robustos de la ingeniera a fin de obtener econmicamente software que sea fiable y que funcione eficientemente sobre maquinas reales.

Introduccin

Definir una disciplina para garantizar produccin y mantenimient o

Mejorar la calidad

Aumentar la productividad
Objetivo s

Facilitar las bases para su construccin

Facilitar el control

Ingeniera de Software
Cul es el trabajo del ingeniero de software?
Introduccin
Realizar software de calidad en el plazo y costo establecido.
Planificar su trabajo
Hacer su trabajo de acuerdo al plan Esforzarse en producir productos de calidad

Conceptos Bsicos
Qu es la Ingeniera de Software ? Cul es la diferencia entre un programador y un Ingeniero de

Software?

Introduccin

Cul es la diferencia entre un Ingeniero de Software y un

Ingeniero de Sistemas?
Cual es la diferencia entre la Ingeniera de Software y la

Computacin ?
Qu es el software ? Qu es un proceso de software ? Qu es un modelo de software?

Que es la Ingeniera de Software?


La Ingeniera de Software es una disciplina de

Introduccin

la Ingeniera que concierne a todos los aspectos de la produccin de software.


Los

Ingenieros de Software adoptan un enfoque sistemtico para llevar a cabo su trabajo y utilizan las herramientas y tcnicas necesarias para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y recursos disponibles.

Diferencia entre Ingeniera de Software y Computacin


La

Introduccin

computacin concierne a la teora y fundamentos de cualquier sistema de cmputo, sea de hardware o de software.

La Ingeniera de software concierne solo al

desarrollo de sistemas o productos de software.


La Ingeniera de Software todava esta lejos de

ser una ciencia como los son la Qumica, la Ingeniera Civil o la Electrnica.

Diferencia entre Ingeniera de Sistemas e Ingeniera de Software


La Ingeniera de Sistemas concierne a todos

Introduccin

los aspectos del desarrollo de sistemas basados en cmputo, que incluyen hardware, software y el proceso de Ingeniera.
La Ingeniera de Software es solo parte de este

proceso.

Metas de la Ingeniera de Software

Que se requiere?
Mejorar

la calidad de produccin de software

los

procesos

de

Mejorar la calidad de los productos de software Aumentar

la productividad y satisfaccin profesional de los ingenieros de esta disciplina

Metas de la Ingeniera de Software

Que se puede esperar?


Creacin de empleo calificado Generacin de exportaciones no tradicionales

de alto valor agregado


Facilitar el proceso de modernizacin de las

economas nacionales

Que es el Software?
El producto software
Programas de cmputo y su documentacin

asociada
Sistemas o Productos de software grandes y

complejos.

Clasificacin
El producto software
Productos genricos.

Productos que son producidos por una organizacin para ser vendidos al mercado.

Productos hechos a medida.

Sistemas que son desarrollados bajo pedido a un desarrollador especfico.

La mayor parte del gasto del software es en productos genricos, pero hay ms esfuerzo en el desarrollo de los sistemas hechos a medida.

Caractersticas de los Productos de Software


El producto software
Mantenibles.

Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones.

Confiabilidad.

El software no debe causar daos fsicos o econmicos en el caso de fallos.

Eficiencia.

El software no debe desperdiciar los recursos del sistema.

Utilizacin adecuada.

El software debe contar con una interfaz de usuario adecuada y su documentacin.

Importancia de las caractersticas del producto


El producto software
La importancia relativa de las caractersticas

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 crticos 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 caracterstica.

Que contiene el software ?


El producto software
El software contiene:
Lneas de cdigo de algn lenguaje Instrucciones de computadora.

Descripcin de las estructuras de datos.


Algoritmos. Procedimientos y funciones.

Componentes de software.

Que tipos de software hay?...


El producto software
Por su estructura:

Funcionales. Orientados a objetos. Orientados a listas. Orientados a componentes.

Por su funcin:
Programas o Sistemas de Usuario Interfaces Hombre-Maquina. Herramientas de Software. Libreras. Sistemas de uso genrico: Compiladores, S.O, Procesadores de Texto, etc. Bases de Datos. Sistemas basados en Web.

Que tipos de software hay ?


El producto software
Por su plataforma de computo:
Sistemas embebidos. Sistemas de computo distribuido. Sistemas de computo paralelo. Sistemas de tiempo real.

Sistemas basados en Chips.

Costos del Software


El producto 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 Ingeniera de Software concierne a un

desarrollo efectivo en cuanto a costes del software.

Percepciones del software


El producto software
El software se desarrolla, no se fabrica en un

sentido clsico.
El software no se estropea. Aunque la industria tiende a ensamblar

componentes, la mayora del software se construye a medida.

Que hace que un producto de software sea considerado de calidad?


El producto software
Si existe inters 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.

Principio 1 Principio 2 Principio 3

Si un cliente no demanda calidad, probablemente no la conseguir Para obtener calidad de manera constante los desarrolladores deben gestionarla en su trabajo

Para gestionar la calidad los desarrolladores deben medirla


La calidad de un producto la determina el proceso usado para desarrollarlo Ya que las pruebas solucionan solo una fraccin de los defectos, debes tener pruebas de calidad La calidad solo lo producen profesionales motivados orgullosos de su trabajo

Principio 4
Principio 5 Principio 6

Generaciones
Evolucin del software
Primera El software se contemplaba como un aadido La programacin de computadoras era un "arte de andar por casa" para el que existan pocos mtodos sistemticos. El desarrollo del software se realizaba virtualmente sin ninguna planificacin. Segunda La multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre - maquina. El gobierno y la universidad se aprestaban a "desarrollar el mejor paquete de software" y ganar as mucho dinero. La llegada de las "casas del software" Tercera El sistema distribuido, mltiples computadoras, funciones concurrentes . Las redes de rea local y de rea global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso "instantneo" a los datos, supusieron una fuerte presin sobre los desarrolladores del software. Llegada del microprocesador. Cuarta Los sistemas informticos se alejan de las computadoras individuales y de los programas de computadoras , dirigindose al impacto colectivo de las computadoras y del software Potentes mquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompaadas por aplicaciones de software avanzadas . Quinta Las tecnologas orientadas a objetos estn desplazando rpidamente los enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones.

Mitos del software


Evolucin del software
De gestin.
Tenemos ya un libro que esta lleno de estndares 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, despus de todo, les compramos las computadoras mas modernas.
Si fallamos en la planificacin, podemos aadir mas

programadores y adelantar el tiempo perdido.

...Mitos del software


Evolucin del software
Del Cliente.
Una

declaracin 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 fcilmente, ya que el software es flexible.

...Mitos del software


Evolucin del software
De los desarrolladores.
Una vez que escribimos el programa y hacemos que

funcione, nuestro trabajo ha terminado.


Hasta que no tengo el programa ejecutndose,

realmente no tengo forma de comprobar su calidad.


Lo nico que se entrega al terminar el proyecto es el

programa funcionando.

Software de sistemas.

Aplicaciones del software

Software de tiempo real. Software de gestin. Software de ingeniera y cientfico. Software empotrado. Software de computadoras personales.

Visin industrial del software

Los procesos que se utilizan en cualquier fbrica son bsicos e imprescindibles para el correcto funcionamiento de la fbrica. El proceso ms importante en una fbrica de software es el proceso de desarrollo de software. Por ello, se debe definir el proceso, basado en estndares adaptado a los proyectos y tipologa de los clientes, donde se definen:
La planificacin de las fases del proyecto: Inicio, Elaboracin, Construccin

y Transicin.
Los estndares de tiempos de ejecucin y costes de desarrollo de cada

fase.
La planificacin de los flujos de trabajo de desarrollo: Requisitos, Anlisis,

Diseo, Implementacin 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 mtricas de diferentes parmetros del proyecto. Una completa documentacin de todo el proceso.

Ciclo de vida de una aplicacin

Es el proceso que se sigue desde el planteamiento de un problema hasta que se tiene una solucin instalada en la computadora, y en funcionamiento por los usuarios finales mientras sea de utilidad.

Retos de la Ingeniera de Software

Mantener y tratar con sistemas legados.


Tratar con una mayor diversidad de sistemas con mayores

demandas de computo, y menores tiempos de entrega

Sistemas Legados
Sistemas antiguos que deben ser mantenidos y mejorados.

Hetereogenidad
Sistemas que incluyen una mezcla de software y hardware.

Entrega
Existe una presin 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 software

Retos de la Ingeniera de Software

Porque no podemos desarrollar sistemas de software con tcnicas formales como lo hacen los Ingenieros en Electrnica, los Ingenieros Qumicos o los Ingenieros Civiles?

Responsabilidad profesional

Los Ingenieros de software no solo deben

considerar aspectos tcnicos. Deben tener una visin mas amplia, en lo tico, social y profesional.
No existe estatutos para ninguno de estos

aspectos.

Desarrollo de sistemas militares. Piratera. Que es mejor para la profesin de Ingeniero de Software.

Aspectos ticos
Responsabilidad profesional
Confidencialidad.
Competencia. Derechos de propiedad intelectual.

Mal uso de la computadora.

La Ingeniera de software concierne a las

teoras, mtodos y herramientas para el desarrollo, administracin y evolucin de productos de software.

Resumen

Los

productos de software consisten de programas y documentacin. 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.

La visibilidad del proceso involucra la creacin

de documentos o resultados de las actividades.


Los

Resumen

Ingenieros de software deben tener responsabilidades ticas, sociales y profesionales.

Las personas obtienen tanta satisfaccin del

proceso que del producto final.

La Ingeniera de Software es una disciplina que integra procesos, mtodos y herramientas para el desarrollo de software de computadora

Resumen

Ingeniera de software
Unidad I

Gestin de Proyectos de Software

Semana 1 Tema

El producto de software y su ciclo de vida

You might also like