Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

29

Transcript of Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Page 1: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014
Page 2: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Que es Un requerimiento?

• De acuerdo al glosario IEEE: Un requerimiento es una condición o necesidad para resolver un problema o alcanzar un objetivo, un capacidad que debe estar presente en un sistemas o componentes de sistema para satisfacer un contrato estándar, especificación u otro documento formal.

• De acuerdo a Ian Summerville es la siguiente: “Un requerimiento es simplemente una declaración abstracta de alto nivel de un servicio que debe proporcionar el sistema o una restricción de éste”.

• Entonces un requerimiento es una descripción de una condición o capacidad que debe cumplir un sistema, ya sea derivada de una necesidad de usuario identificada, o bien, estipulada en un contrato, estándar, especificación u otro documento formalmente impuesto al inicio del proceso.

Page 3: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Características generales de un Requerimiento

• Especificado por escrito.

• Posible de probar o verificar.

• Que sea fácil de leer y entender.

• Completo, que no necesite ampliar detalles en su redacción.

• Consistente, que no contradiga otro requerimiento.

Page 4: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Dificultades para definir los Requerimientos.

• No son obvios y vienen de muchas fuentes.

• Son difíciles de expresar en palabras.

• La cantidad de requerimientos en un proyecto puede ser difícil demanejar.

• Un requerimiento puede cambiar en el proceso de desarrollo.

• El usuario no puede explicar lo que hace, tiende a recordar loexcepcional y olvidar lo especifico y tiene un lenguaje diferente al delos desarrolladores.

Page 5: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Los requerimientos se enfocan en, qué es lo que el sistema debería hacer, son el comportamiento interno del software:Cálculos, detalles técnicos, manipulación de datos entre otros.Estos muestran como los casos de uso serán llevados a la practica y a su vez son complementados por los requerimientos no funcionales.

REQUERIMIENTOS FUNCIONALES

Page 6: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Según Gonzales F. Carmen “Los requerimientos especifican que es lo que el sistema debe hacer, sus funciones y propiedades esenciales y deseables. Expresan el propósito del sistema sin tomar en cuenta como se va a implantar.”

REQUERIMIENTOS FUNCIONALES

Page 7: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Un requerimiento es una característica que el sistema debe tener o es una restricción que el sistema debe satisfacer para ser aceptada por el cliente.

REQUERIMIENTOS FUNCIONALES

Describen la interacción entre el sistema y su ambiente, el ambiente incluye al usuario y cualquier otro sistema externo que interactúa con el sistema independientemente de su implementación.

Page 8: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Pueden clasificarse en tres categorías:

•Evidentes: Debe realizarse y el usuario debe estar consiente de que se realiza.•Ocultos: Se realiza pero no es visible para el usuario.•Opcionales: Añadirlos no implica que va añadir costos.

Para realizar la recopilación de requerimientos se realiza el levantamiento de requerimientos que hace uso de:

•Escenarios.•Casos de uso: Describen a los escenarios.

Page 9: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Un caso de uso especifica el funcionamiento del sistema, es la secuencia de interacciones que se desarrollan entre el sistema y los usuarios en respuesta a un evento que inicia el usuario principal sobre el sistema.

El termino levantamiento de requerimientos quiere decir especificar términos del sistema, en un idioma que el cliente pueda entender para poderlos redactarel contrato entre el cliente y los desarrolladores.

Page 10: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

CARACTERÍSTICAS DE LOS REQUERIMIENTOS.

• Deben ser consistentes.

• Deben estar completos.

• Deben ser realistas.

• Cada requerimiento debe describir algo que es necesario para el cliente.

• Deben ser verificables.

• Deben ser rastreables.

Page 11: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

REQUERIMIENTOS FUNCIONALES

Los requerimientos funcionales deben estar redactados de tal forma que sean comprensibles para usuarios sin conocimientos técnicos avanzados de Informática.

Deben especificar el comportamiento externo del sistema y evitar, en la medida de lo posible, establecer características de su diseño, deben priorizarse (al menos, se ha de distinguir entre requisitos obligatorios y requisitos deseables).

Page 12: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Algunos ejemplos de requerimientos funcionales son los siguientes:

1.Visualizar información2.Insertar 3.Modificar 4.Eliminar 5.Descargar 6.Buscar información7.Escribir 8.Consultar 9.Actualizar 10.Permitir autenticación

Page 13: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Típicamente, un analista de requisitos genera requisitos funcionales luego de diagramar los casos de uso.Sin embargo, esto puede tener excepciones, ya que el desarrollo de software es un proceso iterativo y algunos requisitos son previos al diseño de los casos de uso. Ambos elementos (casos de uso y requisitos) se complementan en un proceso bidireccional.

REQUERIMIENTOS FUNCIONALES

Page 14: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Un requisito funcional típico contiene un nombre y un número de serie único y un resumen. Esta información se utiliza para ayudar al lector a entender por qué el requisito es necesario, y para seguir al mismo durante el desarrollo del producto.

REQUERIMIENTOS FUNCIONALES

Page 15: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Requerimientos No Funcionales

Page 16: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Requerimientos No Funcionales

• Como su nombre lo especifica son requerimientos que no serelacionan directamente con los servicios específicos que el sistemaentrega a sus usuarios, pueden relacionarse con propiedadesemergentes del sistema tales como: fiabilidad, tiempo derespuesta, uso dealmacenamiento, rendimiento, seguridad, accesibilidad, portabilidadoperatividad entre otros, y también pueden definir restriccionessobre la implementación del sistema, como capacidades de losdispositivos de entrada y salida o las representaciones de datosusados en las interfaces de otros programas.

• Por lo tanto se refieren a todos los requisitos que ni defineninformación a guardar ni tareas a realizar dentro del sistema.

Page 17: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Requerimientos No Funcionales

• Aunque los requerimientos no funcionales no son servicios que ofrecedirectamente el sistema al usuario, el fracaso para cubrir estosrequerimientos haría que todo el sistema fuera inútil. Por ejemplo, siun sistema de control de transacciones de un banco no cubre susrequerimientos de seguridad no será certificado para su operación, osi un sistema de control de aeronave no cubre sus requerimientos defiabilidad no cera aceptado como un dispositivo seguro y su unsistema de control embebido fracasa para cubrir sus requerimientosde rendimiento, no operarían correctamente las funciones de control.

Page 18: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Requerimientos No Funcionales

• Existen dos razones de por que la implementación de losrequerimientos no funcionales se propagan a lo largo del sistema:

1. Los requerimientos no funcionales afectan mas la arquitecturaglobal de un sistema que los componentes Individuales. Porejemplo para garantizar que se cumplan los requerimientos derendimientos es posible que se deba de organizar el sistema demanera que se minimice la comunicación entre los componentes.

2. Un requerimiento no funcional individual, como laseguridad, podría generar algunos requerimientos funcionalesrelacionados que definan nuevos servicios del sistema que serequiera. Además también podrían generar restricciones a losrequerimientos existentes.

Page 19: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Tres Tipos de Requerimientos No Funcionales.

1. Requerimientos del Producto: especifican o restringencomportamientos del software por ejemplo el rendimiento sobreque tan rápido se debe ejecutar una tarea y cuanta memoriarequiere.

2. Requerimientos de la organización: requerimientos de sistemasamplios derivados de políticas y procedimientos en la organizacióncliente y el desarrollador, por ejemplo requerimientos de procesode desarrollo que define el lenguaje de programación con el que seva a crear el sistema.

3. Requerimientos externos: incluyen todos los factores externos delsistema y su proceso de desarrollo, por ejemplo requerimientosregulatorios que establecen lo que debe hacer el sistema para seraprobado por un regulador, o requerimientos legislativos que debende seguirse para que opere conforme a la ley.

Page 20: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Algunas Medidas Métricas para especificar Requerimientos No Funcionales• Rapidez: transacciones por segundo procesadas, tiempo de respuesta

usuario / evento, tiempo de regeneración de pantalla.

• Tamaño: Mega Bytes, Numero de chips ROM.

• Facilidad de Uso: tiempo requerido de capacitación, numero de cuadros deayuda.

• Fiabilidad: tiempo medio para falla, probabilidad de indisponibilidad, tasade ocurrencia de falla.

• Robustez: tiempo de reinicio después de falla, porcentaje de eventos quecausan falla, probabilidad de corrupción de datos en falla.

• Portabilidad: numero de sistemas objetivo, porcentaje de enunciadosdependientes de objetivo.

Page 21: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Importancia del UML

Page 22: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

¿Qué es UML?

• El Lenguaje Unificado de Modelado (UML) es un lenguaje que provee un conjunto estandarizado de herramientas para documentar el análisis y diseño de un sistema. Un lenguaje de modelado de propósito general.

Page 23: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

¿Qué es UML?

• Nos permite especificar y detallar la arquitectura y los elementos de un sistema de información ya sea sencillo o de gran nivel de complejidad, para poder abstraer cualquier detalle de este.

Page 24: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Beneficios del UML

• Manejo de la complejidad:

• Al trabajar con UML podemos modular un sistema complejo y así trabajar con sectores de este y modelarlos para comprender mas fácilmente el sistema.

Page 25: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Beneficios del UML

• Reutilización:

• Cuando se utiliza el Lenguaje Unificado de Modelado se pueden generalizar los componentes de un sistema y así poder utilizarlos en muchas partes del mismo.

Page 26: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Herramientas UML

• Ahora existen diferentes herramientas que toman el estándar definido de UML y nos permiten generar código a partir de este como lo es Visual Studio 2013.

Page 27: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Entonces ¿Porqué es importante el uso de UML?

• Estandariza el diseño gráfico de sistemas

• Al usar UML en forma iterativa en el análisis y diseño se logra una mejor comprensión entre equipos de trabajo y equipos de TI en relación con los requerimientos del sistema.

Page 28: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Entonces ¿Porqué es importante el uso de UML?

• Beneficia la reutilización de componentes del sistema.

• Facilita el manejo de sistemas de gran complejidad.

Page 29: Presentacion del Grupo 6 analisis de sistemas II UNED Costa Rica I Cuatrimestre 2014

Bibliografia• Gonzales F. Carmen. (2011) Notas del curso análisis de requerimientos. [Pagina

web] recuperado el 06 de marzo 2014 de <Http://web.cua.uam.mx/publicaciones/Notas_Analisis_Requerimiento.pdf>

• Kendall, K., & Kendall, J. (2011). Análisis y diseño de sistemas. México: Pearson Educación.

• Osorio, L. (Productor). (2013). Importancia del UML [Video]. Disponible en: http://audiovisuales.uned.ac.cr/mediateca/videos/1007/importancia-del-uml

• Arias Chavez. M (2005). La ingeniería de requerimientos y su importancia en el desarrollo de proyectos de software. UCR 5(11). 2 – 4. recuperado de: http://www.redalyc.org/articulo.oa?id=66661111

• Sommerville, Ian. (2011). Ingenieria de Software. Mexico. Pearson Education.