Upload
mary-casas
View
223
Download
0
Embed Size (px)
Citation preview
8/16/2019 Importancia de la Gestion de Desarrollo de Software
1/32
Importancia de la
gestión en el
desarrollo de
softwareÁlvarez González AlejandroÁlvarez Guzmán Brandon AntonioCasas López María de JesúsGuerrero Carreto José Jhon
Hernández Vera Michelle Citlalli
8/16/2019 Importancia de la Gestion de Desarrollo de Software
2/32
• Los proyectos de desarrollo de software sediferencian de los otros proyectos de ingenieríatradicional en la naturaleza lógica del productosoftware.
• La gestión del proyecto de software es el primernivel del proceso de ingeniería de software, porquecubre todo el proceso de desarrollo. Paraconseguir un proyecto de software fructífero sedebe comprender el ámbito del trabajo a realizar,
los riesgos en los que se puede incurrir, los recursosrequeridos, las tareas a llevar a cabo, el esfuerzo(costo) a consumir y el plan a seguir.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
3/32
Gestión• Son todas las actividades y tareas ejecutadas por
una o más personas con el propósito de planificar ycontrolar las actividades de otros para alcanzar unobjetivo o completar una actividad que no puede
ser realizada por otros actuandoindependientemente.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
4/32
Actividades del desarrollo
de Software• Planificación: Predeterminación de un curso de acción
para alcanzar los objetivos organizacionales.• Implementación, pruebas y documentación:La implementación es parte del proceso en el quelos ingenieros de software programan el código para el
proyecto.Las pruebas de software son parte esencial del proceso dedesarrollo del software. Esta parte del proceso tiene lafunción de detectar los errores de software lo antesposible.
La documentación del diseño interno del software con elobjetivo de facilitar su mejora y su mantenimiento serealiza a lo largo del proyecto. Esto puede incluir ladocumentación de un API, tanto interior como exterior.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
5/32
• Despliegue y mantenimiento:
El despliegue comienza cuando el código ha sidosuficientemente probado, ha sido aprobado parasu liberación y ha sido distribuido en el entorno de
producción.Entrenamiento y soporte para el software es de sumaimportancia y algo que muchos desarrolladores desoftware descuidan.El mantenimiento o mejora del software de un software
con problemas recientemente desplegado, puederequerir más tiempo que el desarrollo inicial del software. Esposible que haya que incorporar código que no se ajustaal diseño original con el objetivo de solucionar unproblema o ampliar la funcionalidad para un cliente.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
6/32
Los problemas y errores
comunes• Los desarrolladores, directivos y clientes
normalmente tienen buenas razones para tomar lasdecisiones que toman, y la apariencia seductorade los errores clásicos es una de las razones de que
esos errores se cometan tan a menudo. Perodebido a que se han cometido muchas veces, susconsecuencias se han hecho fáciles de predecir. Ylos errores rara vez producen los resultados que la
gente espera.• Personas
8/16/2019 Importancia de la Gestion de Desarrollo de Software
7/32
Control en Proyectos deSoftware
• Un control apropiado del proyecto es clave paraque éste pueda cumplir los objetivos propuestos. Elcontrol efectivo requiere esfuerzo (generalmenteconsume un 15% del esfuerzo total del proyecto).
Las revisiones son instancias de controladministrativo y técnico.
Éstas se clasifican en:
• Revisiones Administrativas
• Revisiones Técnicas• Inspecciones
• Recorridos (Walkthroughs)
8/16/2019 Importancia de la Gestion de Desarrollo de Software
8/32
RevisionesAdministrativas
8/16/2019 Importancia de la Gestion de Desarrollo de Software
9/32
Revisiones tecnicas• Es una actividad de garantía de calidad del
software llevada a cabo por los profesionales de laingeniería del software. Los objetivos de la RTF son:
• Descubrir errores en la función, la lógica o laejecución de cualquier representación delsoftware.
• Verificar que el software bajo revisión cumple conlos requerimientos.
• Garantizar que el software ha sido desarrolladobajo ciertos estándares predefinidos.
• Obtener un desarrollo del software uniforme.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
10/32
Inspecciones• Las inspeccionar son realizadas por personal
altamente calificado. La resolución de defectos esobligatoria y el trabajo rehecho es formalmenteverificado
• Detectar defectos.• Verificar la resolución de defecto.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
11/32
Recorridos(Walkthroughs)
• Evaluación formal de un elemento de software ode su proceso de desarrollo. El autor presenta elelemento de software a revisar, el resto de losparticipantes discute sobre el progreso logrado,
errores, cambios posibles y mejoras en general.• Detectar defectos.
• Examinar alternativas de desarrollo.
• Ser fuente de aprendizaje para el autor
8/16/2019 Importancia de la Gestion de Desarrollo de Software
12/32
8/16/2019 Importancia de la Gestion de Desarrollo de Software
13/32
Son normas que tienen como objetivo garantizar al cliente que losproductos o servicios adquiridos siempre tendrán las mismas
propiedades y características.
ISO/IEC 15504 Determinación de la Capacidad de Mejora del Procesode Software. Es un modelo para la mejora y evaluación de los procesos
de desarrollo y mantenimiento de sistemas de información y productos
de software.ISO 9001 Sistema de gestión de la calidad
ISO 10006 directrices para la calidad en gestión de proyectos
UNE-ISO 21500 proporciona un alto nivel de descripcion de ls conceptosy procesos que se consideran para formar buenas practicas en la gestion
de desarrollo de software
8/16/2019 Importancia de la Gestion de Desarrollo de Software
14/32
Es un modelo de mejoras de procesos de construcción que provee los
elementos necesarios para determinar su efectividad.
CMMI es el estándar más reconocido para la mejora de procesos paradesarrollo de proyectos, gestión de proveedores y gestión del servicio.
CMMI-DEV: Guía para medir, monitorear y administrar el proceso dedesarrollo.
CMMI-SVC: Guía para proporcionar servicios en una organización y aclientes externos.
CMMI-ACQ: Guía para mejorar el proceso de adquisición de productosy servicios.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
15/32
Es una metodología para dirigir el trabajo de mejora y desarrollo de software,además establece un entorno donde el trabajo de equipo sea efectivo, normal
y natural.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
16/32
Es el estándar para la Administración de Proyectos, este puede ser comprendido como
una colección de sistemas, procesos y áreas de conocimientos que son reconocidosuniversalmente como los mejores
dentro de la gestión de la realización de proyectos , PMBOK fue desarrollado por PMI
(Project Management Institute)..
Marco de referencia para la dirección de proyectos. Proporciona la base paracomprender la administración de los proyectos.
Norma para la dirección de proyectos. Define los procesos de administración deproyectos y las entradas y salidas para cada proceso.
Áreas de conocimiento de la dirección de proyectos. Describe las áreas deconocimiento de la administración de proyecto, enumera los procesos, define las
entradas, herramientas, técnicas y salidas.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
17/32
Es el modelo de Procesos para la industria del software, es un modelo para
la mejora y la evaluación de los procesos de desarrollo y mantenimiento de
sistemas y productos de software.
MoProsoft fue desarrollado por la Asociación Mexicana para la Calidad en
Ingeniería de Software y a solicitud de la Secretaria de Economía, esto con
la finalidad de obtener una norma mexicana que resulta apropiada para las
características de la mayoría de las empresas mexicanas de desarrollo ymantenimiento de software.
http://1.bp.blogspot.com/-mUuB0wM7z2o/VOvPC3pxK7I/AAAAAAAAAEE/59OI07UFCts/s1600/moprosoft.png
8/16/2019 Importancia de la Gestion de Desarrollo de Software
18/32
Alta dirección (DIR). “Gestión de Negocios”.
Gestión (GES). “”Gestión de Procesos”. “Gestión de Proyectos”.“Gestión de Recursos”.
Operación (OPE). “Administración de Proyectos Específicos”.“Desarrollo y Mantenimiento de Software”.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
19/32
8/16/2019 Importancia de la Gestion de Desarrollo de Software
20/32
Desarrollo de software
8/16/2019 Importancia de la Gestion de Desarrollo de Software
21/32
ISO 9000 Se generó una tendencia con enfoque en los procesos para
desarrollar aplicaciones. Se requería un desarrollo bastanteestructurado e incluyen procesos complejos y documentados.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
22/32
Programación extrema o "extreme
programming" Esta metodología requiere desarrollos tremendamente rápidos por
lo que se estipula que no sirve hacer planeación. Parte de lapremisa que como nunca hay un producto terminado completo, esmejor no planear.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
23/32
Agile Development, o desarrollo
ágil Esta metodología mezcla los dos anteriores: un desarrollo basado
en pruebas con un número bajo de diagramas y documentos. Elesquema de documentación está basado sobre el UML (lenguajeunificado de modelamiento.)
8/16/2019 Importancia de la Gestion de Desarrollo de Software
24/32
8/16/2019 Importancia de la Gestion de Desarrollo de Software
25/32
Caso practico: restaurante
informático.
• Importancia de la gestión en el desarrollo desoftware.
• Restaurante informático.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
26/32
PUNTOS PARA LLEVAR A CABO
EL DESARROLLO.
• 1. DEFINIR UN ENFOQUE METODOLÓGICO, DESDE EL PUNTO
DE VISTA DE INGENIERÍA DE SOFTWARE PARA ABORDAR ELPROBLEMA
• 2.- ESTABLECER LOS PRODUCTOS A ENTREGAR.
• 3.- DEFINIR LA ESTRUCTURA DEL EQUIPO DE DESARROLLO.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
27/32
DEFINICION DEL ENFOQUE
METODOLOGICO.
• En esta parte realizamos un breve análisis de la metodología que eldepartamento de sistemas utilizara para el desarrollo del sistemainformático, aclarando los motivos por los cuales se desea obtener
un resultado de la aplicación.
• Las características importantes son:
· -Requerimientos de hardware y softwareclaramente especificados.
· -Personal asignado por labor.· -Actividades definidas.· -Organización del departamento de sistemas.· -Asignación de responsabilidades altamenteestablecida.· -Tiempo de desarrollo pactado (5 meses).
8/16/2019 Importancia de la Gestion de Desarrollo de Software
28/32
Recabado los datos anteriores
definimos que…• Como ya definimos los criterios importantes que usaremos
en el desarrollo del sistema en forma optima. Lametodología que mas cumple las necesidades para levar acabo nuestro problema y solucionarlo es SCRUM.
• SCRUM es un proceso de desarrollo de software iterativo eincremental utilizado comúnmente en entornos dedesarrollo ágiles de software. SCRUM, más que unametodología de desarrollo software, es una forma de auto-gestión de los equipos de programadores. Un grupo de
programadores deciden cómo hacer sus tareas y cuántovan a tardar en ello. SCRUM ayuda a que trabajen todos juntos, en la misma dirección, con un objetivo claro. SCRUMpermite además seguir de forma clara el avance de lastareas a realizar, de forma que los "jefes" puedan ver día adía cómo progresa el trabajo.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
29/32
Establecer los productos a
entregar.• Para la metodología que utilizaremos, lo que se debe entregar cada cierto
intervalo de tiempo son avances o prototipos, esto con el fin de serevaluados.
• El producto final a entregar está compuesto por el código fuente delsistema, instaladores de la aplicación y manuales. El producto deberácumplir los requerimientos iníciales para las tres áreas de interés: el personalde mostrador, el personal de cocina y el personal administrativo.
• Al finalizar el proyecto, es necesario hacer entrega de:
• – manuales de usuario
• – manual operativo
• – manual de instalación de la aplicación.
• – Código fuente
D fi i ió d l t t
8/16/2019 Importancia de la Gestion de Desarrollo de Software
30/32
Definición de la estructuradel equipo de desarrollo.
• A. Personal requerido
• · Un líder de proyecto.
• · Un jefe de proyecto del departamento de sistemas .• · Cinco desarrolladores .
• · Personal para soporte hardware y software de laempresa.
• · Personal de la empresa para definición derequerimientos.
B Perfiles
8/16/2019 Importancia de la Gestion de Desarrollo de Software
31/32
• B. Perfiles• SCRUM es un proceso marco que incluye un conjunto de prácticas y roles predefi
en Scrum son el Scrum Master , que mantiene los procesos y trabaja de forma similel Product Owner , que representa a los stakeholders (clientes externos o internos),los desarrolladores.
• De acuerdo a los roles antes mencionados y los cargos asignados por la empres
1. Scrum Master: Jefe de proyecto del
departamento de sistemas2. Product Owner: Director de
3. Stakeholders: Cada uno de los funcionarios
del hotel que puedan establecer requerimientoclaros que ayuden al desarrollo del
sistema. Entre ellos están:
El personal de mostrador
El personal de cocina
El personal de administración
Cabe aclarar que este grupo de personas estarárepresentado por el Product Owner
4. Team: Es el grupo de desarr
que, según las especificaciones
estará constituido por 5 personasles supone buen conocimiento, t
problema como de la herramient
5. Personal de soporte y ejecución de aplicaciones: Es
personal de carácter permanente en la empresa ya que
tienen por responsabilidad hacer que el software se ejecute
constantemente a la finalización del mismo y a su vez demantener el departamento de sistemas funcionando diariamente.
8/16/2019 Importancia de la Gestion de Desarrollo de Software
32/32
c. Cargos
Director de administración
Jefe de sistemas
Analistas de sistemas o ingenieros (5) para
desarrollo
Analista de sistemas o ingeniero para soporte
d. Asignación salarial
Existen técnicas de asignación salarial que tienen en
cuenta que el factor humano es creativo y que debe
estar comprometido con la empresa. La asignación
salarial debe ser: atractiva, retenedora y motivadora.