Diseño de Software, personal Software Process
Enviado por FATIMA DE LA FUENTE ACOLTZI • 3 de Noviembre de 2015 • Resumen • 4.462 Palabras (18 Páginas) • 170 Visitas
Diseño de Software
Objetivos de la lectura
Después de esta lectura:
- Entenderás porque es importante el diseño
- Apreciaras como el DLD se adapta al proceso personal
- Conocerás los principios e ideas que se aplican al diseño
- Reconocerás lo que es un diseño completo
- Serás capaz de representar tus diseño en las plantillas de PSP
Temas
¿Por qué diseñar?
Consideraciones del diseño
Importancia de la representación del diseño
El rol del diseño en PSP
Las plantillas de diseño en PSP
Ejercicios de diseño de software
Alternativas en la representación del diseño
Diseñando en TSP
¿Por qué diseñar?
Preguntar a la audiencia.
Dar 5 minutos para que reflexionen la preguntar y después participen
¿Por qué diseñar?
El diseño de software inicia con un problema (expresado en requerimientos) y genera un diseño (proyecto original) para una solución de software a ser implementada.
El proceso de diseño debería generar una vista general de la solución despejada mediante un bajo nivel de detalle de implementación.
El proceso de diseño no construye la solución, pero explora el espacio potencial de solución y toma decisiones acerca de la estructura y comportamiento de la intención del producto de software.
El diseño resultante guiará el proceso de construcción subsecuente.
Un diseño efectivo minimizara los defectos que resulten desde un entendimiento inconsistente o incompleto del software a ser construido.
Diseñar es una inversión
Los programadores experimentados no necesitan hacer diseños para escribir la mayoría de sus programas.
La habilidad crítica es para el desarrollo de componente a ser usados como partes de sistemas grandes o cuando la calidad es un factor crítico.
Basados en datos de 8,100 programados usando la metodología de PSP, los programados que hicieron un diseño:
- Gastaron 53% más de tiempo que los que no lo hicieron
- Escribieron programas que fueron 46% más pequeños.
Diseñar es un principio clave para alcanzar la escalabilidad en el desarrollo de software. La inversión en el diseño pretende reducir el esfuerzo posterior en un proyecto en encontrar y corregir defectos.
Diseñar es creativo
El diseño de software en un proceso creativo.
El proceso de diseño no puede:
- Reducir a un rutina el procedimiento
- Automatizar
- De manera precisa controlar o predecir
El proceso de diseño puede ser estructurado para:
- Separar la rutina de las actividades creativas
- Asegurar que el trabajo de diseño sea ejecutado apropiadamente
- Identificar herramientas y métodos de diseño efectivas.
Diseñar es un proceso de aprendizaje
Diseñar involucra descubrir, inventar y de manera intuitiva brincar de un nivel de abstracción a otro.
Mientras el diseño debe reflejar los requerimientos, los requerimientos usualmente no son estables hasta que el producto ha sido usado, y entonces.
El trabajo de diseño es iterativo, y este debe ser direccionado a un feedback de todas partes involucradas.
El problema crítico es saber cuando congelar el diseño para producir una siguiente iteración.
Marco de trabajo del diseño
Empieza con los requerimientos iniciales→ se registran datos de los requerimientos de los usuarios → se analizan los datos de los requerimientos → la información se concibe como un diseño de alto nivel → se aclara y documenta el diseño → por último el diseño está completo. Sin embargo en todas estos pasos se valida el diseño contra los requerimientos y se obtienen las respuestas a las preguntas de los requerimientos.
Estructurando el proceso de diseño
Los buenos diseñadores de software siguen un proceso dinámico. Ellos:
- Saltan del concepto al detalle
- Simultáneamente consideran problemas a diferentes niveles de diseño
- Exploran múltiples alternativas
Un proceso de diseño estructurado puede ayudar a administrar el dinamismo del diseño.
- Capturar que se ha aprendido
- Registrar y administrar los problemas
- Seguir el estatus del diseño
Un proceso de diseño implementado apropiadamente reducirá el re-trabajo, administrada tareas de rutina y dará al diseñador la libertad de ser creativo.
Consideraciones del diseño
Durante el diseño, hay muchos problemas a considerar
- Incertidumbre en los requerimientos
- Tecnologías desconocidas
- Preocupaciones de escalabilidad y calidad
- Prototipos
Incertidumbre en los requerimientos
Para la mayoría de los nuevos sistemas de software, los requerimientos no son complemente conocidos hasta después de que los usuarios lo ha usado el producto final.
...