02 unidad i proceso
Transcript of 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
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
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’
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.
27/03/2013
5
Tecnología Estratificada
INGENIERÍA DE SOFTWARE
Enfoque de “Calidad”
modelo de proceso
métodos
herramientas
1.2 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
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.
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.
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.
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?
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
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
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
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