Está en la página 1de 20

Curso de Ingeniera de

Software

Luis Felipe Bravo Erazo


Master in Business Administration ( e )
Ingeniero en Computacin
Instructor CCNA Cisco Networking Academy

2004, Cisco Systems, Inc. All rights reserved.

Clase 1
Introduccin a la
Ingeniera de Software

2004, Cisco Systems, Inc. All rights reserved.

Objetivos de la clase 1
Introducir la Ingeniera de Software y
explicar su importancia
Responder a preguntas claves sobre
Ingeniera de software
Introducir aspectos ticos y
profesionales y explicar por qu nos
concierne a los ingenieros de software

2004, Cisco Systems, Inc. All rights reserved.

Qu es Software?
Programas computacionales y documentacin
asociada
Productos de software pueden desarrollarse
para un cliente en particular o pueden ser
desarrollados para un mercado general
Productos de software pueden ser:
Genricos - desarrollados para ser vendidos a
un tipo de clientes
Especficos - desarrollado para un cliente de
acuerdo a sus necesidades especficas

2004, Cisco Systems, Inc. All rights reserved.

Qu es Ingeniera de Software?
La Ingeniera de Software es una disciplina de la
Ingeniera que se preocupa de todos los
aspectos de la produccin de software
Los ingenieros de software deberan adoptar un
enfoque sistemtico y organizado para su
trabajo y usar herramientas y tcnicas
adecuadas segn el problema a resolver, las
limitaciones del desarrollo, y los recursos
disponibles

2004, Cisco Systems, Inc. All rights reserved.

Cul es la diferencia entre Ingeniera


de SW y Ciencias de la Computacin?
Las Ciencias de la Computacin se enfocan en la
teora y fundamentos; la Ingeniera de Software
se preocupa de los aspectos prcticos del
desarrollo y entrega de softare til
Las teoras de la Ciencias de la Computacin
son actualmente insuficientes para actuar como
una base metodolgica completa para el
ingeniero de software

2004, Cisco Systems, Inc. All rights reserved.

Cul es la diferencia entre Ingeniera de


Software e Ingeniera de Sistemas?

Ingeniera de Sistemas se concentra en todos los


aspectos de desarrollo de sistemas basados en
computadora, incluyendo hardware, software y
procesos de ingeniera. Ingeniera de Software
es parte de este proceso
Los Ingenieros de Sistema participan en
Especificaciones de Sistemas, Diseo de
Arquitectura, Integracin y Desarrollo

2004, Cisco Systems, Inc. All rights reserved.

Qu es un Proceso de Software?
Un conjunto de actividades cuya meta es el
desarrollo o evolucin de software
Actividades genricas en todos los Procesos de
Software:
Especificacin - qu debera hacer el sistema y
sus limitaciones en el desarrollo
Desarrollo - produccin del sistema de software
Validacin - verificacin de que el software es lo
que el cliente quiere
Evolucin - cambios en el software como
respuesta a solicitudes de cambio
2004, Cisco Systems, Inc. All rights reserved.

Qu es un Modelo de Proceso de
Software?
Una representacin simplificada de un procesos de
software desde una perspectiva especfica
Ejemplos de perspectivas de proceso son:
Perspectiva de WorkFlow - secuencia de actividades
Perspectiva de Data-flow - flujos de informacin
Perspectiva de Rol / Accin - quin hace qu

Modelos de Proceso Genricos:


Cascada
Desarrollo Evolutivo
Transformacin Formal
Integracin a partir de componentes reutilizables
2004, Cisco Systems, Inc. All rights reserved.

Cules son los costos de la Ingeniera de


Software?
Aproximadamente el 60% de los costos
corresponde a costos de desarrollo, 40% a costos
de prueba. Para software especfico, los costos de
evolucin a menudo exceden los costos de
desarrollo
Los costos varan dependiendo del tipo de sistema
que se desarrolla y de los requerimientos de los
atributos del sistema tales como desempeo y
confiabilidad del sistema
Los costos de distribucin dependen del modelo
de desarrollo que se utilice

2004, Cisco Systems, Inc. All rights reserved.

10

Cules son los Mtodos de Ingeniera de


Software?
Enfoques estructurados para desarrollar software que
incluyen modelos de sistema, notaciones, reglas,
sugerencias de diseo y guas de procesos
Descripciones de Modelos
Descripciones de modelos grficos que se debera producir

Reglas
Restricciones aplicadas a los Modelos de Sistemas

Recomendaciones
Sugerencias de buenas prcticas de diseo
Gua durante el Proceso
Cules actividades prosiguen

2004, Cisco Systems, Inc. All rights reserved.

11

Qu es CASE (Computer-Aided Software


Engineering)?
Sistemas de software destinados a proveer
soporte automatizado para las actividades de
proceso de software. Sistemas CASE a menudo
son usados para apoyar al mtodo.
Upper-CASE
Herramientas para apoyar las actividades
tempranas del proceso de requerimiento y diseo

Lower-CASE
Herramientas para apoyar las actividades tardas
tales como programacin, depuracin y pruebas

2004, Cisco Systems, Inc. All rights reserved.

12

Qu atributos tiene un buen Software?


El software debera entregar la funcionalidad y
desempeo requeridos por el usuario y debera ser
mantenible, confiable, y usable
Mantenibilidad
El software debe evolucionar para cubrir necesidades
cambiantes

Confiabilidad
El software debe ser confiable

Eficiencia
El software no debe malgastar los recursos del sistema

Usabilidad
El software debe ser usable por los usuarios para quienes se
dise
2004, Cisco Systems, Inc. All rights reserved.

13

Cules son los desafos que enfrenta la


Ingeniera de Software?
Lidiar con sistemas legados, con una creciente
diversidad y con demandas por tiempos de
entrega reducidos
Sistemas Legados
Sistemas antiguos valiosos deben ser mantenidos y
actualizados

Heterogeneidad
Sistemas estn distribuidos e incluyen una mezcla de
HW y SW

Entrega
Hay una presin creciente por entregas de software en
menor tiempo
2004, Cisco Systems, Inc. All rights reserved.

14

Responsabilidad Profesional y tica

Ingeniera de Software conlleva


responsabilidades ms amplias que slo la
aplicacin de habilidades tcnicas
Ingenieros de Software deben comportarse en
una manera honesta y ticamente responsable si
van a ser respetados como profesionales
Comportamiento tico es ms que simplemente
cumplir con las Leyes

2004, Cisco Systems, Inc. All rights reserved.

15

Aspectos de Responsabilidad Profesional


Confidencialidad
Ingenieros deberan normalmente respetar la
confidiencialidad de sus empleadores o
clientes, an cuando no se haya firmado un
acuerdo de responsabilidad formal
Competencia
Ingenieros no deberan atribuirse niveles de
competencia que no les corresponde. No
deberan aceptar conscientemente trabajo que
exceda sus competencias

2004, Cisco Systems, Inc. All rights reserved.

16

Aspectos de Responsabilidad Profesional


Derechos de Propiedad Intelectual
Ingenieros deberan estar al tanto de leyes locales que
gobiernan el uso de propiedad intelectual tal como
patentes, copyrights, etc. Deberan asegurarse que la
propiedad intelectual de empleadores y clientes sea
protegida

Mal uso de Computadores


Ingenieros de Software no deberan usar sus
habilidades tcnicas para mal utilizar los equipos de la
gente. El mal uso de equipos vara desde relativamente
inofensivo (por ejemplo, jugar en equipos de la
empresa), hasta extremadamente serio (diseminacin
de viruses)
2004, Cisco Systems, Inc. All rights reserved.

17

Dilemas ticos
Desacuerdo de principios con las polticas
de la alta gerencia.
Su empleador acta en forma no tica y
libera un sistema de seguridad crtico sin
terminar o probar el sistema
Participacin en el desarrollo de sistemas
de armas militares o sistemas nucleares

2004, Cisco Systems, Inc. All rights reserved.

18

Resumen

Ingeniera de Software es una disciplina de la


Ingeniera que se preocupa de todos los aspectos de
la produccin de software.

Productos de Software son programas desarrollados


y documentacin asociada. Atributos de Productos
esenciales son Manteneabilidad, Confiabilidad,
Eficiencia, y Usabilidad.

Proceso de Software consiste en actividades


relacionadas con el desarrollo de productos de
software. Actividades bsicas son especificacin de
software, desarrollo, validacin y evolucin.

Mtodos son maneras organizadas para producir


software. Incluyen sugerencias para seguir durante el
proceso, las notaciones a utilizar, reglas que
gobiernan las descripciones del sistema que se
produce, y guas para el diseo.
2004, Cisco Systems, Inc. All rights reserved.

19

Resumen

Herramientas CASE son sistemas de software diseadas


para apoyar actividades rutinarias en los procesos de
software tales como edicin de diagramas de diseo,
chequeo de consistencia de diagramas y manteniendo
un seguimiento de las pruebas de programas que se han
ejecutado.

Ingenieros de software tienen responsabilidades hacia la


profesin de Ingenieros y la Sociedad. No deberan
concentrarse slo en los aspectos tcnicos.

Sociedades profesionales publican cdigos de conducta


que fijan los estndares de comportamiento esperados
por sus miembros.

2004, Cisco Systems, Inc. All rights reserved.

20

También podría gustarte