You are on page 1of 44

Unidad

Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

Temas
1.1.1 Definicin Hardware - Software

1.1.11 El papel evolutivo del software

1.1.2 Desarrollo del hardware

1.1.12 El software

1.1.3 La crisis del software

1.1.13 La naturaleza cambiante del software

1.1.4 Ingeniera del Software

1.1.14 Software heredado

1.1.5 Estndares y modelos

1.1.15 El proceso de software

1.1.6 Ppales. organizaciones de estandarizacin 1.1.15.1 Visin general del proceso


1.1.7 Proyecto SWEBOK
1.1.15.2 Estratificacin del proceso
1.1.8 ISO 12207
1.1.15.3 Marco de trabajo
1.1.9 Ingeniera de sistemas

1.1.15.4 Modelos de proceso

1.1.10 Software e ingeniera del software

El contenido de los siguientes temas fue tomado del libro Un Enfoque Prctico de Pressman

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.1 Definicin Hardware - Software


El hardware es el conjunto de todos los elementos materiales (que se
pueden tocar) como los dispositivos electrnicos y electromecnicos
que pueden incluir: circuitos, cables, tarjetas, discos, unidades de
disco, monitor, teclado, ratn (mouse), impresora, placas, chips y
dems perifricos.
En cambio, el software es intocable, existe como ideas, conceptos,
smbolos, pero no tiene sustancia. Una buena metfora sera un libro:
las pginas y la tinta son el hardware, mientras que las palabras,
oraciones, prrafos y el significado del texto son el software. Una
computadora sin software sera tan intil como un libro con pginas
en blanco.

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.2 Desarrollo del hardware


La aparicin de componentes que cada dos aos doblan la capacidad
de sus antecesores nos ha rodeado en menos de cuatro dcadas de
mquinas capaces de procesar miles de millones de operaciones por
segundo (MTOPS).
En 1946 ENIAC ocupaba una superficie de 160 m2, pesaba 30
toneladas, y ofreca una capacidad de proceso de 30.000
instrucciones por segundo. En 2002 El microprocesador Pentium IV a
2 Ghz ocupa una superficie de 217 mm2 y tiene una capacidad de
proceso de 5.300 MTOPS (Millions of theoretical operations per
second)

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software
Este es el escenario creado por la industria del hardware, y que en las
tres ltimas dcadas ha implicado a los desarrolladores de software
en retos a los que no han sabido responder con solvencia.

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.3 Crisis del software


Este trmino fue acuado en los aos 70, cuando la industria del
software ya haba producido los suficientes programas para darse
cuenta de que haba algo que fallaba y formul algunos interrogantes.
Por qu lleva tanto tiempo terminar los programas?
Por qu es tan elevado el coste?
Por qu no podemos encontrar todos los errores antes de entregar el
software a nuestros clientes?
Por qu es tan difcil constatar el progreso durante el desarrollo?
Por qu es tan difcil calcular cunto tiempo va a costar?

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software
La industria del software no ha podido satisfacer la demanda. La
complejidad del software producido y demandado se incrementa
constantemente.
El software es solicitado para ejecutar las tareas demandantes de hoy
y est presente en todos los sistemas que van desde los ms sencillos
hasta los de misin crtica.
Las aplicaciones de software son complejas porque modelan la
complejidad del mundo real.

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software
Si el cliente tiene claro qu quiere, interferir mucho menos en el
proceso de desarrollo obligando a cambiar aspectos que ya haban
sido convenidos previamente. Y, an as, a pesar de todo, lo har.
Deca un profesor de Ingeniera del Software:
El software no est en crisis, que tontera. La crisis le viene desde que naci.
Lo que hay que plantearse es por qu no ha salido de esa crisis en todo este
tiempo.

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

Factores de Influencia
Aumento del poder computacional.
Reduccin del costo del hardware.
Personal de desarrollado y mantenimiento diferente.
Tiempo costo y nmero de desarrolladores,
Control administrativo y detalles tcnicos
Aumento en el conocimiento del problema.
Cambios en el entorno:
Tecnolgicos (Internet, redes, ERP, CRM, SCM).
Econmicos (crisis econmicas, globalizacin, etctera).
Sociales (nuevas necesidades, costumbres nuevas, etctera).
8

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.4 Ingeniera del Software


Es la rama de la ingeniera que crea y mantiene las aplicaciones de
software aplicando tecnologas y prcticas de las ciencias
computacionales, manejo de proyectos, el mbito de la aplicacin, y
otros campos.
El software es el conjunto de instrucciones que permite al hardware
de la computadora desempear trabajo til. En las ltimas dcadas
del siglo XX, las reducciones de costo en hardware llevaron a que el
software fuera un componente ubicuo de los dispositivos usados por
las sociedades industrializadas.
Establecimiento y uso de principios de ingeniera para obtener
software econmico que trabaje de forma eficiente en mquinas
reales.
9

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software
La Ingeniera en Software es la aproximacin sistemtica, disciplinada
y cuantificable para desarrollar, operar y mantener software. El
explosivo crecimiento del mbito informtico requiere de la
participacin de profesionales que sepan evaluar, generar y articular
productos tecnolgicos que satisfagan las crecientes necesidades de la
sociedad moderna.
La formacin entrega criterios bsicos para un Ingeniero en Software
con una visin y capacidad de aplicar Tecnologas de Informacin y
Comunicaciones de manera adecuada para la solucin de problemas
de software. El plan de estudios est constituido por un asignaturas de
especialidad que incluye Algoritmos, Estructuras de Datos, Lenguajes
de Programacin, Anlisis y Diseo de Software, Verificacin y
Validacin de Software, Ingeniera y Construccin de Software,
Software Incrustado, Costo y Precio del Software, entre otros.
10

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.5 Estndares y modelos


Definicin: Son normas internacionales que reglamentan y controlan
el desarrollo de software a nivel mundial.
Los estndares son tiles porque:
Agrupan lo mejor y ms apropiado de las buenas prcticas y usos del
desarrollo de software.
Engloban los conocimientos.
Proporcionan un marco para implementar procedimientos de
aseguramiento de la calidad.
Proporcionan continuidad y entendimiento entre el trabajo de
personas y organizaciones distintas.

11

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.6 Ppales. organizaciones de estandarizacin


ISO: Organizacin Internacional para la Estandarizacin.
En 1987 la (ISO) y la Comisin Internacional Electrotcnica (IEC),
establecieron un Comit Internacional (JTC1) para las Tecnologas de
la Informacin. La misin del JTC1 es la estandarizacin en el campo
de los sistemas de tecnologas de la informacin, incluyendo
microprocesadores y equipos.
Los estndares mas importantes para la I S O son.
ISO/IEC 12207
ISO/IEC TR 15504

12

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.6 Ppales. organizaciones de estandarizacin


SEI: Instituto de Ingeniera del software.
IEEE: Instituto de Ingenieros en electricidad y electrnica
Los estndares son tiles porque:
Agrupan lo mejor y ms apropiado de las buenas prcticas y usos del
desarrollo de software.
Engloban los conocimientos.
Proporcionan un marco para implementar procedimientos de
aseguramiento de la calidad.
Proporcionan continuidad y entendimiento entre el trabajo de
personas y organizaciones distintas.
13

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.7 Proyectos SWEBOK


SWEBOK da el primer paso necesario para constituir a la Ingeniera del Software como profesin:
La delimitacin del cuerpo de conocimiento que comprende la profesin. Sin esta delimitacin no es
posible validar de forma universal exmenes de licenciatura, no es posible la preparacin para
acceder a la profesin, y no hay un consenso sobre el contenido de su currculo.
Gestin de la configuracin
Gestin
Procesos
Herramientas y mtodos
Calidad
Requisitos
Diseo
Construccin
Pruebas
Mantenimiento
El proyecto parte de la suposicin de que es necesario establecer cul es el cuerpo de conocimiento
que deben conocer los ingenieros del software, y en su desarrollo ha agrupado este conocimiento en
10 reas
14

1.1.7 Proyectos SWEBOK

Es importante resaltar que estas reas no incluyen aspectos importantes de


las tecnologas de la informacin, tales como lenguajes especficos de
programacin, bases de datos relacionales o redes o tecnologa de redes y
comunicaciones.
Esta es una consecuencia de la distincin que entre esencia y accidente se
establece desde un enfoque de ingeniera.
Por supuesto que un Ingeniero de Software debe conocer las tcnicas de cada
momento, pero la definicin de procesos y metodologa de trabajo es la
esencia de la profesin. As por ejemplo, el rea de conocimiento de
requisitos, s que puede considerarse como esencia de la profesin. Los
problemas que pueden derivarse en un proyecto por una mala obtencin o
gestin de los requisitos son indistintos del hardware o lenguaje de
programacin empleado. Eran los mismos hace dos dcadas que ahora, y todo
nos hace suponer que seguirn siendo idnticos dentro de otros cuatro
lustros.

15

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.8 ISO 12207

Establece un marco para el ciclo de vida del software para


- Adquisicin, suministro, desarrollo, operacin y mantenimiento del software
- Gestionar, controlar y mejorar el marco
- Como base de referencia para el trabajo e intercambio entre organizaciones de
software
Ciclo de vida del software
Periodo de tiempo que comienza al concebir la idea de un nuevo sistema de software,
y termina cuando este se retira y deja de funcionar.
La ISO 12207 Define el QU, no el CMO.
Dice cules son los procesos, actividades y tareas implicados en el desarrollo,
mantenimiento y operacin de los sistemas de software, asentando un marco
estndar de referencia internacional, pero no se ocupa ni prescribe tcnicas
especficas.
El estndar sirve de referencia desde dos perspectivas diferentes:
Para la adquisicin de sistemas y servicios de software.
Para el suministro, desarrollo, mantenimiento y operacin de productos de software.
El estndar no cubre el desarrollo de productos de software para distribucin
comercial masiva (productos en caja).

16

1.1.8 ISO 12207

17

1.1.8 ISO 12207


ISO 1227 define los procesos que componen el ciclo de vida del software

Actividad 1

Proceso

Tarea 1

Tarea 2

Ciclo de vida
Concepto

Proceso

Retirada

Actividad n
Tarea 1
Tarea 2

- Un proceso est compuesto por actividades.


- Una actividad est compuesta de tareas.

18

1.1.8 ISO 12207

- La descomposicin del proceso en actividades y tareas se realiza sobre el concepto de


ciclo de mejora PDCA Plan Do Chek Act (Planificacin, ejecucin, medicin y
mejora)

INICIO

PLAN
Tareas, agenda,
asignaciones

ACT
Problemas y
acciones
correctivas

PROCES
O

DO
Ejecicin de planes
y tareas

CHECK
Evaluacin y
medicin

FIN

19

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.9 Ingeniera de sistemas


- ISO 12207 establece un nexo con la Ingeniera de sistemas al considerar al
software como parte de un sistema.
- Desde esta perspectiva se establece a la Ingeniera de sistemas como fundamento
de la Ingeniera del Software.
Qu es un sistema?
Coleccin de componentes organizados para cumplir una funcin o conjunto de
funciones especficas.
Sistema
de
Entrada

Elemento
Elemento del
del
sistema
sistema

Elemento
Elemento del
del
sistema
sistema

Sistema

Elemento
Elemento del
del
sistema
sistema

Elemento
Elemento del
del
sistema
sistema

Coleccin de elementos relacionados de forma que puedan realizar un objetivo tangible.

Sistema
de
Salida
20

1.1.9 Ingeniera de sistemas


Sistema
Conjunto de elementos de hardware, software, personas, procedimientos,
herramientas y otros factores organizativos, organizados para llevar a cabo un
objetivo comn.
Sistema de software
Sistema o sub-sistema formado por una coleccin de programas y documentacin
que de forma conjunta satisfacen unos determinados requisitos.
Un sistema de software puede ser en s mismo un sistema independiente que, por
ejemplo, realiza su objetivo en un ordenador independiente. A este tipo de
sistemas se les denomina tambin sistema intensivo de software, porque el
sistema es prcticamente software.
Un sistema de software puede ser tambin una parte de un sistema mayor. En
cuyo caso se trata en realidad de un sub-sistema de software.
Por ejemplo, el sistema de software de un avin de combate es en realidad el subsistema de software del avin.
Ingeniera de sistemas
El trmino Ingeniera de sistemas surgi por primera vez en 1956, y fue
propuesto por H. Hitch, presidente del departamento de Ingeniera Aeronutica de
la Universidad de Pensilvania, para intentar desarrollar una disciplina de ingeniera
que pudiera abarcar el desarrollo de grandes sistemas que empleaban diversas
disciplinas de ingenieras especficas: construccin de bombarderos, submarinos,
etc.
Los principios de Ingeniera de sistemas desarrollados en los 60 y 70 se aplicaron
en programas como el Apolo, o el programa de misiles balsticos USAF/USN.
21

Algunas definiciones

1.1.9 Ingeniera de sistemas

Ingeniera de sistemas comprende la funcin de gestionar todo el esfuerzo de desarrollo para conseguir
un balance ptimo entre todos los elementos del sistema. Es el proceso que transforma la necesidad
operacional en la descripcin de los parmetros del sistema, e integra esos parmetros para mejorar la
eficiencia general del sistema.
Defense Systems Management College, 1989
Los procesos de ingeniera de sistemas integran las secuencias de actividades y decisiones que
transforman la definicin de una necesidad en un sistema, que con un ciclo de vida optimizado,
consigue un balance ptimo de todos sus componentes.
USAF, 1985
La principal funcin de la ingeniera de sistemas es garantizar que el sistema satisface los requisitos
durante todo el ciclo de vida. Todas las dems consideraciones se alinean sobre esta funcin.
Wymore 1993

Funciones de la Ingeniera de sistemas

- Definicin del problema: Determinacin de las expectativas hacia el producto, necesidades y


restricciones obtenidas y analizadas en los requisitos del sistema. Trabaja cerca del cliente para
establecer las necesidades operacionales.
- Anlisis de la solucin: Determinar las opciones posibles para satisfacer los requisitos y las
restricciones. Estudiar y analizar las posibles soluciones. Seleccionar la mejor, sopesando las
necesidades inmediatas, opciones de implementacin, utilidad, evolucin del sistema
- Planificacin de los procesos: Determinar los grupos de tareas tcnicas que se deben realizar, el
esfuerzo requerido para cada una, su prioridad y los riesgos que implican para el proyecto.
- Control de los procesos: Determinar los mtodos para controlar las actividades tcnicas del
proyecto y los procesos; la medicin del progreso, revisin de los productos intermedios y
ejecucin de las acciones correctivas, cuando corresponda.
- Evaluacin del producto: Determinar la calidad y cantidad de los productos elaborados, a travs
de evaluaciones, pruebas, anlisis, inspecciones
22

1.1.9 Ingeniera de sistemas

Ingeniera de sistemas Gestin de proyectos Ingeniera del Soft.

Gestin de proyectos
Planificacin
Organizacin
Personal
Direccin
Control

Ingeniera de sistemas

Ingeniera del software

Definicin del problema

Diseo del software

Anlisis de la solucin

Codificacin

Planificacin de procesos

Pruebas unitarias

Control de procesos

Int sub software

Evaluacin del producto

23

1.1.9 Ingeniera de sistemas


Ingeniera de sistemas Ingeniera de sistemas de software Ingeniera del software

Pruebas del
sistema

Anlisis del
sistema
Diseo del
sistema

Ingeniera de sistemas

Anlisis de
requi. del sw

Pruebas de
integra. del
sis

Ingeniera de sistemas de
Pruebas del
software
sistema de
sw

Diseo de la
arquit. del sw

Pruebas de
integr. del sw

Diseo
Pruebas del subdetallado del
sistema de softw.
software
Codificacin
Ing. del software Pruebas
Ing. del software
unitarias

24

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.10 Software e ingeniera del software


En la actualidad, el software de computadora es la tecnologa individual ms importante en el mbito
mundial. Es comn darse cuenta que la invencin de una tecnologa puede tener efectos profundos
e inesperados en otras tecnologas con las que en apariencia no tiene ninguna relacin. (ESTE
FENOMENO SE COMO LA LEY DE LA S CONSECUENCIAS IMPREVISTAS). El software se ha convertido
a travs de los aos en una tecnologa indispensable en los negocios, la ciencia y la ingeniera. El
software tambin ha permitido la creacin de tecnologas nuevas como la ingeniera gentica, ha
permitido la expansin de tecnologas existentes como las telecomunicaciones, el fin de tecnologas
antiguas como la industria de la impresin. En fin, se puede afirmar que el software es la fuerza
conductora de la tecnologa del presente, ya que est relacionado con sistemas de todo tipo:
transporte, mdicos, telecomunicaciones, militares, industriales, de entretenimiento, mquinas para
oficina entre otros.
El software de computadora es el producto que los Ingenieros de Software construyen: incluye los
programas que se ejecutan dentro de una computadora de cualquier tamao y arquitectura. Lo
construyen los ingenieros de software y casi todos en el mundo industrializado lo usan de manera
directa o indirecta. Es importante porque afecta de forma muy cercana todos los aspectos de
nuestras vidas. Este software de computadora se construye de la misma forma que cualquier
producto de xito, mediante la aplicacin de un proceso que conduzca a un resultado de alta calidad
que satisfaga las necesidades de las personas que utilizaran el producto (se hace referencia a los
programas , los cuales contienen los datos y los dems documentos que constituyen el software)
desde el punto de vista del usuario el producto obtenido es la informacin. En la sociedad moderna
el papel de la ingeniera es proporcionar sistemas y productos que mejoren los aspectos materiales
de la vida humana, para que as la vida sea ms fcil, segura y placentera. (Richard Fairley y Mery
Willshire)

25

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.11 El papel evolutivo del software


El software es tanto un producto como el vehculo para su entrega. Es el
transformador de la informacin. El papel del software de computadora ha
experimentado un cambio significativo en un periodo un poco mayor a 50 aos. Las
mejoras sustanciales en el desempeo del hardware, los cambios profundos en las
arquitecturas de cmputo, los enormes incrementos en las capacidades de memoria y
almacenamiento, y la amplia variedad de opciones de salida y de entrada han
propiciado el surgimiento de sistemas ms elaborados y complejos basados en
computadoras. Nadie sabe en realidad el futuro de los sistemas que da a da se
construyen, ms sin embargo sin importar el lugar en el que resida el software, ya
sea en un celular o dentro de una computadora central, el software realiza la
produccin, el manejo, la adquisicin, la modificacin, el despliegue o la transmisin
de la informacin que puede ser tan simple como un solo bit o tan compleja como
una presentacin multimedia. En su papel de vehculo para la entrega de un
producto, el software acta como la base para el control de la computadora (sistemas
operativos), la comunicacin de informacin (redes) y la creacin y el control de
otros
programas
(utileras
de
software
y
ambientes)
El software entrega el producto ms importante de nuestro tiempo: informacin.
Transforma los datos personales, por ejemplo las transacciones financieras de un
individuo, de modo que los datos sean ms tiles en un contexto local. Maneja
informacin de negocio para mejorar la competitividad, proporciona una va para las
redes de informacin alrededor del mundo (Internet) y proporciona los medios para
adquirir informacin en todas sus formas (pginas web).
26

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.12 El software
El software es un elemento lgico en lugar de fsico, de un sistema. El software se
desarrolla o construye, no se manufactura (componentes del hardware, los cuales
pueden incluir problemas de calidad inexistentes o sea, fcil de corregir en el
software), el software no se desgasta, pero se deteriora (el cual se corrige con un
mejor
diseo:
implementacin)
Los costos del software se concentran el la ingeniera, esto quiere decir que los
proyectos de software no se pueden manejar como si fueran proyectos de
manufactura. El hardware tiene un nmero considerablemente alto de posibles fallas
al inicio de su vida til, se hace referencia a defectos de diseo de fbrica
(manufactura). Tambin con el tiempo causa fallas en el hardware la acumulacin de
polvo, la alta vibracin, el abuso del hombre sobre los diferentes componentes, las
temperaturas extremas y muchos otros factores que hacen parte del medio
ambiente. Se puede decir que el hardware comienza a desgastarse.
El software es inmune a los males ambientales que desgastan al hardware. Los
errores del software se corrigen, o sea que se implementan.

27

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.13 La naturaleza cambiante del software


En la actualidad existen siete grandes categoras del software de computadora que
presentan retos continuos para los ingenieros de software.
Software de sistemas: coleccin de programas escritos para servir a otros
programas. Ejemplo: los compiladores, editores y utileras para la administracin de
archivos, los cuales procesar estructuras de informacin complejas pero
determinadas. Otras aplicaciones de sistemas como los componentes del sistema
operativo, controladores, software de red, procesadores para telecomunicaciones,
procesan datos indeterminados.
Software de aplicacin: son programas independientes que resuelven una
necesidad de negocios especfica. Ejemplo: el procesamiento de transacciones en los
puntos de venta.
Software cientfico y de ingeniera: se caracteriza por algoritmos. Abarca desde la
astronoma hasta la vulcanologa, desde el anlisis de la tensin automotriz hasta la
dinmica orbital de los transbordadores espaciales, y desde la biologa molecular
hasta la manufactura automatizada. Diseo asistido por computadora.
Software emportado o incrustado: reside en la memoria de solo lectura del sistema
y con l se implementan y controlan caractersticas y funciones para el usuario final y
el sistema mismo. Ejemplo: control del teclado de un horno microondas, las
funciones digitales de un automvil, como el control de combustible, los sistemas de
frenado, entre otros.
28

1.1.13 La naturaleza cambiante del software


Software de lnea de productos: diseado para proporcionar una capacidad
especfica y la utilizacin de muchos clientes diferentes, se puede enfocar en un nicho
de mercado limitado. Ejemplo: productos para el control de inventarios, hojas de
clculos , multimedia, entretenimiento, manejo de BD, administracin de personal y
finanzas en los negocios.
Aplicacin basada en Web: las WebApps engloban un espectro amplio de
aplicaciones. En su forma ms simple, las WebApps son apenas un poco ms que un
conjunto de archivos de hipertexto ligados que presentan informacin mediante texto
y algunas grficas. Actualmente estas aplicaciones estn integradas con base de
datos y aplicaciones de negocios, ya que proporcionan caractersticas que les permite
evolucionar hacia ambientes computacionales sofisticados.
Software de inteligencia: utiliza algoritmos no numricos en la resolucin de
problemas complejos que es imposible abordar por medio de un anlisis directo.
Incluye la robtica, el reconocimiento de patrones (imagen y voz), los juegos de
computadoras, entre otros.

29

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.14 Software heredado


Hace referencia a los software o programas viejos, aquellos que utilizan tan solo
algunas entidades empresariales, gubernamentales o individuos. Estos fueron
desarrollados hace dcadas y han sido modificados en forma continua para cumplir
los requerimientos de los cambios en los negocios y en las plataformas de cmputos.
Ejemplo:
Unix,
foxpro,
Dos,
entre
otros.
Aqu se puede hacer nfasis a los programas de computadora que hacen parte de los
siete grandes dominios de aplicacin (la naturaleza cambiante del software)
Algunas veces los software heredados tienen diseos imposibles de extender, cdigos
complicados, documentacin escasa o inexistente, casos de prueba y resultados que
nunca fueron archivados, un historial de cambio manejado con pobreza, etctera. Sin
embargo, estos software son indispensables para algunas entidades, por lo tanto,
aunque el programa sea viejo, pero si presta su utilidad o satisface las necesidades
del usuario y funciona de manera confiable, se dice que el sistema no est roto ni
requiere arreglos. Sin embargo, conforme pasa el tiempo la tecnologa evoluciona
rpidamente, por lo tanto el software debe adaptarse para satisfacer las necesidades
de los nuevos ambientes o las nuevas tecnologas de cmputos. El software debe
mejorarse para una mejor implementacin de su servicio, o sea redisearse .

30

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.15 El proceso de software

Son los pasos predecibles que hay que realizar para crear el programa. Es decir, un
mapa de carretera que ayude a crear un resultado de alta calidad y a tiempo.
(definirlo, construirlo y probarlo), es importante seguir los pasos porque ofrece
estabilidad, control y organizacin a una actividad que puede volverse catica si no
se controla. Este enfoque debe ser gil, debe requerir solo aquellas actividades,
controles y documentaciones apropiados para el equipo del proyecto y el producto
que ha de producirse. Se est seguro de que se ha hecho correctamente cuando se
determina la madurez, la calidad, la viabilidad del producto que se construye.

31

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.15.1 Visin general del proceso


El desarrollo del software es un proceso de aprendizaje social, es un proceso iterativo de
aprendizaje y como resultado la materializacin del conocimiento recolectado, depurado y
organizado conforme el proceso estuvo en ejecucin.
El proceso de un software es un marco de trabajo para las tareas que se requieren en la
construccin de software de alta calidad. El proceso es un sinnimo de Ingeniera del Software.
Un proceso de software define el enfoque que se adopta mientras el software est en desarrollo,
pero la ingeniera del software tambin abarca las tecnologas que requiere el proceso (mtodos
tcnicos

herramientas

automatizadas)

La ingeniera del software la realizan personas creativas y con conocimiento que deben trabajar
en un proceso de software madurado que sea apropiado para el producto que construyen y para
las demandas de sus mercados.

32

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.15.2 Estratificacin del proceso


Se aplica al desarrollo de software de computadora, de que manera se construye,
econmicamente que sea un software confiable, que funcione eficientemente en
varias mquinas reales.
Ms que una disciplina o un cuerpo de conocimiento, la ingeniera es un verbo, una
palabra de accin, una manera de abordar un problema el cual al final debe estar
sustentado en un compromiso con la calidad. Enfoque en la calidad. La IS Es una
tecnologa estratificada, en donde todo debe estar sustentado en un compromiso con
la calidad.
Herramientas
Mtodos

Proceso

Un enfoque de calidad

33

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.15.3 Marco de trabajo


Un marco de trabajo establece la base para un proceso de software completo al
identificar un nmero pequeo de actividades del marco de trabajo aplicables a todos
los proyectos de software, sin importar su tamao o complejidad. Abarca un conjunto
de actividades que a su vez contienen conjuntos de acciones, es decir una serie de
tareas relacionadas que producen un producto del trabajo en la ingeniera del
software.
Un proceso define quien est haciendo qu, cundo y cmo lograr cierta mente.
(Ivar Jacobson, Grady Booch y James Rumbaugh)
Marco de trabajo del proceso
Actividades sombrilla
Actividad del marco de trabajo

Accin de la
ingeniera
del software

Conjunto
de tareas
Conjunto
de tareas

Actividad del marco de trabajo


Accin de la
ingeniera
del software

Conjunto
de tareas
Conjunto
de tareas

34

Unidad
Unidad II 1.1
1.1 Introduccin
Introduccin aa la
la Ingeniera
Ingeniera del
del Software
Software

1.1.15.4 Modelos de procesos


Comunicacin: implica una intensa colaboracin y comunicacin con los clientes, adems
abarca la investigacin de requisitos y otras actividades relacionadas.
Planeacin: establece un plan para el trabajo de la ingeniera del software. Describe las tareas
tcnicas que deben realizarse, los riesgos probables, los recursos que sern requerido, los
productos del trabajo que han de producirse y un programa de trabajo.
Modelado: Esta actividad abarca la creacin de modelos que permiten al desarrollador y al
cliente entender mejor los requisitos del software y el diseo que lograr satisfacerlo.
Construccin: esta actividad combina la generacin del cdigo (ya sea manual o automatizado)
y la realizacin de pruebas necesarias para descubrir errores en el cdigo.
Despliegue: El software se entrega al cliente parcialmente para que lo evale y a su vez para
que proporcione la informacin basada en su evolucin.

35

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Estructura del conocimiento en I.S.


Herramientas

Mtodos

Proceso
(Gestin - Operativos)

Filosofa - enfoque
36

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Estructura del conocimiento en I.S.


Herramientas

Filosofa - Enfoque
ISO/IEC 15504/SPICE

Mtodos

Ing. de sistemas
Ing. de software
Ing. de requisitos

Proceso

OO

(Gestin - Operativos)

UML
XMI
CMM y CMMI
IEEE
Ing. del software de sala limpia

Filosofa - enfoque

Ing. del software basada en


componentes
Reingeniera de software
37

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Estructura del conocimiento en I.S.


Herramientas

Proceso
Modelo O. Genrico (C.P.M.C.D.)

Mtodos

Modelos O. prescriptivos (C.V.)


Modelos O. giles
Modelos O. web

Proceso

Modelos de gestin

(Gestin - Operativos)

Filosofa - enfoque
38

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Estructura del conocimiento en I.S.


Herramientas

Mtodos
Modelado del anlisis

Mtodos

Ing. del diseo


Diseo arquitectnico
Diseo a nivel de componentes

Proceso
(Gestin - Operativos)

Diseo de la interfaz de usuario


Estrategias de prueba de
software
Tcnicas de prueba de software
Mtricas del software

Filosofa - enfoque

Mtodos formales y/o


matemticos

39

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Estructura del conocimiento en I.S.


Herramientas

Herramientas
Diagramas de escenarios

Mtodos

Diagramas de flujo
Diagramas de clases
Diagramas de comportamiento

Proceso

Etc.

(Gestin - Operativos)

Filosofa - enfoque
40

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Nivel de complejidad del producto de la I.S.


Datos

Informacin

Conocimiento

Sabidura

Sin asociatividad en un
contexto. Ej.: edad.
Asociatividad en un contexto.
Ej.: Menor de edad.

Asociatividad en mltiples
contextos. Ej.:
Comportamiento usual de los
menores de edad.
Creacin de principios
generalizados con base en el
conocimiento procedente de
fuentes diferentes. Ej.: Segn la
psicologa, la neuropsicologa, la
neurociencia y la sociologa la
situacin se debe enfrentar con
x decisiones.
41

Unidad
Unidad II 1.2
1.2 Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

1.2.2 Niveles de complejidad del producto de la I.S.


Planeacin del proyecto, Gestin de requisitos, Medicin y anlisis, Gestin de la configuracin,
Aseguramiento de la calidad del producto y del proceso
Niveles:
Nivel 0: Incompleto: la gestin de requisitos no alcanza todas las metas y objetivos definidos
para avanzar al nivel 1.
Nivel 1: Realizado: Las tareas especificas para producir el producto han sido realizadas.
Nivel 2: Administrado: Todos los criterios del nivel 1 han sido satisfechos. Toda la gente que
ejecuta el trabajo tiene acceso a los recursos adecuados para realizar su labor, los clientes estn
implicados de manera activa, todas las tareas de trabajo y productos estn monitoreados,
controlados y revisados y son evaluados en apego a la descripcin del proceso.
Nivel 3: Definido: todos los criterios del nivel 2 se han cumplido.
Nivel 4: Administrado en forma cuantitativa: todos los criterios del nivel 3 han sido cumplidos,
adems, el rea del proceso se controla y mejora mediante mediciones y evaluacin
cuantitativa. Los objetivos cuantitativos para la calidad y el desempeo del proceso estn
establecidos y se utiliza como un criterio para administrar el proceso.
Nivel 5: Mejorado: Todos los criterios del nivel 4 han sido satisfecho. Adems, el rea del
proceso se adapta y mejora mediante el uso de medios cuantitativos (estadsticos) para
reconocer las necesidades cambiantes del cliente y mejorar de manera continua la eficacia del
rea del proceso que se est considerando.
42

1.2.2 Niveles de complejidad del producto de la I.S.

Datos

Informacin

Conocimiento

Sabidura

Sin asociatividad en un
contexto. Ej.: edad.
Asociatividad en un contexto.
Ej.: Menor de edad.

Asociatividad en mltiples
contextos. Ej.:
Comportamiento usual de los
menores de edad.
Creacin de principios generalizados
con base en el conocimiento
procedente de fuentes diferentes. Ej.:
Segn la psicologa, la
neuropsicologa, la neurociencia y la
sociologa la situacin se debe
enfrentar con x decisiones.

43

Unidad
Unidad II 2.
2. Visin
Visin sistmica
sistmica de
de la
la Ingeniera
Ingeniera del
del Software
Software

Premisas de la ingeniera del software


Cuando la ingeniera del software llegue hasta el antepenltimo peldao de la generacin de
conocimiento, a las puertas de la sabidura, el mundo se habr acabado.
Si acaso el software llegara a la sabidura se encontrara con Dios.
El desarrollo de software se ve constantemente impedido por la lentitud en la creacin de
componentes hardware y mecanismos que servirn para que extienda su potencial.
La generacin de nuevo hardware y de los diferentes mecanismos se realiza para el servir a las
pretensiones reprimidas de la ingeniera del software.
La ingeniera del software simplemente obedece a las necesidades del bien y del mal y esto queda
evidenciado cuando el desarrollo tecnolgico es jalonado por los avances en la medicina y en la
guerra.

44

You might also like