Programación Avanzada. Requerimientos de Software

Documentos relacionados
Requerimientos de Software

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso

Modelo de Casos de Uso

Programación Avanzada. Desarrollo Orientado a Objetos basado en UML

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

Requerimientos de Software

DISEÑO Y CONSTRUCCION DE MODELOS WEB

Rational Unified Process

ISO Ingeniería del Software

Norma de Calidad Colombiana para Productos de Software y Relación entre Modelos de Calidad y Especificación de Requerimientos de Productos de Software

Especificación de requisitos de software

ISO ISO Calidad de Software. Virginia Cuomo Mariela Castares

Técnicas de Pruebas de

CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL

Tema 2. Casos de Uso C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L

CLASE 4: CASOS DE USO REQUERIMIENTOS. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Martínez

Plan de estudios ISTQB: Nivel Fundamentos

octubre de 2007 Arquitectura de Software

Sistema de Administración de Farmacias Modelo de Diseño Versión 1.0. Historia de revisiones

Proyecto de IS3. Tercera iteración. Documento de modelo funcional

3.4 MODELADO DEL SISTEMA

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Interfaz de usuario Donantonio

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Desarrollo Rápido de Software. Objetivos

Proceso Unificado (Iterativo e incremental)

Anexo 10. Pruebas verificadas

Unified modeling language

Desarrollo Orientado a Objetos en Métrica v. 3

BASES DE DATOS II Tema II

Programación Orientada a Objetos

Figure 13-1: Phase E: Opportunities & Solutions

ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN FASE IDENTIFICACIÓN INGENIERÍA. de REQUISITOS REQUISITOS - CLASIFICACIÓN - INGENIERÍA

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

ESTRUCTURAR EL MODELO DE CASOS DE USO

Modelos, normas y estándares de calidad internacionales para los productos de software

Principios de Análisis Informático. Tema 3: Fase de inicio

Ingeniería de Sistemas. Objetivos. Que es un Sistema? Tópicos. Ingeniería de Software y Sistemas. Problemas con la Ingeniería de Sistemas

Pruebas de Software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

CUADRO COMPARATIVO DE LOS MODELOS DE CALIDAD ELABORADO POR: EDUARD ANTONIO LOZANO CÓRDOBA. (Documento: ) PRESENTADO A:

Documentación de Requisitos con Casos de Uso

Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2

Análisis y Diseño de Sistemas

Capítulo 7. Pruebas y mantenimiento del sistema

Aseguramiento de Calidad en el Desarrollo de Software Libre

Diseño Estructurado. Diseños eran los antes. Lic. Ariel Trellini 28/07/2015

Programación bajo UML

Fuente: Ian Sommerville. Ingeniería del Software, Séptima Edición

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos

Especificación de Requisitos (ERS)

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Estrategia de Pruebas

Sistemas de Información. Ing. José Manuel Poveda

Metodología ICONIX. Carla Rebeca Patricia de San Martin Oliva

Bases de datos 1. Teórico: Introducción

Programación Orientada a Objetos. Conceptos Básicos

2.5 DISEÑO ARQUITECTONICO

CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL

Requerimientos Funcionales y No Funcionales

TEMA 4. PROCESO UNIFICADO

PROCESO UNIFICADO. ARTEFACTOS DE LA FASE DE INICIO. Terminología clave del dominio.

Métrica v2.1 - Fase 0: Plan de Sistemas de Información. Enginyeria del Software. Curs 99/2000. Francisca Campins Verger

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

Grado en que el producto software satisface las necesidades expresadas o implícitas, cuando se usa bajo condiciones determinadas. ISO

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Selección del Hardware y Software Administración del proceso de desarrollo de Sistemas de Información.

Transcripción:

Programación Avanzada Requerimientos de Software

Contenido Especificación de Requerimientos Tipos de Requerimientos Requerimientos Funcionales Casos de Uso Programación Avanzada Requerimientos de Software 2

Especificación de Requerimientos La Especificación de Requerimientos es un insumo fundamental en el desarrollo de software: Es la principal fuente de información a partir de la cual se diseña, implementa y testea el sistema Es uno de los aspectos más delicados de un proyecto: Es algo complejo de obtener De su correctitud depende el éxito del proyecto Programación Avanzada Requerimientos de Software 3

Especificación de Req. (2) Representa un contrato con el usuario No se genera por completo al inicio del proyecto, sino incrementalmente Suele presentarse como la agregación de diferentes artefactos Programación Avanzada Requerimientos de Software 4

Tipos de Requerimientos Un requerimiento es una condición o capacidad que un sistema debe cumplir Requerimiento No Funcional: Expresa una propiedad o cualidad que el sistema debe presentar También restricciones físicas sobre los funcionales Requerimiento Funcional: Expresa una acción que debe ser capaz de realizar el sistema Especifica comportamiento de entrada/salida Programación Avanzada Requerimientos de Software 5

Requerimientos No Funcionales Los requerimientos no funcionales suelen referir a: Usabilidad: factores humanos, ayuda, documentación Confiabilidad: frecuencia de fallas, tiempo de recuperación Performance: tiempo de respuesta, tasa de procesamiento, precisión, capacidad de carga Soportabilidad: adaptabilidad, mantenibilidad, configurabilidad, internacionalización Programación Avanzada Requerimientos de Software 6

Requerimientos No Funcionales y más: Interfaces: restricciones en la comunicación con sistemas externos Restricciones: en el uso de Sistemas o paquetes existentes Plataformas Lenguajes de programación Ambientes de desarrollo Herramientas (sistemas de bases de datos, middleware, etc.) Programación Avanzada Requerimientos de Software 7

Requerimientos Funcionales Los requerimientos funcionales se expresaban en términos de funciones del sistema Una función del sistema es algo puntual que el sistema debe hacer Técnica básica: Si X es una función del sistema, entonces la frase El sistema debe hacer X tiene que tener sentido Programación Avanzada Requerimientos de Software 8

Requerimientos Funcionales (2) Esta herramienta funcionó bien mientras: Las funcionalidades de los sistemas eran sencillas El modelo de uso de los usuarios se limitaba a una interacción simple y puntual con el sistema Perdió su efectividad cuando las interacciones a soportar se volvieron más complejas tomando períodos de tiempo más prolongados Nuevo enfoque: Casos de Uso Programación Avanzada Requerimientos de Software 9

Casos de Uso El enfoque de casos de uso está basado en la noción de actor Un actor es un agente externo (humano o no) que interactúa directamente con el sistema Un caso de uso narra la historia completa (junto a todas sus variantes) de un conjunto de actores mientras usan el sistema: La historia termina cuando uno de los actores (el principal) logra su objetivo y obtiene un resultado de valor Programación Avanzada Requerimientos de Software 10

Casos de Uso (2) Los casos de uso son la herramienta más aplicada para la especificación de requerimientos funcionales Por ser expresados textualmente resultan simples de comprender (hasta para personal no-técnico) Por estar orientados a los objetivos de los actores (y al camino hacia su obtención): Son intuitivos Propician la completitud de especificación Programación Avanzada Requerimientos de Software 11

Casos de Uso (3) Un caso de uso se compone de: Nombre que identifica al caso de uso Actores participantes en el caso de uso Sinopsis que describe brevemente su objetivo Curso típico de eventos que narra la historia más común de los actores durante el uso del sistema Cursos alternativos de eventos que narran las variantes de uso del sistema Programación Avanzada Requerimientos de Software 12

Casos de Uso (4) Los casos de uso no suelen especificarse con todo detalle de una sola vez Esto se realiza en forma gradual y posterior a la identificación de actores: Los actores son más fáciles de identificar y sus necesidades son las que dan lugar a los casos de uso Formas posibles de un caso de uso: Identificado o detectado: solo su nombre y actores participantes Especificado en alto nivel: se incorpora una sinopsis Especificado en forma expandida: se incorpora la historia de uso y sus variantes Programación Avanzada Requerimientos de Software 13

Casos de Uso (5) Método básico (variable según el avance): 1. Detectar actores 2. Identificar algunos casos de uso (detectando objetivos y necesidades de actores) 3. Especificarlos en alto nivel 4. Examinarlos y expandir algunos de ellos 5. A medida que se avanza en el desarrollo se detectan nuevos casos de uso y se especifican otros ya detectados Programación Avanzada Requerimientos de Software 14

Casos de Uso (6) Sobre el principio del proyecto se tiende a buscar y especificar los casos de uso más importantes Los casos de uso se usan además como criterio de partición del problema en un proceso iterativo e incremental: En una iteración se desarrolla uno a la vez Los incrementos no refieren a partes físicas sino a conjuntos de funcionalidades Programación Avanzada Requerimientos de Software 15

Ejemplo (Formato Expandido) Caso de Uso: Realizar una compra Actores: Cajero Sinopsis: Un cliente llega a la caja con artículos para comprar. El cajero registra los artículos y recibe el pago. Al finalizar, el Cliente se retira con los artículos. Escenario Típico: 1. El Cliente llega a la caja con artículos para comprar. 2. El Cajero comienza un nueva venta. 3. El Cajero ingresa el identificador del artículo. 4. El Sistema registra el artículo y presenta su descripción, precio y subtotal. El Cajero repite los pasos 3 y 4 hasta terminar los artículos. 5. El Sistema presenta el total con los impuestos incluidos. 6. Programación Avanzada Requerimientos de Software 16

Qué sigue después? Una vez detectado y especificado el conjunto inicial de casos de uso: El equipo de desarrollo está listo para analizarlos, diseñar una solución para ellos e implementarlos Mientras tanto el equipo de analistas avanza en la detección y especificación de otros casos de uso Programación Avanzada Requerimientos de Software 17