19
I N E S O G F T . I N E S O G F T . I N G E N I E R Í A del S O F T W A R E LEPV, 2011

U1T1 - Conceptos Básicos de Ingeniería del Software

Embed Size (px)

DESCRIPTION

Conceptos básicos de Ingeniería del Software: conducta de entrada. El documento base puede ser solicitado a [email protected]

Citation preview

Page 1: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .INESO GFT.

I NGENI ER Í Adel

S O F T WA R E

LEPV, 2011

Page 2: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .INESO GFT.

LEPV, 2011

La compañía XXXXX, está requiriendo personal con el siguiente perfil:

Ingeniero informático, de sistemas o a fines, recién graduado o pendiente de graduaciónExperiencia en metodologías de desarrollo de software, gestión de software y pruebas de softwareSueldo 1.900.000 mensuales + bonificaciones por entrega oportuna de proyectosDisponibilidad de trabajar en Calí, Medellín, Manizales o Pereira.Hojas de vida a [email protected] con el asunto CV-051-IISAF

1.      Qué nivel de inglés técnico posee: Bajo, Medio, Alto2.      Qué metodologías de desarrollo de software conoce3.      Qué metodologías de desarrollo de software domina4.      Disponibilidad de tiempo para iniciar labores5.      Cuántos desarrollos de software ha hecho

Page 3: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

Q ué es?Roger Pressman, 2001: Para tener éxito al diseñar y construir un software necesitaremos disciplina, un enfoque de ingeniería. Es decir, necesitaremos Ingeniería del software.

Bohem,1976: es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada

requerida para desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de Software o Producción de Software.

Bauer, 1972: Ingeniería de Software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales.

Alfredo Weitzenfeld, 2002: No se atreve a definirla.

IEEE, 1993: Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software;

SEI, (Software Engineering Institute), 2007: Una mejora constante a las prácticas del software que lo convierte cada vez en un producto de mejor calidad.

“Sólo hay dos tipos de software: aquellos de los que la gente se queja y aquellos que nadie usa.” Bjarne Stroustrup

Page 4: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

A doptamos como definiciónIEEE, 1993: Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software;

Es un conjunto de actividades estandarizadas y aceptadas mundialmente que nos llevan a la aplicación de un enfoque sistemático, disciplinado en la construcción de software de calidad.

Este conjunto de actividades están determinadas por la necesidad, el entorno, los requerimientos técnicos, requerimientos humanos, recursos financieros, tiempo y funcionalidad.

Page 5: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

D esde cuando se hace IS?En el mundo, la crisis del hardware creó la necesidad, por allá en la 2ª. Generación de computadores.

Se creó la discusión: Programación Vs Diseño Vs Modelación Vs Ingeniería

En Colombia, seguimos esperando que se haga ingeniería del software aplicando estándares aceptados mundialmente.

Los movimientos que ha dado cada País para hacer que su software sea de calidad, han dependido en gran parte de los desastres que este ha causado

La mayor parte de los expertos coinciden en señalar que “la manera más probable de destruir el mundo es por accidente”. Y aquí es donde entramos en juego nosotros, los ingenieros: “nosotros somos los que provocamos los accidentes".

Nathaniel Borenstein, creador de MIME en: Programming as if People Mattered: Friendly Programs, Software Engineering and Other Noble Delusions, Princeton University Press, Princeton, NJ, 1991.

Page 6: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

D esde cuando se hace IS?

P ropuesta clásica => (MCVS, Étapas)

Actualmente existen propuesta de ingeniería del software aceptadas para el mundo y para algunos países:

P ropuesta IEEE, 2004, 2010 => SWEBOK

E spaña y México C olombia

“Mucho del software hoy en día se parece a una pirámide egipcia: con millones de ladrillos apilados uno encima del otro, sin integridad estructural y hecho por pura fuerza bruta y miles de esclavos.” Alan Kay

Page 7: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P ropuesta clásica - Weitzenfeld

Page 8: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P ropuesta clásica – Roger Pressman

El fundamento de la ingeniería del software es la capa de proceso.

El proceso define un marco de trabajo para un conjunto de áreas claves de proceso (ACPs) que se deben establecer para entrega efectiva de la tecnología de la ingeniería del software.

Los métodos de la ingeniería del software indican “como” construir técnicamente el software. Los métodos abarcan una gran gama de tareas que incluyen análisis de los requisitos, diseño, construcción de programas, pruebas y mantenimiento. Las herramientas de la ingeniería del software proporcionan un enfoque automático o semi-automático para el proceso y para los métodos; se establece un sistema de soporte par el desarrollo del software llamado ingeniería del software asistida por computadora (CASE)

Page 9: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P ropuesta desde la IEEE

Page 10: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P E spaña México C olombiaropuesta Planeación (preferiblemente estratégica, no táctica)

EL OBJETIVO: Software de Calidad

Expectativas de: precio, tiempo y funcionalidad.

Cliente (organización) SatisfechoEL PRODUCTO:Software

Qué vamos a hacer?

LA PERSONA:El Ingeniero

Quién lo debe hacer?

EL PROCESO:Ingeniería del

software

Cuál es el requisito?

EL MÉTODO:Técnicas de Ingeniería del

software.

Cómo lo vamos a hacer?Qué metodología vamos a

utilizar?Qué estándares se van a seguir?

LAS HERRAMIENTAS:Case

En qué nos vamos a apoyar?

Page 11: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P C olombiaropuesta

Es

pe

cifi

ca

ció

n

de

re

qu

isit

os

An

áli

sis

Dis

o

Imp

lem

en

tac

ión

Pr

ue

ba

s y

mo

ni

to

re

o

Re

tiro

Plan estratégico

Plan táctico de sistemas

DIAGNÓSTICO O DESCRIPCIÓN DE LA NECESIDAD, ENMARCADA EN:

GESTIÓN DEL PROYECTOEstimación de esfuerzo y

costos

Gestión de versionesGestión de la

documentación

Contexto del software

Software de calidadCosto – Tiempo - Funcionalidad

Marco de IS para

Pymes de Colombia

y Argentina

Pruebas y mantenimiento

Aseg. de la calidad

Page 12: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P resupuesto para el software

Es rentable?

Presupuesto mundial para 2009? U$ 3.100.240.000.000Presupuesto nacional para 2009? U$ 1.320.000.000Presupuesto nacional para 2008? U$ 282.000.000

Ejecución Presupuestal nacional para 2008?

38%Por qué?

Solo se aprueba presupuesto si hay IS!!!

Page 13: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

T LCSituación actual

• No estamos preparados para los estándares mundiales que exige USA.•¿ Por qué la propuesta clásica no nos ha funcionado?• Nos sirven los productos que fabrica USA.• ¿Tenemos ventaja sobre la fabricación de productos físicos?• ¿Tenemos ventaja sobre la construcción de software?• ¿Que haríamos primero?

Page 14: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

D ifícil de entender

Tangible Intangible

Se construye/fabrica Se diseña/desarrolla

Resulta un producto que se usa

Su uso genera confianza Su uso genera desconfianza

Hay deterioro No hay deterioro

Se agota/caduca Vence

Page 15: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

D ifícil de entenderINGENIERÍA CIVIL INGENIERÍA DEL SOFTWARE

Roles cruzados entre el ingeniero y el arquitecto

Roles cruzados entre el analista, diseñador, programador e ingeniero.

El cliente manifiesta una necesidad, o se obedece a un plan

El cliente manifiesta una necesidad, o se obedece a un plan

Primero se planea y modela todo con base en requisitos. No se empieza a pegar ladrillo para luego probar.

Se planea, se crea, se prueba, se re-crea, se prueba, se re-crea, se prueba. Finalmente, faltó algo….. Planear a nivel de ingeniería.

Hay un producto final que satisface al 100% la expectativa del cliente

Casi nunca se termina

Page 16: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P or qué el Ingeniero de S y T?

Sistemas

de información representada en

software y datos

Telecom. infraestructura

representada en canales y

protocolos

Page 17: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

P or qué el Ingeniero de S y T?

Sistemas

de información representada en

software y datos

Telecom. representada en tecnologías y

protocolos

IST

Page 18: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

O rganizaciones

http://www2.computer.org/portal/web/certification/swebok

http://www.sei.cmu.edu/

http://www.iadis.org/

http://www.acis.org.co/

http://www.fedesoft.org

http://www.comunidadmoprosoft.org.mx/

Page 19: U1T1 - Conceptos Básicos de Ingeniería del Software

I N E S OG F T .

LEPV, 2011

B ibliografía• Prospects for an Engineering. Discipline of software. SHAW, M. Software Engineering Institute Report, Carnegie Mellon, University, Pittsburgh. USA, 1990

• Ingeniería del software – Un enfoque práctico, McGraw Hill, 6 edición, 2005.

• Ingeniería del software V Edición, Roger Pressman, 2002.

• Metrica versión 3., Ministerio de administración pública, España, 2004

• Principles of software Engineering. DAVIS, A.M, McGraw Hill, 1995.Modelo de procesos de software para la comunidad mexicana, moprosoft, Hanna Oktaba, Facultad de ciencias de la UNAM, 2007.