Tecnicas ingenieria de software
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Tecnicas ingenieria de software

  • 2,470 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,470
On Slideshare
2,422
From Embeds
48
Number of Embeds
3

Actions

Shares
Downloads
105
Comments
0
Likes
1

Embeds 48

http://ingenierosd.blogspot.mx 39
http://www.ingenierosd.blogspot.mx 6
http://ingenierosd.blogspot.com 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ASIGNATURA:Fundamentos de Ingeniería de Software DOCENTE:Martínez Morales Ma. De Los Ángeles ALUMNOS: Huerta Roque Luis Daniel Meneses Hernández Rogelio Iván Morales Martínez Raymundo Yescas Barradas Leonardo René Sanez Cuervo Edberg Andrei Monteon Pérez Irvin Alejandro SEMESTRE: 5°GRUPO:“A” ESPECIALIDAD: Ing. en Sistemas Computacionales
  • 2. INTRODUCCIÓN¿Qué es un requerimiento?Un requerimiento puede definirse como un atributo necesario dentro de un sistema, que puederepresentar una capacidad, una característica o un factor de calidad del sistema de tal maneraque le sea útil a los clientes o a los usuarios finales.A nivel general los requerimientos pueden clasificarse como requerimientos indicados o reales.Los requerimientos indicados son los entregados por el usuario al comienzo del proyecto, entanto que los requerimientos reales son aquellos que reflejan la satisfacción de lasnecesidades del usuario en un sistema en particular. El proceso para convertir losrequerimientos indicados en requerimientos reales consisten en un proceso de filtrado según elsignificado y otros aspectos según se considere.
  • 3. Sobre la ingeniería de requerimientosLa Ingeniería de Requerimientos se define, como un "conjunto deactividades en las cuales,utilizando técnicas y herramientas, se analiza un problema y se concluyecon la especificación deuna solución (a veces más de una)."Entonces, "Ingeniería de Requerimientos" se utiliza para definir todas lasactividadesinvolucradas en el descubrimiento, documentación y mantenimiento de losrequerimientos para unproducto determinado. El uso del término "ingeniería" implica quese deben utilizar técnicassistemáticas y repetibles para asegurar que los requerimientos delsistema estén completos y seanconsistentes y relevantes.Porqué planificarEs muy común usar diferentes tipos de planes en un proyecto: Plan de proyecto, plan decalidad,proyecto de desarrollo de software etc... Sin embargo el plan de requerimientos facilitael. Entendimiento y el refuerzo de las actividades, en especial en momentos de implementar unproceso efectivos en una forma de desarrollo en particular.El ciclo de vida de los requerimientosLos requerimientos en un proyecto no solo comprenden las tareas de captura y manejo deloscambios a lo largo de todo el proyecto, también comprenden estas otras tareas:1. Identificar los skateholders:Se describe una lista de toda la persona interesada en eldesarrollo del sistema.2. Entender las necesidades de los usuarios y clientes:Necesarias para planear el sistema ysusexpectativas.3. Identificar los requerimientos:Inicialmente los requerimientos provienen de los objetivosque plantea el negocio, en esta actividad los requerimientos se indican por medio de sentencias.En un escenario denegocio se usa para entender los requerimientos del negocio.
  • 4. 4. Aclarecer y refinar los requerimientos: Esta actividad se ejecuta cuando se tiene plenaseguridad plena certeza de que losrequerimientos indican las necesidades reales del cliente yque estos pueden ser usados porel resto de equipos en el proyecto.5. Analizar los requerimientos: Se realiza cuando los requerimientos se encuentran biendefinidos y cumplen con el criteriode un buen requerimiento.6. Definir los requerimientos de forma estándar para los skateholders: Debido a que cadaskateholder tiene una perspectiva diferente del sistema y susrequerimientos, es importanteesforzar un poco de tiempo en la descripción de losrequerimientos usando un vocabularioadecuado.7. Especificar los requerimientos: Cada requerimiento debe expresarse en forma detallada detal manera que pueda ser incluidoen otros documentos de especificación o en otros proyectos.8. Priorizar los requerimientos: Todos los requerimientos tienen niveles diferentes deimportancia para los clientes yusuarios. Unos tienen prioridad críticas, otros no tanta y otros debajo nivel de prioridad.La priorización de los requerimientos es una actividad que nos va apermitir desarrollarnuevas versiones de nuestro proyecto de forma continua sin verse retrasadaspor tiempo ensus salidas.9. Derivar los requerimientos:Esta actividad nos permite detallar requerimientos no visiblespara nuestro cliente ousuarios que no se han logrado identificar, pero que son importantes parael funcionamientoadecuado del requerimiento en detalle.10. Particionar los requerimientos: Se clasifican los requerimientos en diferentes criterios:Hardware, software yentrenamiento.11. Asignar los requerimientos: Esta actividad asigna los requerimientos a diferentessubsistemas y componentes internos.12. Hacer seguimiento a los requerimientos: Se desarrolla la capacidad de permitir que unrequerimiento satisfecho pueda serreferenciado dentro del sistema.13. Manejar los requerimientos: Se desarrolla un sistema de control de los requerimientos,necesario para adicionar, modificary borrar requerimientos, al igual que la implantación de unrepositorio para estos.14. Probar y verificar los requerimientos: En esta actividad se validan los requerimientos,diseños, código etc... Para asegurarse quelos requerimientos están bien.15. Validar los requerimientos: Finalmente se confirman los requerimientos reales que hansido implementados para elsistema.
  • 5. El plan de requerimientosEl propósito de un plan de requerimientos es para determinar y documentar de que formanseinvolucran en el proyecto los requerimientos reales y como se referencian las actividadesderequerimientos relativos en el ciclo de vida. Debe ser desarrollado por el analista de sistemas.1. PropósitoEl propósito debe ser similar la descrito en la definición.2. Sumario del proyectoComprende un sumario de alto nivel con los objetivos del software a desarrollar.3. FondoEsta sección describe las decisiones que incidieron en el desarrollo del proyecto. También seidentifican los grupos de skateholders más importantes.4. Evolución de los requerimientosUn mecanismo debe ser acogido entre los clientes y el equipo de desarrollo de tal maneraque sefacilite la revisión de los requerimientos indicados y los reales. Se recomienda comomecanismoa adoptar la creación de grupos compuestos de representantes entre ambaspartes.5. Roles y responsabilidades del personal involucrado en actividades de losrequerimientosEl desarrollo de un documento para este propósito permite clarificar los roles de laspersonasque participen en la actividad, como por ejemplo: Personas que necesitanentrenamiento,personas encargadas del uso de las herramientas etc...6. Definiciones los requerimientos a usar en el procesoUn documento de los procesos de los requerimientos es esencial. Se pueden usarorganigramasacompañados de narrativo que describa el nombre del proceso, los clientes,entradas y salidasdel proceso, tareas etc...7. Mecanismos, métodos, técnicas y herramientas a utilizarEs recomendable que el uso de las herramientas, métodos y técnicas a utilizar dispongan deunadocumentación apropiada para que el equipo desarrollador se familiarice fácilmente conestas.8. Integración de prácticas probadas y efectivas en los requerimientosEl uso de prácticas puestas en prueba y que han demostrado ser eficientes puede producirungran avance para el proyecto proyecto. Por ejemplo prácticas como invertir en el tiempoy entratar de definir de la mejor manera las necesidades del usuario son prácticasmuyrecomendadas.
  • 6. 9. ReferenciasComprende un conjunto de de documentos y referencias importantes para el procesoderequerimientos.10. Estrategias recomendadasAlgunas estrategias recomendadas a usar son:  Proceso UpFront: Usado para entender las necesidades reales de los clientes y del entorno, entender la visión del proyecto, definir interfaces externas, componentes de sistema.  Determinar qué factores modifican los requerimientos: Como estándares, políticas externas, costos etc...  Entrenamiento concerniente al manejo de requerimientos.Tipos de requerimientosEl proceso de requerimientos maneja diferentes tipos de requerimientos, estos se puedenclasificaren:Requerimientos de hardware Requerimientos de rendimiento Constraints Requerimientos de interfaz Requerimientos especiales de la ingeniería Requerimientos de ambienteRequerimientos de software: Requerimientos funcionales Requerimientos no funcionalesA continuación se presentan la definición de los requerimientos más comunes:1. Requerimientos de negocio:Los requerimientos del negocio son las actividades esenciales de una empresa, estossonderivados de los objetivos del negocio, Estos requerimientos nos permiten vislumbrarelcontexto general del entorno alrededor de nuestro software.2. Requerimientos de los usuarios:Los usuarios, que pueden ser individuos o grupos, son sus necesidades dentro del sistema oSoftware.
  • 7. 3. Requerimientos de alto nivel o nivel del sistema:Para permitir la comprensión de un sistema se describen los requerimientos delsistema,comprenden los requerimientos de mayor importancia y la visión del cliente4. Reglas de negocio:Las reglas del negocio proveen una base para la creación de los requerimientosfuncionalesEstos pueden ser:  Políticas y condiciones y restricciones de las actividades del negocio soportadas por el sistema  Decisiones en el proceso, pautas, y controles tras los requerimientos funcionales.  Definiciones usadas en el negocio.  Relaciones y flujo gramas del negocio.5. Requerimientos Funcionales:Los requerimientos funcionales son una categoría importante de los requerimientosreales,describen loque el sistema debe hacer. Son llamados comúnmenterequerimientos decomportamiento o de operación.6. Requerimientos no funcionales:Referencia las especificaciones del sistema como sus propiedades, confiabilidad yseguridad.7. Requerimientos derivados:Un requerimiento derivado se define como un refinamiento de un requerimiento de altonivel y lasnecesidades del sistema.8. Requerimientos de rendimientoEste tipo de requerimientos define como los requerimientos funcionales se debe ejecutar.9. Requerimientos de interfaz:Los requerimientos de interfaz analizan e identifican relaciones físicas y funcionalesentreelementos del sistema y entre los mismos y el entorno del sistema. Esrecomendable asignaruna persona en el equipo que se encargue de este tipo derequerimientos.10. Requerimientos de verificación:Los requerimientos de verificación son requerimientos de tipo reales que deben sersatisfechospor la solución del diseño.11. Requerimientos de validación:Este tipo de requerimientos se implementan en el sistema a entregar.12. Requerimientos de cualificación:La cualificación hace referencia a la verificación o la validación del rendimiento de unÍtem de laaplicación durante la etapa de diseño, prueba y gestión de la configuración.
  • 8. 13. Requerimientos especiales de ingeniería:Hace referencia a atributos de calidad como lo pueden ser:  Eficiencia  Portabilidad  Confiabilidad  Capacidad  Memoria  Usabilidad14. Requerimientos desconocidos:Son aquellos requerimientos que no se logran clasificar desde el inicio del proyecto, aveces sepresentan requerimientos reales desconocidos que deben ser incluidos en estacategoría.15. Requerimientos del producto:Son los requerimientos de los productos producidos por el sistema.16. Requerimientos del proceso:Estos requerimientos existen porque los procesos los usan durante el desarrollo delSoftware.17. Requerimientos de soporte de logística:Comprenden las herramientas, los entrenamientos, los procedimientos y facilidades quesonusados en el proyecto.18. Requerimientos de entorno:Se considera el entorno físico y las condiciones del entorno social y cultural donde elsoftware osistema será usado.Análisis comparativo de las técnicas de ingeniería de requerimientosEn este capítulo se presentan las principales ventajas y desventajas de cada una de las técnicasutilizadas en las etapas de la Ingeniería de Requerimientos.Técnica Ventajas DesventajasEntrevistas y Mediante ellas se obtiene una gran La información obtenida al principioCuestionarios cantidad de información correcta a puede ser redundante o incompleta. través del usuario. Si el volumen de información Pueden ser usadas para obtener un manejado es alto, requiere mucha pantallazo del dominio del problema. organización de parte del analista, así como la habilidad para tratar y Son flexibles. comprender el comportamiento de Permiten combinarse con otras todos los involucrados.
  • 9. técnicas.Lluvia de Ideas Los diferentes puntos de vista y las Es necesaria una buena confusiones en cuento a terminología, compenetración del grupo son aclarados por expertos. participante. Ayuda a desarrollar ideas unificadas basadas en la experiencia de un experto.Prototipos Ayudan a validar y desarrollar nuevos El cliente puede llegar a pensar que requerimientos. el prototipo es una versión del software que será desarrollado. Permite comprender aquellos requerimientos que no estén muy A menudo, el desarrollador hace claros y que sean de alta volatilidad. compromisos de implementación con el objetivo de acelerar la puesta en funcionamiento del prototipoAnálisis Jerárquico Permite determinar el grado de Debe construirse un estándar claro importancia de cada requerimiento. de evaluación, que incluya la participación del cliente. Ayuda a identificar conflictos en los requerimientos. Muestra el orden en que deben ser implementados los requerimientos.Casos de Uso Representan los requerimientos En sistemas grandes, toma mucho desde el punto de vista del usuario. tiempo definir todos los casos de uso. Permiten representar más de un rol para cada afectado. El análisis de calidad depende de la calidad con que se haya hecho la Identifica requerimientos estancados, descripción inicial. dentro de un conjunto de requerimientos.En base a las ventajas y desventajas mostradas anteriormente, se hace una comparación entrealgunas de las técnicas.
  • 10. Entrevistas vs. Casos de Uso: Un alto porcentaje de la información recolectada durante unaentrevista, puede ser usada para construir casos de uso. Mediante esto, el equipo de desarrollopuede entender mejor el ambiente de trabajo de los involucrados. Cuando el analista sienta quetiene dificultades para entender una tarea, pueden recurrir al uso de un cuestionario y mostrarlos detalles recabados en un caso de uso. De hecho, durante las entrevistas cualquier usuariopuede utilizar diagramas de casos de uso para explicar su entorno de trabajo.Entrevistas vs. Lluvia de Ideas: Muchas de las ideas planteadas en el grupo, provieneninformación recopilada en entrevistas o cuestionarios previos. Realmente la lluvia de ideas tratade encontrar las dificultades que existen para la comprensión de términos y conceptos por partede los participantes; de esta forma se llega a un consenso.Casos de Uso vs. Lluvia de Ideas: La lista de ideas proveniente del brainstorm puede serrepresentada gráficamente mediante casos de uso.El siguiente cuadro muestra las técnicas que pueden ser utilizadas en las diferentes actividadesde la IR. Análisis del Evaluación y Especificación Validación Evolución Problema negociación de RequisitosEntrevistas yX XCuestionariosLluvia de Ideas X XPrototipos XAnálisis X XJerárquicoCasos de Uso X X X