Está en la página 1de 23

Bloque 1.- Introduccin. 1.Tema 1. Introduccin a la Ingeniera del Software.

Departamento de Informtica y Sistemas Facultad de Informtica


Campus Universitario de Espinardo - Murcia

ndice de contenidos
1.- Introduccin a la Ingeniera del Software
1.1.- Un poco de historia. 1.2.- Factores de calidad del software. 1.3.- Problemas en el desarrollo de software. 1.4.- La Ingeniera del Software. 1.5.- Visin general del proceso de Ingeniera del Software.

2.- Sistema de Informacin.


2.1.- Concepto de sistema. 2.2.- Sistemas de informacin (SI). 2.3.- Sistemas de informacin automatizado y empresarial. 2.4.- Estructura de un SI.

3.- Herramientas CASE.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

Bibliografa
q (Pressman 2001) o (Pressman 1998)

Cap.1 y Cap. 2 (aptdo. 2.1). q(Piattini et al. 96) cap.1 qEn el cap. 2 hay ejemplos de sistemas de informacin en la empresa.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

1.1.- Introduccin a la Ingeniera del Sw 1.1.1.1.- Un poco de Historia.


q En menos de cuatro dcadas nos hemos rodeado 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) . q El incremento constante de la capacidad de operacin, miniaturizacin y reduccin de costes para la produccin de hardware; y a stos se ha sumado en la ltima dcada el avance de las comunicaciones entre sistemas, a tenido como consecuencia la difusin de: ordenadores potentes, que pueden llevarse en el bolsillo y en permanente conexin con grandes sistemas, redes de comunicacin pblicas, sistemas de localizacin GPS, etc. q 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.
Profesor: Juan Antonio Lpez Quesada Tema 1.- Introduccin a la Ingeniera del Software. 4

1.1.- Introduccin a la Ingeniera del Sw 1.1.1.1.- Un poco de Historia.


100.000.000 Pentium IV Pentium III 10.000.000 Pentium Transistores 486 DX 1.000.000 386 286 100.000 8086 10.000 8080 4004 8008 1970 1975 1980 1985 1990 1995 2000 Pentium II

q q q

Incremento de la capacidad de operacin. Incremento de la miniaturizacin. Reduccin de costes en la produccin.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

1.1.- Introduccin a la Ingeniera del Sw 1.1.1.1.- Un poco de Historia.


Porcentaje del coste total del sistema

100 80 60 40 20 0
60 70 80
aos

Hardware Software

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

1.1.- Introduccin a la Ingeniera del Sw 1.1.1.1.- Un poco de Historia.


Este problema se identific por primera vez en 1968, ao en el que la organizacin NATO desarroll la primera conferencia sobre desarrollo de software, y en la que se acuaron los trminos crisis del software para definir a los problemas que surgan en el desarrollo de sistemas de software, e ingeniera del software para describir el conjunto de conocimientos que existan en aquel estado inicial. Algunas referencias tiles para comprender cules eran los conocimientos estables para el desarrollo de software en 1968 son:

qEn 1962 se public el primer algoritmo para bsquedas binarias. qC. Bhm y G. Jacopini publicaron en 1966 el documento que creaba una fundacin para
la eliminacin de GoTo y la creacin de la programacin estructurada. qEn 1968 los programadores se debatan entre el uso de la sentencia GoTo, y la nueva idea de programacin estructurada; ese era el caldo de cultivo en el que Edsger Dijkstra escribi su famosa carta GoTo Statement Considered Harmful en 1968. qLa primera publicacin sobre programacin estructurada no vio la luz hasta 1974, publicada por Larry Constantine, Glenford Myers y Wayne Stevens. qEl primer libro sobre mtrica de software fue publicado en 1977 por Tom Gilb. qEl primero sobre anlisis de requisitos apareci en 1979.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

1.1.- Introduccin a la Ingeniera del Sw 1.1.1.1.- Un poco de Historia.


Desde 1968 hasta la fecha han sido muchos los esfuerzos realizados por los departamentos de informtica de las universidades, y por organismos de estandarizacin (SEI, IEEE, ISO) para identificar las causas del problema y definir pautas estndar para la produccin y mantenimiento del software. Los esfuerzos se han encaminado en tres direcciones principales.

qIdentificacin de los factores clave que determinan la calidad del software. qIdentificacin de los procesos necesarios para producir y mantener software. qAcotacin, estructuracin y desarrollo de la base de conocimiento necesaria
para la produccin y mantenimiento de software.

El resultado ha sido la necesidad de profesionalizar el desarrollo, mantenimiento y operacin de los sistemas de software, introduciendo mtodos y formas de trabajo sistemticos, disciplinados y cuantificables.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

1.1.- Introduccin a la Ingeniera del Sw 1.2.1.2.- Factores de la Calidad del SW.


Elemento lgico, no fsico. Desarrollado, no fabricado. No se estropea, se deteriora!
(deterioro por cambios - Mantenimiento) Metodologa de Planificacin, Desarrollo y Mantenimiento de sistemas de informacin MTRICA. Versin 3 Introduccin Planificacin de Sistemas de Informacin (Proceso PSI) Estudio de Viabilidad del Sistema (Proceso EVS) Anlisis del Sistema de Informacin (Proceso ASI) Diseo del Sistema de Informacin (Proceso DSI) Construccin del Sistema de Informacin (Proceso CSI) Implantacin y Aceptacin del Sistema (Proceso IAS) Mantenimiento del Sistema de Informacin (Proceso MSI)

Mayoritariamente cerrado:
(poco ensamblaje de componentes: Herramienta de reutilizacin)

q Fiable, Eficiente, Robusto, Correcto, Portable, Adaptable (extensibilidad), Inteligible, No Errneo, Reutilizable (reusabilidad), Mantenibilidad, Confiabilidad, Eficiencia.
Profesor: Juan Antonio Lpez Quesada Tema 1.- Introduccin a la Ingeniera del Software. 9

1.1.- Introduccin a la Ingeniera del Sw


1.3.1.3.- Problemas en el desarrollo de software.
Metodologa de Planificacin,

q Incapacidad para estimar tiempo, coste y esfuerzo para el desarrollo de un producto software.

Desarrollo y Mantenimiento de sistemas de informacin MTRICA. Versin 3


Solucin?

Planificacin de Sistemas de Informacin (Proceso PSI) Estudio de Viabilidad del Sistema (Proceso EVS) Aspectos de gestin mediante sus INTERFACES.

q Falta de calidad del producto software. q Avance del hardware y necesidad de aplicaciones ms complejas. Coste hardware/software.

Solucin?

Metodologa de Planificacin, Desarrollo y Mantenimiento de sistemas de informacin

Porcentaje del coste total del sistema

100 80 60 40 20 0
60 70 80
aos

Hardware Software

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

10

1.1.- Introduccin a la Ingeniera del Sw


1.3.1.3.- Problemas en el desarrollo de software.
Algunas soluciones ????

mtodos de anlisis, diseo, prueba... Prototipado

Modelado del negocio reutilizacin

ingeniera de requisitos POO

INGENIERA DEL SOFTWARE


mtodos formales herramientas CASE:
editores dirigidos por la sintaxis, entornos integrados de desarrollo, herramientas para la gestin de proyectos, herramientas de prototipado, etc.

herramientas 4 gen.
lenguajes no procedimentales para consulta a BDs generadores de pantallas, generadores de cdigo, generadores de informes

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

11

1.1.- Introduccin a la Ingeniera del Sw


1.4.1.4.- La Ingeniera del Sw. Sw.
Definirse a s misma: Cules son las reas de conocimiento que la comprenden?

SWEBOK: Software Engineering Body of knowledge:


El cuerpo de conocimiento identificado por el proyecto SWEBOK se ha configurado como el estudio ms relevante y como la referencia de ms autoridad en toda la comunidad informtica para la acotacin y descripcin de los conocimientos que configuran la Ingeniera del software.

Definir los procesos que intervienen en el desarrollo, mantenimiento y operacin del software

ISO/IEC 12207: Procesos del ciclo de vida del software


De las mejores prcticas, extraer modelos de cmo ejecutar esos procesos para evitar los problemas de la crisis del software

CMM / CMMI - ISO/IEC TR 15504


Definir estndares menores para dibujar criterios unificadores en requisitos, pruebas, gestin de la configuracin, etc.

IEEE 830 - IEEE 1362 - ISO/IEC 14764


12

1.1.- Introduccin a la Ingeniera del Sw


1.4.1.4.- La Ingeniera del Sw. Sw.
Ms definiciones de ISw...

q La ISw es el establecimiento y uso de principios slidos de ingeniera, orientados a obtener software econmico que sea fiable y trabaje de manera eficiente en mquinas reales (Fritz Baver, 1968 (conferencia NATO)). q Una disciplina que comprende todos los aspectos de la produccin de software desde las etapas iniciales de la especificacin del sistema, hasta el mantenimiento de ste despus de que se utiliza (Sommerville 2002). q Disciplina para producir software de calidad desarrollado sobre las agendas y costes previstos y satisfaciendo los requisitos. (S. Schach 1990, Software
Engineering)

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

13

1.1.- Introduccin a la Ingeniera del Sw


1.5.1.5.- Visin general del proceso de ISw. ISw.
Actividad 1 Tarea 1 Tarea 2 Proceso 1 Tarea n

Proceso Concepto
Retirada Proceso N

Actividad n Tarea 1 Tarea 2 Tarea n

Con independencia del rea de aplicacin, tamao o complejidad del proyecto, cualquier sistema se encontrar al menos en una de las siguientes fases genricas:
Definicin ~ Anlisis (del sistema, del sw.) Qu debe hacer el sistema? sw. Desarrollo ~ Diseo, codificacin, prueba Cmo construir el sistema? Mantenimiento. Mantenimiento.

Metodologa de Planificacin, Desarrollo y Mantenimiento de sistemas de informacin MTRICA. Versin 3 Planificacin de Sistemas de Informacin (Proceso PSI) Estudio de Viabilidad del Sistema (Proceso EVS) Anlisis del Sistema de Informacin (Proceso ASI) Diseo del Sistema de Informacin (Proceso DSI) Construccin del Sistema de Informacin (Proceso CSI) Implantacin y Aceptacin del Sistema (Proceso IAS) Mantenimiento del Sistema de Informacin (Proceso MSI)

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

14

2.2.- Sistemas de Informacin


2.1.2.1.- Concepto de Sistema.
q Un modelo formado por una serie de elementos interrelacionados entre s, que opera en un entorno cambiante y con unos determinados objetivos. q Elementos de un sistema:
Los componentes del sistema. Las relaciones entre ellos, que determinan la estructura del sistema. El objetivo del sistema. El entorno del sistema: aquello que lo rodea, dentro del cual est ubicado. Los lmites del sistema: la frontera entre lo que es el sistema y lo que constituye el entorno.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

15

2.2.- Sistemas de Informacin


2.2.2.2.- Sistema de Informacin.
Una definicin de Sistema de Informacin: Un conjunto formal de procesos que, operando sobre una coleccin de datos estructurada segn las necesidades de la empresa, recopilan, elaboran y distribuyen la informacin (o parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de direccin y control correspondientes (decisiones) para desempear su actividad de acuerdo a su estrategia de negocio. (Andreu et al. 91) Otras definiciones de SI enfatizan que el objetivo es proporcionar informacin de calidad: El objetivo del SI es ayudar al desempeo de las actividades en todos los niveles de la organizacin, mediante el suministro de la informacin adecuada, con la calidad suficiente, a la persona apropiada, en el momento y lugar oportunos, y con el formato ms til para el receptor.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

16

2.2.- Sistemas de Informacin


2.3.2.3.- Sistema de Informacin Automatizado y Empresarial. Empresarial.
Un SI no necesita, para existir, estar obligatoriamente basado en el uso de ordenadores. El SI existe siempre, est mecanizado o no. La aplicacin del ordenador a los SI produce los sistemas de informacin basados en computadora o Sistemas de Informacin Automatizados (SIA).
El SI empresarial es el sistema encargado de coordinar los flujos y registros de informacin necesarios para llevar a cabo las funciones de una empresa de acuerdo con su planteamiento o estrategia de negocio (Andreu 96)
ESTRATEGIA DE NEGOCIO (Factores Crticos de xito)

Negocio/empresa
SI

SIA
Sistema informtico de soporte

(Necesidades de Informacin) SISTEMA DE INFORMACIN

Los procedimientos y las prcticas habituales de trabajo. La informacin. Las personas o usuarios. El equipo de soporte para la comunicacin, el procesamiento y el almacenamiento de informacin.

TECNOLOGAS DE LA INFORMACIN Y LAS COMUNICACIONES

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

17

2.2.- Sistemas de Informacin


2.4.2.4.- Estructura de un sistema de Informacin.
Alta direccin Direccin estratgica Direccin tctica Direccin operativa Sistema de transacciones

Nivel estratgico de direccin: Trabaja con plazos largos para acometer la difcil tarea de decidir las lneas maestras que debe seguir la empresa en el futuro. Las decisiones estn poco formalizadas y tienen un fuerte componente subjetivo. Nivel tctico de direccin: Se ocupa de la asignacin efectiva de los recursos a medio plazo para mejorar el rendimiento de la empresa.

Nivel operativo de direccin: Se preocupa del


Sistema de Trasacciones: Este nivel incluye el procesamiento de las actividades diarias o transacciones, los acontecimientos rutinarios que afectan a la organizacin: facturacin, pagos, entrega de productos, etc. Los procedimientos de tratamiento se comprenden bien y se pueden describir en detalle. anlisis de los resultados, esencialmente respecto de los recursos consumidos en las transacciones, para tomar decisiones a corto plazo y de consecuencias limitadas (reaprovisionamiento de materiales, ordenacin de la produccin).

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

18

3.3.- Herramientas CASE


Mtodo Procedimiento aplicado rutinariamente para alcanzar un objetivo. El procedimiento define los resultados a alcanzar y el camino que conduce a ellos. Herramienta Producto software que libera al ingeniero software de acciones que generan los resultados definidos por los mtodos. CASE (Computed Aided Software Engineering): Conjunto de herramientas y mtodos asociados que proporcionan asistencia automatizada en el proceso de desarrollo del software a lo largo de su ciclo de vida. q Gestin del proyecto (planificacin, estimacin y control) q Desarrollo del software (anlisis, diseo, implementacin, validacin) q Mantenimiento del software.
q AUTOMATIZACIN DEL DESARROLLO DE SW.:q Productividad del equipo q Calidad del Software INCREMENTAR Reusabilidad del software. REDUCIR Costes de desarrollo y mantenimiento. AUTOMATIZAR/SIMPLIFICAR Gestin del proyecto. . Desarrollo del sw. (permitir aplicacin met. estructuradas; prototipos; desarrollo visual) Mantenimiento del software (Incluyendo la automatizacin y estandarizacin de la documentacin y de su mantenimiento)

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

19

3.3.- Herramientas CASE


Caractersticas de una Herramienta CASE
Soporte grfico para varias tcnicas (DFD, E/R, STD, modelos OO, etc.) Control de errores Consistencia: Unicidad identificadores, reglas metodologa, etc. Validacin entre diferentes modelos: En una fase (p.e. entre DFD y E/R) En varias fases (DFD anlisis y diseo; DFD diseo y Diagrama de estructuras). q q q q q q q q q Soporte multiusuario. Personalizacin. (Piattini et Control de documentos y versiones. al. 96) Gestin de proyectos Estadsticas de productividad y mtricas del software. Pruebas. Simulacin y prototipado. Uso de tcnicas formales (Z, VDM, Demostracin correcciones Especificaciones algebraicas) especificaciones y/o software. Generacin de cdigo.

INTERFAZ DE USUARIO

Repositorio

Metamodelos

GENERADOR DE INFORMES

HERRAMIENTAS DE CARGA Y DESCARGA DE DATOS

Consistencia/Validacin/Verificacin

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

20

3.3.- Herramientas CASE


Taxonoma de Herramientas CASE
Clasificacin por cobertura: Toolkits n Conjunto de herramientas software (integradas) que automatizan alguna fase del ciclo de vida (anlisis, diseo, gestin, ...). Comparten la BD de soporte y la interfaz de usuario. Workbenchs n Conjunto de herramientas software integradas que automatizan el ciclo de vida en ms de una fase, tpicamente en todas las fases de desarrollo: anlisis + diseo + implementacin (incluyendo la documentacin asociada). Es decir, asisten en todo el proceso y proporcionan un producto documentado y operativo. Adems de compartir la BD de soporte y la interfaz de usuario, estn basadas en una misma metodologa. Segn grado de integracin: Toolkits (Juego de herramientas) n Conjunto de herramientas software que automatizan alguna fase del ciclo de vida (anlisis, diseo, gestin, ...). Comparten la BD de soporte y la interfaz de usuario. Integracin baja. Workbenchs (Banco de trabajo) n Conjunto de herramientas software que automatizan el ciclo de vida en ms de una fase, tpicamente en anlisis + diseo + implementacin (incluyendo documentacin asociada). Asisten en todo el proceso y proporcionan un producto documentado y operativo. Adems de compartir la BD de soporte y la interfaz de usuario, estn basadas en una misma metodologa. Integracin media. IPSE (Integrated Project Support Environment) n Integracin alta. Cubren todo el ciclo de vida, la gestin de proyectos y de la configuracin.

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

21

3.3.- Herramientas CASE


Taxonoma de Herramientas CASE
Segn las fases del ciclo de vida que abordan:
Upper CASE: Herramientas de apoyo a las primeras fases Mtricas del software. Estimacin de costes. Planificacin temporal. Medium CASE: Herramientas de apoyo a las fases centrales. Anlisis. Diseo. Lower CASE: Herramientas de apoyo a las ltimas fases. Implementacin (generacin de cdigo). Pruebas (caja blanca y caja negra). Mantenimiento. Documentacin de la implementacin y documentacin para el usuario final.

ICASE (Integrated-CASE) Contienen elementos de Upper y Lower CASE: Contemplan todo el ciclo de desarrollo. Reverse Engineering (Ingeniera inversa) - Tema 9.- Mantenimiento del Software. CARE (Computer Aided Requirements Engineering)

Profesor: Juan Antonio Lpez Quesada

Tema 1.- Introduccin a la Ingeniera del Software.

22

3.3.- Herramientas CASE


Taxonoma de Herramientas CASE
Segn su funcionalidad: Herramientas de gestin de proyectos ayudan a la planificacin y seguimiento del proyecto. Por Ejemplo SuperProject Planificacin: agenda de desarrollo. Estimacin: costes, duracin, esfuerzo. Control: productividad, calidad. Herramientas de anlisis y diseo. System Architect Herramientas de prototipado y simulacin. Herramientas de programacin. Editores dirigidos por la sintaxis (cabeceras de subrutinas, palabras clave, identacin, nomenclatura de variables, ...) Generadores de estructuras de programas. Entornos integrados de desarrollo para soporte de un lenguaje (editor, compilador, depurador). Herramientas de integracin y pruebas. Analizadores estticos. Depuradores. Generadores de datos. Comparadores (e.g. de ficheros). Herramientas de soporte. Herramientas de mantenimiento. Ingeniera inversa. Reingeniera.
Profesor: Juan Antonio Lpez Quesada Tema 1.- Introduccin a la Ingeniera del Software. 23

También podría gustarte