Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
Tabla de contenido Tabla de contenido.............................................................................................................1 1.Requerimientos funcionales y no funcionales ...............................................................2 1.1.Requerimientos funcionales .......................................................................................2 1.2.Requerimientos no funcionales ..................................................................................3 2.Requerimientos del dominio ..........................................................................................4 3.Requerimientos del usuario y del sistema .....................................................................5 3.1.Requerimientos del usuario ........................................................................................5 3.2.Los requerimientos del sistema ..................................................................................5 4.Lenguaje o notacin usada en la especificacin de requerimientos...............................6 4.1.Diagrama de caso de uso.............................................................................................6 4.2.Diagrama de Estados y Diagrama de Actividades.......................................................8 4.3.Ejemplo de especificacin de requerimientos usando los diagramas de casos de uso y actividad........................................................................................................................10 4.4.Notacin textual de los requerimientos.....................................................................13 5.Obtener o escribir requerimientos de alta calidad........................................................14 6.Estndares de la documentacin de los requerimientos .............................................16
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
En esta unidad se tiene como objeto establecer los conceptos y fundamentos involucrados en la especificacin de requerimientos donde el alumno entender los diferentes tipos de requerimientos funcionales, no funcionales, del dominio, del usuario y del sistema. As como se demostrara con ejemplos el uso del lenguaje UML, para la declaracin de los requerimientos. Continuando con las caractersticas y actividades involucradas en la obtencin de requerimientos de calidad, con ejemplos de declaraciones malas y buenas. Y por ltimo se describe el documento de requerimientos de IEEE.
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Pago de matrcula: La aplicacin generara un impreso para que el alumno realice el pago correspondiente a la matricula en 1 o 2 plazos (segn las fechas establecidas). Si el alumno tiene matriculas de honor de cursos anteriores o disfruta de algn tipo de beca, la aplicacin deber calcular automticamente los descuentos correspondientes
Gestin de docencia El secretario ser el encargado de introducir que profesores corresponden a cada asignatura (si no, no podrn introducir las actas los profesores). Los profesores de cada asignatura tendrn acceso a las listas de los alumnos que estn matriculados en sus asignaturas y la aplicacin les debe permitir rellenar las actas.
Estadsticas En control de estudio se podrn obtener estadsticas que clasifiquen a los alumnos por su lugar de residencia, sexo, edad, cursos o asignaturas
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
organizacin del cliente y en la del desarrollador: estndares en los procesos que deben utilizarse; requerimientos de implementacin como los lenguajes de programacin o el mtodo de diseo a utilizar, y los requerimientos de entrega que especifican cundo se entregar el producto y su documentacin.
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Ejemplo en un Sistema de Biblioteca, este deber proveer visores para que el usuario lea documentos en el almacn de documentos
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Fig. No. 1 Diagrama de Casos de Uso nivel 1 En los Casos de Uso, los Actores son papeles que determinadas personas u objetos desempean. Se representan mediante un hombre de palitos, de modo que en el ejemplo, Carlos es un Actor. Los Casos de Uso se representan por medio de valos y las lneas que unen Actores con Casos de Uso representan una asociacin de comunicacin. Por su puesto, un Caso de Uso puede ser descrito en mayor profundidad. Por ejemplo si tomamos por separado Preparar pan y Preparar cafe, podemos bajar un nivel de descripcin y llegar a los siguientes Casos de Uso. (Ver Fig. No. 2 y No. 3)
Fig. No. 2: Diagrama Casos de Uso nivel 2 A Carlos tuesta el pan en la tostadora, despus lo unta con mantequilla y mermelada de fresa y se lo come, posiblemente mojndolo en un caf.
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Fig. No. 3: Diagrama Casos de Uso nivel 2 B Carlos calienta leche, aade caf y azcar al gusto y se lo bebe. Los Casos de Uso suelen venir delimitados por fronteras o lmites, que definen una separacin entre lo que es realmente la funcionalidad del sistema y los actores que la usan o colaboran en su desempeo. En las figuras, esta separacin viene representada por medio de la caja que encapsula los valos. Los Casos de Uso son acompaados por una explicacin textual que clarifica las posibles cadencias del lenguaje meramente grfico. De esta manera, combinando Casos de Uso y explicacin textual, se puede obtener escenarios no ambiguos, que resultan ideales en la captura de requisitos de usuario, dada su sencillez de comprensin incluso por quien no est familiarizado con UML. Los Casos de Uso se emplean tambin en la preparacin de escenarios de pruebas con que verificar el software una vez ha sido construido. El siguiente Caso de Uso (Fig. No. 4) es equivalente al primero, Desayuno, slo que en l se ha condensado la mxima cantidad posible de informacin. En l se muestra un nuevo elemento que hasta ahora no se haba mostrado, el estereotipo, que viene entre sendos smbolos angulados << y >> y concreta un paso ms all el tipo de relacin existente entre dos Casos de Uso. Encontramos dos estereotipos <<include>> (Requiere) y <<extend>> (Variacin) . El primero indica que el Caso de Uso Tostar pan requiere de Usar tostadora para poder ser llevado a cabo. Esta es una forma muy adecuada de sacar factor comn entre Casos de Uso, o incluso de fraccionar Casos de Uso muy grandes. El segundo indica que el Caso de Uso Untar pan es una variacin de Untar. Observamos tambin que Comer pan y Beber cafe son una generalizacin de Alimentarse.
Fig. No. 4: Diagrama Casos de Uso nivel 1 detallado Carlos va a desayunar. Para ello debe hacer dos actividades distintas, pero relacionadas. La primera consiste en tostar pan, para lo cual necesita emplear una tostadora. Una vez tostado el pan, lo unta de mantequilla y mermelada de fresa (untar pan no es muy distinto de untar otro 7
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
tipo de alimentos). La segunda consiste en preparar el caf, par lo cual necesita calentar leche y aadir caf y azuzar. Terminadas ambas actividades, Carlos puede proceder a alimentarse, comiendo el pan tostado y bebiendo el caf. El orden en que realice las actividades da igual y tambin da igual si se realizan a la vez.
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Los diagramas de actividades son bsicamente diagramas de flujo adornados, que guardan mucha similitud con los diagramas de estados. Mientras que los diagramas de estados centran su atencin en el proceso o uso que est llevando a cabo un objeto, los diagramas de actividades muestran como las actividades fluyen y las dependencias entre ellas. Los diagramas de actividades pueden dividirse en calles que determinan qu objeto es responsable de qu actividad. Las actividades vienen unidas por transiciones, que pueden separarse en ramas en funcin del resultado de una condicin expresada entre corchetes. Cada rama muestra la condicin que debe ser satisfecha para que el flujo opte por ese camino. Igualmente, las transiciones se pueden bifurcarse en dos o ms actividades paralelas. En la figura 7 se muestra un diagrama de actividades del uso COMPRAR ARTICULOS con los actores CLIENTE y TIENDA POR CATOLOGO (EMPLEADO)
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
4.3. Ejemplo de especificacin de requerimientos usando los diagramas de casos de uso y actividad
Se desea especificar los requerimientos de un sitio web para el intercambio y comunicacin de informacin de la comunidad de la especialidad de informtica del IUTM-UPM. Luego de efectuar la respectiva extraccin de requerimientos con entrevista a los diferentes representantes de los actores involucrados en el sistema, se obtuvo para el actor ALUMNO el siguiente caso de uso (Ver Fig. 8)
10
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Fig. 8 Diagrama de caso de uso del actor alumno en el sitio web para la especialidad de informtica del IUTM UPM Luego de establecer los respectivos usos, es necesario especificar en detalles las funciones o procedimientos indicados en los usos a travs de diagramas de actividades. A continuacin se describe el uso REGISTRASE EN LA WEB del actor alumno. (Ver Fig. 9)
11
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
DOCUMENTACION GRAFICA Diagrama Uso Actividad Registrarse como Alumno en el SITIO (RFA001)
Fig. 9 Diagrama de actividades del uso REGISTRARSE EN LA WEB del actor alumno en el sitio web para la especialidad de informtica del IUTM UPM
12
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
2. FLUJO DE EVENTOS 2.1 Pre condiciones El estudiante debe haber solicitado va presencial o por correo electrnico al WEB MASTER su clave de registro 2.2 Flujo Principal 2.2.1 Crear Registro 2.2.2 El estudiante escoge la opcin REGISTRARSE y el sistema muestra una plantilla vaca con los campos de datos siguientes. o NOMBRE PRINCIPAL (Obligatorio) o NOMBRE SECUNDARIO o APELLIDO PRINCIPAL (Obligatorio) o APELLIDO SECUNDARIO o CEDULA DE IDENTIDAD (Obligatorio) o TELEFONO CELULAR o TELEFONO DE HABITACION (Obligatorio al menos un telfono) o DIRECCION (Obligatorio) o FOTO (Obligatorio) o Correo electrnico (Obligatorio) o USUARIO (Obligatorio) o CLAVE SUMINISTRADA(Obligatorio) 2.2.3 2.2.4 2.2.5 Luego de llenar la plantilla el Alumno procera al seleccionar o pulsar el botn ENVIAR Se verifica las excepciones y si no las hay se enva un mensaje al correo electrnico con los datos registrados ms su clave o password inicial de sesin, con su mensaje respectivo Si existen excepciones se notifican con un mensaje (Flujo de Excepciones), invitando a corregir el error y seleccionar las opciones ENVIAR o SALIR SIN REGISTRARSE (Flujo Alterno)
2.3 Flujo Alterno 2.3.1 Selecciona SALIR SIN REGISTRASE, sale del sitio sin registrarse 2.4 Flujo de excepciones E1 En blanco cualquier campo obligatorio E2 Correo electrnico no existente E3 Usuario existente o registrado en la Base de Datos E4 Clave suministrada errada E5 Campos Nombres y Apellidos con nmeros .
13
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Uso
ID Descripcin Entrada
Salida
A travs de este caso de uso, el sistema le permite al alumno registrarse como usuario con rol de Alumno en el Sitio Web NOMBRE PRINCIPAL (Obligatorio) NOMBRE SECUNDARIO APELLIDO PRINCIPAL (Obligatorio) APELLIDO SECUNDARIO CEDULA DE IDENTIDAD (Obligatorio) TELEFONO CELULAR TELEFONO DE HABITACION (Obligatorio al menos un telfono) DIRECCION (Obligatorio) FOTO (Obligatorio) Correo electrnico (Obligatorio) USUARIO (Obligatorio) CLAVE SUMINISTRADA(Obligatorio) Correo electrnico con el usuario y clave inicial Mensaje de excepciones E-1 En blanco cualquier campo obligatorio E-2 Correo electrnico no existente. E-3 Usuario existente o registrado en la Base de Datos. E-4 Clave suministrada errada E-5 Campos Nombres y Apellidos con nmeros
Excepciones
14
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Es as como los requerimientos descritos de alta calidad, estn caracterizados por lo siguiente. Completo - Cada requerimiento debe describir completamente la funcionalidad que debe alcanzar. Debe contener toda la informacin necesaria para que el desarrollador pueda disear e implementar la funcionalidad. Correcto - Cada requerimiento debe describir la funcionalidad con exactitud para ser construida. Un requerimiento de software que est en contradiccin con su requerimiento de sistema padre no es correcto Viable - Debe ser posible implementar cada requerimiento dentro de las capacidades y limitaciones conocidas del sistema y su ambiente operativo. Evitar especificar requerimientos inalcanzables, para esto es importante tener un analista de requerimientos trabajando con personal de cliente durante todo el proceso de obtencin. Necesario - Cada requerimiento debe documentar una capacidad que los clientes realmente necesitan. Prioritario - Asignar una prioridad de implementacin para cada requerimiento funcional. Si todos los requerimientos son considerados equitativamente importantes, es difcil que el administrador de proyecto responda a recortes de presupuesto, perdida de personal, o nuevos requerimientos adicionados durante el desarrollo. No Ambiguo - Consistente- Todos los lectores de requerimientos deben llegar a una sola interpretacin consistente, pero el lenguaje natural es muy propenso a la ambigedad. Escribir requerimientos en un lenguaje simple, conciso y sencillo apropiado para el usuario. Definir todos los trminos especializados y trminos que puedan confundir a lectores en un glosario. Verificable Rastreable Es cuando puede ser cuantificado de manera que permita hacer uso de los siguientes mtodos de verificacin: inspeccin, anlisis, demostracin o pruebas. Los requerimientos que estn incompletos, inconsistentes, o ambiguos son imposibles de demostrar.
Ejemplos en requerimientos expresados en lenguaje natural La existencia de un requerimiento debe estar debidamente justificada. MAL (Mezcla de varios requisitos) Para facilitar el uso del editor grafico, se podr activar y desactivar una rejilla que permitir alinear las figuras del diagrama. Cuando se ajuste la figura al tamao de la pantalla, se reducir el nmero de lneas de la rejilla para que no se dificulte la visualizacin del diagrama. BIEN (conciso y justificado) El editor permitir el uso de una rejilla de lneas horizontales y verticales que aparecern dibujadas tras el diagrama. Justificacin: La rejilla facilita la creacin de diagramas cuidados en los que las figuras se puedan alinear con facilidad (Manual Prctico de Usabilidad, seccin 15.3). Otro problema habitual es que los requerimientos de un sistema son, a veces, difciles de verificar (especialmente los requerimientos no funcionales). MAL (objetivos generales, vagos y abiertos a distintas interpretaciones) El sistema ser lo mas fcil de utilizar posible. El sistema proporcionara una respuesta rpida al usuario. El sistema se recuperara automticamente tras producirse un fallo.
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Un usuario experimentado debe ser capaz de utilizar todas las funciones del sistema tras un entrenamiento de 2 horas, tras el cual no cometer ms de 3 errores diarios en media. Cuando haya hasta 100 usuarios accediendo simultneamente al sistema, su tiempo de respuesta no ser en ningn momento superior a 2 segundos. Ante un fallo en el software del sistema, no se tardara ms de 5 minutos en restaurar los datos del sistema (en un estado valido) y volver a poner en marcha el sistema.
16
Unidad II Especificacin de Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
Enlaces recomendados http://iteso.mx/~juanjo/IEEE_Std1233_1998_esp_desarrollo_de_especificaci on_de_reque.pdf http://www.mitecnologico.com/Main/EspecificacionesDeRequerimientos http://html.rincondelvago.com/documento-de-requerimientos-delsistema.html http://bpa.peru-v.com/ingenieria_requerimientos.htm http://www.scribd.com/doc/15117381/Requerimientosdelusuariositemasfuncionales http://www.ldc.usb.ve/~abianc/materias/ci4712/docrequerimientos.doc http://www.gestiopolis.com/administracion-estrategia/requerimientos-desoftware-por-administradores-de-software.htm#
17
Unidad I Requerimientos de Software Unidad Curricular Ingeniera de Software II; Modulo: FUNDAMENTOS DE INGENIERA DE REQUISITOS Y ANLISIS
MINISTERIO POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD POLITECNICA MARACAIBO MARACAIBO EDO. ZULIA DEPARTAMENTO DE INFORMATICA. UNIDAD CURRICULAR: INGENIERIA DE REQUERIMIENTOS MDULO: FUNDAMENTOS DE INGENIERIA DE REQUISITOS Y ANALISIS