ingenieria de software i - 2015 - i

29
Ingeniería de Software I SESION 4

Upload: katherine-escobar

Post on 16-Aug-2015

216 views

Category:

Documents


1 download

DESCRIPTION

ingeniería de software

TRANSCRIPT

Ingeniera de Software ISESION 41. Ingeniera de Requisitos2. Especificacin de requerimientos segn la norma IEEE 830, [IEEE830]3. Caso de Estudio: Descripcin de la Empresa-Descripcin problemtica actual- Elicitacin de Requerimientos Participantes del proyecto Caractersticas de los Usuarios Objetivos del Sistema Identificar Requerimientos del Sistema y Priorizar Requerimientos Anlisis de Requerimientos Identificar Casos de Uso y ActoresCONTENIDO - SESION 4Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareIngeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareQu son Requerimientos?1. Una condicin o necesidad de un usuario pararesolver un problema o alcanzar un objetivo. (Std610.12-1900, IEEE: 62)2. Una condicinocapacidad que debe estarpresente en un sistema o componentes de sistemapara satisfacer un contrato, estndar,especificacin u otro documentoformal. (Std610.12-1900, IEEE: 62)3. Un requerimiento es simplemente unadeclaracinabstractadealtonivel deunservicioque debe proporcionar el sistema o una restriccinde ste. (Ian Sommerville, 2005: 108)http://www.redalyc.org/articulo.oa?id=66661111Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTipo de RequerimientosFUNCIONALESLos requerimientos funcionalesson los que definen lasfunciones que el sistema sercapazderealizar, describenlastransformaciones que el sistemarealizasobrelas entradas paraproducir salidas. Es importanteque se describa el Qu? y no elCmo? se deben hacer esastransformaciones. Estosrequerimientos al tiempo queavanzael proyectodesoftwarese convierten en los algoritmos,la lgica y gran parte del cdigodel sistema.NO FUNCIONALESlos requerimientos nofuncionalestienenqueverconcaractersticas que de una u otraforma puedan limitar el sistema,como por ejemplo, elrendimiento (en tiempo yespacio), interfacesdeusuario,fiabilidad (robustezdel sistema,disponibilidad de equipo),mantenimiento, seguridad,portabilidad, estndares, etc.http://www.redalyc.org/articulo.oa?id=66661111Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTipo de RequerimientosIngeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareCaractersticas de un Requerimientohttp://www.redalyc.org/articulo.oa?id=66661111Especificado por escrito: Como todo contrato o acuerdo entre dospartes.Posible de probar o verificar: Si unrequerimientonosepuedecomprobar, entonces cmo se sabe si se cumpli con l o no?.Conciso: Un requerimiento es conciso si es fcil de leer y entender.Suredaccindebesersimpleyclaraparaaquellosquevayanaconsultarlo en un futuro.Completo: Un requerimiento est completo si no necesita ampliardetalles en su redaccin, es decir, si se proporciona la informacinsuficiente para su comprensin.Consistente: Un requerimiento es consistente si no escontradictorio con otro requerimiento.No ambiguo:Un requerimientonoesambiguocuandotieneunasolainterpretacin. El lenguajeusadoensudefinicin, nodebecausar confusiones al lector.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareDificultades para definir los requerimientoshttp://www.redalyc.org/articulo.oa?id=66661111Losrequerimientos nosonobvios yvienendemuchasfuentes.Son difciles de expresar en palabras (el lenguaje esambiguo).La cantidad de requerimientos en un proyecto puede serdifcil de manejar.Unrequerimientopuedecambiaralolargodel ciclodedesarrollo.El usuario no puede explicar lo que hace .Tiende a recordar lo excepcional y olvidar lo rutinario. Los usuarios tienen distinto vocabulario que losdesarrolladores.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareIngeniera de requerimientoshttp://www.redalyc.org/articulo.oa?id=66661111El proceso de recopilar, analizar y verificar lasnecesidades del cliente o usuario para un sistemaesllamadoingenieraderequerimientos.Lametade la ingeniera de requerimientos (IR) es entregaruna especificacin de requisitos de softwarecorrecta y completa.IngenieradeRequerimientosayudaalosingenierosdesoftwareaentendermejor el problema en cuya solucin trabajarn. Incluye el conjunto de tareas queconducen a comprender cul ser el impacto del software sobre el negocio, ques loqueel clientequierey cmointeractuarnlos usuarios finales conelsoftware. (Pressman, 2006: 155)La ingeniera de requerimientos es el proceso de desarrollar una especificacinde software. Las especificaciones pretender comunicar las necesidades delsistema del cliente a los desarrolladores del sistema. (Sommerville, 2005: 82)Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareImportancia de la ingeniera de requerimientos http://www.redalyc.org/articulo.oa?id=66661111Permite gestionar las necesidades del proyecto en formaestructurada: CadaactividaddelaIRconsistedeunaserie de pasos organizados y bien definidos.Mejora la capacidad de predecir cronogramas deproyectos, as como sus resultados: La IR proporciona unpunto de partida para controles subsecuentes yactividades de mantenimiento, tales como estimacin decostos, tiempo y recursos necesarios.Disminuye los costos y retrasos del proyecto:es sabidoque reparar errores por un mal desarrollo no descubiertoatiempo, es sumamentecaro; especialmenteaquellasdecisionestomadasdurantelaIR, yaqueesunadelasetapas de mayor importancia en el ciclo de desarrollo desoftware y de las primeras en llevarse a cabo.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareImportancia de la ingeniera de requerimientos http://www.redalyc.org/articulo.oa?id=66661111Mejora la calidad del software: La calidad en elsoftware tiene que ver con cumplir un conjuntoderequerimientos (funcionalidad, facilidaddeuso, confiabilidad, desempeo, etc.).Mejora la comunicacin entre equipos: Laespecificacin de requerimientos representa unaforma de consenso entre clientes ydesarrolladores. Si esteconsensonoocurre, elproyecto no ser exitoso.Evita rechazos de usuarios finales: La ingenieraderequerimientosobligaal clienteaconsiderarsusrequerimientoscuidadosamenteyrevisarlosdentro del marco del problema, por lo que se leinvolucra durante todo el desarrollo del proyecto.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Se inicia muchas veces por:Identifica nueva necesidad de negocios.Se descubre un nuevo mercado.Se descubre un nuevo servicio.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos La obtencin de informacin no es tan fcil como parece. Losingenieros deben realizaren forma organizada laactividad derecopilacin de requisitos.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Desarrollar modelo tcnico refinado de las funciones, caractersticas y restriccionesdel software.Se conduce mediante la creacin y refinamiento de escenarios.El resultado final es un modelo de anlisis que define:El dominio de la informacin.Funciones.Comportamiento del problema.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Clientes, usuarios y otros interesados deben ordenar sus requisitos y luegodiscutir los conflictos relacionados con la prioridad.Hacer estimaciones preliminares del esfuerzo requerido para sudesarrollo.Mediante unenfoque iterativolos requisitos se elimina, combinanomodifican.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Puede ser :Documento escritoConjunto de modelos grficosModelo matemtico formalEscenarios de usoPrototipoUna combinacin de estos.La especificacin es el trabajo final que genera la IR.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Examina la especificacin para asegurar que los requisitos de software se han establecido de manera precisa.ALGUNAS PREGUNTAS RECOMENDADAS PARA VALIDARLa fuente del requisito est identificado?Cules otros requisitos estn relacionados con ste?El requisito viola alguna restriccin del dominio del sistema?El requisito se puede probar? Se pueden especificar las pruebas?, etc.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareTareas de la Ingeniera de Requisitos Es el conjunto de actividades que ayuda al equipo del proyectoa identificar, controlar, rastrear los requisitos como tambin loscambios a stos en el desarrollo del proyecto.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareProceso Propuesto por SWEBOK para la ingeniera de RequerimientosIngeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareLa especificacin de requisitos de software(ERS)esunadescripcincompletadelcomportamiento del sistema que se va a desarrollar. Incluye un conjunto de casos deusoque describe todas las interacciones que tendrn los usuarios con el software.Los casos de uso tambin son conocidos como requisitos funcionalesIngeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareUn Caso de Uso es una descripcin de los pasos o lasactividades quedebernrealizarseparallevar acaboalgnproceso. Los personajes o entidades que participarn en un casode uso se denominan actores.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareCASO DE USOIngeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareLas caractersticas de una buena ERS son definidas por el estndar IEEE 830-1998. Una buena ERS debe ser:Completa. Todos los requerimientos deben estar reflejados en ella y todas las referenciasdeben estar definidas.Consistente. Debeser coherenteconlospropiosrequerimientosytambinconotrosdocumentos de especificacin.Inequvoca. La redaccin debe ser clara de modo que no se pueda mal interpretar.Correcta. El software debe cumplir con los requisitos de la especificacin.Trazable. Se refiere a la posibilidad de verificar la historia, ubicacin o aplicacin de untem a travs de su identificacin almacenada y documentada.Priorizable. Los requisitos deben poder organizarse jerrquicamente segn su relevanciapara el negocio y clasificndolos en esenciales, condicionales y opcionales.Modificable. Aunquetodorequerimientoes modificable, se refierea quedebeserfcilmente modificable.Verificable. Debe existir un mtodo finito sin costo para poder probarlo.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareIngeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareEstructura de la Especificacin de Requisitos de Software (ERS) propuesta por el IEEE en su Estndar 830Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareEstructura de la Especificacin de Requisitos de Software (ERS) propuesta por el IEEE en su Estndar 830Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareCASO DE ESTUDIOIngeniera de Software IIntroduccin a la Ingeniera del SoftwareTALLER 3LEER1. SWEBOK .Captulo 2. Requerimientos del software [SWEBOK].2. Pressman Roger- Ingeniera del Software. Un enfoque prctico. Capitulo 5. Comprensin de losRequerimientos. Pag. 101 a 123.3. Booch G; Rumbaugh J; Jacobson I. El Lenguaje Unificado de Modelado. UML 2.0: Paradigma de la Programacin Orientada a Objetod . Captulos 1 y 2.4. Booch G; Rumbaugh J; Jacobson I. El Lenguaje Unificado de Modelado. UML 2.0: Presentacin de UML,Captulo 2.Ingeniera de Software IAnlisis y la Especificacin de Requerimientos del SoftwareBIBLIOGRAFIAPressman Roger S, Ingeniera del Software. Un enfoque prctico: Mc Graw Hill. 6a. Edicin. 2005.Ian Sommerville,Ingenieria de Software.Pearson.7a.Edicin. 2005.Un articulo de la Revista Red de Revistas Cientficas de Amrica Latina y el Caribe,EspaayPortugal- SistemadeInformacinCientfica, Chaves, M. (2005). Laingeniera de requerimientos y su importanciaen el desarrollo de proyectos desoftware. Revisado el 17 de febrero de 2015 desde internet:http://www.redalyc.org/articulo.oa?id=66661111#Borja, C.,Cuji,V. Metodologa para la Especificacin de Requerimientos de Software Basado en el Estndar IEEE 830-1998. 2013. Revisado el 17 de febrero de 2015 desde internet: http://dspace.ups.edu.ec/bitstream/123456789/5264/1/UPS-CT002757.pdf