informacion ingenieria software_3!2!15_ambas partes

14
1 Funciones de un Ingeniero de Software identificar sus necesidades. los correctos. que incluya fuentes de información, módulos de procesamiento de información, y resultados esperados. Realizar el análisis de los requisitos. ramas de la arquitectura. Determinar las necesidades esenciales y no esenciales, así como las que son de segundo nivel. Impedir la introducción de defectos tempranamente en la construcción del sistema. Construir el documento de requisitos de usuarios. Establecer una estructura básica inicial del sistema. Establecer interacciones, interrelaciones y sus contextos en dicha estructura. Definir la especificación de la arquitectura del sistema, en forma de un documento técnico Análisis de Requerimientos. 1.-La obtención de requisitos consiste en capturar el propósito y funcionalidades del sistema desde la perspectiva del usuario. Las técnicas para esta tarea son: Entrevistas, Escenarios, Prototipos, Reuniones de Grupo, Observación. Las fases de una entrevista son: planificación, preparación, inicio, desarrollo, cierre y conclusiones. Los casos de uso no son únicamente exclusivos al modelado de requisitos, ya que inicialmente fue ideado para la captura de requisitos funcionales de un sistema, hoy en día se aplica en otros ámbitos de la ingeniería de software. 2.-El análisis de requisitos es el proceso de estudiar las necesidades del usuario para obtener una definición detallada de los requisitos. El modelo conceptual que tiene como objetivo fundamental facilitar la comprensión de los requisitos, mediante su presentación en un lenguaje o notación que comprendan quienes van a trabajar con los requisitos. Notaciones del modelado conceptual. a) La notación de Casos de Uso de UML, es la más utilizada para el modelado y captura de requisitos funcionales. Consta de Actor, Caso de Uso, Escenarios, Relaciones y una Representación detallada. b) Modelos entidad-relación. c) Diagramas de clases UML. d) Notaciones formales.

Upload: sergian-franco

Post on 25-Jan-2016

212 views

Category:

Documents


0 download

DESCRIPTION

Conceptos básicos de la ingeniería de software.

TRANSCRIPT

Page 1: Informacion Ingenieria Software_3!2!15_ambas Partes

1

Funciones de un Ingeniero de Software

identificar sus necesidades.

los correctos.

que incluya fuentes de información, módulos de procesamiento de información, y resultados esperados.

Realizar el análisis de los requisitos.

ramas de la arquitectura.

Determinar las necesidades esenciales y no esenciales, así como las que son de segundo nivel. Impedir la introducción de defectos tempranamente en la construcción del sistema. Construir el documento de requisitos de usuarios. Establecer una estructura básica inicial del sistema. Establecer interacciones, interrelaciones y sus contextos en dicha estructura. Definir la especificación de la arquitectura del sistema, en forma de un documento técnico

Análisis de Requerimientos.

1.-La obtención de requisitos consiste en capturar el propósito y funcionalidades del sistema

desde la perspectiva del usuario. Las técnicas para esta tarea son: Entrevistas, Escenarios,

Prototipos, Reuniones de Grupo, Observación.

Las fases de una entrevista son: planificación, preparación, inicio, desarrollo, cierre y conclusiones.

Los casos de uso no son únicamente exclusivos al modelado de requisitos, ya que inicialmente fue

ideado para la captura de requisitos funcionales de un sistema, hoy en día se aplica en otros

ámbitos de la ingeniería de software.

2.-El análisis de requisitos es el proceso de estudiar las necesidades del usuario para obtener una

definición detallada de los requisitos.

El modelo conceptual que tiene como objetivo fundamental facilitar la comprensión de los

requisitos, mediante su presentación en un lenguaje o notación que comprendan quienes van a

trabajar con los requisitos.

Notaciones del modelado conceptual.

a) La notación de Casos de Uso de UML, es la más utilizada para el modelado y captura de

requisitos funcionales. Consta de Actor, Caso de Uso, Escenarios, Relaciones y una

Representación detallada.

b) Modelos entidad-relación.

c) Diagramas de clases UML.

d) Notaciones formales.

Page 2: Informacion Ingenieria Software_3!2!15_ambas Partes

2

3.-Se denomina especificación de requisitos al proceso de documentar el comportamiento

requerido de un sistema de software. A menudo utiliza una notación de modelado u otro lenguaje

de especificación.

4.-La validación de requisitos consiste en examinar los requisitos para asegurarse de que definen

el sistema que el cliente y los usuarios desean.

Para la validación de requisitos se tienen varios métodos, los cuales son:

a.- Revisión de requisitos.- Un grupo de personas revisa los documentos de requisitos en

busca de inconsistencias, malentendidos, puntos poco claros o conflictos entre requisitos.

Como resultado se elabora y publica una lista de problemas y posibles soluciones.

b.- Prototipado.- El desarrollo de un prototipado constituye una inmejorable forma de

probar cualquier producto. Un prototipo es un modelo fácilmente ampliable y modificable

de un sistema de software, donde se muestran su interfaz y las funcionalidades de

entrada-salida más relevantes.

c.- Validación de modelado.- Sirve para verificar si el modelo es consistente y se refleja

adecuadamente los requisitos reales del sistema.

d.- Pruebas de aceptación.- Consiste en la elaboración de un plan, que establece cómo

deben ser verificados los diferentes requisitos.

Se puede crear una matriz de seguimiento, la cual es una tabla de donde se relacionan dos

documentos, probablemente de dos etapas distintas de desarrollo. Lo anterior es para seguir la

pista de los requisitos a lo largo del desarrollo, fundamentalmente en el diseño, plan de pruebas y

casos de prueba, en cuyo caso recibe el nombre de Matriz de Seguimiento de Requisitos.

5.- Otros elementos del análisis de Requerimientos.

Se denomina actor a un rol perfectamente definido que una persona puede desempeñar en el

Proceso de requisitos.

a. Usuarios.- Se trata de un grupo heterogéneo que comprende a todos aquellos que operan

el software.

b. Clientes.-Todos aquellos que tienen interés en adquirir el software o representan de algún

modo al mercado potencial al que se dirige el software.

c. Analistas de mercado.- Personas especializadas en recabar las posibles necesidades del

mercado obteniendo requisitos a través de los posibles clientes potenciales.

El documento de especificación de requisitos de software contiene un conjunto exhaustivo y

preciso de requisitos, modelados de un lenguaje de especificaciones y validados, los cuales

sirven como contrato entre lo que desea el cliente y lo que los desarrolladores se

comprometen a construir.

Page 3: Informacion Ingenieria Software_3!2!15_ambas Partes

3

Existen dos tipos de requisitos Funcionales y No funcionales.

Un requisito funcional define una función que un sistema o componente de sistemas debe ser

capaz de llevar acabo. Ejemplos:

Imprimir contratos de alquiler, almacenar la información relativa a los contratos de alquiler,

guardar información de pagos y ventas, realizar el seguimiento por cliente del estado de

pagos, etc.

Un requisito No funcional son aquellos que especifican aspectos técnicos que debe incluir el

sistema y que pueden clasificarse en restricciones y calidades. Ejemplos:

El sistema debe estar disponible el 95% de tiempo en un periodo de 24 horas, el desarrollo

debe regirse por procesos y actividades definidos por la metodología de la Administración

Pública Española, el registro de datos debe cumplir con la Ley Orgánica Española.

Modelos de Procesos

Los modelos prescriptivos del proceso de software se han aplicado durante muchos años en un

esfuerzo encaminado a ordenar y estructurar el desarrollo de software.

A) El modelo en cascada sugiere una progresión lineal del marco de trabajo que a menudo

resulta inconsistente con la realidad moderna en el mundo del software (por ejemplo, el

cambio continuo, los sistemas de evolución, las fechas de entrega restringidas). Entonces

el modelo se puede aplicar en las situaciones en las cuales los requisitos están bien

definidos y son estables.

B) Desarrollo rápido de aplicaciones está diseñado para proyectos grandes que se entregan

en marcos de tiempo reducido.

C) Los modelos incrementales producen software como una serie de entregas.

D) Los modelos evolutivos reconocen la naturaleza evolutiva de la mayoría de los proyectos

de Ingeniería de software y están diseñados para ajustarse al cambio

E) El modelo de prototipos y el de espiral generan productos de trabajo incrementales con

rapidez. Y se adaptan para aplicarlos desde el desarrollo hasta el mantenimiento del

sistema.

F) Modelo basado en componentes destaca la reutilización y ensambladura de los

componentes

Según Bennatan, hay cuatro tipos de componentes:

1. Componentes ya Desarrollados.- Se adquiere de un tercero o de desarrollo

internamente para un proyecto previo y que han sido ampliamente validados.

Page 4: Informacion Ingenieria Software_3!2!15_ambas Partes

4

2. Componentes Experimentados.- Especificaciones, diseño, código o datos de

prueba existentes que se desarrollan para proyectos previos o similares. Los

miembros del equipo tienen experiencia en dicho componente

3. Componentes con Experiencia Parcial.- Especificaciones, diseño, código o

datos de prueba existentes que se desarrollan para proyectos previos que

requieren modificaciones sustanciales y que cuentan con experiencia limitada.

4. Componentes nuevos.- El equipo de software debe crear o construir nuevos

componentes de software.

El proceso unificado de un proceso de software guiado por los casos de uso, de arquitectura

céntrica, iterativo e incremental. El proceso unificado se define con 5 fases:

1- Una fase de inicio.

Comunicación con el cliente, actividades de planeación, desarrollo y refinamiento de casos

de uso.

2- Una fase de elaboración. Comunicación con el cliente, actividades de modelado con un

enfoque de la creación de modelos de análisis y diseño.

3- Una fase de Construcción. Refina y traduce el modelo de diseño de componentes de

software implementados.

4- Una fase de transición. Transfiere el software del desarrollador al usuario final para

realizar las pruebas beta y obtener la aceptación.

5- Una fase de Producción en la cual se realiza el monitoreo continuo y el soporte

Diseño

Antes de que el diseño y la construcción de un sistema basado en computadora quedan comenzar,

es necesario entender los requisitos.

Los miembros del equipo de software realizan 7 funciones distintas dentro de la ingeniería de

requisitos: Inicio, Obtención, Elaboración, Negociación, Especificación, Validación y Gestión.

La elaboración posterior expande los requisitos hacia un modelo de análisis, es decir, una

colección de elementos del modelo basado en escenarios, en actividades y clases, de

comportamiento y orientados al flujo.

Objetivo:

Las herramientas para el modelado del análisis proporcionan la capacidad de desarrollar modelos

basados en escenarios, modelos basados en clases y modelos de comportamiento mediante la

notación UML.

El objetivo del modelado de análisis es crear una variedad de representaciones que muestren los

requisitos del software para la información, función y el comportamiento, esto se logra

implementando dos filosofías de modelado, el Análisis estructurado y el Análisis orientado a

objetivos.

Page 5: Informacion Ingenieria Software_3!2!15_ambas Partes

5

El análisis estructurado considera al software como un transformador de información, que ayuda

al ingeniero de software a identificar los objetivos de datos, sus relaciones y la manera en la cual

estos objetivos de datos se transforman mientras fluyen a través de las funciones de

procesamiento del software.

El Análisis orientado a objetivos examina un dominio de problema definido como un conjunto de

casos de uso en un esfuerzo para extraer clases que definen el problema. Cada clase tiene un

conjunto de atributos y operaciones.

El modelo de análisis lo componen 4 elementos: Modelos Basados en Escenarios, de Flujo,

Basados en Clases y Basados en Comportamiento

M. B. Escenarios M. B. en Flujo M. B. en Clases M. B. en Comportamiento

Muestran los requisitos del software desde el punto de vista usuario

Se enfoca en el flujo de objetivos de datos conforme a las funciones de procesamiento que los transforman. Los modelos de flujo se derivan del análisis estructurado

Utiliza información derivada de elementos de modelo orientado al flujo y basado en escenarios para extraer clases candidatas, atributos y operaciones de las narrativas basadas en texto.

Utiliza la entrada de los elementos basados en escenarios y basados en clases para representar los estados de las clases de análisis y del sistema como un todo. Esto se logra identificando los estados, definiendo los eventos que ocasionan que una clase tenga una transición

El caso de uso - Una descripción narrativa basada en una plantilla de una interacción entre un actor y el software. El caso de uso derivado durante la obtención de requisitos define los casos clave para la función o interacción especifica; pero el resultado final proporciona la entrada necesaria a las otras actividades del modelado de análisis.

Diagrama de Flujo de Datos. Muestra la manera en que una entrada se transforma en una salida conforma a los objetivos de datos se mueven a través del sistema. Los nodos representan procesos, los vértices las entradas y salidas a los mismos. Los diagramas de Flujo de Datos pueden descomponerse en sub-diagramas hasta llegar al nivel de granularidad. Los sustantivos son entidades externas (cajas), objetos de datos o de control (flechas) o almacenamiento de datos

Los paquetes de análisis - se utilizan para categorizar y agrupar clases de manera que sean manejables para los sistemas grandes.

Diagramas de Secuencia – Indica cómo los eventos causan transiciones de un objeto a otro, se puede decir que es una versión corta de los casos de uso

Page 6: Informacion Ingenieria Software_3!2!15_ambas Partes

6

(líneas dobles).

Diagrama de Actividad es una representación gráfica del tipo de un diagrama de flujo que muestra el flujo del procesamiento dentro de un escenario especifico.

Este elemento de modelado también muestra el flujo de control (representación que ilustra la forma en que los eventos afectan el comportamiento del sistema).

Diagramas de Clase- Es un conjunto de clases y la relaciones entre ellas, las cuales permiten modelar cualquier entidad mediante la enumeración de sus características que pueden ser estáticos (atributo) o dinámicos (métodos).

Diagramas de Estado- Representa los estados activos para cada clase y los eventos (disparadores) que ocasionan cambios entre estados activos

Diagramas de Carril - ilustra la forma en que el flujo de procesamiento incumbe a varios actores o clases.

Modelos CRC- (Clase Responsabilidad Colaborador ) Puede usarse en la definición de relaciones entre las clases. Además aplica una variedad de notaciones del modelado UML, para definir jerarquías, relaciones, asociaciones, agregaciones y dependencias entre clases.

El flujo de información durante el diseño de software depende de la transformación del modelo de

análisis en un modelo de diseño. La tarea de diseño produce un diseño de Datos-clase, un Diseño

arquitectónico, un diseño de Interfaz y un diseño de Componentes

Page 7: Informacion Ingenieria Software_3!2!15_ambas Partes

7

Elementos del diseño de datos.-

Al igual que otras actividades de la ingeniería de software, el diseño de datos crea un modelo de

datos algunas veces llamado también como Arquitectura de Datos.

Page 8: Informacion Ingenieria Software_3!2!15_ambas Partes

8

Al nivel de abstracción, la traducción de un modelo de datos a una base de datos es esencial para

alcanzar los objetivos de negocio del sistema.

Tenemos tipos de métodos para el diseño.

Métodos estructurado.- Se basan en la aproximación descendente (top-down) que aboga por

descomponer el sistema completo en niveles funcionales desde la perspectiva global completa

hasta el nivel de detalle necesario para su implementación. Las características más importantes

de este modelado son la descomposición funcional, el modelado de datos y la representación del

flujo de información. Entre las técnicas más comunes se tiene.

A) Diagramas de flujo de datos.

B) Diagramas entinad-relación.

C) Diccionario de datos.

D) Diagramas de estructura.

Métodos orientados a objetos.

En UML los diagramas están clasificados en dos grupos:

a) Diagramas de estructura.- Reflejan la estructura física del sistema por medio de sus clases,

métodos, atributos, interfaces, paquetes, etc. Y sus relaciones.

b) Diagramas de comportamiento.- Muestran la forma en los distintos elementos del sistema

interaccionan, colaboran y cambian de estado durante la ejecución del sistema para

proveer la funcionalidad requerida.

Los diagramas de UML son:

1. Diagramas de casos de uso

2. Diagrama de clases

3. Diagrama de componentes

4. Diagrama de iteración

a. Diagramas de secuencia

b. Diagrama de comunicación

5. Diagrama de estado

6. Diagramas de despliegue

7. Diagramas de actividad

8. Diagramas de paquete.

Pruebas

El objetivo principal del diseño de casos de prueba consiste en derivar un conjunto de pruebas

que tenga la mayor probabilidad de descubrir errores en el software.

Un caso de prueba es un conjunto de entradas, condiciones de ejecución y resultados esperados

que han sido desarrollados para un objetivo particular.

Page 9: Informacion Ingenieria Software_3!2!15_ambas Partes

9

Un fallo es un efecto indeseado en las funciones o prestaciones desempeñadas por un software.

Se domina error o defecto a una imperfección en el software que provoca un funcionamiento

incorrecto del mismo.

Se puede emplear dos categorías: Las pruebas de caja blanca y las pruebas de caja negra.

a) Las pruebas de caja blanca se concentran en la estructura del control del programa, los

casos de prueba se derivan para asegurar que todas las instrucciones del programa se

ejecuten por lo menos una vez durante la prueba y que todas las condiciones lógicas se

ejerciten.

b) Las pruebas de caja negra. Los casos de prueba se basan en el comportamiento de la

entrada y la salida de datos

Las pruebas del sistema se enlistan a continuación:

1) Pruebas de funcionalidad y operativa.- Se trata de pruebas de la caja negra.

2) Pruebas de rendimiento.

3) Pruebas de aceptación

4) Pruebas de instalación.- Las pruebas de aceptación comparan el comportamiento de un

módulo o sistema de software completo con las necesidades del cliente.

5) Pruebas alfa y beta.

6) Pruebas de conformidad.

7) Pruebas de regresión

8) Pruebas de desgaste.

9) Pruebas de recuperación.

10) Pruebas de configuración.

11) Pruebas de usabilidad.- Evalúan la facilidad con la que los usuarios utilizan el software,

evalúa también la claridad de la documentación para el usuario.

Métricas

Tenemos tres tipos de entidades para medir la Ingeniería de Software.

Productos.- Es cualquier entregable o documento que resulta de cualquiera de las actividades

(procesos) del ciclo de vida del software. El código fuente, las especificaciones de requisitos , los

diseños, el plan de pruebas y los manuales de usuario son algunos productos.

Producto Atributos Internos Atributos Externos

Especificaciones Tamaño, reutilización Calidad, legibilidad

Diseño Tamaño, acoplamiento, cohesión, complejidad

Calidad, complejidad

Page 10: Informacion Ingenieria Software_3!2!15_ambas Partes

10

Código Tamaño, complejidad Facilidad de mantenimiento, fiabilidad

Casos de prueba Numero de casos, % de cobertura. Calidad

Medidas por producto

I Atributos internos

Medidas del tamaño del sistema

a. La cuenta de líneas de código.

Los puntos de función miden el tamaño del software por la cantidad de funcionalidad

que proporcionan a los usuarios (sin considerar al código fuente). Se basan en la cuenta

de entradas, salidas, accesos y modificaciones a las bases de datos y ficheros que se

ponderada por la complejidad de cada uno de ellos. Un ejemplo de métrica indirecta en

el tamaño del software es la densidad de comentarios de un programa.

b. Medidas de complejidad del software

c. Medidas de documentación

d. Medidas de reutilización

e. Medidas de eficiencia

II Atributos externos

a. Modelo de McCall.

b. Modelo Bohem

c. Estándar ISO 9126 y su evolución ISO 14598.

Medidas por Proceso.- Son todas las actividades del ciclo de vida del software : requisitos ,

diseño, construcción, pruebes, mantenimiento, etc. Y su medición sirve para ver su estado para

después mejorarlos

Proceso Atributos Internos Atributos Externos

Requisitos Tiempo, esfuerzo, número de requisitos.

Calidad, coste, estabilidad.

Diseño Tiempo, esfuerzo, número de errores. Calidad, coste, estabilidad.

Diseño Tiempo, esfuerzo, número de errores. Calidad, coste, estabilidad.

Existen dos tipos de métricas:

Las Internas.- Incluyen el tiempo de desarrollo del producto, el esfuerzo y el número de

incidencias del desarrollo.

Las Externas.- Incluyen la facilidad de observación, la estabilidad del proceso o su coste.

Page 11: Informacion Ingenieria Software_3!2!15_ambas Partes

11

Ejemplo. CMMI, SPICE, ISO 9000, SIX SIGMA Y COBIT.

Medidas por Recursos.- Cualquier entrada de una actividad. Por ejemplo, el número de personas

por actividad o por proyecto, las herramientas utilizadas (para requisitos, compiladores, etc.),

oficinas, computadoras, etc.

Recurso Atributos Internos Atributos Externos

Personal Edad, salario Productividad, experiencia.

Equipos Número de personas, estructura del equipo.

Productividad, experiencia.

Software Coste, número de licencias. Utilidad y factibilidad.

Hardware Marca, coste, especificaciones técnicas. Utilidad y factibilidad.

Existen las siguientes métricas para recursos:

Medidas de personal

Medición de las herramientas

Medición de los materiales

Medición de los métodos

Existen también metodologías y estándares de medición.

a. Método objetivo-pregunta-métrica

b. Estándar IEEE 1061-1998

c. PSM y el estándar ISO/MEC 15939

d. Estándar ISO/IEC 9126

Existen también Estudios Empíricos o evaluación Empírica de métricas de Ingeniería de Software

los cuales se basan en los siguientes instrumentos:

Entrevistas.- son estudios retrospectivos cuya intención es documentar relaciones y resultados,

siendo una de las herramientas más útiles para recabar un buen número de datos que

posteriormente serán analizados.

Casos de uso.- Son empleados para identificar y documentar factores clave que pueden afectar

los resultados de una actividad. Investigan por medio de la observación entornos reales para

contrastar o evaluar datos para descubrir tendencias.

Experimentos formales.- Se emplean para, de forma controlada y rigurosa, investigar aquellos

factores que afecten a las actividades a realizar. Medir el efecto de influencia de una variables

en otras. Un ejemplo es el estudio de que los estudiantes tienen diferentes niveles de

Page 12: Informacion Ingenieria Software_3!2!15_ambas Partes

12

comprensión de la lógica de un programa en función de la herramienta de presentación

utilizada. Se demostró con el estudio que los estudiantes prefieren los diagramas de flujo, pues

les ayuda a comprender mejor los programas que el seudocódigo.

Los instrumentos anteriores se utilizan para estudios cualitativos y cuantitativos. Los cualitativos

buscan la interpretación de un fenómeno en su entorno natural, recabando información entre

las persona involucradas. Mientras que los cuantitativos buscan medir la influencia de una

variable en un fenómeno, es decir, la relación causa-efecto entre ambos.

Ejemplo. La relación entre la profundidad en la jerarquía de clases en un diseño orientado a

objetos y el número de errores en el código de una clase.

Benchmarking implica comparar las prácticas reales o planificadas del proyecto con aquellas de otros proyectos, a fin de generar ideas para mejorar o para establecer una norma por medio de la cual medir el desempeño de un proyecto.

Mantenimiento

Tipos de Mantenimiento

1) Mantenimiento correctivo.- Modificaciones reactivas a un producto de software hechas

después de la entrega para corregir defectos descubiertos.

2) Mantenimiento adaptatitvo.- Modificación de un producto de software realizada después

de la entrega para permitir que dicho producto siga en uso en un ambiente diferente.

3) Mantenimiento perfectivo.- Modificación de un producto de software después de la

entrega para mejorar el rendimiento o la facilidad de mantenimiento.

Las técnicas para el mantenimiento de software son:

1) Ingeniería inversa

a) I. inversa de datos.- Se aplica sobre un código de bases de datos para obtener los

modelos relacionales y para obtener el diagrama conceptual.

b) I. inversa de procesos.- Se aplica sobre el código de un programa para extraer su lógica

o obre un documento de diseño para obtener documentos de análisis o de requisitos.

2) Reingeniería.- Modificación de un producto de software o de ciertos componentes usando

para el análisis del sistema existente técnicas de ingeniería inversa y para la reconstrucción

herramientas de ingeniería directa.

3) Reestructuración

Calidad

Modelos de Calidad

1) Modelo de calidad de McCall. Tiene una serie de factores que se clasifican de la siguiente

forma:

Page 13: Informacion Ingenieria Software_3!2!15_ambas Partes

13

A) Operación.- corrección, fiabilidad, eficiencia, integridad usabilidad.

B) Revisión.- facilidad de mantenimiento, facilidad de evaluación, flexibilidad.

C) Transición.- portabilidad, usabilidad, interoperabilidad.

2) Modelo de Boëhm

Utilidad General

Utilidad de cómo está Facilidad de mantenimiento Portabilidad

Fiabilidad, Eficiencia, Ergonomía

Facilidad de evaluación, comprensibilidad, Facilidad para modificar

3) Modelo de calidad de ISO/IEC 9126. Su objetivo es proporcionar tanto una especificación

de la calidad de productos software como un modelo para su evaluación. Se divide en

cuatro partes:

1) Modelo de calidad ISO/IEC 9126-1-2001

2) Métricas externas ISO/IEC TR 9126-2-2003

3) Métricas internas ISO/IEC TR 9126-3-2003

4) Calidad en las métricas de uso ISO/IEC TR 9126-4-2004

Otros modelos, estándares y especificaciones relacionados a la calidad en el software.

ITIL, TRILLIUM, BOOTSTRAP, PSP, TSP, TICKIT, SIX SIGMA, SPICE.

La Estimación de coste, plazos y esfuerzo

En general se puede definir ESTIMACION como el proceso de determinar una variable a partir de

otras conocidas. La Estimación de coste, plazos y esfuerzo es parte esencial de la Planificación de

cualquier tipo de proyectos.

Se tiene diferentes métodos:

A) Estimación mediante juicio de expertos.

a. Método Delphi.

b. Estimación de expertos por analogía.

B) Puntos de función

a. IFPUG

b. COSMIC

C) Modelos algorítmicos o paramétricos.

a. Regresión estadística. ISLIM, COCOMO

D) Métodos basados en Inteligencia Artificial.

a. Sistemas basados en reglas.

b. Razonamiento basado en reglas.

Page 14: Informacion Ingenieria Software_3!2!15_ambas Partes

14

c. Redes neuronales.

d. Arboles de decisión.

E) Sistemas dinámicos.

F) Evaluación de modelos.

La Planificación y seguimientos del proyecto.

Consiste en identificarlas tareas del proyecto, las relaciones entre las tareas (el orden en que

deben ser ejecutadas), asignar los recursos a las tareas y estimar los plazos de ejecución las tareas.

Técnicas y métodos para la planificación:

A) Estructura de descomposición del trabajo.

B) Los métodos gráficos CMP (método del camino critico) y PERT (evaluación y revisión de

proyectos).

C) Diagramas de GANTT. Muestran las evolución de las tareas con sus fechas e hitos.

D) Método del Valor Conseguido (EVM) Permite hacer el seguimiento del proyecto integrando

información de plazos y costes, así como visualizar dicha información en una gráfica de tres

variables que muestran la evolución del proyecto.