Programación Avanzada

Slides:



Advertisements
Presentaciones similares
INTEGRANTES EVARISTO MINA ARROYO JULIO CESAR CUERO JOHN EDWIN URBANO MAFLA.
Advertisements

PSICOLOG Í A EN L Í NEA Tutor: Lic. José Antonio Ortiz Velez Alumna: Teresa Venegas Vázquez No. De Cuenta: Actividad: Mapa conceptual Modulo:
Modelado de sistemas software: Introducción. Modelado de... Sistemas... Sistemas web Sistemas de control/tiempo real Familias de sistemas Variabilidad.
Principios de la Ingeniería de Software Principio s Metodologías Herramientas Técnicas Cada estrato se basa en los inferiores y es más susceptible a cambios.
ESCUELA: Ciencias de la Computación NOMBRES: Metodología y Tecnología de la Programación II FECHA: Ing. Patricio Abad Espinoza ABRIL – AGOSTO II.
CAPACITACIÓN METODOLOGÍA. Objetivos Capacitación Básica.
Análisis y Especificación de Requisitos
Flujo de trabajo: Requisitos Modelado de Casos de Uso
METODOLOGIA DE TRABAJO
Programación Avanzada
METODOLOGÍA DE SISTEMAS
Introducción a la Programación Multimedial
PROGRAMACIÓN DE UN CURSO EN LÍNEA
Flujo de trabajo: Requerimientos
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Proceso para el desarrollo de software
La planeación y la organización de los procesos técnicos.
UNIDAD I: TEORIA Y MODELOS DE SIMULACION
Metodología y Técnicas en Proyectos software para la Web
Proyecto de Software. t07
Fundamentos de negocios y comercio electrónico.
Proyecto de Software. Clase 06
El Correo corporativo de
INGENIERIA EN MINAS GERENCIA EMPRESARIAL
El proceso de Investigación y búsqueda de Información.
INTRODUCCIÓN Elmasri: Pág
Sistema de Bases de Datos
EJEMPLO: Portal de Venta de una Multitienda
METODOLOGÍA DE SISTEMAS
El resultado obtenido en esta etapa son las especificaciones de lo que se debe hacer para solucionar el problema.
Ingeniería de Sistemas Requerimientos
Trabajo Final Programación Estructurada METODOS DE ORDENACIÓN
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
TIC TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACION
Introducción a la Simulación
CREATIVIDAD EMPRESARIAL
Computación Luis Enrique Rivas Awerhoff 5to A Esperanza Mendoza
Diagramas del modelo uml
Funcionamiento del servicio de correo electrónico
Diseño en Alice En este módulo estudiaremos los elementos del diseño en Alice: Escenarios Storyboards Textuales Visuales Definiciones.
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
Proceso Unificado de Desarrollo de Software
Simulación de procesos.
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR
Descripción del producto e identificación del uso final Pasos segundo y tercero CAPÍTULO 3 Mod. 4 Código Internacional Recomendado de Prácticas – Principios.
Universidad Rafael Landívar
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Estudio de Puestos Proceso por el.
1.2. Desarrollo de Software
Ing. Francisco Rodríguez Novoa
PROCESO UNIFICADO DE DESARROLLO R.U.P.
OBJETIVOS E HIPÓTESIS Curso: Taller de tesis
Modelo de la cascada (cont.)
1.5 EL PROCESO DE SIMULACIÓN
Introducción a los algoritmos
PRINCIPIOS FUNDAMENTALES DE LA AUDITORÌA DE DESEMPEÑO
MSc. Lisett Pérez Quintero Ing. Jorge Carrera Ortega
SSOFI – FACULTAD DE ARTES
Requisitos Ing. Maribel Valenzuela Beltrán 1.
Herramientas on-line para la acción sindical (II)
MC Beatriz Beltrán Martínez Verano 2018
Metodologías de Desarrollo Web
METODOLOGÍAS ÁGILES Por metodologías ágiles entendemos a aquellas metodologías de gestión que permiten adaptar la forma de trabajo al contexto y naturaleza.
UNIDAD 2 MODELO DE DATOS.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Dirección de correo Autor1, Autor2, Autor3
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Desarrollo de sistemas
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Programación Avanzada Requerimientos de Software

Contenido Especificación de Requerimientos Tipos de Requerimientos Requerimientos Funcionales Casos de Uso Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

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

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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

Casos de Uso (2) Los casos de uso (y similares) son una herramienta muy 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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

Casos de Uso (5) Método básico (variable según el avance): A medida que se avanza en el desarrollo se detectan nuevos casos de uso y se especifican otros ya detectados Detectar actores Identificar algunos casos de uso (detectando objetivos y necesidades de actores) Especificarlos en alto nivel Examinarlos y expandir algunos de ellos … Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

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 - Curso 2017 Requerimientos & Introducción al Análisis

Ejemplo (Alto Nivel) Nombre Escribir Email Actor Usuario Descripción El caso de uso comienza cuando el Usuario desea escribir un correo electrónico. Para ello especifica el cuerpo del correo electrónico y un asunto. Luego si lo desea el usuario puede adjuntar uno o más archivos de su disco duro en el email. Al finalizar de escribir el email el sistema especifica una lista de contactos y el usuario selecciona opcionalmente uno o más destinatarios. Para cada destinatario puede especificar que tipo de destinatario se trata (Principal, Con Copia o Con Copia oculta). Luego el usuario puede elegir más destinatarios escribiendo manualmente sus correos electrónicos y el tipo de destinatario al igual que lo hizo antes. Al finalizar el sistema envía el correo y lo copia en la carpeta ‘Enviados’. Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

Ejemplo (Expandido) Caso de Uso: Escribir Email Actores: Cliente Sinopsis: El caso de uso comienza cuando el Usuario desea escribir un correo electrónico. Para ello […] Escenario Típico: Usuario especifica Cuerpo del correo y el asunto El Sistema muestra una lista de contactos El Usuario selecciona contactos y especifica para cada uno el tipo de destinatario El Usuario especifica más destinatarios escribiendo sus nombres y el tipo de destinatario El Usuario hace click en un botón Enviar El Sistema envía el mail El Sistema copia el mail a la carpeta Enviados Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

¿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 - Curso 2017 Requerimientos & Introducción al Análisis

Análisis

Objetivos Modelar el dominio del problema: Para comprender mejor el contexto del problema Para obtener una primera aproximación a la estructura de la solución Especificar el comportamiento del sistema: Para contar con una descripción más precisa de qué es lo que se espera del sistema Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

Actividades Para lograr los objetivos planteados realizaremos las siguientes actividades: Modelado del Dominio Especificación del Comportamiento del Sistema Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

Modelado del Dominio Consiste en encontrar y describir los conceptos en el dominio de la aplicación Durante esta actividad se construye el Modelo de Dominio En él se incluyen todos los elementos que se definan durante esta actividad Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis

Comportamiento del Sistema Consiste en: Entender cada caso de uso en términos de intercambios de mensajes entre los actores y el sistema Especificar el comportamiento de cada uno de esos mensajes (pero sin decir cómo funcionan) Durante esta actividad se completa el Modelo de Casos de Uso En él se incluyen todos los elementos que se definan durante esta actividad Programación Avanzada - Curso 2017 Requerimientos & Introducción al Análisis