Вы находитесь на странице: 1из 39

Ingeniera del Software

3 de I.T.I.S.
Curso 2008-2009
Dr. Francisco Jos Garca Pealvo
(fgarcia@usal.es)
Miguel ngel Conde Gonzlez
(mconde@usal.es)
Sergio Bravo Martn
(ser@usal.es)
http://moodle.usal.es
http://zarza.fis.usal.es/~fgarcia/docencia/isoftware/08-09/curso08-09.html
http://diaweb.usal.es
Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Esquema

Motivacin

Enfoque de ingeniera en el desarrollo del software

Docencia de la Ingeniera del Software

Asignatura Ingeniera del Software en ITIS

Objetivos

Temario

Evaluacin

Bibliografa bsica recomendada

Otras fuentes

Enlaces

Herramientas CASE

Tutoras

Campus virtual

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

1. Motivacin

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Prcticas de software

La Ingeniera del Software dentro del currculo de los ingenieros en


informtica aporta la primera aproximacin a la prctica real del
desarrollo de software

Proyectos realizados por equipos de desarrollo


Programacin a gran escala (programming in large)
Obtencin (elicitacin) de los requisitos
Modelos de ciclo de vida
Gestin de la configuracin
Calidad del software
Mantenimiento
...

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Aproximacin personal al desarrollo del software

Programming in small

Programa = Producto software final


Carencia de documentacin
Imposibilidad de mantenimiento
Dificultades en la evolucin
Dependencias personales insostenibles

Insatisfaccin
Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Soluciones software desproporcionadas

Mala gestin
Mala adquisicin
Desproporcin entre el
coste y el beneficio
obtenido

Insatisfaccin
Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Desarrollo de software bajo las directrices de la Ingeniera del Software

Se hacen planos para una casa tanto si sta es grande como si es pequea
Barry W. Boehm

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Algunos apuntes econmicos

Los fallos del software en EEUU, tanto de funcionalidad como


de seguridad, suponen 59.500 millones de dlares, esto es,
un 0,6% del producto interior bruto de este pas
NIST (National Institute of Standards and Technology)

El 52,7% de los proyectos relacionados con las tecnologas


de la informacin cuestan el 189% de su coste inicial
estimado
The Standish Group

El gobierno de EEUU estima que las empresas han gastado


cerca de 3,3 trillones de dlares en tecnologas de la
informacin en la ltima dcada

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Objetivos de la Ingeniera del Software (i)

Desarrollo de software de calidad


Aumento de la productividad
Desarrollo de software econmico
El desarrollo del software es un problema ingenieril ya que
trata de crear soluciones efectivas y viables econmicamente
hablando a problemas reales
Mary Shaw & James E. Tomayko

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software

Objetivos de la Ingeniera del Software (ii)

Ingeniera del Software

Suma sinrgica

Sistemas software de calidad y


econmicos
Universidad de Salamanca Departamento de Informtica y Automtica

10

Ingeniera del Software

2. Enfoque de ingeniera en el
desarrollo del software

Universidad de Salamanca Departamento de Informtica y Automtica

11

Ingeniera del Software

Ingeniera vs. mtodos tradicionales (i)

El circo de la informtica

Universidad de Salamanca Departamento de Informtica y Automtica

La ingeniera informtica

12

Ingeniera del Software

Ingeniera vs. mtodos tradicionales (ii)

Connotaciones sociales

Falta de una definicin de la profesin de ingeniero


informtico

tica en la ingeniera informtica


Colegios profesionales?

Intrusismo
Falta de cultura informtica
Falta de consideracin y menosprecio de los
productos software

Universidad de Salamanca Departamento de Informtica y Automtica

13

Ingeniera del Software

Ingeniera vs. mtodos tradicionales (iii)

Ingeniera contra los mitos

Universidad de Salamanca Departamento de Informtica y Automtica

14

Ingeniera del Software

Qu es y qu no es la Ingeniera del Software

La ingeniera es la aplicacin sistemtica del conocimiento cientfico


para construir soluciones, efectivas y viables en trminos econmicos,
a problemas prcticos al servicio de la humanidad
La ingeniera del software es la forma de ingeniera que aplica los
principios de la ciencia de la computacin y de las matemticas para
conseguir soluciones efectivas, y viables en trminos econmicos, a
problemas relacionados con el software
La ingeniera del software no es el diseo de programas que se
implementan en otras reas ingenieriles, ni es simplemente una forma
de programar ms organizada que la que prevalece entre aficionados,
principiantes o personas con falta de educacin y entrenamiento
especfico

Universidad de Salamanca Departamento de Informtica y Automtica

15

Ingeniera del Software

Contexto de la Ingeniera del Software

Universidad de Salamanca Departamento de Informtica y Automtica

16

Ingeniera del Software

3. Docencia de la Ingeniera del Software


I.S.

Universidad de Salamanca Departamento de Informtica y Automtica

17

Ingeniera del Software

Algunas consideraciones

Dicotoma entre titulacin y asignatura


Contraposicin al concepto de programador
Desarrollo de sistemas grandes para su uso en entornos
de produccin, durante un perodo largo, en el que
posiblemente trabajan varias personas y, posiblemente,
conlleve muchos cambios

Desarrollo = gestin + mantenimiento + validacin +


+ documentacin + ...

La educacin de un ingeniero del software debe tener


unas races slidas en la educacin de la ingeniera
tradicional (David Parnas)

Universidad de Salamanca Departamento de Informtica y Automtica

18

Ingeniera del Software

Mercado laboral

Las instituciones que ensean software son las


responsables de producir profesionales del mundo del
software que construyan y mantengan los sistemas para
satisfaccin de sus beneficiarios
Gran mercado de trabajo para los profesionales del
software

Todos tienen que ser ingenieros informticos?

Universidad de Salamanca Departamento de Informtica y Automtica

19

Ingeniera del Software

Qu ensear?

Aproximacin fcil Herramientas de moda

Aproximacin ingenieril Fundamentos slidos

No es la mejor opcin para el futuro de los ingenieros


Atractivo a corto plazo, camino a la obsolescencia a medio/largo plazo
Evolucin demasiado rpida de la disciplina
Difcil de asimilar por los alumnos
Difcil de asimilar por las empresas

Aproximacin mixta Fundamentos slidos sobre herramientas


adecuadas

Equilibrio entre teora/prctica


Mayor capacidad para el xito profesional para aqullos que vayan ms
all de las tendencias de moda y sean capaces de evolucionar con la
disciplina

Universidad de Salamanca Departamento de Informtica y Automtica

20

Ingeniera del Software

4. Asignatura Ingeniera
del Software en ITIS

Universidad de Salamanca Departamento de Informtica y Automtica

21

Ingeniera del Software

Objetivos

Descripcin de las actividades tcnicas e ingenieriles que se llevan a


cabo en el ciclo de vida de un producto software
Descripcin de los problemas, principios, mtodos y tecnologas
asociadas con la Ingeniera del Software
Presentacin de la importancia de los requisitos en el ciclo de vida del
software
Introduccin a las tcnicas bsicas de elicitacin, documentacin,
especificacin y prototipado de los requisitos de un sistema software
Introduccin a los mtodos de anlisis/diseo orientado a objetos
Estudio y comprensin de los fundamentos del diseo de sistemas
software
Aplicar de forma prctica los conceptos tericos sobre el desarrollo
orientado a objetos
Realizacin de un proyecto en grupo, aplicando los principios
introducidos en la parte terica de la asignatura

Universidad de Salamanca Departamento de Informtica y Automtica

22

Ingeniera del Software

Temario Parte terica

Unidad Didctica I: Conceptos bsicos (21 Horas)

Unidad Didctica II: Requisitos (7 Horas)

Tema 1. Introduccin a la Ingeniera del Software (9 Horas)


Tema 2. Modelo Objeto. Una Descripcin de UML (12 Horas)
Tema 3. Introduccin a la Ingeniera de Requisitos (7 Horas)

Unidad Didctica III: Anlisis y diseo orientado a objetos


(17 Horas)

Tema 4. Anlisis Orientado a Objetos (5 Horas)


Tema 5. Principios del Diseo del Software (4 Horas)
Tema 6. Diseo Orientado a Objetos (8 Horas)
Total: 4,5 Crditos

Universidad de Salamanca Departamento de Informtica y Automtica

23

Ingeniera del Software

Temario Parte prctica

Talleres

Taller de modelado de datos

Taller de orientacin a objeto

Diagramas de clase

Taller de documentacin de requisitos

Repaso al modelo entidad-relacin

Casos de uso

Prctica obligatoria

Realizacin de una ERS (con algunos apartados de diseo)


Se seguirn tcnicas de ADOO
Se realizar en grupos de mximo 3 personas (salvo excepciones
justificadas)
Total: 1,5 Crditos

Universidad de Salamanca Departamento de Informtica y Automtica

24

Ingeniera del Software

Evaluacin (i)

Parte de Teora (50% de la nota final)

Un examen final en el mes de enero/febrero (23-ene-09)


Un examen final en el mes de septiembre (2-sep-09)
Este examen constar de dos partes que hay que aprobar
independientemente

Un test
Un conjunto de supuestos terico/prcticos

Parte Prctica (50% de la nota final)

Prctica realizada en grupos de trabajo

Se realizar una defensa de dicho trabajo

Todo grupo tiene derecho a dos defensas, siempre que la primera se haya
hecho antes del mes de mayo

Esta prctica quedar superada para futuros cursos siempre y cuando se


supere con una calificacin mnima de un 6,5

Universidad de Salamanca Departamento de Informtica y Automtica

25

Ingeniera del Software

Evaluacin (ii)

Evaluacin continua de la asignatura (modalidad opcional)

Se tendr en cuenta la asistencia y la participacin activa en clase


Todos los alumnos que se acojan a esta modalidad debern haber
rellanado su perfil (incluyendo una fotografa) en el campus virtual de
la asignatura antes del 13/10/2008
Se realizarn 2 pruebas de test durante las clases de teora

Prueba 1: Unidad I y II
Prueba 2: Unidad III

Se eliminar la parte de test del examen de teora si se obtiene una


calificacin superior o igual a 5 en el conjunto de estas pruebas,
obteniendo en todas ellas al menos una nota de 3

Nota test = (Prueba 1 * 0,5) + (Prueba 2 * 0,5)

Universidad de Salamanca Departamento de Informtica y Automtica

26

Ingeniera del Software

Evaluacin (iii)

Evaluacin continua de la asignatura (modalidad opcional)

Talleres

Grupos de 3 personas
15 minutos de puesta en comn, 1h y 30 minutos de debate
Todos los grupos obligatoriamente entregan el modelo realizado previamente al
comienzo de la sesin a travs del campus virtual (en alguno de los formatos Open
Document o PDF y realizado con alguna herramienta de modelado)

Grupos voluntarios defienden los trabajos y realizan informes con entrega en 15 das

Por la defensa se obtiene entre -1 y 0,5 puntos, la entrega del informe es obligatoria y no
aporta nota (pero puede restar si no se entrega en condiciones)

La participacin activa, acertada y continuada puede aportar hasta 0,5 puntos

Entrega de ejercicios

Por la defensa se obtiene entre 0 y 0,5 puntos, por entregar el informe 0,5 puntos

Si no hay grupos voluntarios, se elegir un grupo que defienda el trabajo

Si se detecta fraude se resta 1 punto

Entregar 3 ejercicios de modelado, con enunciados sacados de libros (y no resueltos en


ellos), tras su revisin en horario de tutoras aporta 0,75 puntos

Estas notas computarn en el apartado de supuestos terico/prcticos del examen


de teora

Universidad de Salamanca Departamento de Informtica y Automtica

27

Ingeniera del Software

Evaluacin (iv)

Si (Teora 5,0) y (Prctica 5,0)


Nota Final = (Teora*0,5) + (Prctica*0,5)
Si no

Fin si

Universidad de Salamanca Departamento de Informtica y Automtica

28

Ingeniera del Software

Eventos

Microsoft University Tour

Noviembre de 2008

Curso extraordinario

Diseo de aplicaciones web con Patrones Java

6, 7, 13, 14, 20 y 21 de marzo de 2009


40 horas (30 h presenciales + 10 h on line)
4 crditos de libre eleccin

Universidad de Salamanca Departamento de Informtica y Automtica

29

Ingeniera del Software

Bibliografa bsica recomendada

Referencias principales

Booch, G., Rumbaugh, J., Jacobson, I. El Lenguaje Unificado de Modelado. Addison Wesley,
1999
Jacobson, I., Booch, G., Rumbaugh, J. El Proceso Unificado de Desarrollo de Software.
Addison-Wesley, 2000
Larman, C. UML y Patrones. 2 Edicin. Prentice-Hall, 2003
Pfleeger, S. L. Ingeniera del Software. Teora y Prctica. Prentice Hall, 2002
Piattini, M. G., Calvo-Manzano, J. A., Cervera, J., Fernndez, L. Anlisis y Diseo de
Aplicaciones Informticas de Gestin. Una perspectiva de Ingeniera del Software. Ra-ma. 2004
Pressman, R. S. Ingeniera del Software: Un Enfoque Prctico. 6 Edicin. McGraw-Hill. 2006
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W. Modelado y Diseo
Orientados a Objetos. Metodologa OMT. Prentice Hall, 2 reimpresin, 1998
Rumbaugh, J., Jacobson, I., Booch, G. El Lenguaje Unificado de Modelado. Manual de
Referencia. 2 Edicin. Addison-Wesley. 2004
Sommerville, I. Ingeniera del Software. 7 Edicin, Addison-Wesley. 2005

Otras referencias

Gamma, E., Helm, R., Johnson, R., Vlissides, J. Patrones de Diseo. Addison-Wesley, 2003
Meyer, B. Construccin de Software Orientado a Objetos. 2 Edicin. Prentice Hall, 1999
Schach, S. R. Ingeniera de Software Clsica y Orientada a Objetos. 6 Edicin. McGraw-Hill.
2006
Yourdon, E. Anlisis Estructurado Moderno. Prentice-Hall Hispanoamericana. 1993

Universidad de Salamanca Departamento de Informtica y Automtica

30

Ingeniera del Software

Otras fuentes

Durn, A., Bernrdez, B. Metodologa para la Elicitacin de Requisitos de


Sistemas Software (versin 2.3). Informe Tcnico LSI-2000-10, Universidad de
Sevilla. http://www.lsi.us.es/~amador. [ltima vez visitado, 24-9-2007]. Abril 2002
Durn, A., Bernrdez, B. Metodologa para el Anlisis de Requisitos de Sistemas
Software (versin 2.2). Universidad de Sevilla. http://www.lsi.us.es/~amador.
[ltima vez visitado, 24-9-2007]. Diciembre 2001
OMG. OMG Unified Modeling Language Specification. Version 1.5. Object
Management Group Inc. Document formal/03-03-01. March 2003.
http://www.omg.org/docs/formal/03-03-01.pdf [ltima vez visitado, 24-9-2007]
OMG. Unified Modeling Language: Superstructure. Version 2.0. Object
Management Group Inc. Document formal/05-07-04. August 2005.
http://www.omg.org/cgi-bin/doc?formal/05-07-04 [ltima vez visitado, 24-9-2007]
Pohl, K. Requirements Engineering: An Overview. En M. Dekker (Ed.),
Encyclopedia of Computer Science and Technology, 36. 1997. Disponible en
ftp://sunsite.informatik.rwth-aachen.de/pub/CREWS/CREWS-96-02.pdf [ltima vez
visitado, 24-9-2007]

Universidad de Salamanca Departamento de Informtica y Automtica

31

Ingeniera del Software

Enlaces (i)

Association for Computing Machinery (ACM)

Cetus Links - Object-Orientation

http://www.acm.org
Fundada en 1947 fue la primera sociedad cientfica y de educacin del
mundo. El portal de informacin que presenta es impresionante, tanto en
cuanto a enlaces de inters, grupos de trabajo, documentos electrnicos,
conferencias como por su biblioteca digital conteniendo revistas y actas de
congresos (http://portal.acm.org)
http://www.cetus-links.org
La coleccin de enlaces ms completa sobre Orientacin a Objetos. A fecha de
10 de febrero de 2006 se tenan contabilizados 18193 enlaces

Consejo Superior de Informtica

http://www.csi.map.es/
Web del Consejo Superior de Informtica donde, entre otras cosas, se puede
obtener la documentacin y herramientas sobre Mtrica 3
(http://www.csi.map.es/csi/metrica3/index.html)

Universidad de Salamanca Departamento de Informtica y Automtica

32

Ingeniera del Software

Enlaces (ii)

DACS (Data & Analysis Center for Software)

European Software Institute (ESI)

http://www.dacs.dtic.mil
Sitio perteneciente al DoD de EEUU con numerosa informacin y enlaces a
lugares relacionados con la Ingeniera del Software
http://www.esi.es
El Instituto del Software Europeo tiene su sede en Bilbao (Espaa). Dispone
tanto de documentacin privada para los miembros del instituto como
documentacin pblica con los anlisis de proyectos, necesidades de
empresas y software europeo

Guide to the Software Engineering Body of Knowledge


(SWEBOK)

http://www.swebok.org
Proyecto para establecer un cuerpo de conocimiento comn para la Ingeniera
del Software

Universidad de Salamanca Departamento de Informtica y Automtica

33

Ingeniera del Software

Enlaces (iii)

Institute of Electrical and Electronics Engineers (IEEE)

http://www.ieee.org
Otra prestigiosa organizacin compuesta por diversas sociedades, donde la
que ms relacin tiene con los temas abordados en el presente curso es la
IEEE Computer Society (http://computer.org)
A semejanza de ACM, ofrece informacin sobre conferencias, estndares,
educacin y mantiene otra biblioteca digital con revistas y actas de congresos

Object Management Group (OMG)

http://www.omg.org
Es un consorcio internacional de industrias con el fin de promover el uso de la
Orientacin a Objetos en la Ingeniera del Software. A diferencia de
organizaciones como ISO o IEEE, OMG desarrolla estndares de facto como
consenso entre las empresas que la forman
Dicho servidor ofrece publicaciones electrnicas y enlaces a estndares y
herramientas del sector relacionado con la tecnologa de objetos
En http://www.omg.org/uml se encuentran las especificaciones de la versin
actual (as como de las anteriores) de UML

Universidad de Salamanca Departamento de Informtica y Automtica

34

Ingeniera del Software

Enlaces (iv)

IBM Rational Software

http://www-306.ibm.com/software/rational/
En esta direccin se tiene valiosa informacin sobre UML y RUP (documentos,
informes, artculos, presentaciones, bibliografa recomendada...)
Adems, se pueden obtener versiones de demostracin de diferentes
herramientas que comercializan, siendo Rational Rose la ms difundida

R. S. Pressman & Associates, Inc.

http://www.rspa.com
Bajo la direccin de Roger S. Pressman y la difusin internacional de su
afamado libro sobre Ingeniera del Software, aparece una empresa de
consultora en Ingeniera del Software
Lo ms interesante que ofrece esta direccin es un portal que da entrada a
otras fuentes de informacin relacionadas con cada uno de los captulos
tratados en su libro

Universidad de Salamanca Departamento de Informtica y Automtica

35

Ingeniera del Software

Enlaces (v)

Software Engineering Institute (SEI)

http://www.sei.cmu.edu
El Instituto de Ingeniera del Software en la Universidad Carnegie
Mellon, es uno de los lugares ms activos en pro de la Ingeniera del
Software
Se pueden encontrar documentos asociados a mdulos curriculares en
Ingeniera del Software, informes tcnicos sobre diferentes reas de la
Ingeniera del Software, una revista en lnea...
Incluye adems enlaces a otras organizaciones relacionadas con la
Ingeniera del Software

The World Wide Web Consortium

http://www.w3.org/
Sitio central donde se recogen las especificaciones de los diversos
lenguajes relacionados con la Web (HTML, XML, RDF, SOAP...)

Universidad de Salamanca Departamento de Informtica y Automtica

36

Ingeniera del Software

Enlaces (vi)

The World Wide Web Virtual Library Formal Methods

UML Resource Center

http://www.well.com/~hirst/UML-dict.html
Diccionario sobre trminos de UML recopilados por Kendall Scott

Webliography Software Engineering

http://www-306.ibm.com/software/rational/uml/
Sitio donde se centraliza gran parte de la informacin sobre UML

Unified Modeling Language (UML) Dictionary

http://www.afm.sbu.ac.uk
Sitio especializado en informacin sobre mtodos formales

http://polaris.umuc.edu/~skerby/help/wbib_swe.htm
Coleccin de enlaces sobre Ingeniera del Software

WWW Virtual Library - Software Engineering

http://mingo.info-science.uiowa.edu/soft-eng
Coleccin de enlaces sobre Ingeniera del Software

Universidad de Salamanca Departamento de Informtica y Automtica

37

Ingeniera del Software

Herramientas CASE

Choosing a UML Modeling Tool

http://zarza.fis.usal.es
GNOME/Linux

Microsoft Visio

http://www.deiser.com

Left CASE

http://www.sybase.com/products/developmenti
ntegration/powerdesigner

http://www.lsi.us.es/descargas/descarga_programas.

php?id=3
Windows

Studio CASE

http://zarza.fis.usal.es/~fgarcia
Windows

Visual Paradigm

http://zarza.fis.usal.es/~fgarcia
Windows

Visual Interaction

http://www.microsoft.com/office/visio

PowerDesigner

http://www-306.ibm.com/software/rational/
Windows/UNIX

REM

Enterprise Architect

http://argouml.tigris.org
Java

Rational Rose

ArgoUML

http://www.objectsbydesign.com/tools/modelin
g_tools.html
Eleccin de una herramienta para modelar con
UML

http://www.visual-paradigm.com/
Windows

Visual UML

http://www.visualobjectmodelers.com/products.htm
Windows

Universidad de Salamanca Departamento de Informtica y Automtica

38

Ingeniera del Software


3 de I.T.I.S.
Curso 2008-2009
Dr. Francisco Jos Garca Pealvo
(fgarcia@usal.es)
Miguel ngel Conde Gonzlez
(mconde@usal.es)
Sergio Bravo Martn
(ser@usal.es)
http://moodle.usal.es
http://zarza.fis.usal.es/~fgarcia/docencia/isoftware/08-09/curso08-09.html
http://diaweb.usal.es
Universidad de Salamanca Departamento de Informtica y Automtica

Вам также может понравиться