INGENIERIA DE SOFTWARE

4
INGENIERIA DE SOFTWARE (PROYECTO DE SOFTWARE).- CRONOGRAMA (TIEMPO), PERSONAS, PRESUPUESTO, CALIDAD, METODOLOGIA, DESARROLLO DE SOFTWARE - TECNICO( PROGRAMACION, TRABAJO EN EQUIPO, PRUEBAS DE SOFTWARE, HERRAMIENTAS DE PROGRAMACION. INGENIERIA DE SOFTWARE.- ES EL AREA DE LAS CIENCIAS DE LA COMPUTACION QUE TRATA CON LA CONSTRUCCION DE SISTEMAS DE SOFTWARE, LOS CUALES SON TAN GRANDES Y COMPLEJOS QUE SE CONSTRUYEN CON EQUIPOS DE INGENIEROS. PROCESO DE SOFTWARE.- ES UN PROCESO DEFINIDO PASO A PASO QUE FACILITA LA ESPECIFICACION, EL DISEÑO, LA IMPLEMENTACION Y LAS PRUEBAS DE UNA SOLUCION DE SOFTWARE. DE MODO EFICIENTE Y EFICAZ. CUALIDADES DE SOFTWARE - CORRECTO.- SI SE COMPORTA DE ACUERDO CON SU ESPECIFICACION. - CONFIABLE.- SE COMPORTA DE ACUERDO CON LO ESPERADO POR EL USUARIO. - ROBUSTO.- DATOS DE ENTRADA INCORRECTOS O FALLAS DE HARDWARE. - EFICIENTE.- SI USA SUS RECURSOS EN FORMA ECONOMICA. - AMIGABLE.- SI LOS USUARIOS LOS ENCUENTRAN FACIL DE UTILIZAR (INTERFAZ) - VERIFICABLE.- SI LA CORRECCION PUEDE VERIFICARSE FACILMENTE. - REUSABLE.- SI EL SOFTWARE LO PODEMOS VOLVER A UTILIZAR. EJEMPLO APIS NUEVOS. - PORTABLE.- SI EL SOFTWARE SE PUEDE EJECUTAR EN DISTINTOS AMBIENTES (SO,HARDWARE) - INTEROPERABLE.- SI PUEDE COEXISTIR Y COOPERAR CON OTROS SISTEMAS. - PRODUCTIVO.- ES LA EFICIENCIA DEL PROCESO DE DESARROLLO DEL SOFTWARE (EQUIPO DE DESARROLLO). - A TIEMPO.- SE DEBE OBTENER SU PRODUCTO EN EL TIEMPO PLANEADO. - VISIBLE.- SI TODOS SUS PASOS ESTAN CLARAMENTE DOCUMENTADOS, Y SE SABE SUS AVANCES. - COHESION.- ES LA MEDIDA DE LA RELACION ENTRE LAS PARTES DEL COMPONENTE (LOGICA SECUENCIAL, TIEMPO FUNCIONAL). - DESACOPLADO.- O ACOPLAMIENTO.- TRABAJO EN MODULOS POR EJEMPLO A, B, C, D. - COMPRENSIBLE.- SI ES FACIL DE COMPROBAR COMO FUNCIONA. - MANTENIBLE.- ES FACIL MODIFICARLO EL SISTEMA (SOFTWARE). TDD (TEST DRIVEN DEVELOPMENT) DESARROLLO GUIADO POR PRUEBAS ES UNA PRACTICA DE PROGRAMACION QUE INVOLUCRA UN CAMBIO DE PARADIGMA: PRIMERO HACER QUE FALLE Y LUEGO CORREGIR.

description

CUALIDADES DE SOFTWARE

Transcript of INGENIERIA DE SOFTWARE

Page 1: INGENIERIA DE SOFTWARE

INGENIERIA DE SOFTWARE (PROYECTO DE SOFTWARE).- CRONOGRAMA (TIEMPO),

PERSONAS, PRESUPUESTO, CALIDAD, METODOLOGIA, DESARROLLO DE SOFTWARE - TECNICO(

PROGRAMACION, TRABAJO EN EQUIPO, PRUEBAS DE SOFTWARE, HERRAMIENTAS DE

PROGRAMACION.

INGENIERIA DE SOFTWARE.- ES EL AREA DE LAS CIENCIAS DE LA COMPUTACION QUE TRATA

CON LA CONSTRUCCION DE SISTEMAS DE SOFTWARE, LOS CUALES SON TAN GRANDES Y

COMPLEJOS QUE SE CONSTRUYEN CON EQUIPOS DE INGENIEROS.

PROCESO DE SOFTWARE.- ES UN PROCESO DEFINIDO PASO A PASO QUE FACILITA LA

ESPECIFICACION, EL DISEÑO, LA IMPLEMENTACION Y LAS PRUEBAS DE UNA SOLUCION DE

SOFTWARE. DE MODO EFICIENTE Y EFICAZ.

CUALIDADES DE SOFTWARE

- CORRECTO.- SI SE COMPORTA DE ACUERDO CON SU ESPECIFICACION.

- CONFIABLE.- SE COMPORTA DE ACUERDO CON LO ESPERADO POR EL USUARIO.

- ROBUSTO.- DATOS DE ENTRADA INCORRECTOS O FALLAS DE HARDWARE.

- EFICIENTE.- SI USA SUS RECURSOS EN FORMA ECONOMICA.

- AMIGABLE.- SI LOS USUARIOS LOS ENCUENTRAN FACIL DE UTILIZAR (INTERFAZ)

- VERIFICABLE.- SI LA CORRECCION PUEDE VERIFICARSE FACILMENTE.

- REUSABLE.- SI EL SOFTWARE LO PODEMOS VOLVER A UTILIZAR. EJEMPLO APIS NUEVOS.

- PORTABLE.- SI EL SOFTWARE SE PUEDE EJECUTAR EN DISTINTOS AMBIENTES

(SO,HARDWARE)

- INTEROPERABLE.- SI PUEDE COEXISTIR Y COOPERAR CON OTROS SISTEMAS.

- PRODUCTIVO.- ES LA EFICIENCIA DEL PROCESO DE DESARROLLO DEL SOFTWARE (EQUIPO DE

DESARROLLO).

- A TIEMPO.- SE DEBE OBTENER SU PRODUCTO EN EL TIEMPO PLANEADO.

- VISIBLE.- SI TODOS SUS PASOS ESTAN CLARAMENTE DOCUMENTADOS, Y SE SABE SUS

AVANCES.

- COHESION.- ES LA MEDIDA DE LA RELACION ENTRE LAS PARTES DEL COMPONENTE (LOGICA

SECUENCIAL, TIEMPO FUNCIONAL).

- DESACOPLADO.- O ACOPLAMIENTO.- TRABAJO EN MODULOS POR EJEMPLO A, B, C, D.

- COMPRENSIBLE.- SI ES FACIL DE COMPROBAR COMO FUNCIONA.

- MANTENIBLE.- ES FACIL MODIFICARLO EL SISTEMA (SOFTWARE).

TDD (TEST DRIVEN DEVELOPMENT) DESARROLLO GUIADO POR PRUEBAS

ES UNA PRACTICA DE PROGRAMACION QUE INVOLUCRA UN CAMBIO DE PARADIGMA:

PRIMERO HACER QUE FALLE Y LUEGO CORREGIR.

Page 2: INGENIERIA DE SOFTWARE

CARACTERISTICAS DEL TDD:

1. ESCRIBIR EL TEST

2. HACER QUE EL TEST FALLE

3. DESARROLLAR LA FUNCIONALIDAD

4. HASCER QUE EL TEST PASE

5. REFACTORIZAR EL CODIGO

6. REPETIR LA ITERACION (PROCESO)

COCOMO (CONSTRUCTIVE COST MODEL)

1) MODELO BASICO: SE BASA EN EL TAMAÑO EXPRESADO EN MILES DE LINEAS DE

CODIGO (KLOC).

Y SU FORMULA ES: E=a.(KLOC)b

T Dev= C.(E)d

P= E / T Dev

- MODO ORGANICO.- UN PEQUEÑO GRUPO DE PROGRAMADORES DESARROLLAN

SISTEMAS EN UN ENTORNO FAMILIAR.

- MODO SEMILIBRE.- ES UN MODO INTERMEDIO (MILES DE LINEAS DE CODIGO).

INTERACTUA CON SISTEMAS GRANDES.

- MODO RIGIDO.- FUERTES RESTRICCIONES QUE PUEDEN ESTAR RELACIONADOS CON

EL PROCESADOR Y EL INTERFACE HARDWARE.

2. MODELO INTERMEDIO: TOMA COMO ENTRADAS MILES DE LINEAS DE CODIGO KLOC

Y UN MULTIPICADOR (m(x)).

ATRIBUTOS RELATIVOS AL SOFTWARE

EN TOTAL SE DEFINEN 3 ATRIBUTOS DEPENDIENTES DEL SOFTWARE, Y SE EVALUA EN

EL MODELO “COCOMO”.

LOS FACTORES SELECCIONADOS SE AGRUPAN EN 4 CATEGORIAS:

1. ATRIBUTOS DEL PRODUCTO SOFTWARE

2. ATRIBUTOS DEL HARDWARE

3. ATRIBUTOS DEL PERSONAL INVOLUCRADO EN EL PROYECTO

4. ATRIBUTOS PROPIOS DEL PROYECTO

Page 3: INGENIERIA DE SOFTWARE

CMMI (MODELO DE CAPACIDAD Y MADUREZ INTEGRADO)

ES UN MODELO DE EVALUACION DE LOS PROCESOS DE UNA ORGANIZACIÓN.

NIVELES: EL MODELO PARA SOFTWARE (CMMI) ESTABLECE 5 NIVELES DE MADUREZ.

1. INICIAL.- NO DIPONE DE UN AMBIENTE DE DESARROLLO Y MANTENIMIENTO DE

SOFTWARE.

2. REPETIBLE.- DISPONEN DE UNAS PRACTICAS INSTITUCIONALIZADOS DE GESTION DE

PROYECTOS.

3. DEFINIDO.- DISPONEN CORRECTOS PROCEDIMIENTOS DE COORDINACION ENTRE

GRUPOS.

4. GESTIONADO.- DISPONEN DE UN CONJUNTO DE METRICAS SIGNIFICATIVAS DE

CALIDAD Y PRODUCTIVIDAD.

5. OPTIMIZADO.- MEJORA CONTINUA DE LOS PROCESOS.

PF (PRUEBAS DE SOFTWARE)

TIPOS DE PRUEBA

1. PRUEBAS DE CAJA NEGRA.- SOLO EL INSTALADOR.

2. PRUEBAS DE CAJA BLANCA.-

ESTRUCTURAS DE CONTROL

- IF

- ELSE

- REPEAT

- FOR

OPERADORES LOGICOS

- AND

- OR

- NAND

- NOR

- XOR

3. PRUEBAS DE COMPATIBILIDAD.- SISTEMAS OPERATIVOS, NAVEGADORES, ROLES,

HARDWARE.

4. PRUEBAS DE MANUALES.- WEB.

5. PRUEBAS AUTOMATIZADOS.- IBM RATIONAL ROSE.

6. PRUEBAS DE UNITARIAS.- TDD.

7. PRUEBAS DE INTEGRACION.- TRABAJO EN EQUIPO.

8. PRUEBAS DE ACEPTACION.- REALIZADOS CON EL USUARIO. ALFA.- SE REVISA EN

EL LUGAR DE TRABAJO CON LOS PROGRAMADORES. BETA.- SE REVISA EN

PRESENCIA DEL CLIENTE.

Page 4: INGENIERIA DE SOFTWARE

PF (PUNTOS DE FUNCION)

METRICA QUE SE BASA EN LA FUNCIONALIDAD O UTILIDAD DEL PROGRAMA

CREADO.

TIPOS DE METRICAS DE PF

- FEATURE POINT (PUNTOS DE CARACTERISTICAS).

- MK II FPA

- 3 – D FUNCTION POINT

- FULL FUNCTION POINTS (PUNTOS DE FUNCION COMPLETOS)

- COSMIC FFP

PF (VISION GENERAL)

OBJETIVO: TRADUCIR EN UN NUMERO EL TAMAÑO DE LA FUNCIONALIDAD.

TRANSACCIONES

1. FORMULARIOS DE ENTRADA

2. FORMULARIOS DE SALIDA

DATOS

3. CONSULTAS

4. NRO DE ARCHIVOS

5. INTERFAZ EXTERNA

FORMULA:

CALCULO: PF= PFNA* FA

PFNA= SUMA PF NO AJUSTADOS

FA= (0,01 + (SUMATORIA FC)) +0.65