mv unidad 2 t1
DESCRIPTION
Especificación de requisitosTRANSCRIPT
INGENIERÍA DEL
SOFTWAREUnidad 2: Especificación de Requerimientos.
Trimestre I
Ing. Noretsys Rodríguez
ESPECIFICACIÓN DE REQUISITOS Los requisitos del software son susceptibles de
cambios, no sólo después de la entrega del producto sino que también durante el proceso de desarrollo iterativo.
La gestión de requisitos es el proceso que administra los cambios en los requisitosdel software.
La gestión de requisitos puede ser un proceso muy costoso, con lo cual, debe planificarse el nivel de detalle que se desea, dependiendo del proyecto.
Es primordial que la recolección de información de trazabilidad y su uso sea acorde con las necesidades específicas del proyecto para así conseguir un resultado positivo respecto del costo-beneficio de esta tarea.
TEXTUAL
Tradicionalmente la especificación de requisitos se ha realizado usando sobre todo especificaciones textuales en lenguaje natural.
Las herramientas de apoyo a la gestión de requisitos se han enfocado a la manipulación de trozos de texto.
Estos requisitos expresados textualmente se enlazan formando un grafo de trazabilidad el cual se usa para gestionar los requisitos y su trazabilidad.
En este enfoque, las especificaciones generadas en las otras actividades del desarrollo de software pueden también ser añadidas al grafo de trazabilidad representándolas como texto.
DOCUMENTO DE REQUISITOS
El documento de requisitos es un escrito oficial de los requisitos del sistema para los clientes, usuarios finales y desarrolladores de software. Nombres:
Especificación funcional, Definición de requisitos, Especificación de los requisitos de software
DOCUMENTO DE REQUISITOS
El documento describe: Los servicios y funciones que el sistema
debería proveer. Las restricciones bajo las cuales el sistema
debe operar Las propiedades generales del sistema, es
decir, restricciones sobre las propiedades emergentes del sistema
Definiciones de otros sistemas con los cuales el sistema se debe integrar.
Información acerca del dominio de aplicación del sistema, por ej. cómo llevar a cabo tipos particulares de cálculos.
Restricciones sobre el proceso usado para desarrollar el sistema
glosario
USUARIOS DEL DOCUMENTO DE REQUISITOS
Clientes del sistemaEspecifican los requisitos y los leen para chequear que atienden sus necesidades. Especifican cambios en los requisitos.
Gerentes Usan los documentos de requisitos para planificar una propuesta (oferta) para el sistema
y planificar el proceso de desarrollo.
Ingenieros de sistemas Usan los requisitos para entender qué sistema tiene que ser desarrollado.
Ingenieros de prueba de sistemas
Usan los requisitos para desarrollar pruebas de validación para el sistema.
Ing. de mantenimiento de sistemas
Usan los requisitos para ayudar a entender los sistemas y las relaciones entre sus partes.
MODELO IEEE/ANSI 830-1998 Introducción
• 1.1.Propósito del documento de requisitos• 1.2.Alcance del proyecto• 1.3.Definiciones, acrónimos y abreviaturas• 1.4.Resumen del resto del documento
Descripción General• 2.1.Perspectiva del producto• 2.2.Funciones del producto• 2.3.Características de los usuarios• 2.4.Limitaciones generales• 2.5.Suposiciones y dependencias
Requisitos Específicos• 3.1.Requisitos funcionales, no funcionales
Apéndices Índice
NOTACIÓN GRÁFICA
Incluye todas las notaciones que pueden demostrar el flujo de información entre requisitos apoyándose en diversas imágenes.
Estas notaciones permiten al usuario del sistema tener mayor comprensión del software lo que hace y como lo hace.
La más utilizada actualmente es el Lenguaje Unificado de modelado (UML).
Otra notación que se puede usar es la notación de requerimientos de usuario (URN),
UML
Es un lenguaje para la especificación, visualización, construcción y documentación de los artefactos de un proceso de sistema intensivo.
UML, emergió en los '90 luego de la búsqueda de un lenguaje de modelamiento que unificara a la industria.
A pesar de que UML evolucionó de varios métodos orientados al objeto de segunda generación (en nivel de notación), su alcance extiende su uso más allá de sus predecesores.
UML ES Como un lenguaje, es usado para la comunicación.
Es decir, un medio para capturar el conocimiento (semánticas) respecto a un tema y expresar el conocimiento (sintaxis) resguardando el tema propósito de la comunicación.
Como un lenguaje para modelamiento, se enfoca en la comprensión de un tema a través de la formulación de un modelo del tema (y su contexto respectivo).
Cuidando la unificación, integra las mejores prácticas de la ingeniería de la industria tecnológica y sistemas de información pasando por todos Los tipos de sistemas (software y no - software), dominios (negocios versus software) y los procesos de ciclo de vida.
UML ES
En cuanto a cómo se aplica para especificar sistemas, puede ser usado para comunicar "qué" se requiere de un sistema y "cómo" un sistema puede ser realizado.
En cuanto a cómo se aplica para visualizar sistemas, puede ser usado para describir visualmente un sistema antes de ser realizado.
En cuanto a cómo se aplica para construir sistemas, puede ser usado para guiar la realización de un sistema similar a los "planos".
En cuanto a cómo se aplica para documentar sistemas, puede ser usado para capturar conocimiento respecto a un sistema a lo largo de todo el proceso de su ciclo de vida.
UML NO ES
Un lenguaje de programación visual, sino un lenguaje de modelamiento visual
Una herramienta o deposito de especificación, sino un lenguaje para modelamiento de especificación.
Un proceso, sino que habilita procesos.
TIPOS DE REQUERIMIENTOS
El proceso de requerimientos maneja diferentes tipos de requerimientos, estos se pueden clasificar en:
Requerimientos de hardware. Requerimientos de rendimiento. Requerimientos de interfaz. Requerimientos especiales de la ingeniería. Requerimientos de ambiente. Requerimientos de software:
Requerimientos funcionales. Requerimientos no funcionales. Requerimientos del Dominio. Requerimientos de atributos de calidad.
FUNCIONALES
Son los requerimientos del usuario se ocupan para asignar los requerimientos de más alto nivel.
Los requerimientos del sistema se usan para designar la descripción detallada.
Los requerimientos del usuario son declaraciones en lenguaje natural y en diagramas de los servicios que se espera que el sistema provea y de las restricciones que este debe tener.
Los requerimientos del sistema establecen detalladamente los servicios y restricciones del sistema.
FUNCIONALES
El documento con estos requerimientos se llama Especificación Funcional, el que debe ser preciso. Es lo más parecido al contrato entre cliente y desarrollador.
Corresponde a una descripción abstracta del diseño de software. Es la base para un diseño e implementación detallado.
Agrega el detalle a la especificación de requerimientos.
NO FUNCIONALES
Son prescindibles, condicionan lo que se tiene que hacer pero no son indispensables, indican mediante restricciones globales, de dominio y tecnología como debe construirse o funcionar.
Su fuente principal es tanto el usuario como el cliente. También se especifican en las SRS.
Definido como característica requerida del sistema, del proceso de desarrollo, del servicio prestado o de cualquier otro aspecto del desarrollo, que señala una restricción del mismo.
TIPOS DE REQUERIMIENTOS NO FUNCIONALES
Requerimientos del producto
Requerimientos no funcionales
Requerimientos organizacionales
Requerimientos externos
Requerimientos éticos
Requerimientos de interoperabilidad
Requerimientos legislativos
Requerimientos de seguridad
Requerimientos de privacidad
Requerimientos de espacio
Requerimientos de desempeño
Requerimientos de usabilidad
Requerimientos de eficiencia
Requerimientos de fiabilidad
Requerimientos de portabilidad
Requerimientos de entrega
Requerimientos de implementación
Requerimientos de estándares
REQUISITOS FUNCIONALES VS. REQUISITOS NO FUNCIONALES
Funcionales: Me identifica, que eventos reconocer, que datos mantener y que transformaciones hacer.
No funcionales: Me identifica las restricciones del productos, De la organización y externos.
DEL DOMINIO
Son requerimientos que provienen del dominio de aplicación del sistema y que reflejan las características de ese dominio. Éstos pueden ser funcionales o no funcionales.
Se derivan del dominio del sistema más que de las necesidades especificas de los usuarios. Pueden ser requerimientos funcionales nuevos, restringir los existentes o establecer cómo se deben ejecutar cálculos particulares. Los requerimientos del dominio son importantes debido a que a menudo reflejan los fundamentos del dominio de aplicación. Si estos requerimientos no se satisfacen, es imposible hacer que el sistema trabaje de forma satisfactoria.
RESUMEN DE CONTENIDO
Textual, notación gráfica y lenguajes de representación (Lenguaje Unificado de Modelado UML).
Técnicas para escribir requerimientos de alta calidad. Estándares de Documentación.
Tipos de requerimientos: funcionales, no-funcionales, del dominio.