Professional Documents
Culture Documents
Temas
Capas de la Ingeniera de Software SWEBOK (gua al conocimiento presente en el rea de la Ingeniera del Software) Modelos de proceso de software El desarrollo gil
Tecnologa multicapas:
Herramientas Mtodos Proceso Un enfoque de calidad
Herramientas
Soporte automtico o semiautomtico para los mtodos:
Al integrarse todas las herramientas de forma que la informacin creada por una herramienta pueda ser usada por otra, se establece un sistema para el soporte del desarrollo del software, al cual se le nombra como Ingeniera de Software Asistida por Computadora (CASE, Computer Aidded Software Engineering).
4
Mtodos
Modo de decir o hacer con orden las cosas. Los mtodos de la ingeniera del software indican cmo construir tcnicamente el software.
SWEBOK
Es el acrnimo del proyecto: Guide to the SoftWare Engineering Body Of Knowledge
A Project of the IEEE Computer Society Professional Practices Commitee 2004
SWEBOK
Objetivos
Promover una visin consistente de la Ingeniera del Software en todo el mundo. Clarificar la posicin de la Ingeniera del Software respecto a otras disciplinas, como las Ciencias de la Computacin, proyectos o las Matemticas
8
SWEBOK
Objetivos
Caracterizar los contenidos de la Ingeniera del Software. Proveer acceso a travs de las temticas al conjunto de conocimientos de la Ingeniera del Software. Proveer una base para su desarrollo curricular y la creacin de materiales de certificacin.
SWEBOK
reas de Conocimiento
SWEBOK reconoce 10 reas de conocimiento:
1. 2. 3. 4. 5.
Requisitos software Diseo de software Construccin de software Pruebas de Software Mantenimiento de software
reas de conocimiento 1
10
SWEBOK
reas de Conocimiento
SWEBOK reconoce 10 reas de conocimiento:
6. Gestin de la Configuracin del Software 7. La Gestin en la Ingeniera de Software 8. El Proceso en la Ingeniera de Software 9. Herramientas y mtodos en la Ingeniera de Software 10. Calidad del Software
reas de conocimiento 2
11
Marco de trabajo genrico del proceso en los proyectos de desarrollo del software
1. Comunicacin.-Comunicacin con los clientes, abarca la investigacin de requisitos. 2. Planeacin.- Establece un plan de trabajo de la ingeniera de software. Tareas tcnicas, riesgos, recursos requeridos. 3. Modelado.- Creacin de modelos que permiten al cliente y desarrollador entender los requisitos. 4. Construccin.-Generacin del cdigo y pruebas. 5. Despliegue.- El software se entrega al cliente y evala el producto entregado.
Roger Pressman .
12
13
La Necesidad de medir
Cuando lo que ests diciendo puedes medirlo y expresarlo en nmeros, sabes algo acerca de eso; pero cuando no puedes medirlo, no puedes expresarlo en nmeros, tu conocimiento es escaso e insatisfactorio; puede ser el comienzo del conocimiento, pero has
15
17
No existe una distincin precisa entre la especificacin, el diseo y la manufactura. Solo hasta que el sistema se ha producido se puede probar. El software no siempre se puede reemplazar durante el mantenimiento.
18
19
21
El Modelo de Prototipo
22
El Modelo DRA
23
Modelo incremental
24
Modelo de espiral
25
Desarrollo evolutivo
26
27
30
de
caractersticas
(hoy:
Visibilidad de procesos
Los sistemas de software son intangibles por lo que los administradores necesitan documentacin para identificar el progreso en el desarrollo. Esto puede causar problemas.. El tiempo planeado para entrega de resultados puede no coincidir con el tiempo necesario para completar una actividad. La necesidad de producir documentos restringe la iteracin entre procesos. El tiempo para revisar y aprobar documentos es significativo. El modelo de cascada es an el modelo basado en resultados mas utilizado.
33
Administracin de Riesgos
La tarea principal del administrador consiste en minimizar riesgos. El riesgo inherente en una actividad se mide segn la incertidumbre que presenta el resultado de esa actividad. Las actividades con alto riesgo causan sobre-costos en cuanto a planeacin y costosEl riesgo es proporcional al monto de la calidad de la informacin disponible. Cuanto menos informacin, mayor el riesgo.
35
36
El Desarrollo gil
Representa un balance entre la rigurosidad de la Ingeniera de Software y la necesidad de cambio y rapidez del mundo de negocios actual. Los Procesos de Desarrollo gil pueden entregar sistemas exitosos ms rpido. Hace nfasis en la comunicacin continua y la colaboracin entre desarrolladores y clientes. Tiene una filosofa que se orienta a la satisfaccin del cliente, la entrega de software por incrementos, los pequeos equipos, mtodos informales, y productos de trabajo mnimos. Tiene guas que se enfocan en la entrega a tiempo de un software que est operativo de manera incremental ms que en el anlisis y diseo del mismo (pero sin dejar de hacerlo!)
37
38
Agilidad
Respuesta a los cambios durante el desarrollo del proyecto Los planes deben ser flexibles Comunicacin entre desarrolladores y clientes ms fcil Elimina la separacin entre desarrolladores y clientes nfasis en la entrega rpida ms que en los productos de software intermedios
39
Procesos giles
Tres suposiciones bsicas:
Es difcil predecir qu requerimientos o prioridades cambiarn Para muchos tipos de software, las actividades de diseo y construccin (programacin) estn entrelazadas (la construccin se utiliza para probar el diseo) El anlisis, diseo y pruebas no son tan predecibles (desde la perspectiva de planificacin) cmo uno quisiera.
40
41
42
43