Please enable JavaScript.
Coggle requires JavaScript to display documents.
Scaling up the Personal Software Process - Coggle Diagram
Scaling up the Personal Software Process
El poder de las abstracciones
Podemos crear abstractos y combinarlos arbitrariamente en las tracciones más grandes
Incluso si sabemos nada sobre la estructura interna de estas abstracciones, podemos nombrar y usar que siempre conozcamos todas sus especificaciones externas más importantes
Si nos acostamos a las capacidades de los sistemas que apoyamos, podemos crear cualquier estructuras lógicas que elijamos
El ingeniero de software tiene conceptos de pautas estructurales como resistencia de materiales o coeficientes de fricción.
Con el hardware a menudo se puede determinar que el rendimiento de algunos elementos tendrá un impacto del 10% en el sistema mientras que otros tendrá un impacto inferior al 1%
las limitaciones físicas de los ingenieros de hardware nos enfrentamos a las intelectuales, a medida que los productos se ponen más complejos somos incapaces de captar todos los detalles críticos
los elementos del trabajo intelectual
la memoria corto plazo es un principal bloc de notas intelectual
Memoria experta
Cada uno de nosotros tiene diferentes capacidades de memoria se identificado formas en que las personas pueden expandir sus capacidades intelectuales
las habilidades únicas de los expertos se aplicaron son los patrones significativos de los juegos reales que recordaron como fragmentos,
mediante el uso de fragmentos los maestros de ajedrez podrán almacenar patrones completas información en memoria corto plazo
los jugadores aficionados carecían del vocabulario extenso y en cambio llenaban su capacidad de memoria y a corto plazo de cinco a nueve elementos con recuerdos de piezas individuales.
Habilidad experta
la construcción de vocabularios fragmentados es como la construcción de vocabulario de palabras.
Lo hacemos en concientemente amiga queremos habilidades experiencia, con ese vocabulario podemos pensar en términos más apropiados.
Con experiencia se puede construir una conexión más rica de construcciones más grandes y se puede juzgar rápidamente dónde y cómo usarlas por lo tanto se puede trabajar con sistemas más grandes y aún conservar el control intelectual.
Las etapas del tamaño del producto
Etapa 0
elementos del programa pequeños escritos sólo por programadores
Etapa 1
programas pequeños son módulos diseñados implementados y probados por los programadores solos
Etapa 2
programas o componentes más grandes que generalmente involucran equipo de desarrolladores que desarrollan integran múltiples módulos.
Etapa 3
proyectos muy grandes que involucren a múltiples equipos controlados y de gestión central de proyectos
Etapa 4
Multi sistemas masivos que involucra muchos proyectos autónomos o débilmente federados
desarrollo de programas a gran escala
los paradigmas descara la luna manejar productos de mayor tamaño cuando se enfrenta un producto más complejo se procede a una habilidad y experiencia
si se ha creado un producto similar se puede utilizar un proceso anterior si conoce en que se haya creado un producto puede copiar o adaptar el proceso
el proceso que selecciones eficaz estado de mente definido esta reutilización del proceso problablemente adecuada
puede que sepa cómo construir algunos componentes pero carece de una comprensión fundamente el problema total.
Una estrategia sería abordar este problema de forma parecida a la segunda y asumir que una vez que empiece de alguna manera poder superarlo
se sugiere una forma de abordar el producir un sistema y desecharlo se tiene un conocimiento en caso de que la estrategia se haya dictado concientemente al prototipo de información y conocimiento
también es una forma eficaz de protegerse contra un desastre total dichos prototipos deben desarrollarse como objetivos explícitos para la comprensión del sistema
Un problema potencial con abstracciones
hay varias formas de atacar el problema es que habilidad podría sustituir un sistema completo en partes y aún haber vivido el trabajo de manera útil
los diseñadores tienen limitaciones no pueden utilizar de forma eficaz una grande cantidad de piezas desconocidas
el simple hecho de idear un lenguaje más rico puedo ayudar pero esto no aborda la escabilidad
una vez que se definen los elementos objetivos del sistema podrán esperar simplemente cuentan los objetos para formar el sistema
para tener una estabilidad útil no sólo debe cumplir con los requisitos de la estabilidad física sino también capturar una función significativa del sistema en las partes
La estrategia de desarrollo
una estrategia bien fundada debe considerar la estructura lógica del producto final
el producto tiene una estructura secuencial, el desarrollo podría seguir una secuencia de mejoras progresivas
al considerar cada desarrollo en términos de la estructura natural del producto, puede producir una estrategia que se adapte naturalmente al el.
Cada uno de los enfoques tiene ventajas y desventajas una estrategia de arriba abajo asegura que cada ciclo tenga un contexto operativo claro y requisitos bien definidos
el principal problema con el enfoque de arriba abajo es que las reacciones de nivel inferior deben eliminarse o evitarse debido a que algunas de estas funciones pueden estar definidas de manera incompleta
debido a que algunas de estas funciones pueden estar definidas de manera incompleta las funciones del nivel superior pueden utilizarse incorrectamente
le estrategia de mejora funcional define una versión inicial del sistema o kernel y agrega mejoras
esta es la trataría como para la mejora de seguimiento de grandes sistemas inicialmente se define el núcleo del sistema base que no necesita ser funcionalmente útil
el único requisito de un contexto operativo para mejores posteriores es deseable que sea lo más pequeño posible y sea revisado y probado cuidadosamente
la estrategia de la vía rápida se parece mucho a la mejora funcional excepto que el núcleo del sistema esquelético iniciales para demostrar el rendimiento de la vía rápida
1 more item...
El proceso de desarrollo progresiva desde natural forma de desarrollar sistemas que se componen de una serie de funciones que se ejecutan secuencialmente
La rutinas que son llamadas por este segmento simplemente arriba hacia abajo en este ciclo a medida que se diseña implementa una prueba cada ciclo para incluir funciones adicionales
PSP3
El proceso completo debe ser capaz de manejar una mayor complejidad de producto debe relacionarse con los procesos más amplios de su equipo de desarrollo
Diseño de alto nivel
en el diseño de alto nivel identifica las divisiones naturales del producto y diseñar una estrategia cíclica.
Esta ciclos a menudo crece mucho más rápido de lo esperado por lo que debe tratar de mantener los ciclos pequeños se combinan varias funciones en un solo ciclo son los y las comprende completamente
Desarrollo cíclico
en el desarrollo cíclico primeros dos son las especificaciones para el ciclo actual.
Puedes desarrollar estas especificaciones durante el diseño de alto nivel pero no son necesarias ante los ciclos del desarrollo.
Se debe tener en cuenta que las fases de planificación se realizan una vez para el proyecto completo durante los ciclos de revisiones de las pruebas deben ser los más completas posibles
cada ciclo es la base del siguiente por lo que cualquier defecto se puede que se quede en el ciclo y causa problemas posteriores
El proceso cíclico es eficaz porque crea y prueba nuevas funciones sobre una base sólida sin embargo se pensaba que la estabilidad sólo mientras cada desarrollo incremental sea autónomo
Las revisiones exhaustivas del diseño y las pruebas exhaustivas son por lo tanto partes críticas del proceso de desarrollo cíclico.
desarrollo y revisión de pruebas
el desarrollo cíclico incluye un paso desarrollo de prueba para ver práctico desarrollo de las pruebas unitarias antes del diseño detallado pero deben desarrollarse antes de la prueba unitaria
el ciclo posterior luego aprueba funciones y las integra progresivamente en el producto previamente aprobado
después del ciclo final ha completado una unidad combinada y una prueba de integración de todo el programa