14
27/03/2013 1 MANUEL ROJAS V INGENIERO EN INFORMÁTICA MAGISTER EN TECNOLOGÍAS DE INFORMACIÓN EL PROCESO INVOLUCRADO EN EL DESARROLLO DE SOFTWARE Agenda Introducción 1.1 Definiciones 1.2 Consideraciones de software y hardware 1.3 Factores de calidad y productividad 1.4 Problemas y soluciones en la administración de software

02 unidad i proceso

Embed Size (px)

Citation preview

Page 1: 02 unidad i   proceso

27/03/2013

1

MANUEL ROJAS V

INGENIERO EN INFORMÁTICA

MAGISTER EN TECNOLOGÍAS DE INFORMACIÓN

EL PROCESO INVOLUCRADO 

EN EL DESARROLLO DE SOFTWARE

Agenda

Introducción

1.1 Definiciones

1.2 Consideraciones de software y hardware

1.3 Factores de calidad y productividad

1.4 Problemas y soluciones en la administración de

software

Page 2: 02 unidad i   proceso

27/03/2013

2

1.1 DEFINICIONES

¿Qué es el Software?

Software

Es un conjunto de elementos u objetos Que conforman

una configuración

Incluye

• Programas

• Documentos

• Datos

Page 3: 02 unidad i   proceso

27/03/2013

3

¿Qué es el software?

¿Qué es el software?

El software en ingeniería

El software no caduca

El software es complejo

El software es un ‘diferenciador’

El software es como una fábrica antigua’

Page 4: 02 unidad i   proceso

27/03/2013

4

Aplicaciones de Software

Software de Sistema

Software de Tiempo Real

Software de Negocios

Software de Ingeniería/Científico

Software Incrustado

Software de PC

Software de IA

Aplicaciones Web

¿Qué es la ingeniería de software?

Una disciplina que integra métodos, herramientas y

procedimientos para el desarrollo de software de

computadora bajo un enfoque de calidad.

Page 5: 02 unidad i   proceso

27/03/2013

5

Tecnología Estratificada

INGENIERÍA DE SOFTWARE

Enfoque de “Calidad”

modelo de proceso

métodos

herramientas

1.2 Proceso

Page 6: 02 unidad i   proceso

27/03/2013

6

Proceso de desarrollo de Software

El proceso de desarrollo de software contiene tres fases

genéricas, independientemente del paradigma de ingeniería

elegido. Las tres fases, definición, desarrollo, y mantenimiento,

se encuentran en todos los desarrollos de software

independientemente del área de aplicación, del tamaño del

proyecto o de la complejidad.

El Proceso comoSolución de Problemas

Definición 

del

Problema

Desarrollo

Técnico

Mantenimiento

Status

Quo

Page 7: 02 unidad i   proceso

27/03/2013

7

Fase de definición del Software

La fase de definición se centra sobre el

• Durante la definición, el que desarrolla el software intenta

identificar

Qué información debe ser proporcionada,

Qué función y rendimiento se desea,

Qué interfaces se deben establecer,

Qué restricciones de diseño existen y …

Qué criterios de validación se necesitan para definir un sistema correcto.

Aunque los métodos aplicados durante la fase de definición variarán

dependiendo del paradigma de ingeniería del software aplicado, de

alguna forma se producirán tres pasos específicos:

qué

Fase de definición del Software

Análisis del sistema. Define el papel de cada elemento del sistema

informático, asignando finalmente al software el papel que va a

desempeñar.

Planificación del proyecto de software. Una vez establecido el ámbito

del software, se analizan los riesgos, se asignan los recursos, se

estiman los costos, se definen las tareas y se planifica el trabajo.

Análisis de Requerimientos. El ámbito establecido para el software

proporciona la dirección a seguir, pero antes de comenzar a trabajar

es necesario disponer de una información mas detallada del ámbito

de información y de función del software.

Page 8: 02 unidad i   proceso

27/03/2013

8

Fase de desarrollo del Software

La fase de desarrollo se centra en el

• Esto es, durante esta fase. El que desarrolla el software intenta

descubrir;

Cómo han de diseñarse las estructuras de datos y la arquitectura del software,

Cómo han de implementarse los detalles procedimentales,

Cómo ha de traducirse el diseño a un lenguaje de programación y…

Cómo ha de realizarse la prueba.

Los métodos aplicados durante la fase de desarrollo varían, pero de alguna

forma se aplicarán tres pasos concretos.

cómo

Fase de desarrollo del Software

Diseño de software. El diseño traduce los requisitos de software a un conjunto de

representaciones (algunas gráficas y otras tabulares o basadas en lenguajes) que

describen las estructuras de bases de datos, la arquitectura, el procedimiento

algorítmico y las características de la interfaz.

Codificación. Las representaciones del diseño deberán ser traducidas a un

lenguaje artificial (un lenguaje de programación convencional o un lenguaje no

procedimental T4G), dando como resultado unas instrucciones ejecutables en la

computadora.

Prueba del software. Una vez que el software ha sido implementado en una forma

ejecutable por la maquina, debe ser probado para descubrir los defectos que

puedan existir, en la función, en la lógica y en la implementación.

Page 9: 02 unidad i   proceso

27/03/2013

9

Fase de mantenimiento del Software

La fase de mantenimiento se centra en el cambio

que va asociado a la corrección de errores, a las adaptaciones

requeridas por la evolución del entorno del software y a las

modificaciones debidas a los cambios de requisitos del usuario

dirigidos a reforzar o ampliar el sistema.

La fase de mantenimiento vuelve a aplicar las fases de definición y

de desarrollo, pero en el contexto del software ya existente.

Durante la fase de desarrollo se encuentran tres tipos de cambio

Cambio

Fase de mantenimiento del Software

Corrección. Incluso llevando a cabo las mejores actividades de garantía de

calidad, es muy probable que el cliente descubra defectos en el software. El

mantenimiento correctivo cambia el software para corregir los defectos.

Adaptación. Con el paso del tiempo es probable que cambie el entorno

original (sistemas operativos, equipos periféricos, etc.) para los que se

desarrollo el software. El mantenimiento adaptívo consiste en modificar el

software para acomodarlo a los cambios de su entorno externo.

Mejora. Conforme utilice el software, el usuario puede descubrir funciones

adicionales que podrían interesar que estuvieran incorporadas en el

software. El mantenimiento perfectivo amplia el software mas allá de sus

requisitos funcionales originales.

Page 10: 02 unidad i   proceso

27/03/2013

10

Enfoque de calidad

Las fases y pasos relacionados descritos en la visión genérica de la

ingeniería de software, se complementan con varias actividades:

Las revisiones que se realizan durante cada paso para asegurar que

se mantiene la calidad.

La documentación que se desarrolla y controla para asegurar que

toda la información sobre el sistema y el software estará disponible

para un uso posterior.

El control de cambios que se instituye de forma que los cambios

puedan ser mejorados y registrados.

Enfoque de calidad

La prueba de software es un elemento de un concepto más amplio

que, a menudo, se referencia como verificación y validación.

La verificación se refiere al conjunto de actividades que

aseguran que el software implementa correctamente una función

específica.

La validación se refiere a un conjunto de actividades que

aseguran que el software construido se ajusta a los requisitos del

cliente. Bohem lo establece de otra forma:

Verificación: ¿ Estamos construyendo el producto correctamente?

Validación: ¿ Estamos construyendo el producto correcto?

Page 11: 02 unidad i   proceso

27/03/2013

11

Framework de Proceso Común

Framework de Proceso Común

Actividades del Framework

Tareas de Trabajo

Productos de Trabajo

Hitos y Entregables

Puntos de Chequeo AC

Actividades “Paraguas”

1.3 CONSIDERACIONES DE SOFTWARE Y HARDWARE

Page 12: 02 unidad i   proceso

27/03/2013

12

El Modelo de Proceso:

Adaptabilidad

Las actividades del framework serán siempre aplicadas a

todo proyecto… PERO

Las tareas (y el grado de rigor) para cada actividad

variará con base en:

El tipo de proyecto (un “punto de entrada” al modelo)

Características del proyecto

Aplicar el sentido común; concurrencia del equipo del proyecto

1.3 FACTORES DE CALIDAD Y PRODUCTIVIDAD

Page 13: 02 unidad i   proceso

27/03/2013

13

Factores que influencían el resultado

Tamaño

Tiempo de entrega

Presupuestos y costos

Dominio de la aplicación

Tecnología a ser implantada

Restricciones del sistema

Requerimientos del usuario

Recursos disponibles

El Objetivo Primordial: Alta Calidad

¿Por qué?

¡Menos retrabajo!

Recordar:

Alta Calidad = Líneas de Tiempo del Proyecto

Page 14: 02 unidad i   proceso

27/03/2013

14

1.4 Problemas y Soluciones en la Administracióndel Software.

RETOS

¿Cómo asegurarse de la calidad del software que producimos?

¿Cómo satisfacer la demanda creciente y aún mantenerse en el control

presupuestal?

¿Cómo actualizar un “software de planta” antiguo?

¿Cómo evitar desastrosos retrasos de tiempo?

¿Cómo poder instituir exitosamente nuevas tecnologìas de software?

Soluciones

Administración de Proyectos de Software

Revisiones Técnicas Formales

Aseguramiento de la Calidad del Software

Administración de la Configuración del Software

Preparación y Producción de Documentos

Administración del Reuso

Métrica

Administración de Riesgos