Sei sulla pagina 1di 23

08/03/2012

Carrera de Ingeniera de Sistemas - UPS Ingeniera de Software - 2012 Ing. Mauricio Ortiz Ochoa mortizo@ups.edu.ec

Software e Ingeniera de Software


Despus de aos de dolorosas experiencias , muchos ingenieros de software han aprendido que para hacer un trabajo efectivo necesitan: Planificar su trabajo Hacer su trabajo de acuerdo al plan Esforzarse en producir productos de mxima calidad Watts Humphrey

08/03/2012

Objetivos
Introducir los conceptos sustanciales del software y su relacin con los procesos de desarrollo Introducir los elementos distintivos de la ingeniera de software

Ing. Mauricio Ortiz

Software e Ingeniera de Software

Conceptos a presentar
Software Representaciones de software Conocimiento de Ingeniera de software (SE) Conocimiento del dominio de software Carcter nico del software Cualidades del software Proceso de Software Tcnica / mtodo / herramienta Ingeniera de software
Software e Ingeniera de Software 4

Ing. Mauricio Ortiz

08/03/2012

Temario
Concepto de Software Caractersticas del Software Proceso de Software Ingeniera de Software

Ing. Mauricio Ortiz

Software e Ingeniera de Software

1. 2. 3. 4.

Concepto de software Caractersticas del Software Proceso de software Ingeniera de Software

CONCEPTO DE SOFTWARE

Ing. Mauricio Ortiz

Software e Ingeniera de Software

08/03/2012

Qu es el software?
El software es ms que programas. Lo primero que se debe entender es que el software es un sistema.

Ing. Mauricio Ortiz

Software e Ingeniera de Software

Qu es el software?
Lo importante no es qu es el software, sino:
Cmo se piensa sobre l (qu imagen se tiene) Qu papel juega en un contexto mayor

Punto de vista de una computadora:


El software es slo programas Pensar as genera problemas.
Medir la productividad por las lneas de cdigo producidas por unidad de tiempo (la visin errnea ms difundida). Identifica productividad en la construccin del sistema con la capacidad de generar cdigo
Ing. Mauricio Ortiz Software e Ingeniera de Software 8

08/03/2012

El software es
Alma y cerebro de una computadora Corporizacin de las funciones de un sistema El conocimiento capturado acerca de un rea de aplicacin Coleccin de los programas y datos necesarios para convertir a una computadora (de propsito general) en una mquina de propsito especial diseada para una aplicacin particular. Informacin (documentacin) producida durante el desarrollo de un sistema software-intensivo
Ing. Mauricio Ortiz Software e Ingeniera de Software 9

Resumiendo
El software es muchas cosas, pero todos son aspectos de la informacin En definitiva es una cuestin de semntica:
Si software es solo programas ejecutables
Excluimos una cantidad de informacin que debemos llamar de alguna manera

Si incluimos toda la informacin relevante a una pieza de software ejecutable


Nos debemos relacionar con esa informacin en la misma forma rigurosa y sistemtica que lo hacemos con el software ejecutable,

Esto es crucial para un desarrollo exitoso, pues si no se hace, la informacin se pierde o altera introduciendo errores
Ing. Mauricio Ortiz Software e Ingeniera de Software 10

08/03/2012

Informacin en el ambiente de desarrollo

Ing. Mauricio Ortiz

Software e Ingeniera de Software

11

Representaciones del software


Cualquier informacin que en forma directa representa un eventual conjunto de programas y los datos asociado Incluye
programas, diseos detallados diseos de arquitectura (representados como diagramas de estructura) especificaciones escritas en un lenguaje formal requerimientos del sistema expresados en una combinacin de notaciones o cualquiera de centenares de posibilidades
Ing. Mauricio Ortiz Software e Ingeniera de Software 12

08/03/2012

Conocimiento de la ingeniera de software


Toda la informacin relativa al desarrollo en general (ej: cmo usar un mtodo especfico de diseo) o relativa a un desarrollo en particular (ej: programa de testeo en un proyecto Incluye:
informacin relativa al proyecto informacin sobre la tecnologa de software (mtodos, conceptos, tcnicas) conocimiento acerca de sistemas similares informacin detallada relativa a la identificacin y solucin de problemas tcnicos del sistema en desarrollo
Ing. Mauricio Ortiz Software e Ingeniera de Software 13

Conocimiento del dominio especfico


Es esencial para la creacin del software Descubrirla y ponerla en forma til es la esfera de un especialista en el rea de aplicacin Incluye
conocimiento del proceso especifico a ser controlado reglas de la contabilidad procedimientos para actualizar y cambiar los registros de los empleados Etc.
Ing. Mauricio Ortiz Software e Ingeniera de Software 14

08/03/2012

Ejemplos de formas que toma el software


Colecciones de programas: a testear, terminados, en lenguaje de mquina, en lenguajes de alto nivel Necesidades Requerimientos Especificaciones Diseos de arquitectura Diseos detallados Formatos de datos Sistemas en uso para produccin Anlisis de requerimientos Documentacin del usuario Documentacin de mantenimiento Pedidos de cambio Especificaciones de modificaciones Informes de errores Mediciones de performance

Ing. Mauricio Ortiz

Software e Ingeniera de Software

15

Producto o conocimiento?
Software como Producto
A medida que los computadores extendieron su mbito de aplicacin se los vio como procesadores simblicos, de all que no se viera al software como producto Desde los 60 (separacin Sw y Hw) comenz a constituirse como producto El software es tanto un producto como un objeto tcnico, esto es: conocimiento empaquetado

Software como Conocimiento


Si los programas (final de una cadena de representaciones que llamamos software), contienen conocimiento, entonces las versiones iniciales tambin contienen conocimiento, y lo perdemos si nos reducimos a los conceptos del software ejecutable. No perder este conocimiento es una de las principales razones de la reusabilidad del software. El software se puede comparar a un informe de investigacin

Ing. Mauricio Ortiz

Software e Ingeniera de Software

16

08/03/2012

De qu estamos hablando?
El software es muchas cosas, y cosas que difieren:
segn el tiempo segn la gente de que se trate segn lo que se intente hacer

Uno y sus circunstancias


Balancear las actividades de anlisis y la construccin de programas:
software como conocimiento.

Se vincula con la organizacin del desarrollo de software:


software como producto;

Provisin de herramientas para ayudar al desarrollo de software:


software como una serie de transformaciones;

Para entender la naturaleza esencial de la actividad, la visin del software como conocimiento es la ms idnea

Ing. Mauricio Ortiz

Software e Ingeniera de Software

17

Productos de software
Part of a system that can be encoded to execute on a computer as a set of instructions; it includes all the associated documentation necessary to understand, transform and use that solution the collection of computer programs, procedures, rules, and associated documentation and data (IEEE)
Ing. Mauricio Ortiz Software e Ingeniera de Software 18

08/03/2012

1. 2. 3. 4.

Concepto de software Caractersticas del Software Proceso de Software Ingeniera de Software

CARACTERSTICAS DEL SOFTWARE

Ing. Mauricio Ortiz

Software e Ingeniera de Software

19

Porqu el software es nico?


Robert Cochran: I use the following definition to describe what is unique or special about software:
Software is intangible It has high intellectual content It is generally not recognized as an asset by accountants and so is off balance sheet. Its development process is labor intensive and is team and project based. Software doesnt exhibit any real separation between R&D and production. Software is potentially infinitely changeable.
Ing. Mauricio Ortiz Software e Ingeniera de Software 20

10

08/03/2012

Ejercicio 01.01
Objetivos del ejercicio
Revisar el concepto de software

Tipo de ejercicio
Ejercicio en clase Ejercicio grupal

Entregable de ejercicio
Comunicar resultado Discusin en clase

El ejercicio consiste en completar las columnas del cuadro de la siguiente presentacin En la primara columna se encuentran las caractersticas del software segn Cochran En las siguientes columnas se encuentran diferentes tipos de proyectos Se pide completar las columnas correspondientes con los otros procesos de produccin

Ing. Mauricio Ortiz

Software e Ingeniera de Software

21

Ejercicio 01.01

Ing. Mauricio Ortiz

Software e Ingeniera de Software

22

11

08/03/2012

Comprensin, mejora continua y experiencia (Basili)


Hay factores que crean similitudes y diferencias entre proyectos Hay una relacin directa entre proceso y producto Las mediciones son necesarias y deben estar basadas en los objetivos y modelos asociados Evaluacin y feedback son necesarios para el control del proyecto El desarrollo del software sigue un paradigma experimental La experiencia necesita ser empaquetada Los procesos de desarrollo de software y de mantenimiento deben soportar el reso de la experiencia

Ing. Mauricio Ortiz

Software e Ingeniera de Software

23

Caractersticas conceptuales
Objetivo de la ingeniera: construccin de producto.
Ingeniera Software: sistemas de software

Principal diferencia del software es maleable. Existe la idea que los cambios en el soft son fciles. En este punto debe pensarse a los productos de soft de otra forma:
Un cambio en el soft debe ser visto como un cambio en el diseo ms que en el cdigo
Ing. Mauricio Ortiz Software e Ingeniera de Software 24

12

08/03/2012

Caractersticas conceptuales
Su produccin es humano-intensiva: requiere ms ingeniera que manufactura. El proceso de produccin de software se vincula ms con el diseo e implementacin que con la manufactura. Tradicionalmente en la ingeniera el ingeniero dispone de herramientas para describir el producto que son distintas del producto, no es as en la Ingeniera Software. Las cualidades del producto de software estn a menudo entremezcladas en especificaciones con las cualidades del diseo

Ing. Mauricio Ortiz

Software e Ingeniera de Software

25

Cualidades del software


Correccin funcional Confiabilidad Robustez Performance "Amistosidad Verificabilidad Mantenibilidad Reusabilidad Portabilidad Comprensibilidad Interoperatividad Productividad Oportunidad Visibilidad

Ing. Mauricio Ortiz

Software e Ingeniera de Software

26

13

08/03/2012

Cualidades segn la visin


Usuario
Confiable Eficiente Fcil de Usar

Productor
Verificable Mantenible Portable Extensible

Project Manager (Proceso)


Productivo Fcil de controlar

Ing. Mauricio Ortiz

Software e Ingeniera de Software

27

Ejercicio 01.02
Objetivos del ejercicio
Revisar el concepto de cualidades de software

Cualidades de software
Las cualidades de software tienen relaciones entre ellas. Por ejemplo todos los softwares que son confiables (porqu?) Para dos cualidades Qi y Qj. Establecer cual de las siguentes relaciones se verifica:
Qi -> Qj Qj -> Qi Qi es idependiente de Qj

Tipo de ejercicio
Ejercicio en clase Ejercicio grupal

Entregable de ejercicio
Entregar Discusin en clase

Completar el cuadro de la siguiente diapositiva


1 para la implicacin Qi -> Qj -1 para la implicacin Qj -> Qi 0 para los independientes

Ing. Mauricio Ortiz

Software e Ingeniera de Software

28

14

08/03/2012

A
Correccin funcional Confiabilidad Robustez Performance "Amistosidad Verificabilidad Mantenibilidad Reusabilidad Portabilidad Comprensibilidad Interoperatividad Productividad Oportunidad Visibilidad

A B C D E F G H I J k L M N

Ing. Mauricio Ortiz

Software e Ingeniera de Software

29

Externas vs. Internas


Externas: visibles para los usuarios Internas: conciernen a los desarrolladores, slo son visibles para ellos Hay fuerte relacin entre unas y otras. Por ejemplo: la cualidad interna de la verificabilidad se requiere para alcanzar la cualidad externa de la confiabilidad. Vale decir:
confiabilidad -> verificabilidad
Ing. Mauricio Ortiz Software e Ingeniera de Software 30

15

08/03/2012

1. 2. 3. 4.

Concepto de software Caractersticas del Software Proceso de software Ingeniera de Software

PROCESO DE SOFTWARE

Ing. Mauricio Ortiz

Software e Ingeniera de Software

31

Proceso de software
IEEE: Una secuencia de pasos ejecutados para un propsito dado
Se ajusta a las prcticas especficas de las distintas ingenieras Dos componentes: acciones y propsito; La meta le da al proceso una serie de cualidades

Pfleeger: Podemos pensar al conjunto ordenado de tareas como un proceso: una serie de pasos que involucran actividades, restricciones y recursos que producen una determinada salida esperada Basili: Los procesos de ingeniera de software son especficos. Importante: El proceso est conformado por los pasos que se dan, no por su descripcin
Ing. Mauricio Ortiz Software e Ingeniera de Software 32

16

08/03/2012

Estructura de los conceptos de proceso

Ing. Mauricio Ortiz

Software e Ingeniera de Software

33

Ejemplo de niveles de proceso

Ing. Mauricio Ortiz

Software e Ingeniera de Software

34

17

08/03/2012

El concepto de proceso (Pfleeger)

Ing. Mauricio Ortiz

Software e Ingeniera de Software

35

Tcnica / Mtodo / Herramienta

Ing. Mauricio Ortiz

Software e Ingeniera de Software

36

18

08/03/2012

Dos caminos para desarrollo del software

Ing. Mauricio Ortiz

Software e Ingeniera de Software

37

Ejercicio 01.03
Objetivos del ejercicio
Aplicar el concepto de proceso de software

Niveles de proceso
Siguiendo el ejemplo de los diferentes niveles de proceso a la entrevista de un usuario, aplicarlo al caso de especificacin de programas. Armar una matriz con los diferentes niveles de proceso del caso de la especificacin de programas.
38

Tipo de ejercicio
Ejercicio en clase Ejercicio grupal

Entregable de ejercicio
Comunicar resultado Discusin en clase

Ing. Mauricio Ortiz

Software e Ingeniera de Software

19

08/03/2012

1. 2. 3. 4.

Concepto de software Caractersticas del Software Proceso de software Ingeniera de Software

INGENIERA DE SOFTWARE

Ing. Mauricio Ortiz

Software e Ingeniera de Software

39

Ingeniera de software
Fairley
La Ingeniera Software es la disciplina tecnolgica y de administracin que se ocupa de la produccin y evolucin sistemtica de productos de software que son desarrollados y modificados dentro de los tiempos y costos estimados

Ghezzi
Ingeniera Software es el campo de la ciencia de la computacin que trata con la construccin de sistemas de software que son tan grandes o complejos que son construdos por un equipo o equipos de ingenieros

IEEE
1. 2. El uso de mtodos sistemticos, disciplinados y cuantificables para el desarrollo, operacin y mantenimiento de software, es decir, la aplicacin de prcticas de Ingeniera Software. el estudio de tcnicas relacionadas con (1.)

Ing. Mauricio Ortiz

Software e Ingeniera de Software

40

20

08/03/2012

Panorama de la SE
Conocimientos requeridos
Principios tericos de representacin y computacin.
Aplicacin de mtodos formales Uso de notaciones de modelizacin, especificacin, diseo, programacin.

Perspectivas
Evolucin histrica:
expansin de la esfera de competencia formalizacin de procesos y productos mecanizacin de operaciones mayor nivel profesional y de conocimiento

Combinacin de conocimientos de:


Metodologas Tecnologas Tcnicas de administracin de proyectos

Presiones actuales:
reduccin en el ciclo de vida de productos personalizacin de productos reduccin de Costos calidad y certificacin de procesos
41

Ing. Mauricio Ortiz

Software e Ingeniera de Software

Desafos de la SE
Calidad Retorno de la inversin Mejora de proceso Mtricas y mediciones Confusin de estndares Interoperabilidad de estndares Software heredado Criterio de detencin del testeo Interoperabilidad y capacidad de componer Perfiles operacionales Disear en calidad Certificacin de productos Servicio
Software e Ingeniera de Software 42

Ing. Mauricio Ortiz

21

08/03/2012

Puntos clave
El software es conocimiento empaquetado Una serie de caractersticas lo hace nico Se necesita un concepto amplio de software El objetivo de la ingeniera de software es producir sistemas de software Las cualidades del software como producto y proceso son similares La ingeniera de software abarca el ciclo completo del software: desarrollo, mantenimiento, operacin La disciplina enfrenta desafos y nuevas demanadas
Ing. Mauricio Ortiz Software e Ingeniera de Software 43

Referencias
Arango, G., Qu es la Ingeniera de Software?, Noticiero SADIO, ao 25, 1 (marzo-abril) 1993, 7-11. Ghezzi, C., Jazayeri, M., Mandrioli, D., Fundamentales of Software Engineering, Prentice-Hall International, Englewood Cliffs, 1991. Freeman, P., Psst, What Is Software, Anyway?, en Software Perspectives. The System is the Message, Addison-Wesley, Reading Mass, 1987. Captulo 1, pp 3-28. Glass R, Software Creativity, Prentice Hall, 1995 McConnell, S. Who needs software engeniering? IEEE software jan-feb 2001 Pfleeger, S. L., Ingeniera de software. Teora y prctica, 2002
Ing. Mauricio Ortiz Software e Ingeniera de Software 44

22

08/03/2012

Prxima clase
BROOKS, F. "No Silver Bullet Essence and Accident in Software Engineering". Proceedings of the IFIP Tenth World Computing Conference: 10691076

Ing. Mauricio Ortiz

Software e Ingeniera de Software

45

23

Potrebbero piacerti anche

  • PDF
    PDF
    Documento198 pagine
    PDF
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Ins 182906
    Ins 182906
    Documento1 pagina
    Ins 182906
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Deber4 XML
    Deber4 XML
    Documento4 pagine
    Deber4 XML
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Practica Servlet
    Practica Servlet
    Documento2 pagine
    Practica Servlet
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Deber4 XML
    Deber4 XML
    Documento4 pagine
    Deber4 XML
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Facultad de Ingenieria Sede Puerto Madry PDF
    Facultad de Ingenieria Sede Puerto Madry PDF
    Documento122 pagine
    Facultad de Ingenieria Sede Puerto Madry PDF
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Plataforma Venta No Presencial E COMMERC
    Plataforma Venta No Presencial E COMMERC
    Documento24 pagine
    Plataforma Venta No Presencial E COMMERC
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Maven
    Maven
    Documento2 pagine
    Maven
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • XML Deber
    XML Deber
    Documento4 pagine
    XML Deber
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Ingles Prevencion
    Ingles Prevencion
    Documento2 pagine
    Ingles Prevencion
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Soap
    Soap
    Documento21 pagine
    Soap
    Jesda Tofer
    Nessuna valutazione finora
  • Informe Audio
    Informe Audio
    Documento4 pagine
    Informe Audio
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Bus de Servicio
    Bus de Servicio
    Documento3 pagine
    Bus de Servicio
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Bus de Servicio
    Bus de Servicio
    Documento3 pagine
    Bus de Servicio
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • TR 1
    TR 1
    Documento1 pagina
    TR 1
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Trabajo Final
    Trabajo Final
    Documento2 pagine
    Trabajo Final
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Solititud
    Solititud
    Documento1 pagina
    Solititud
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Aplicaciones Traducion R
    Aplicaciones Traducion R
    Documento27 pagine
    Aplicaciones Traducion R
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Curriculum Vitae Carlos
    Curriculum Vitae Carlos
    Documento2 pagine
    Curriculum Vitae Carlos
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Web Services
    Web Services
    Documento2 pagine
    Web Services
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Ingles Prevencion
    Ingles Prevencion
    Documento2 pagine
    Ingles Prevencion
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Pre Ensayo
    Pre Ensayo
    Documento3 pagine
    Pre Ensayo
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Trabajo N 1 Aplicando Capas
    Trabajo N 1 Aplicando Capas
    Documento3 pagine
    Trabajo N 1 Aplicando Capas
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Sistema de Archivos
    Sistema de Archivos
    Documento2 pagine
    Sistema de Archivos
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Pre Ensayo
    Pre Ensayo
    Documento1 pagina
    Pre Ensayo
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • 3ra GENERACIÓN
    3ra GENERACIÓN
    Documento36 pagine
    3ra GENERACIÓN
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Pre Ensayo
    Pre Ensayo
    Documento3 pagine
    Pre Ensayo
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Pre Ensayo
    Pre Ensayo
    Documento3 pagine
    Pre Ensayo
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Trabajo Altas Prestaciones
    Trabajo Altas Prestaciones
    Documento1 pagina
    Trabajo Altas Prestaciones
    Eddy Barzallo Urgiles
    Nessuna valutazione finora
  • Trabajo 2 Diseño
    Trabajo 2 Diseño
    Documento6 pagine
    Trabajo 2 Diseño
    Anonymous mbxIHHG
    Nessuna valutazione finora