Tema 2: Inicio de un Proyecto de Desarrollo Software (Ingeniería del Software I) PDF

Summary

This presentation discusses the commencement of software development projects and outlines the viability study process. It details general techniques for gathering information when initiating a software development project. It also covers various aspects such as project origins, viability studies, and desirable project director characteristics. The presentation utilizes specific examples for detailed understanding.

Full Transcript

Tema 2 Inicio de un Proyecto de Desarrollo Software Ingeniería del Software I José A. Cruz Félix O. García Ignacio García Objetivos § Exponer cómo se inicia un proyecto de desarrollo de software y qué motiva esta actividad. § Describir cómo se realiza un estudio de via...

Tema 2 Inicio de un Proyecto de Desarrollo Software Ingeniería del Software I José A. Cruz Félix O. García Ignacio García Objetivos § Exponer cómo se inicia un proyecto de desarrollo de software y qué motiva esta actividad. § Describir cómo se realiza un estudio de viabilidad § Presentar de forma general las técnicas de recogida de información que se pueden aplicar cuando se inicia un proyecto de desarrollo software § Bibliografía: › Piattini et al (2003) Análisis y diseño de aplicaciones informáticas de gestión. Una perspectiva de Ingeniería del Software. Ra-ma. › Sommerville (2002) Ingeniería del Software. Pearson Educación. 2 Contenidos § Inicio de un proyecto § Inicio a Nivel de Empresa › Orígenes › Estudios de Viabilidad › Características Deseables del Director del Proyecto § Inicio a Nivel de Proyecto § Técnicas de Recogida de Información 3 Inicio de un proyecto Esquema General ØOrígenes Ø¿Qué quieres hacer? ØEstudio Viabilidad Decisión üConsiderar Alternativas Objetivos Emprender üEvaluar Alternativas Proyecto § Económica, Técnica, Legal, Operativa üEspecificación detallada de la alternativa Nivel seleccionada üEstablecimiento de fechas y compromisos Empresa (Plan Proyecto) INICIO Selección PROYECTO Director Características Proyecto Deseables Director: - Establece Entorno Inicial Plan del Proyecto Nivel ü Identificar Áreas de Riesgo (versión inicial) Proyecto ü Calendarios ü Planes de Trabajo ü Asignaciones de Tareas 4 Inicio de un proyecto Origen de la Idea § Cambio de requisitos § Petición de un cliente/usuario § Propuesta generada dentro de la organización de desarrollo § Necesidad detectada por el Departamento de Marketing § Recomendación del personal de mantenimiento § Detección a partir de la información obtenida de los usuarios 5 Inicio de un proyecto Origen de la Idea § Las solicitudes de desarrollo deben documentarse › RFS (Request for Service) › Ejemplo de Plantilla: Petición de Servicio: Id Prioridad: A. General Solicitante: Fecha: Responsable de Aprobación: Fecha límite de aprobación: B. Descripción: C. Razones para solicitar el servicio D. Comentarios Adicionales: 6 Inicio de un proyecto Origen de la Idea § Priorización de solicitudes: 1. Proyectos de emergencia para corrección rápida de un defecto 2. Proyectos que requieren cambios el un sistema para una fecha concreta 3. Proyectos de mejora o crecimiento 4. Proyectos de desarrollo de un nuevo sistema, reemplazar uno o prolongar su vida 7 Inicio de un proyecto ¿Qué quieres hacer? § Desarrollos Internos à Perspectiva del Cliente 1. Idea clara de lo que se quiere hacer 2. Estudio de Viabilidad § Desarrollo Contratado à Perspectiva del Suministrador 1. Idea clara de las necesidades del cliente à Técnicas Recogida Información 2. Valorar la Viabilidad del Proyecto Mirar antes de saltar 8 Inicio de un proyecto Estudio de Viabilidad METRICA 3 9 Inicio de un proyecto Estudio de Viabilidad 1. Estudiar la solicitud de proyecto y establecer el alcance y los límites del sistema. 2. Estudiar la situación actual, describiendo y valorando los actuales sistemas de información e identificando a usuarios y personas involucradas/afectadas por el proyecto. 3. Definición preliminar de requisitos, catalogando y especificando los mismos, así como las directrices técnicas o de gestión que puedan influir en el proyecto. 10 Inicio de un proyecto Estudio de Viabilidad 4. Estudiar y especificar alternativas de solución - Comprar un producto software comercial existente - Desarrollar el producto internamente. - Desarrollarlo de forma externa mediante un contrato - Automatizar sólo parcialmente el sistema 5. Evaluación de cada una de las alternativas - Técnica, Económica, Legal, Operativa 6. Selección y aprobación de la alternativa más apropiada - Fechas y compromisos de trabajo - Definición de un Plan Inicial del Proyecto 11 Inicio de un proyecto Estudio de Viabilidad § Evaluación de alternativas § “Todos los proyectos son realizables con recursos ilimitados y un tiempo infinito” § Aspectos a abordar: › Económico: ¿El beneficio compensa los costes? › Técnico: ¿La funcionalidad, el rendimiento y las restricciones son alcanzables? › Legal: ¿Los requisitos atentan alguna ley/reglamento? › Operativo: ¿Se puede implantar de manera efectiva en la empresa? § Se le suele prestar más atención al análisis coste-beneficio 12 Inicio de un proyecto Análisis Coste/Beneficio § Permite seleccionar la alternativa más beneficiosa y prever las necesidades financieras § Se deben tener en cuenta: › Elementos tangibles › Elementos intangibles § Costes a considerar: › Personal Informático › Consultoría › Software adicional › Hardware › Infraestructura -Beneficios › Debidos al usuario -Automatización -Menos errores -Más velocidad -Más fiabilidad 13 Inicio de un proyecto Análisis Coste/Beneficio § Ejemplo: § Supongamos una empresa que actualmente lleva la contabilidad de forma manual y decide implantar un sistema informático para que el proceso resulte más rápido y fiable. Actualmente, dispone de dos personas dedicadas a la contabilidad cuyo coste (sueldo bruto más seguridad social a cargo de la empresa) es de 26.000 euros cada uno. Se decide comprar un paquete de contabilidad cuyo precio de compra es de 18.000 euros y el coste de mantenimiento un 15% de éste, y que requerirá una adaptación (sólo inicialmente) valorada en 44 jornadas de trabajo de un analista/programador cuya hora se presupuesta a 27 euros. El ordenador que requiere se presupuesta en 3.000 euros con un coste de mantenimiento del 10% anual. El departamento de contabilidad estima que se ahorraría un 50% del tiempo de las dos personas dedicadas a contabilidad si el sistema fuese automático. Se considera que la vida del sistema es de 4 años. La formación para su manejo requiere una semana y se hace con los propios manuales del paquete. Se considera que el sistema está plenamente operativo en tres meses. 14 Inicio de un proyecto Análisis Coste/Beneficio AÑO 1: § Tabla de Ingresos-Costes: 2600*0,75 que es lo mismo 2600 /12 *3 que me da 6500 que es la diferencia entre el primer y segundo años, pongo 0,75 por que son las 3/4 de una año 44*27*8 = 9509 € 1 semana de las 2 personas se dedican presicamente a estudiar el manual por lo que en esa semana hay perdida --> (26000 /52) *2 = 1000€ que cuesta en formarse, si me pusieran que los usuarios se formase por su cuenta me daria 0€ ya que no es el tiempo del trabajo Año1 Año2 Año3 Año4 Personal 19.500 € 26.000 € 26.000 € 26.000 € Total Ingresos 19.500 € 26.000 € 26.000 € 26.000 € Hardware 3.000 € 300 € 300 € 300 € Software 18.000 € 2.700 € 2.700 € 2.700 € Personal técnico 9.504 € Costes de usuario 1.000 € Total Costes 31.504 € 3.000 € 3.000 € 3.000 € Beneficio neto anual -12.004 € 23.000 € 23.000 € 23.000 € Beneficio acumulado -12.004 € 10.996 € 33.996 € 56.996 € 15 Inicio de un proyecto Análisis Coste/Beneficio § ANALISIS COSTE/BENEFICIO § La inflación influye muchísimo en el análisis BeneficioNeto VAN = i n -1 (1 + ) 100 › VAN = Valor Actual Neto › i = tasa de interés › n = el año de aplicación § ROI (return of investment): Plazo de amortización necesario para recuperar el dinero invertido 16 Inicio de un proyecto Análisis Coste/Beneficio Valor Actual = Valor final / (1 + t/100)n-1 23.636,36 = 26.000 / (1 + 10/100)2-1 Tasa de inflación 10% 10% 10% 10% Valor actual de ingresos 19.500 € 23.636,36 € 21.487,60 € 19.534,18 € Valor actual de costes 31.504 € 2.727,27 € 2.479,34 € 2.253,94 € Valor actual del beneficio anual -12.004 € 20.909 € 19.008 € 17.280 € Valor actual del beneficio acumulado -12.004 € 8.905,09 € 27.913,36 € 45.193,60 € 17 Inicio de un proyecto Selección del Director del Proyecto § El director debe intervenir desde el principio (decisión de emprenderlo) § Características deseables del director: › Liderazgo › Comprensión técnica › Competencia en la gestión › Presteza y decisión › Versatilidad y flexibilidad › Previsión › Integridad 18 Técnicas de recogida de información § Técnicas de recogida de información: Medio para mejorar la comunicación entre usuarios/clientes y los desarrolladores de software. ERS ---> especificación de requisito de software § Pasos del proceso de análisis: § Identificar las fuentes de información § Realizar las preguntas apropiadas § Analizar la información § Confirmar con los usuarios § Sintetizar los requisitos § Resultado: Un documento que especifique los requisitos que debe cumplir el software. 19 Técnicas de recogida de información § Principales técnicas (i): § Entrevistas: “Entrevista periodística”. Más empleada. Mayor preparación. § Desarrollo conjunto de aplicaciones: Equipos de usuarios y analistas trabajan conjuntamente en la determinación de las características que debe tener el software. § Prototipado: Construcción de un modelo o maqueta del sistema que permite a los usuarios evaluar mejor sus necesidades. § Observación: Analizar in situ cómo funciona la unidad o el departamento que se quiere informatizar. § Estudio de documentación: Estudio de los documentos que describen el funcionamiento del negocio. 20 Técnicas de recogida de información § Principales técnicas (ii): § Cuestionarios: Útiles para recoger información de muchas personas en poco tiempo. § Tormenta de ideas (Brainstorming): Reunión que sirve para identificar un primer conjunto de requisitos, mediante el lanzamiento de ideas, cuando no están muy claras todas las necesidades. § ETHICS (Effective Technical and Human Implementation of Computer-based Systems): Método evolucionado para fomentar la participación de los usuarios. Para ello coordina la perspectiva social de los sistemas con su implementación técnica. 21 Técnicas de recogida de información § Entrevista: Intento sistemático de recoger información de otra persona a través de una comunicación interpersonal que se lleva a cabo por medio de una conversación estructurada. El entrevistado puede presentar: Pasividad, inhibición No aceptación Rechazo Agresividad El entrevistador debe poseer: Ciertas cualidades personales Conocimiento de técnicas “relación asimétrica, dinámica y única” Actitud adecuada Experiencia práctica 22 Técnicas de recogida de información § Fases de la entrevista: § Preparación § Conducción/Realización › Apertura › Desarrollo - Técnicas directas: - Preguntas abiertas, directas, cerradas, sí/no - Sondeo - Técnicas indirectas: (Utilizar palabras y frases apropiadas, Asentir y muestras de escucha, Repetir las respuestas dadas; resumir; Reflejar ideas, sentimientos, Pausas - Tiempos: 20%, 80% › Terminación § Análisis 23 Técnicas de recogida de información § Desarrollo Conjunto de Aplicaciones (JAD) § Fomenta el trabajo en equipo entre usuarios y analistas § Duración de 2 a 4 días § Dinámica de Grupo: resultado del grupo coordinado > suma de resultados individuales § Ventajas: § Requiere menos tiempo de preparación que las entrevistas § Existe una mayor implicación de los usuarios § Desventajas: § Requiere mayor organización que en las entrevistas § Se opone la dirección › Falta de tiempo › Mucha gente implicada 24 Técnicas de recogida de información § Prototipado: § Utilidad: › Área de aplicación no definida › Coste de rechazo de la aplicación alto › Necesidad de evaluación del impacto del sistema § Razones para emplearlo: › Prototipado de la interfaz de usuario › Modelos de rendimiento › Prototipado evolutivo § Cualidad del prototipo: Ser construido más rápidamente que la aplicación. § “No sé exactamente que quiero, pero lo sabré cuando lo vea”. 25

Use Quizgecko on...
Browser
Browser