Análisis. Actividades. Por Miguel y Michael

Slides:



Advertisements
Presentaciones similares
Ingeniería de Requisitos
Advertisements

Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
Análisis (Modelo de CU) Francisco Valdés Souto 2 al 6 de marzo 2009 © Avantare Consultores S. A. de C. V. – Derechos Reservados.
FUNDAMENTOS DEL ANÁLISIS DE SISTEMAS Un sistema es un conjunto de componentes que se unen e interactúan entre si para formar un todo en base a un mismo.
InfoMedia Planificación. Resumen de tareas ● PLANIFICACIÓN: – Documentación: Asignación de tareas, recursos y fechas. – Revisión: Verificación de los.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
NTC - ISO 9001 NORMA TÉCNICA COLOMBIANA (TERCERA ACTUALIZACIÓN)
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
Los requisitos para una planificación eficaz ya que es la tarea más importante en cuanto condiciona el hacer y el actuar. Los objetivos deben ser alcanzables.
Análisis de Proyecto de Software.
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
El Lenguaje de Modelación Unificado
METODOLOGÍA DE SISTEMAS
Ingeniería de requisitos y
Flujo de trabajo: Requerimientos
Ciclo de vida del producto y decisiones de selección del proceso
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Diagramas de Casos de Uso
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
INTRODUCCIÒN AL SISTEMA GESTOR DE BASE DE DATOS
Especificación de Requisitos
METODOLOGÍA DE SISTEMAS
Ingeniería de Sistemas Requerimientos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
DIAGRAMA DE CLASES 2016 Ramos, Pablo.
Tema 3. Lenguaje unificado de modelado UML
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Metodología OOHDM Jairo Pinto Ing. sistemas.
Diagramas del modelo uml
Resumen: Análisis de requerimientos
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
Ingeniería del Software
Proceso Unificado de Desarrollo de Software
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),
Danny Frank Otero Arrascue Ingeniería de Requisitos / Requerimientos Advisor: MEJIA CABRERA HEBER IVAN.
Roles del Analista de Sistemas Y Ciclo de Vida del Desarrollo de Sistemas.
Unidad 5: Evaluación de los sistemas
Ciclo de vida del Software
Comprensión y obtención de los requerimientos
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
En este periodo el analista se esfuerza por comprender la información que necesitan los usuarios para realizar su trabajo de la manera correcta.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
PRESENTADO POR: JUAN DAVID GODOY ING. ELECTRÓNICA II
Se hizo popular en la década de 1980 y todavía es utilizado por muchos. Consiste en interpretar el concepto del sistema (o situaciones del mundo real)
Requisitos Ing. Maribel Valenzuela Beltrán 1.
TECNICAS DE ELICITACIÓN DE REQUERIMIENTOS. REUTILIZACION DE REQUERIMIENTOS La técnica de Reutilización de Requerimientos parte de la idea de que los requerimientos.
Diagramas de clases Modelan la vista estática del sistema
Tema: Administración de la configuración de software UNIVERSIDAD TECNOLÓGICA ISRAEL CALIDAD DE SOFTWARE.
INGENIERIA DE REQUISITOS
Definición Proceso Unificado Es el flujo de trabajo Realización de casos de uso Roles, actividades, artefactos Es dirigir el desarrollo hacia el sistema.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
IEEE Estándar para documentación de pruebas de software
Casos de Uso Análisis de requisitos con casos de uso.
IEEE-STD PRÁCTICA RECOMENDADA PARA LA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
Plan de Sistemas de Información (PSI). Plan de Sistemas de Información (PSI) Descripción y Objetivos Tiene como objetivo la obtención de un marco de referencia.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
ISO Esta norma internacional proporciona orientación sobre la auditoría de los sistemas de gestión, incluyendo los principios de la auditoría, la.
PLANIFICACION Diego Hernández.
Ing. Carlos García P. C.I UNIDAD EDUCATIVA “SALINAS INNOVA” P Identifique el contexto para el cual se Planifica un nuevo sistema ÁREA.
ICI 502 Procesos de Software
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:

Análisis. Actividades. Por Miguel y Michael Bruegge, B., Dutoit, A. Object-Oriented Software Engineering. 3 Ed. Prentice Hall, 2009. Capítulo 5; numerales 5.4.6 á 5.4.12, 5.5; pp. 190 á 206

Identificación de Asociaciones Los diagramas de clase-> representacion de asociaciones entre objetos Una asociación muestra una relación entre dos o mas clases.

Identificación de asociaciones VENTAJAS 1. Clarifica el modelo de análisis 2. descubre casos limite asociados con enlaces.

PROPIEDADES DE LAS ASOCIACIONES Un nombre: describe la asociación Un rol en cada extremo identifica la función de cada clase con respecto a las asociaciones Una multiplicidad en cada extremo: identifica el posible numero de instancias

EJEMPLO Un nombre: Escribe Un rol en cada extremo: autor (fieldofficer) Una multiplicidad en cada final:* (fieldofficer), 1 (EmergencyReport)

HEURISTICA PARA IDENTIFICACION DE ASOCIACIONES Examine frases de verbo Nombre asociaciones y roles precisamente Use calificadores tan a menudo como sea posible para identificar espacio de nombres y atributos claves Eliminar cualquier asociación que pueda ser derivada de otras asociaciones. No se preocupe de la multiplicidad hasta que el juego de asociaciones sea estable. Evite modelos de ravioles: Demasiadas asociaciones hacen un modelo ilegible.

EJEMPLO La asociación entre incident y el fieldofficer no es necesaria.

Identificando Atributos Los atributos son propiedades de objetos individuales. Unicamente los atributos relevantes a el sistema deben ser considerados. Se debe identificar tantas asociaciones como sea posible antes de identificar atributos

EJEMPLO Atributos de la clase reporte de emergencia

Propiedades de los atributos Un nombre: que los identifica dentro de un objeto Una breve descripción Un type describe los valores legales que este puede tomar

Heurísticas para identificar atributos Examine frases posesivas Represente el estado almacenado como atributos de objeto entidad. Describa cada atributo No represente un atributo como un objeto, use una asociación en cambio No gaste el tiempo describiendo detalles finos antes de que la estructura de objeto sea estable.

Identificacion de agregados Las agregaciones son tipos especiales de asociaciones denonatas con una relacion parte entera

Tipos de agregados Existen dos tipos de agregacion: Composicion Compartida

COMPOSICION Es denotada por un diamante solido. Indica que la existencia   de las   partes depende de el todo Adiciona informacion sobre como los conceptos estan contenidos en el dominio de la aplicación

EJEMPLO

compuesta Denotada por un diamante hueco Indica que el todo y las partes pueden existir independientemente

EJEMPLO

Modelado Estado-dependiente comportamiento de objetos individuales Diagramas de secuencia-> Representa el comportamiento de el sistema desde la perspectiva de un unico caso de uso Diagramas de estado:Representa el comportamiento desde la perspectiva de un unico objeto

Diagrama de estado No es necesario construir diagramas de estado por cada clase en el sistema Objetos con una duración extendida de vida y comportamiento estado-dependiente

EJEMPLO Grafico de estado UML para incidente

MODELADO DE RELACIONES DE HERENCIA ENTRE OBJETOS La generalizacion es usada para eliminar redundancia desde el modelo de analisis Si dos clases comparten atributos o comportamiento las similitudes son consolidadas en una superclase

MODELADO DE RELACIONES DE HERENCIA ENTRE OBJETOS Ejemplo: Diagrama de clase UML relación de herencia

REVISION DEL MODELO DE ANALISIS La etapa de revisión comienza cuando el modelo de análisis se vuelve estable La revisión se realiza primero por los desarrolladores, y luego por cliente y desarrolladores

Objetivos de la revision de requerimientos Especificacion de requerimientos sea correcta,completa, consistente y sin ambiguedades Los requerimientos sean realistas y verificables

Preguntas utiles para asegurarse que el modelo sea correcto ¿Es el glosario de los objetos entidad comprensible pora el usuario? ¿Las clases abstractas corresponden a los conceptos de nivel de usuario? ¿Son todas las descripciones de conformidad con las definiciones de los usuarios? ¿Todos los objetos entidad y de frontera tienen significativas frases sustantivas como nombres? ¿ Todos los objetos de caso de uso y control tienen significativas frases verbales como nombres? ¿Están todos los casos de error descritos y manejados?

Preguntas utiles para asegurarse que el modelo sea completo Objeto: Es necesario para cualquier caso de uso? En cual caso de uso es creado? Modificado? Destruido?Puede este ser accesado desde un objerto divisorio? Atributo: Cuando Se Fija? Cual es su tipo? deberia ser un calificador? Asociacion: Cuando es atravesado? Por ue fue elegida la multiplidad escogida? ¿Pueden las asociaciones con multiplicidad de uno a muchos y muchos-a-muchos calificar? Objeto Control: ¿Tiene las asociaciones necesarias para acceder a los objetos que participan en su caso de uso correspondiente?

Preguntas utiles para asegurarse que el modelo sea consistente ¿Hay varias clases o casos de uso con el mismo nombre? Entidades (por ejemplo, casos de uso, clases, atributos) con similares nombres denotan similares conceptos? ¿Hay objetos con atributos similares y asociaciones que no están en la misma generalización jerargica?

Preguntas utiles para asegurarse que el sistema descrito por el modelo de analisis es realista Hay caracteristicas de novela en el sistema Fueron todos los estudios y prototipos construidos para su viabilidad? Pueden los requisitos de rendimiento y fiabilidad ser reunidos? Fueron estos requisitos verificados por cualquier prototipo ejecutandose en el hardware seleccionado?

RESUMEN ANALISIS La actividad de obtención de requerimientos es altamente iterativa e incremental.  Trozos de funcionalidad son esbozados  y propuestos a los usuarios y el cliente El cliente adiciona requerimientos, critica a la funcionalidad existente , y modifica los requisitos existentes.

Los desarrolladores investigan requisitos no funcionales RESUMEN ANALISIS Los desarrolladores  investigan requisitos no funcionales  Inicialmente, la obtención de requisitos se asemeja a una actividad de lluvia de ideas La descripción del sistema crece y los requerimientos se vuelven más concretos-> se amplia y  modifica el modelo de análisis en una manera más ordenada a través de prototipos y  estudios de tecnología y el reto de cada requisito propuesto. Como, los desarrolladores necesitan

ACTIVIDADES DE ANALISIS

Manejo del Análisis El fin del análisis de requerimientos es que se cree un documento que pueda ser escrito de forma coherente y pueda ser entendido por cualquier persona. Con la ing del software se intenta acotar el riesgo de fracaso

Manejo del Análisis Lo que se busca en la gestión de requerimientos en un proyecto es mantener la coherencia al utilizar tantos recursos Al final en el documento de análisis de requerimientos debe describirse un sistema único coherente entendible.

Manejo del Análisis El análisis de gestión se lleva acabo a través de las siguientes etapas: Análisis de documentación Asignación de responsabilidades La comunicación sobre análisis Iterar sobre el modelo de análisis Cliente registrado-no registrado

1. Análisis de la documentación Se centra en el RAD(Requirements Analysis Document) en el cual están documentados la obtención de requerimientos y las actividades de análisis. El RAD terminado y publicado es la línea base y es sometido a la configuración de gestión

1. Análisis de la documentación Modelos de objetos Modelos dinámicos MODELO DE OBJETOS: se documenta en detalle todos los objetos que identificamos, sus atributos, y usamos diagrama de secuencias, donde cada objeto es descrito con definiciones textuales, relaciones entre ilustraciones con diagrama de clases. MODELOS DINAMCOS: se documenta el comportamiento de los modelos de objetos en términos de diagramas de máquinas de estado y diagramas de secuencia. Aunque esta información es dredundante con los casos de uso, modelos dinámicos, nos representa mas complejidad, incluyendo muchos actores.

1. Análisis de la documentación RAD-Esquema General 1. Introduction 2. Current system 3. Proposed system 3.1 Overview 3.2 Functional requirements 3.3 Nonfunctional requirements 3.4 System models 3.4.1 Scenarios 3.4.2 Use case model 3.4.3 Object model 3.4.3.1 Data dictionary 3.4.3.2 Class diagrams 3.4.4 Dynamic models 3.4.5 User interface-(navigational paths and screen mock-ups) 4. Glossary Overview-objetivos[[ current system

2. Asignación de responsabilidades El análisis requiere de la participación de una amplia gama de individuos. Los individuos participan en el análisis mediante la asignación de roles y alcances bien definidos. Existen tres tipos principales de roles: Generación de información Integración Revisión

2. Asignación de responsabilidades Usuario final: Es el experto del dominio de la aplicación, es quien genera información del sistema actual, el entorno del futuro sistema y las tareas que debería apoyar El cliente: Participa en un rol de integración, define el ámbito de aplicación de el sistema, basado en los requerimientos del usuario

2. Asignación de responsabilidades El analista: Es experto en el dominio de aplicación quien modela el sistema actual y genera información sobre el futuro sistema El arquitecto: Participa en un rol de integración, unifica los casos de uso y modelos de objeto de un punto de vista del sistema

2. Asignación de responsabilidades El analista: Es experto en el dominio de aplicación quien modela el sistema actual y genera información sobre el futuro sistema. El arquitecto: Participa en un rol de integración, unifica los casos de uso y modelos de objeto de un punto de vista del sistema

2. Asignación de responsabilidades Editor de documento: Es responsable por la integración bajo-nivel de el documento y por el formato general de el documento y su índice Administrador de configuración: Es el responsable de mantener un historial de revisión de el documento así como información de trazabilidad relacionando la RAD con otros documentos El revisor: valida la RAD para correcciones, integridad, consistencia, y claridad

2. Asignación de responsabilidades En todos los casos debe haber un rol integrador en el lado del cliente y otro en el lado del desarrollo Al final, los requerimientos, a pesar de que agranden el sistema, deben ser entendibles por un solo individuo conocedor de el dominio de la aplicación.

3. Comunicación sobre el análisis Es una tarea mas difícil durante la obtención de requerimientos y el análisis debido a los siguientes factores: Diferente procedencia de los participantes(experiencia y vocabulario) Diferentes expectativas de los interesados(objetivos al definir el sistema)

3. Comunicación sobre el análisis Nuevos equipos(nuevo proyecto-aprender a trabajar juntos) Evolución del sistema(términos y conceptos en flujo)

3. Comunicación sobre el análisis Nuevos equipos(nuevo proyecto-aprender a trabajar juntos) Evolución del sistema(términos y conceptos en flujo)

Pautas simples para la gestión de la complejidad de puntos de vista conflictivos del sistema Ningún método de requerimientos o mecanismo de comunicación puede resolver problemas relacionados con políticas internas y ocultación de información, por ello se debe tener en cuenta las siguientes pautas simples de gestión:

Pautas simples para la gestión de la complejidad de puntos de vista conflictivos del sistema Definir claramente los territorios: Definición de roles y foros de discusión Definir objetivos claros y criterios de éxito: La coodefinicion de objetivos claros, medibles y verificables y criterios de éxito por parte del cliente y el desarrollador facilita la resolución de conflictos. Lluvia de ideas

4. Iterar sobre el modelo de análisis El análisis ocurre iterativamente e incrementalmente, frecuentemente en paralelo con otras actividades de desarrollo Debe tenerse en cuenta que la modificación y extensión del modelo de análisis sin restricciones únicamente puede resultar en caos; por ello se utiliza el control de cambios

4. Iterar sobre el modelo de análisis La actividad de requerimientos puede ser vista como varios pasos convergiendo hacia un modelo estable. Estos pasos son: Lluvia de ideas: todo cambia ->generar tantas ideas como sea posible->iteraciones rápidas y de largo alcance Solidificación: clientes y desarrolladores convergen en una idea común->definición de los limites del sistema y conjunto de términos estándar . Funcionalidad organizada en grupos de casos de uso con sus correspondientes interfaces-> Grupos de funcionalidad son asignados a diferentes equipos que son responsables por detallar sus correspondientes casos de uso Iteraciones rápidas pero localizadas

4. Iterar sobre el modelo de análisis Madurez: Responsabilidad de equipos de funcionalidad(casos de uso y objetos) cada cual con representantes en el equipo arquitectura(integración de requerimientos) Cuando los requerimientos son firmados por el cliente-> las medicaciones al modelo de análisis deben direccionarse a omisiones y errores Asegurar la consistencia del modelo El modelo de requerimientos esta bajo gestión de configuración y los cambios deben ser propagados a modelos de diseño existentes Las iteraciones son lentas y frecuentemente localizadas

5. Firma del cliente La firma del cliente representa la aceptación del modelo de análisis por el cliente. El cliente y los desarrolladores convergen en una única idea y están desacuerdo con las funciones y características que el sistema tendrá. Además ellos están desacuerdo con: una lista de prioridades un proceso de revisión una lista de criterios que se utilizarán para aceptar o rechazar el sistema un calendario y un presupuesto

Prioridad de funciones Dar prioridad a las funciones del sistema permite a los desarrolladores entender mejor las expectativas del cliente con lo cual se puede separar ruido de características esenciales y además permite entregar el sistema en bloques incrementales Ejemplo de esquema de prioridad: Cada función se asignará una de las siguientes prioridades Prioridad Alta –Una característica alta-prioridad debe ser demostrada con éxito durante la aceptación del cliente Prioridad media: Una característica prioridad-media debe tenerse en cuenta en el diseño del sistema y diseño del objeto. Esta será implementada y demostrada en la segunda iteración de el desarrollo del sistema Prioridad baja: ilustra como el sistema podría ampliarse a mas largo plazo