You are on page 1of 26

Sidney Valer Quispe

 Curso

 Bibliografía

 Calificación
 Nombre:
 Ingeniería de Software
 Horario
 Miércoles 6:40 -- 8:00 p.m.
 Jueves 6:00 -- 8:00 p.m.
 Curso

 Bibliografía

 Calificación
 Ingeniería de Software un enfoque practico
 Roger S. Pressman
 Quinta Edición 2005
 Ingeniería de Software
 IAN SOMERVILL
 Séptima Edición 2006
 Curso

 Bibliografía

 Calificación
 Examen Parcial:
 I-VI Unidad
 Examen Final
 VII-XII Unidad
 Proyecto del Curso
 Desarrollo de proyectos por grupo
 Tareas Domiciliarias
 Lecturas Domiciliarias
 En la actualidad, el sw es la tecnología
individual más importante en el ámbito
mundial
 Nadie en la década de 1950 podría haber
predicho que el sw se convertiría en una
tecnología indispensable
 El sw está relacionado con sistemas de todo
tipo: transporte, médicos, de
telecomunicaciones, militares, etc.
 Millones de programas de computadora deben
corregirse, adaptarse y mejorarse:
 Más tiempo que en la creación
 Este curso presenta un marco
para quienes construyen sw: las
personas que deben hacer buen
sw.
 Ingeniería de Software: El
marco, que incluye un proceso,
un conjunto de métodos y una
serie de herramientas
 El sw tiene un papel dual: es producto y
vehículo mediante el cual se entrega un
producto.
 Producto que transforma información
 En su papel de vehículo, el sw actúa como la base para el
control de la computadora (SO), la comunicación (redes), y
la creación de otros programas (utilerías de sw y ambientes)
 El sw entrega el producto más importante de
nuestro tiempo: información:
 Transforma datos para hacerlos útiles en un contexto
 El sw ha crecido en un periodo un poco mayor
a 50 años por:
 Mejorías sustanciales en el desempeño del hw
 Cambios profundos en las arquitecturas de cómputo
 Enormes incrementos en las capacidades de memoria y
almacenamiento
 Amplia variedad de opciones de salida y de entrada
 El sw produjo la transformación de una
sociedad industrial en una “sociedad de la
información” Naisbitt 1982
 ¿Por qué tarda tanto la obtención de sw
terminado?
 ¿ Por qué son tan altos los costos de
desarrollo de sw?
 ¿ Por qué es imposible encontrar todos los
errores en el sw antes de entregarlo a los
clientes?
 ¿ Por qué se gastan tanto tiempo y esfuerzo
en el mantenimiento de los programas
existentes?
 ¿ Por qué es difícil medir el progreso al
desarrollar y darle mantenimiento al sw?
 ¿Por qué tarda tanto la obtención
de sw terminado?
 ¿Por qué son tan altos los costos de
desarrollo de sw?
 ¿Por qué es imposible encontrar
todos los errores en el sw antes de Estas preocupaciones
entregarlo a los clientes? han conducido a la
 ¿Por qué se gastan tanto tiempo y adopción de la
ingeniería de software
esfuerzo en el mantenimiento de
los programas existentes?
 ¿Por qué es difícil medir el progreso
al desarrollar y darle
mantenimiento al sw?
Visión del Negócio (dirección, gestión, administración)

Calidad

Pesonas

Procesos

Gestion de Infra-
Proyetos estructura
TI/comunicacion

Clientes Clientes
 Cómo puede definirse el software?
 El sw se forma con
1. Las instrucciones
2. Las estructuras de datos que permiten que los
programas manipulen información de manera
adecuada.
3. Los documentos que describen la operación y el uso de
los programas
 El sw es un elemento lógico, en lugar de físico,
de un sistema:
 El sw no se desgasta pero sí se deteriora.
 “A pesar de que la industria tiene una
tendencia hacia la construcción por
componentes (reutilizables), la mayoría del sw
aún se construye a la medida.”
 Siete categorías
1. Software de sistemas: Colección de programas
escritos para servir a otros programas: compiladores,
utilerías para la administración de archivos, S.O.
2. Software de aplicación: Programas independientes
que resuelven una necesidad de negocios específica
3. Software científico y de ingeniería: Astronomía,
vulcanología, etc.
4. Embedded Software: Reside dentro de la memoria
de sólo lectura del sistema
5. Software de línea de productos: Proporciona
una capacidad específica y la utilización de
muchos clientes diferentes
▪ Control de inventarios, procesadores de palabras
6. Aplicaciones basadas en la Web
7. Software de inteligencia artificial: Robótica,
sistemas expertos, redes neuronales, etc.
 Programas viejos = software
heredado
 Son costosos en su
mantenimiento y riesgosos en su
evolución
 Soportan las funciones centrales
de negocios y son indispensables
para las empresas
 Problema: Poca calidad
 Conforme pasa el tiempo, los sistemas
heredados evolucionan por una o más de las
razones siguientes:
 El sw debe adaptarse para satisfacer las necesidades de los
nuevos ambientes o las nuevas tecnologías de cómputo
 El sw debe mejorarse para implementar los nuevos
requerimientos de los negocios
 El sw debe extenderse para hacerlo operable con sistemas y
bases de datos más modernos
 El sw debe rediseñarse para hacerlo viable dentro de un
ambiente de red
 El sw evoluciona a través del
tiempo, sin importar su dominio de
aplicación, tamaño o complejidad
 El cambio o mantenimiento, ocurre
cuando:
 Se corrigen errores
 El sw se adapta a un nuevo ambiente
 El cliente solicita características o
funciones nuevas
 Etc.
 Las antiguas actitudes y viejos hábitos son
difíciles de modificar, por lo que aún subsisten
creencias falsas sobre el software.
 El proceso de software se define como un
marco de trabajo para las tareas que se
requieren en la construcción del software de
alta calidad, la ingeniería de software abarca
también las tecnologías que requiere este
proceso. Se trata de la aplicación de un
enfoque sistemático al software pudiéndose
descomponer en 4 estratos principales:
 Un enfoque de calidad: Fomenta la cultura de
mejora continua en el proceso.
 Proceso: Permite seguir un proceso que
mantenga unida la tecnologia y permita el
desarrollo racional y en tiempo.
 Metodos: Son los “como” tecnicos para
construir software.
 Herramientas: Proporcionan el soporte
necesario por el proceso y los metodos.
 COMUNICACIÓN: Esta actividad engloba acciones que
buscan recolectar datos e información relevante para el
desarrollo del proyecto. La base es interpretar los
requisitos del cliente adecuadamente.
 PLANEACIÓN: Plan de trabajo. Riesgos, tareas, recursos,
productos y un programa de trabajo. Es un mapa del
proyecto.
 MODELADO: Abarca la creacion de modelos que permiten
al desarrollador y al cliente entender mejor los requisitos
(análisis) y el diseño que logrará satisfacerlos.
 CONSTRUCCIÓN: Combina la generación del codigo y la
realizacion de las pruebas para evitar errores en el mismo.
 DESPLIEGUE: Actividad que engloba desde que el
software está listo hasta que se implementa en el cliente.

You might also like