PDF de programación - Software

Imágen de pdf Software

Softwaregráfica de visualizaciones

Publicado el 7 de Julio del 2017
347 visualizaciones desde el 7 de Julio del 2017
69,7 KB
30 paginas
Creado hace 9a (21/12/2010)
SOFTWARE

Software

 Programa
 Paradigmas de programación
 Cómo se produce software
 Cómo se produce software
 Modelos de procesos
 Atributos del buen software

Programa
 Representación de un programa

Entrada

Programa

Salida

 Cómo son los programas
 Cómo son los programas

Un programa

 Modela un problema
 Modela un problema

 En función del problema
 Modelo de desarrollo

 Cajero automático vs. Diagnóstico médico

Programa
Programa
Modelos de desarrollo

 Diferentes enfoques de implementación
 Cada uno

Modelo de construcción de programas
Modelo de construcción de programas

(paradigma de programación)

Metodología de desarrollo de programas

asociado
i d

Programa
Programa
Objetivos del paradigma y metodología

 Paradigma

de

programación:

Forma
arquitectónica para construir/desarrollar el
programa
p g
Asociado a lenguajes
Metodología de programación
 Metodología de programación
Pasos a seguir para construir/desarrollar el

programa

Paradigmas de programación

 Funcional
 Lógico
 Imperativo
 Imperativo
 Orientado a objetos
 …

Paradigmas de programación

 Funcional

 Manejo implícito de la memoria.
 Esencial: concepto de función.
 Programa: Conjunto de funciones + aplicación a

p

datos

 Ejemplos: LISP, Scheme, ML.

Paradigmas de programación

 Lógico

Basado en el calculo de predicados.
Mecanismo de demostración automática de
Mecanismo de demostración automática de

teoremas.

Programa: Conjunto de axiomas
Programa: Conjunto de axiomas

objetivo.

y un
y un

Ej
Ejemplo: Prolog.

l P l

Paradigmas de programación

 Imperativo

 Esencial: Asignación y secuenciación
 Programa: Secuencia de instrucciones
 Ejemplos: Fortran, Algol, Basic, C, Pascal

g

Paradigmas de programación

 Orientado a Objetos

Mundo real = objetos + interacción
Esencial: conceptos de objeto, herencia y
y

p

j

,

mensaje

mensajes

Programa: Conjunto
Programa: Conjunto

de
de

objetos
objetos

+

Ejemplos: Smalltalk
Java C++ Obliq
Ejemplos: Smalltalk, Java, C++, Obliq,

Dylan, CLOS, Squeak, etc.

Paradigmas de programación

 Independiente del paradigma

Ciclo de desarrollo/vida de un programa
Configuración de un programa
Configuración de un programa

Ciclo de desarrollo/vida de un programa

P A áli

 IS. Describir el problema
 P. Análisis
i
 P. Diseño
 P. Implementación
 P/IS. Prueba
 IS/P. Instalación
 U. Uso
U. Uso
 IS/P. Mantenimiento
 C Obsolescencia
 C. Obsolescencia

C.D.
C

C.V.

Configuración de un programa

 C.P. = Código + Documentación

 Descripción del problema
 E/S/I
 Algoritmo (Análisis + Diseño)
 Pruebas

 Resultado esperado
 Casos de prueba
 Resultados obtenidos
 Resultados obtenidos

 Código

Cómo se produce software

 A finales de los 70 (Crisis del Software):

 Proyectos software contratados por el DoD Americano:
 Proyectos software contratados por el DoD Americano:

Usado pero con
trabajo extra o
abandonado
despues
´
19%

Pagado pero
nunca
entregado
entregado
29%

Entregado
pero nunca
pero nunca
usado
48%

Usado después
de cambios
de cambios
~ 3%

Usado tal como
Usado tal como
se entregó
~ 1%

Año 1979
Año 1979
Total: $6.8 millones

Cómo se produce software

 A finales de los 80. Capers Jones estudia
el software adquirido por la Administración
Pública Americana:

 Sólo entre el 5% y el 10% era directamente

usable.

 Entre el 30% y el 40% nunca se había usado o

nunca se podría usar.

Cómo se produce software

 En la década de los 90. Standish Group

en su Chaos 2001 Report:
Proyectos de desarrollo “exitosos”:
Proyectos de desarrollo exitosos :

 16% en 1994.
 27% en 1996
 27% en 1996.
 26% en 1998.
 28% en 2000
 28% en 2000.

Cómo se produce software

 Actualmente. Standish Group en su Chaos 2006

R
t
Report:
 Proyectos de desarrollo “exitosos”:

 35% en 2006 (vs. 16% en 1994).

 Proyectos “challenged”:

 46% en 2006 (vs. 53% en 1994).
53% 1994)

46% 2006 (

 Proyectos de desarrollo “completamente fallidos”:

 19% en 2006 (vs 31% en 1994)
 19% en 2006 (vs. 31% en 1994).

 Conclusiones:

 Se va mejorando progresivamente el desarrollo de software
 Se va mejorando progresivamente el desarrollo de software

desde el primer Chaos Report en 1994

Cómo se produce software
Cómo se produce software
Consecuencias (no satisfactorios)
)

(

 Desviaciones en costes y tiempos

y
 Muchas veces inaceptables

p

 No uso

 Calidad pobre en sistemas, incluso vitales

 Funcionalidad recortada
u c o a dad eco ada
 Rendimiento mejorable
 Etc.
 Etc.

 Documentación escasa o nula
 Mantenibilidad: difícil y costosa
 Mantenibilidad: difícil y costosa

Cómo se produce software
Cómo se produce software
Para seguir mejorando

g

j

 Seguir trabajando en los diferentes aspectos del

g

p

j

desarrollo de software: las 4 “P”
 Problema: es una realidad, que se plasma en un
 Problema: es una realidad, que se plasma en un
 Producto: que se obtiene a través de un
 Proceso: que realizan las
 Proceso: que realizan las
 Persona: que una vez conocido el problema

obtienen el producto a través de un proceso
obtienen el producto a través de un proceso

Cómo se produce software
Cómo se produce software
Las 4 “P”

Personas

Producto

(Programas,
documentos y datos)

Problema

Entorno

i

- Clientes/usuarios
t

P ti
- Participantes
- Sistemas
- Tecnología
- Etc.
Et

Proceso

(Actividades, acciones y tareas)

Ej. Relaciones complejas

- Un producto “satisfactorio” puede que no sea bueno

- Sumar los 2 primeros números (1, 2, 3)

Cómo se produce software
Cómo se produce software
Solución básica

 Modelos de proceso + Gestión
 Gestión

 Proyecto

 Estimación
 Equipo trabajo
 Recursos
 Recursos
 Tareas
 Productos a entregar

O Otras

 Gestión de la configuración
 Gestión de la calidad
 Gestión de la calidad
 Gestión de riesgos

Modelos de proceso

 Definen un “Conjunto Distinto” de actividades, acciones,
tareas y productos de trabajo que se requieren para
tareas y productos de trabajo que se requieren para
producir software de alta calidad

no
no

perfectos
perfectos

(Flexibilidad
(Flexibilidad

vs
vs.

 Son
 Son

una
una

guía
guía,

Dogmatismo)
 Los IS “escogen”, “adaptan” y “siguen” un modelo
Los IS escogen , adaptan y siguen un modelo
 Tipo de problema
 Complejidad del problema
 Recursos
 Cultura organizacional
t
D

 Dan estabilidad, control y organización


t bilid d

i

l

Modelos de proceso

 Prescriptivos
 Secuencial
 Cascada
 V

 Incremental

 Incremental
 D.R.A
 Evolutivo

 Prototipado
 Espiral

 Especializados
 Especializados

 Desarrollo basado en componentes
 Modelos de métodos formales
 Desarrollo orientado a aspectos
 Desarrollo orientado a aspectos

Modelos de proceso
Modelos de proceso

Proceso software

Estructura

Actividades sombrilla
Actividad 1 (Marco)
)
Acción 1.1
Tareas

(




Acción 1.N
cc ó
Tareas


Acción N.1
Tareas


Acción NN


Acción N.M
Tareas



Tareas …

Actividad N (Marco)
Acción N.1
Tareas

Como Actividad 1

Modelos de proceso

 Actividades genéricas

i

 C

 Comunicación
 Planificación (gestión)
 Modelado
 Modelado
 Análisis
 Diseño

 Construcción

 Código
 Prueba
b

P

 Despliegue

 Entrega
 Entrega
 Retroalimentación

Modelos de proceso

 Actividades sombrilla

Seguimiento y control de proyectos
Administración del riesgo
Aseguramiento de la calidad
Revisiones técnicas
Administración de la configuración
Administración de la reutilización
Administración de la reutilización
Etc.

Atributos del buen software

 Mantenibilidad

 Crítico
 Cambio inevitable
 Facilidad de evolución

 Confiabilidad. Ante fallos no se pueden causar

daños físicos o económicos
 Fiabilidad
 Protección
 Seguridad

g

Atributos del buen software

 Eficiencia

Optimización de los recursos del sistema

 Tiempos de respuesta
 Tiempos de procesamiento
 Memoria
Et Etc.

 Usabilidad

Facilidad de uso por el usuario

 Interface adecuada
 Buena documentación

Retos

H t

 Heterogeneidad
id d
 Entregag
 Confianza

t

ti

P
Preguntas antiguas y poliédricas.
Realidades viejas
Realidades viejas

liéd i

 Se tarda demasiado en construir el software
 Se tarda demasiado en construir el software
 Los costes de desarrollo son altos
 No se pueden encontrar todos los errores
 Mucho tiempo y esfuerzo en mantenimiento
 Dificultad de medir/cuantificar el avance

 Desarrollo
 Desarrollo
 Mantenimiento
  • Links de descarga
http://lwp-l.com/pdf4970

Comentarios de: Software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad