feat: terminado apunte dia 16_4
This commit is contained in:
70
Ingenieria de Software/16_4.org
Normal file
70
Ingenieria de Software/16_4.org
Normal file
@@ -0,0 +1,70 @@
|
||||
#+title: 16 4
|
||||
|
||||
* Producto
|
||||
** Documentacion
|
||||
Para poder hacer un sistema necesitamos poder hacer un analisis de los requerimientos necesarios por el cliente. En esto se engloba la creacion de documentacion (manuales, diagramas de clases).
|
||||
|
||||
** Programas
|
||||
Cuando hacemos el sistema creamos distintos artefactos, ejecutables, etc.
|
||||
|
||||
** Datos
|
||||
El diseño logico de datos.
|
||||
|
||||
* Ciclos de vida
|
||||
** Hardware
|
||||
#+begin_quote
|
||||
Un disco duro se rompe o con su tiempo de vida o por errores de fabricacion
|
||||
#+end_quote
|
||||
|
||||
[[src][title]]
|
||||
|
||||
** Software
|
||||
Cuando hacemos un sistema nunca vamos a tener una version final al primer intento por lo cual vamos a necesitar editar el codigo para poder adecuar el sistema a los nuevos requerimientos.
|
||||
|
||||
Llegado a un punto el software si no fue hecho con la idea de soportar cambios en un futuro
|
||||
|
||||
Si no se hace de esa forma llegado a un punto el desarrollo del sistema va a sufrir de un mal diseño a lo largo del tiempo por lo cual el cliente queda con las opciones de o hacer una reingenieria o cambiar el sistema.
|
||||
|
||||
*Por lo que encontrar un error en una etapa tardia es 50x más caro que en una temprana*
|
||||
|
||||
* Proceso
|
||||
** Incremental
|
||||
- Cascada \\
|
||||
ir => A => D => C => P => I
|
||||
|
||||
- Incremental \\
|
||||
Repite el desarrollo cascada pero con la diferencia de que luego de terminar la implementacion vuelve a empezar otra etapa cascada para ponerle más caracteristicas al sistema.
|
||||
|
||||
- ORA \\
|
||||
Desde el *ir* se puede dividir el trabajo entre diferentes equipos, de forma paralela
|
||||
|
||||
** Iteractivos
|
||||
- Prototipos \\
|
||||
|
||||
- Espiral \\
|
||||
** Iterativos & Incremental
|
||||
- Unificado \\
|
||||
|
||||
- ICONIX \\
|
||||
|
||||
** Agile
|
||||
- XP \\
|
||||
|
||||
- Scrum \\
|
||||
|
||||
- Kanban \\
|
||||
|
||||
|
||||
* Principios del agile
|
||||
1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de valor.
|
||||
2. Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
|
||||
3. Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses, con preferencia en los periodos breves.
|
||||
4. Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
|
||||
5. Construcción de proyectos en torno a individuos motivados, dándoles la oportunidad y el respaldo que necesitan y procurándoles confianza para que realicen la tarea.
|
||||
6. La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo es mediante la conversación cara a cara.
|
||||
7. El software que funciona es la principal medida del progreso.
|
||||
8. Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida.
|
||||
9. La atención continua a la excelencia técnica enaltece la agilidad.
|
||||
10. La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
|
||||
11. Las mejores arquitecturas, requisitos y diseños emergen de equipos que se autoorganizan.
|
||||
12. En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia.
|
||||
Reference in New Issue
Block a user