Resumenes de algunos capitulos de swebook.
Enviado por Nicolas Agudelo Orozco • 27 de Septiembre de 2016 • Apuntes • 3.763 Palabras (16 Páginas) • 324 Visitas
REQUERIMIENTOS DE SOFTWARE
¿Cuál problema aborda esta área?
El problema o pregunta que aborda es ¿Qué vamos a desarrollar?, pues en esta área comienza el desarrollo.
- Fundamentos de los requisitos del software
Defincion de un requisito
En si es el proceso completo de ahí nace el proyecto
Los requisitos son típicamente una combinación compleja de lo que necesitan diversos agentes en diversos niveles de una organización y el ambiente donde funcionara
Los requisitos tienen que ser cuantificados
Característica importante es que sean comprobables.
Hay tantos requisitos de software que se evidencia hasta la selección del lenguaje de programación.
Roles que imponen los requisitos son las organizaciones del desarrollo, el cliente o terceros tales como un regulador de seguridad.
REQUISITOS FUNCIONALES Y NO FUNCIONALES: tipos de requisitos para su desarrollo
Funcional = es lo que el software va hacer.
No funcional = son requisitos de calidad más relacionados a la seguridad, confiabilidad y capacidades de mantenimiento entre otros.
CARACTERISTICAS INESPERADAS:
Hacen referencia a un problema (requisito) que no puede ser solucionado por un solo componente (una parte del sistema) y su solución ésta dada de forma compuesta de componentes.
REQUISITOS CUANTIFICABLES:
Es bastante importante que al momento de describir los requisitos se haga de manera muy cuantificable especialmente en los sistemas no funcionales.
REQUISITOS DEL SISTEMA Y REQUISITOS DEL SOFTWARE
- Proceso de los requisitos
- Modelos de proceso: No es una actividad discreta del ciclo vital del software, sino que es un proceso iniciado al principio del proyecto y continuando con su refinación.
- Actividades de análisis
- Actividades de especificación
- Validación
- Agentes del proceso
- Usuarios
- Clientes analistas del mercado
- Ingenieros del software
- Ayuda y gerencia de procesos: nos damos cuenta que el área de los requisitos es una secion interdiciplinaria y utilizaremos la gerencia de proyectos.
- Calidad y mejora del proceso: en esta parte tratamos de cubrir todos los requerimientos atravez de estándares y modelos, mejora en cuanto al proceso y se evidencia el producto.
- Captura de requisitos: toma los requisitos de la primera etapa y encargarse de medirlos entre los usuarios y los ingenieros de software.
- Fuentes de los requisitos: debe tener conocimiento de las diferentes fuentes de donde pueden provenir los requisitos. (stakeholders)
- Tecnica de captura de requisitos: los más usados entrevistas, escenarios de simulación, prototipos, reuniones y observación siendo las últimas dos las más efectivas.
- Analisis de requisitos: El análisis debe tomar con exactitud, suficiente para permitir que los requisitos sean considerados, verificados y dar sus costes aproximados.
- Clasificación de los requisitos: la clasificación de los requisitos ya tuvo lugar en la primera parte de este documento donde se dice si es funcional o no.
- Modelo conceptual: muy importante el modelado, ya que este nos permite entender a profundidad el problema
- Asignacion de la arquitectura del diseño y los requisitos: se asigna los diferentes requisitos del componente, cabe denotar que una vez asignado se pueden profundizar para saber si surgen nuevos requisitos.
- Negociación de los requisitos: es imprudente que un ingeniero tome decisiones sin los stakeholders dado que se desea alcanzar un conceso apropiado
- Especificaciones de requisitos: esta parte trata sobre la documentación para ser aprobado y evaluado, hay tres tipos de documentación
- El documento de la definición del sistema: tiene información detallada del objetivo para el sistema, su ambiente, su misión y declaración de aprensiones, asunciones y requisitos.
- Especificaciones de los requisitos del sistema: Esta fuera de alcance de esta guía, IEEE STD 1233-98
- Especificaciones de requisitos del software: Es la base entre cliente y contratista, las especificaciones tienen que ser muy especificas.
- Validación de los requisitos: se refiere al proceso de examinar el documento de requisitos para asegurar que este defina correctamente el software.
- Revisión de requisitos: un grupo de revisores busca errores importantes entre ellos como mínimo un representante del cliente.
- Prototipado
- Validación del modelo
- Prueba de aceptación: Son las encargadas de medir la satisfacción de los requerimientos de manera cuantificable.
- Naturaleza iterativa de los procesos de requerimientos:
- Calidades de los requisitos: Los procedimientos que se deben tener preparados y el analices que se deber aplicar a cambios propuestos
- ????????????????????????.
- El remontar de los requisitos: Se refiere a la fuente de recuperación de requisitos y de predecir los efectos de esos requisitos
7.5 requisitos que miden: Hay que tener cierto concepto del volumen de los requisitos para productos del software en particular este punto es útil al evaluar el tamaño de un cambio en requisitos
ECONOMÍA DE LA INGENIERÍA DE SOFTWARE
- Fundamentos económicos de la ingeniería de software
- Finanzas: asignación, gestión, adquisición e inversión de los recursos, se encarga del tiempo, dinero, el riesgo y su relación entre si
- Contabilidad: medir la organización de la ejecución financiera real y comunicar el estado real de la empresa
- Control: elemento de las finanzas y la contabilidad mide y corrige el desempaño de las dos, asegurando los objetivos y llevándolos a cabo. Costos actuales vs costos planeados
- Flujo de caja: movimiento de dinero dentro y fuera de la empresa se refiere al conjunto de instancias del flujo efectivo a través del tiempo que son causadas por llevar a cabo una propuesta ¿Cuánto dinero sale?, ¿Cuándo sale?, ¿Cuánto dinero entra?, ¿Cuándo se presenta?
- Proceso de toma de decisiones: el costo de elegir una opción de las soluciones se basa en optimizar el costo total de la propiedad (TCO) o la maximización en costo tiempo, retorno de la inversión (ROI)
- Valuación: maximizar el valor, escoger la mejor alternativa, se puede comparar dos flujos de caja dándole un valor en dinero a todo
- Inflación: describe la tendencia a largo plazo de los precios, aquí hay que ajustar el valor si la planificación dura mucho tiempo
- Depreciación: La depreciación es el mecanismo mediante el cual se reconoce el desgaste que sufre un bien por el uso que se haga de él. Cuando un activo es utilizado para generar ingresos, este sufre un desgaste normal durante su vida útil que el final lo lleva a ser inutilizable
- Tasación: pagar impuestos sobre la renta que puede tomar una parte sustancial del beneficio bruto de la empresa
- Valor temporal del dinero: un denominador común para estudiar transacciones y oportunidades financieras. Cierra la brecha entre el consumo y la inversión. El dinero se puede convertir en bienes tangibles y consumirlo ahora, o bien puede invertirlo y postergar el consumo. Aplaza la compra de bienes porque espera que su inversión tenga un valor aún mayor en el futuro.
- Eficiencia: busca hacer las cosas de la mejor manera posible
- Eficacia: se busca llegar a un objetivo sin importar su mejor solución
- Productividad: generar el mayor valor con el menor consumo de recursos
- Ciclo de Vida económico:
- Producto: es un bien económico, es transformar insumos en salidas, cuando se vende un producto es un entregable que crea un valor y una experiencia para sus usuarios
- Proyecto esfuerzo temporal para crear un único producto, servicio o resultado
- Programa: grupo de proyectos relacionados, subprogramas administrados de manera coordinada para obtener beneficios
- Portafolio proyectos, programas, subcarteras y las operaciones se gestionan como grupo para lograr objetivos específicos y organizar recursos
- Ciclo de vida de un producto: todas las acciones para definir , construir operar mantener y retirar un producto o servicio de software
- Ciclo de vida de un proyecto: planificación, ejecución, seguimiento, control y cierre. Debe incluir la gestión de riesgos y sincronización con diferentes proveedores
- Propuesta: alcanzar un objetivo de negocio en el proyecto, producto a nivel de cartera, llevar un proyecto o mejorar un existente
- Decisiones de inversión: los inversores toman decisiones de inversión que pasan dinero y recursos en la consecución de un objetivo destino, cuando es dentro de la empresa se encarga las finanzas y por fuera son los bancos
- Planeando el horizonte cuando una organización decide invertir en una propuesta se le asigna un dinero llamado activo congelado pero este activo tiende a disminuir en el tiempo entonces hay que planificar bien sea para 2, 4 años o más de duración de la propuesta
- Precio y tarifación: precio es lo que se paga a cambio de un bien o servicio, el precio es una de las 4 P de la comercialización (producto, promoción, plaza, precio) precio genera ingresos lo otro son costos, fijación del precio o tarifación, incluye, costos de fabricación colocación en el mercado, competencia, condiciones el mercado, y calidad del producto.
- Costo y distribución de gastos: costo valor del dinero utilizado par a producir algo, la distribución de gastos es parte de la financiación y gestión de productos. Proceso para determinar el costo basado en los gastos
- Medición del desempeño: se usa para determinar si un programa, inversiones y adquisiciones están alcanzando los resultados deseados
- Gestión de valor ganado. Técnica de gestión para medir el progreso basado en el valor creado. Rastrea variaciones de costo y del horario a través de la comparación de programas vs planificación real y propuesto frente al costo actual.
- Decisiones terminales. Pone fin a un producto, se puede planificar el tiempo de vida de un producto
- Remplazo y retiro de decisiones: trata de remplazar por otra cosa con el reto de ver costos unidos y el valor de rescate, el retiro es salir de una actividad en conjunto
- Riesgo e incertidumbre
- Metas estimaciones y planes: las metas son objetivo sde negocio, la estimación es una evaluación fundada de recursos y tiempo que será necesaria para lograr metas, el plan describe las actividades he hitos que son necesarios para alcanzar objetivo s del proyecto
- Técnicas de estimación: se utiliza para analizar y predecir el recurso o el tiempo necesario para implementar requisitos: las 5 técnicas son: juicio experto, analogía, estimación de las piezas, los métodos paramétricos, métodos de estadística
- Direccionando la incertidumbre: cuando las estimaciones son inherentemente incierta; esto debe ser abordado en decisiones empresariales; las técnicas para hacer frente son: considerar rangos de estimaciones, analizar sensibilidad a los cambios de hipótesis, decisiones finales de retardo.
- Priorización: darle prioridad a un proyecto con el fin de entregar mayor valor al cliente, dentro de las limitantes.
- Decisiones bajo riesgo: es cuando tomar decisiones implica asignar probabilidades a los resultados posibles
- Decisiones bajo incertidumbre: cuando tomar decisiones no puede no puede asignar probabilidades a los posibles resultados, porque no está disponible en la información
- Método de análisis económico
- Se trata de escoger la mejor alternativa de un conjunto de alternativas excluyentes, los criterios de decisión dependen de los objetivos de negocio e incluyen el retorno de la inversión (ROI)
- Tasa de retorno mínima aceptable: considera una medida de los rendimientos futuros de cierta inversión, influye en una decisión ya que si tiene un mayor porcentaje de retorno esa se escoge
- Retorno de la inversión: es una razón financiera que compara el beneficio obtenido en relación con la inversión realizada
- Retorno del capital empleado: es una medida útil para comprar la rentabilidad relativa de las empresas después de tener en cuenta la cantidad de capital utilizado
- Análisis costo-beneficio: técnica utilizada para evaluar o ayudar a evaluar en el caso de un proyecto o propuesta
- Análisis costo-efectividad: forma de análisis que compara los costos relativos de dos o más cursos en acción
- Análisis de umbral de rentabilidad: identifica el punto donde los costos de desarrollo de un producto y los ingresos a generarse son iguales.
- Modelo de negocio: es la información consolida, resumida, y explicada de una propuesta de negocio
- Evaluación de atributos múltiples: hay atributos que se deben considerar y que no se pueden emitir en términos de dinero pero que se deben tener en cuenta en una decisión
- Análisis de optimización: estudiar una función de costo en un rango de valores para encontrar el punto de mejor rendimiento general. Ejemplo: el algoritmo que se ejecuta más rápido, generalmente usa más memoria, el mejoramiento equilibra el valor del tiempo de ejecución más rápido contra el coste de la memoria adicional
- Consideraciones practicas
- El principio de “suficientemente bueno”: determina un criterio para saber si un entregable es los suficientemente bueno para ser entregado, estos criterios dependen de los objetivos de negocio y priorizar diferentes alternativas como: clasificación de requisitos de software, la calidad medible de los atributos y el costo
- Economía fricción-free: tomando como ejemplo el caso contrario cuando los negocios tiene mucho tiempo y un nuevo competidor entra a este le es difícil iniciar su negocio ya que tienen gastos por ejemplo la marca. El caso contrario es la economía de libre fricción, en este caso los nuevos competidores surgen y los clientes son rápidos en responder
- ecosistema: es un entorno compuesto por todas las partes mutuamente dependientes, negocios, unidades, y las empresas que trabajan en un área en particular. En el ecosistema hay productores y consumidores, que no son el usuario final sino la organización que utiliza el producto para mejorarlo
- offshoring y outsourcing: offshorin se utiliza para definir el traslado de una parte del proceso productivo a un tercero que se dedica a esta función. Outsourcing se utiliza para para definir el desplazamiento de los servicios de la empresa a otros países, el outsourcin es para el desarrollo y el mantenimiento del software
Herramientas y métodos de la Ingeniería de Software
- Requerimientos de las herramientas del sw
- Modelado de los requerimientos: Se basan en la obtención, análisis, especificación y validez de las exigencias del sw.
- Trazabilidad de los requerimientos: Los requerimientos deben de ser rastreables, quiere decir, que se puedan identificar todas las partes del producto relacionadas con el requerimiento. Ejemplos: Visual paradigm y Gather Space
- Herramientas de diseño de sw : Incluye herramientas de creación de diagramas y comprobación de diseños de sw. Ejemplos: Power designer, visual paradigm
- Herramientas de construcción del sw: Netbeans, Eclipse.
- Herramientas de pruebas del sw
- Generadores de pruebas: Estos instrumentos ayudan en el desarrollo de casos de prueba. (mockaroo: generador de datos de prueba {formatos: csv, json, sql, excel}) (parasoft, jtest: genera pruebas con entradas repetitivas).
- Marcos de ejecución de pruebas: Estos instrumentos permiten la ejecucion de casos de prueba en un ambiente controlado (condiciones) donde el comportamiento del objeto bajo prueba es observado (se analiza la complejidad ciclomatica) Es complicado ya que se de debe tener un ambiente idéntico al cual
- Evaluación de prueba:Apoyan la evaluacion de los resultados de ejecucion de prueba, ayudando a determinar si realmente el comportamiento observado es conforme al esperado
- Dirección de prueba:Proporcionan el apoyo a todos los aspectos del proceso de pruebas de software
- Análisis de funcionamiento: Son usados para medir y analizar el funcionamiento de sw, que es una forma especializada de pruebas donde el objetivo es evaluar el comportamiento de rendimiento que el comportamiento funcional
- Herramientas de mantenimientos del sw: Este asunto abarca los instrumentos que son en particular importantes en el mantenimiento del sw, donde el sw existente esta siendo modificado. Están definidas dos categorías:
- Herramientas de comprensión: Ayudan en la comprensión humana de programas. Los ejemplos incluyen instrumentos de visualización como desambiguadores de programa y animadores Por ejemplo algunos depuradores usados para corregir errores ofrecen ayudas visuales Slicers: permiten la parte la parte del código afectada por el valor de una variable en un punto del programa
- Herramientas de reingeniería: En el área del conocimiento del mantenimiento del sw, reingeniería esta definida como el examen y la alteración del sw sustancial para reconstruirlo en una nueva forma, e incluye la puesta en práctica subsiguiente de la nueva forma. Las herramientas de reingeniería soportan esta actividad Cuando el proceso o el sistema para el cual fue diseñado el sw cambia.
- Las herramientas para el manejo de configuración del sw
- Herramientas de defecto, mejora, emisión y seguimiento de problemas: Son usados en la conexión con las cuestiones que rastrean problemas asociadas con un producto de sw particular Bug tracking: detectan bugs o defectos en el sw durante el desarrollo, pruebas e incluso con el sistema en producción
- Herramientas de manejo de versión:Están implicados en la manejo de múltiples versiones de un producto. Ver cambios entre versiones Voodoo (version of outdated document organized orthogonally)
- Herramientas de liberación y construcción: Son usados para las tares de liberación y construcción de sw. La categoría incluye los instrumentos de instalación que se han hecho extensamente usados para la instalación de productos de sw. IDE Escalabilidad.
Herramientas de dirección de la ingeniería del sw o Herramientas que planifican y rastrean el proyecto Se usa para la medición de esfuerzos y una estimación del coste, así como el cronograma del proyecto
o Herramientas de manejo arriesgado Se usan para identificar, estimar y monitorear los riesgos o Herramientas de medida Asisten en la realización de las actividades relacionadas con los programas de medidas del sw Herramientas de proceso de la ingeniería del sw o Herramientas de modelado del proceso Se usan para el modelado y la investigación de los procesos de la ingeniería de sw o Herramientas de dirección del procesos Proporcionan el apoyo a la dirección de la ingeniería de sw o Entornos CASE integrados Automatiza herramientas o entornos y cubren múltiples fases del ciclo de vida, realizando varias funciones, por lo tanto interactúan potencialmente con el ciclo de vida, ejecutándolo o Entornos de ingeniería de sw centrado en procesos Incorporan la información sobre el proceso de ciclo de vida, a su vez dirigen y supervisan al usuario
...