Resumen Final de Modelos Primer Parcial

36
RESUMEN PRIMER PARCIAL MODELOS COMPUTACIONALES METODOLOGIA MERISE – CAPITULO 4 Merise: Metodología de análisis y diseño de SI, aportando un plan de trabajo y técnicas de modelado. Este da lugar a la concepción de los sistemas de información, porque unifica informática con la empresa. Las etapas son: Estudio previo: definir las soluciones conceptuales y organizativas en relacion con el dominio objeto de estudio Estudio detallado: Definir las especificaciones funcionales Estudio técnico: distribución de datos en ficheros y el tratamiento en módulos de programas. Realización y puesta en marcha: implementación, y recepción de los usuarios. Mantenimiento: Abarca el resto de la vida del sistema, hasta ser sustituido por otro. Ciclo de vida de Merise: -Esquema director (Ámbito de actuación - Empresa) Tiene por misión prever y planificar el desarrollo de los SI, definiendo recursos, y la política presupuestaria. -Estudio previo (Dominio) Conseguir una visión de conjunto del dominio estudiado, anteriormente definido en el esquema director. (Descomponer el dominio, evaluar riegos, planificar la puesta en marcha, definir el entorno) -Estudio detallado (Aplicación) Profundiza en la información obtenida en el transcurso del estudio previo. Define los datos a utilizar, interrelaciones, procesos y flujos. -Estudio técnico (Aplicación)

description

MIMIKM

Transcript of Resumen Final de Modelos Primer Parcial

Page 1: Resumen Final de Modelos Primer Parcial

RESUMEN PRIMER PARCIAL MODELOS COMPUTACIONALES

METODOLOGIA MERISE – CAPITULO 4

Merise: Metodología de análisis y diseño de SI, aportando un plan de trabajo y técnicas de modelado. Este da lugar a la concepción de los sistemas de información, porque unifica informática con la empresa. Las etapas son: Estudio previo: definir las soluciones conceptuales y organizativas en relacion con el dominio objeto de estudioEstudio detallado: Definir las especificaciones funcionalesEstudio técnico: distribución de datos en ficheros y el tratamiento en módulos de programas.Realización y puesta en marcha: implementación, y recepción de los usuarios. Mantenimiento: Abarca el resto de la vida del sistema, hasta ser sustituido por otro.

Ciclo de vida de Merise:

-Esquema director (Ámbito de actuación - Empresa)Tiene por misión prever y planificar el desarrollo de los SI, definiendo recursos, y la política presupuestaria.

-Estudio previo (Dominio)Conseguir una visión de conjunto del dominio estudiado, anteriormente definido en el esquema director. (Descomponer el dominio, evaluar riegos, planificar la puesta en marcha, definir el entorno)

-Estudio detallado (Aplicación)Profundiza en la información obtenida en el transcurso del estudio previo. Define los datos a utilizar, interrelaciones, procesos y flujos.

-Estudio técnico (Aplicación)Estructura de los programas, distribución de los datos en distintos servidores, arquitectura técnica de los procedimientos en tiempo real y batch.

-Realización (Aplicación)

Su objetivo es la obtención de programas desarrollados conforme a las reglas funcionales especificadas validadas y aceptadas por el usuario y el establecimiento de un plan de lanzamiento.

-Mantenimiento (Aplicación)Consta de hacer evolucionar las aplicaciones operativas en función de las necesidades de los usuarios, del entorno y de los progresos tecnológicos.

Page 2: Resumen Final de Modelos Primer Parcial

Para poder separa los datos de los tratamientos, fragmentar la dificultad, y comunicar Merise considera tres ciclos:

Grafiquito del cubo del ciclo de vida, de abstracción y de decisión en la Metodología Merise.

-Ciclo de vida (eje x)-Ciclo de abstracción (eje y)-Ciclo de decisión (eje z)

Definición de los conceptos:

Etapa: distancia que separa dos pausas consecutivas en la realización del estudio.Fase: Subdivisiones de las etapasTarea: subdivisiones de las fases. Unidad más chica de trabajo.

METODOLOGIA SSADM – CAPITULO 5

Posición de SSDAM en el ciclo de vida de los sistemas de información

ESTRUCTURA DEL METODO:

-Modulo FS (Feasibility Study)Estudio de viabilidadEstablecer cual puede ser el sistema de información que responda satisfactoriamente a los requerimientos de la organización.

-Modulo RA (Requirements Analysis)Análisis de requerimientos (Investigación del sistema actual, estudio de opciones del sistema)Aca se define el alcance del sistema.

-Modulo RS (Requirement specification) Especificación de requerimientos. (definir procesos, modelo de datos, desarrollo de prototipos)Descripción detallada del futuro sistema.

-Modulo LS (Logical system specification)Especificación del sistema lógico. (Definir opciones técnicas, diseño lógico)

-Modulo PD (Physical Design)Diseño físico (diseño físico de datos, mapa de implementación de funciones, consolidar interfaces de procesos, definir entradas, salidas y estándares)

Ventajas e inconvenientes:Ventajas: Alta participación del usuario, hace que el sistema diseñado coincida con el requerido.

Page 3: Resumen Final de Modelos Primer Parcial

Propone tres vista: funcionalidad (con los dfd), los datos con un estudio exhaustivo del modelo (técnicas TOP down, bottom-up) y la lógica de nuestro sistema

Como desventaja tiene que es una metodología de carácter rigida y exigente. Se requiere una formación y entrenamiento adicional para poder aplicarla.

.

METODOLOGIA DE INGENIERIA DE LA INFORMACION – CAPITULO 6

Aplicación de un conjunto de técnicas formales para la planificación, analisis y diseño y construcción de SI en toda la organización p en un área de la misma.

características:

Proporcionar un entorno metodologico para cada fase e integrar estos con técnicas y herramientas. Ayuda a la organización a conseguir y defender ventajas competitivas mediante la identificación del uso estratégico de la información.Involucra de manera eficaz a los usuarios en la planificación.Disminuir el tiempo de desarrollo.

Fases de la metodología (CICLO DE VIDA DEL DESARROLLO DE LOS SISTEMAS DE INFORMACION)

Son planificación, análisis, diseño y construcción. (Pirámide de la Ingeniería de la Información).

Planificación: Consiste en la elaboración de un modelo de empresa que soporte los objetivos del negocio y el desarrollo de planes de SI.

Análisis: Formalización de los requisitos

Diseño: Transformación del modelo conceptual en una especificación detallada de datos y procesos.

Construcción: construir la nueva aplicación.

PAPEL DEL DICCIONARIO EN LA INGENIERIA DE LA INFORMACION

Se describe esta metodología (Ingeniería de la información), como una manera de trabajar que representa el conjunto de información, datos o elementos en un repositorio. Todas las fases de la metodología acceden al tratamiento de esta información siempre a través del repositorio o diccionario. Dibujito de la pirámide - Diccionario - Información.

EL MODELO DE EMPRESA

Page 4: Resumen Final de Modelos Primer Parcial

Se compone de los siguientes modelos integrados entre sí:Modelo de datos, modelo de organización, modelo estratégico (matriz de asociación) y el modelo de procesos (representa las distintas tareas identificadas).

DIAGRAMA DE ACCIONCada una de las fases de la metodología de la ingeniería de la información utiliza distintas técnicas. Una es el diagrama de acción.

Según MARTIN Y MCclure, existen dos tipos de diagramas de acción: Uno que define la estructura de los programas y otro que define la lógica de los programas.Estos diagramas consisten en dar el máximo de información posible en la descripción de la lógica. Son fáciles de implementar manualmente o con herramientas CASE. Son construcciones derivadas de cualquier lenguaje de programación. Mas bien un detalle grafico que textual.

METODOLOGIA METRICA V2 – CAPITULO 7

Que resuelve METRICA v2:Desviación en los plazos, baja calidad de los sistemas obtenidos, productos que no responden a la necesidad del usuario, elevados costes de mantenimiento.

TECNICASEn METRICA v2 se hace énfasis en la utilización de técnicas graficas con el fin de describir los sistemas de forma sencillaAlgunas de estas técnicas son:-Diagramas de flujos de datos, modelado de datos, historia de la vida de las entidades, entrevistas, pruebas.

Historia de la vida de las entidades:Complementa la representación dinámica y estática de los procesos y los datos, sirviendo para verificar su exactitud y garantizando la coherencia a través del estudio de los eventos siguiendo la evolución de las entidades de datos a lo largo del tiempo.

CICLO DE VIDA DE METRICA V2

Cada fase (Planificación, diseño, construcción e implantación) se corresponde con varios módulos:

Fase Planificación: Modulo PSI (Plan de sistemas de información) Modulo ARS. Análisis de requisitos del sistemaFase Diseño: Modulo EFS. Especificación funcional del sistema Modulo DTS. Diseño técnico del sistemaFase Construcción: Modulo DCS. Desarrollo de componentes del sistema

Page 5: Resumen Final de Modelos Primer Parcial

Modulo DPU. Desarrollo de procedimientos de usuario.Fase Implantación: Modulo PIA. Pruebas, implementación y aceptación del usuario.

PARTICIPANTES Y PRODUCTOSSe requerirá un comité de dirección, un equipo del proyecto, con un jefe de proyecto, un departamento de tecnologías, un grupo de calidad.Se requerirá la participación activa de un grupo de usuarios que suministrara información al equipo de proyecto sobre los requisitos del sistema y validara los resultados.

Como resultado de las distintas tareas realizadas se pueden ir obteniendo productos que pueden ser finales o intermedios.Estos productos de los que hablamos hacen referencia exactamente igual a los distintos entregables del modelo de UP, obviamente cada uno ubicado en la fase correspondiente.

CARACTERISTICAS PRINCIPALES DE EUROMETODO – CAPITULO 10

Propone: Crear un marco complementario a los métodos existentes para construcción de sistemas de información.Evitar la mala interpretaciónAyudar a los compradores a evaluar ofertas.Mejorar la interpretación de los requisitos.

CARACTERISTICAS PRINCIPALES DE ORACLE – CAPITULO 8

Se centra en soportar las necesidades de negocio, prioridades, objetivos y factores críticos de éxito para el diseño y optimización de bases de datos relacionales.

Para el modelado de datos utiliza el modelo entidad-relación.

PREGUNTAS VARIAS

QUE METODOLOGIAS HACEN USO DE LAS REDES DE PETRI

Creo que el Merise

DE UNA METODOLOGIA QUE PERMITA FEEDBACK

Métrica V.2 Explicar lo de arriba.

Page 6: Resumen Final de Modelos Primer Parcial

INGENIERIA DE LA ACCESIBILIDAD A LA WEB – CAPITULO 9

No pregunto anda sobre este capitulo.

TRAZABILIDAD DE REQUISITOS Y CALIDAD DEL SOFTWARE: UNA APROXIMACION BASADA EN UML –

CAPITULO 2

CALIDAD EN RELACION AL SOFTWARE

Funcionamiento: debe funcionar siempre, en todo momento y cuando sea necesario. Funcionalidad: Debe hacer lo que dice que hace.Usabilidad: No solo debe hacer lo que dice que hace, sino que debe hacerlo de forma adecuada, natural.

La calidad se basa en cuatro pilares: el factor humano, la notación y herramientas utilizadas y el proceso de desarrollo (evolutivo, en cascada, de componentes, de prototipos, rup, espiral).Las mas usadas hoy en el mercado son RUP y XP. La primera orientados a grandes sistemas, pesados, con gran diseño. El otro resta protagonismo al modelado y se basa en entregas rápidas y en complacer al cliente.

TRAZABILIDAD DE REQUISITOS: Habilidad para describir y seguir la vida de un requisito en ambos sentidos, hacia sus orígenes o hacia su implementación a través de todas las especificaciones.

TRAZABILIDAD DIRIGIDA POR CASOS DE USO EN RUPCaso de uso ----(trace)---Realización de análisis----(trace)----(Realización de diseño)----(trace)--- especificación de pruebas… y también de casos de uso especificación de prueba se hace un trace.

1 – Describa una métrica de Moose

Chidamber y Kemerer propusieron seis métricas para medir la complejidad del diseño orientado a objetos, llamadas MOOSE. Solo tres se pueden aplicar a nivel conceptual.

Métrica DIT: Depth of inheritance tree. Es la profundidad de herencia de una clase. En herencia múltiple DIT será la de mayor longitud (del nodo a la raíz). Es una medida que expresa como varias clases ancestro pueden afectar potencialmente una clase.Se basa en la idea de que cuanto mas profunda esté una clase en la jerarquía, mayor será el número de operaciones que tienda a heredar.

METRICA NOC.Number of children. Es el número de subclases inmediatas subordinadas a una clase en la jerarquía.

Page 7: Resumen Final de Modelos Primer Parcial

Expresa cuantas subclases van a heredar las operaciones de la clase padre.

2 – Describa una métrica de Brito e Abraeu y Carapuca

Propusieron las métricas MOOD para medir los principales mecanismos del paradigma OO, tales como encapsulamiento, polimorfismo y paso de mensajes. Por ejemplo hace referencia a que el polimorfismo influye sobre la calidad del software y paso de mensajes. Se pueden utilizar en las fases de diseño y se definieron para ser aplicadas a nivel de diagramas de clases.

MHF Y AHF

El factor de ocultamiento de los métodos se define como el cociente entre la suma de las invisibilidades de todos los métodos definidos en todas las clases y el numero total de métodos definidos en el sistema considerado. La invisibilidad de un método es el porcentaje del total de clases desde las cuales el método es invisible.En otras palabras es la proporción entre los métodos definidos como protegidos o privados y el número total de métodos.

Saber las formulitas!

AHF – El factor de ocultamiento de los atributos se definecomo cociente entre la suma de las invisibilidades de todos los atributos definidos en todas las clases y el numero total de atributos del sistema considerado. La invisibilidad de un atributo es el porcentaje del total de clases desde las cuales los atributos son invisibles.

3- Métricas de Lorenz y KIDD

Propusieron un conjunto de métricas llamadas “Métricas de diseño”. Que se refieren a características estáticas del diseño de un producto software.

Los autores las clasificaron en:-Métricas de tamaño-Métricas de herencia-Métricas de características internas de las clases

Métricas de tamaño ejemplo:PIM:El numero de métodos de instancia publicas de una clase es el numero total de métodos públicos de instancias.

Metricas de Genero et al. (2000c;2002a)

Propusieron un conjunto de métricas para medir la complejidad estructural de los modelos de clase debido al uso de relaciones UML, como las agregaciones, asociaciones y dependencias. Estas métricas se agrupan en métricas a nivel de modelo de clases y métricas a nivel de clase.Ejemplo: Nazco : La métrica Número de asociaciones se define como el numero total de asociaciones dentro de un modelo de clases.

Page 8: Resumen Final de Modelos Primer Parcial

AccesibilidadPensemos en un escenario web, donde los usuarios potenciales son todos, existen personas con ciertas discapacidades. En este ámbito surge por tanto la necesidad de extender el concepto de usabilidad y hablar de accesibilidad, vista ésta como usabilidad universal. Este concepto puede definirse como diseñar productos que sean usables por el rango más amplio de personas, funcionando en el rango más amplio de situaciones.

19 – Como diferencia concretamente la usabilidad de la accesibilidad?

La usabilidad apunta al instante en que grupo de usuarios específicos puede utilizar un producto para alcanzar metas específicas con efectividad, eficiencia y satisfacción pero sin contemplar que el producto sea usable por rangos más amplios de personas, funcionando en el rango más amplio de situaciones, que esto es lo que define la accesibilidad.

12- A que se llama percepción del usuario y calidad percibida?

Si consideramos que las necesidades de los usuarios son bien conocidas y comunes a todos los usuarios implicados, podríamos considerar que la calidad es una característica inherente al producto. Sin embargo, si distintos grupos de usuarios tienen diferentes necesidades, ellos requerirán ciertas características específicas del producto. Para considerarlo como un producto con calidad en base a sus propósitos. Por ello la calidad se convierte , en cierto sentido, en una calidad que depende de la percepción de los usuarios y puede surgir, por tanto, el concepto de calidad percibida.

Este término se asocia al conjunto de las características de un producto que aportan una gran satisfacción a unos usuarios específicos. Ejemplo del editor de texto para una secretaria que para un programador.

Calidad ExternaInstante en el cual un producto satisface las necesidades establecidas e implícitas cuando éste es utilizado bajo ciertas condiciones específicas.

Calidad en el usoLa efectividad, eficiencia y satisfacción con la cual ciertos usuarios específicos pueden alcanzar ciertas metas en entornos concretos.

4 – Como explica el punto de función en la web.?

OOMFP-WEB: Una métrica basada en análisis de puntos de función para la estimación de sistemas web.

La finalidad es proporcionar un método de producción de sistemas web donde se capturan los requisitos del usuario en los modelos conceptuales y siguiendo una estrategia de generación, se obtiene un sistema web con la funcionalidad equivalente a la especificación inicial.

Page 9: Resumen Final de Modelos Primer Parcial

5-Que es un modelo de navegación?

Son vistas sobre el modelo de objetos y está compuesto por un mapa de navegación que representa la visión gomal del sistema para cada agente. Se representa con grafos. Los nodos son contextos de navegación y los arcos los enlaces de navegación. Un contexto de navegación representa la visión que un agente tiene de un subconjunto del modelo de objetos, mientras que un enlace de navegación es una relación que representa navegación entre contextos. Un contexto de navegación puede ser de dos tipos: de exploración y de secuencia. Los de exploración deben ser alcanzables en cualquier momento. Los de secuencia solo pueden ser alcanzables mediante una secuencia previa de enlaces de navegación.

En un contexto navegación al aparece una clase principal, llamada clase directora, desde la cual empieza la navegación y las otras clases son llamadas clases complementarias que contribuyen a aportar información adicional a las instancias de la clase directora.

----------------------------------------------------------------------------------------------------------

PATRONES Y REFACTORIZACION EN LA CALIDAD SOFTWARE – CAPITULO 9

REFACTORIZACIONEs una transformación parametrizada de un programa preservando su comportamiento que automáticamente modifica el diseño de la aplicación y el código fuente subyacente.Transformación de programas preservando su comportamiento, modificando solo su estructura interna. Una técnica que permite realizar un desarrollo iterativo de manera controlable, un proceso potencialmente automatizable y controlado para alterar el software existente y que comienza con un programa que funciona pero que no esta muy bien diseñado.

Problemas: Cambio de interfaces generadas por la refactorizacion. Acoplamiento con la base de datos. Es algo difícil de cambiar.Ejemplo de refactorizaciones propuestas por Fowler:Inline Temp…sugiere reemplazar parámetros por métodos.Extract Subclase: Reemplazar codigo de errores por excepciones.

Otro ejemplo es REPLACE INHERITANCE WITH DELEGATION

La herencia es muy útil pero hay veces que no es lo más apropiado.

Los bad smells (“malos olores”)Son síntomas a identificar en un codito y que indican que refactorizaciones aplicar.

Page 10: Resumen Final de Modelos Primer Parcial

PATRONESNo existe una definición estándar , pero cada patrón es una regla de tres partes. Contexto, problema y solución. Descripción de objetos que se comunican y clases a la medida para resolver un problema de diseño general en un contexto particular.

-------------------------------------------------------------------------------------------------------

CALIDAD EN EL DESARROLLO DE APLICACIONES WEB: MODELOS, METODOS DE AVALUACION Y METRICASS DE

CALIDAD

Calidad: Conjunto de propiedades y de características de un producto o servicio que le confieren aptitud para satisfacer unas necesidades explicitas o implícitas.

La calidad consta de una serie de factores que deberán ser medidos.

Para ellos se han definido distintos modelos que permiten descomponer en atributos fáciles de medir los factores representativos que puedan servir para dar una visión sobre la calidad del software.

Los primeros modelos que surgieron son lo de Mc Call y Bohem.En base a la pregunta del profesor:

¿Cómo es el modelo de MAC CALL para la Web?En este modelo, la calidad queda definida a un alto nivel de abstracción por seis características principales: funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad, y portabilidad.

FUNCIONALIDAD: las funciones satisfacen las necesidades declaradas o implícitas (ISO 9126: 1991, 4.1): Adecuación; exactitud; interoperabilidad; seguridad de acceso; cumplimiento funcional.

FIABILIDAD: capacidad de un sistema para mantener su nivel de rendimiento, en condiciones establecidas y durante un período de tiempo determinado. Madurez; tolerancia a fallos; capacidad de recuperación.

USABILIDAD: esfuerzo necesario para el uso y la valoración individual de tal uso por parte de un conjunto de usuarios declarado o implícito. Capacidad para ser entendido; capacidad para

Page 11: Resumen Final de Modelos Primer Parcial

ser aprendido; capacidad para ser operado.

EFICIENCIA: relación entre el nivel de prestaciones de un sistema y el volumen de recursos utilizados en condiciones declaradas.

MANTENIBILIDAD: esfuerzo necesario para realizar modificaciones específicas.

PORTABILIDAD: capacidad de un sistema para ser transferido de un entorno a otro.

COMO SE CLASIFICAN LAS METRICAS PARA EVALUAR CALIDAD?

Como este estándar (Mc Call)no proporciona métricas ni métodos para la medición, para resolver este problema, se incluye un nuevo modelo de calidad que distingue entre tres diferentes aproximaciones a la calidad de producto:

Calidad interna: Se mide por las propiedades estáticas del código, utilizando normalmente técnicas de inspección.

Calidad Externa: Se mide por las propiedades dinámicas del código cuando este se ejecuta.

Calidad en uso: se mide por el grado por el cual el software esta realizado en función de las necesidades del usuario en el entorno de trabajo para el que fue construido.

Se ha visto la necesidad de definir nuevos modelos que permitan evaluar calidad en entornos web y aun no hay ningún estándar, pero existen propuestas como

WEB-SITE QEM.

USABILIDAD: métodos y técnicas de evaluación

Como se define usabilidad

El instante en el cual un producto puede ser utilizado por usuarios específicos para alcanzar metas especificas con efectividad, eficiencia y satisfacción en un contexto de uso específico.

Nielsen la define como: aprendizaje, eficiencia, necesidad de recordar, errores, satisfacción. O sea que el sistema debe facilitar su aprendizaje, reducir la necesidad de recordar cosas (reducir la memorización para manejar el sistema), y evitar que el usuario cometa errores en su manejo y ayudarle a resolverlos en caso de que los cometa.

Algunos métodos de evaluación de la usabilidad según las distintas etapas del ciclo de vida (requisito, diseño, implementación, pruebas, mantenimiento) pueden ser:

-Estudios de campos inducidos-Método de instrucción previa- Protocolo de preguntas- Evaluación heurística- Realización de medidas- Entrevistas- Testeo remoto

Page 12: Resumen Final de Modelos Primer Parcial

- Cuestionarios

¿Cómo es el método WQM? o Web-site QEMWeb-site QEM, o simplemten Web QEM, es la metodología propuesta en 1999 por Luis Olsina. El objetivo de esta metodología es evaluar y comparar la calidad de aplicaciones web más o menos complejas. Web QEM surgió debido a la necesidad de una metodología integral, robusta y flexible para evaluar la calidad de sitios web.Las características más destacadas de esta metodología son las siguientes:

- Está basada en modelos y métricas de calidad existentes, como el modelo ISO.- Se basa en modelos de agregación de características y atributos, es decir, partiendo

de unos atributos generales de calidad va añadiendo otros más específicos. Estos modelos pueden ser lineales o no lineales.

- La metodología se centra en el juicio de evaluadores expertos en el dominio.- Favorece el seguimiento y la justificación de resultados.

En el grafico del cubo del modelo de calidad WQM tenemos en la coordenada X proceso del ciclo de vida, (análisis, diseño, implementación…etc), En la coordenada Y, característica de la calidad (Funcionalidad, fiabilidad, usabilidad, eficiencia, portabilidad, mantenibilidad) y en el eje Z, característica web, (Contenido, presentación, navegación).

METRICAS DE USABILIDAD

METRICAS DE CALIDAD EN USO: La calidad en uso es la visión que tiene el usuario de la calidad de un sistema software y es medida en términos de resultados de usar dicho sofá.

Algunas métricas pueden ser:

DE EFECTIVIDAD

-Efectividad de la tarea M1= I 1-SUM AiI donde Ai es el valor proporcional de cada error en la salida obtenida al realizar la tarea.

-Frecuencia de error X= A / T donde A es el numero de errores cometidos por el usuario y T es el tiempo o numero de tareas.

DE PRODUCTIVIDAD:

Tiempo en llevar a cabo la tarea X=T ai donde ai es el tiempo invertido en la tarea.

METRICAS RELACIONADAS CON LA SEGURIDAD

-Daños económicos: X=(1-A) / B donde A es el numero de ocurrencias de daños económicos y B es el numero total de usos.

METRICAS RELACIONADAS CON LA SATISFACCION

-Escala de satisfacción: X=A/B donde A es el valor de escala producido por el cuestionario y B es la medida de la población.

Page 13: Resumen Final de Modelos Primer Parcial

Nombre una métrica de efectividad, productividad, seguridad y satisfacciónEfectividad: Efectividad de la tarea.Productividad: Tiempo en llevar a cabo la tarea.Seguridad: Seguridad y salud del usuario.Satisfacción: Escala de satisfacción

Esta pregunta es lo mismo que la de arriba.

Para integrar calidad en el proceso de desarrollo, con que dificultades me encuentro?

Primeramente tenemos que tener en cuenta que la calidad de un producto de software esta directamente relacionada con la calidad del proceso llevado a cabo. Por tanto la mejora en el proceso de desarrollo influye en la mejora de la calidad del producto.Uno de los factores de calidad más importantes en este tipo de entornos es la usabilidad.Durante el ciclo de vida, cuanto mas tarde se detecte un problema, más caro resulta resolverlo. Por tanto, cuanto antes se integre la usabilidad en el proceso de desarrollo, mejores serán los resultados.Se aplican técnicas de usabiLidad muy tarde en el ciclo de desarrollo, cuando los principales problemas de

usabilidad son demasiado costosos de arreglar. Es extremadamente difícil integrar completamente todos los aspectos de usabilidad. Para dar solución a esto surgieron algunas propuestas.

Se propone un DISEÑO BASADO EN EL USO, se centra en un conjunto de actividades coordinadas orientadas a la usabilidad (modelado de tareas y modelado de interfaz.)

---------------------------------------------------------------------------------------------------

MODELO DE LA SEGURIDAD EN SISTEMAS DE INFORMACION WEB – CAPITULO 7

- A que se llama medidas de seguridad u cuales son sus objetivos?1) La seguridad es un elemento de primer nivel, que entra en juego desde la concepción inicial del sistema, y participa desde el principio en las decisiones de diseño,

Page 14: Resumen Final de Modelos Primer Parcial

como lo hacen otros tipos de requisitos (funcionales, de interfaz, etc.). En general, el objetivo es mantener las tres características primordiales de la información: a. Confidencialidad: garantiza que la información es revelada sólo a los usuarios autorizados, en tiempo y forma precisa.b. Integridad: asegura que la modificación de la información es realizada por los usuarios habilitados, en el tiempo y forma precisa.c. Disponibilidad: permite que la información esté accesible, en tiempo y forma adecuada, a aquellos usuarios autorizados. Deben reducir los riesgos asociados al sistema de información.

Cuando hablamos de seguridad, ¿Qué 3 características hay que tomar en cuenta?

Confidencialidad, garantiza que la información es revelada solo a los usuarios autorizados, en tiempo y forma precisa.Integridad: asegura que la modificación de la información es realizada por los usuarios habilitados en el tiempo y forma precisa.Disponibilidad: permite que la información esté accesible, en tiempo y forma adecuada a aquellos usuarios autorizados.

Las medidas de seguridad de carácter técnico son:

-Identificación y autenticación de usuarios-Control de acceso-Control de flujo de la información-Confidenciabilidad-Integridad-No repudio Evita que un sujeto reniegue de la realización de una acción que previamente si había efectuado.-Notorizacion: Certificación de la asociación entre individuos y claves publicas de cifrado.

- Cuales serian las medidas de seguridad administrativas y/o organizativas ?2) Entre las medidas administrativo/organizativas se encuentran la clasificación de la información de acuerdo con el nivel de confidencialidad, la asignación de responsabilidades a los usuarios, el establecimiento de funciones de seguridad, la formación y sensibilización de los usuarios, etc. - Los mecanismos de protección son la puesta en práctica de las medidas de seguridad. ¿Cuales son?3) Los principales mecanismos de protección son: a. Autenticación: proporciona identificación y autenticación de usuarios.b. Control de accesos: proporciona control de accesos y del flujo de la información.c. Cifrado de datos: proporciona confidencialidad.d. Funciones resumen: se encargan de garantizar la integridad de los datos.e. Firma digital: garantiza el no repudio.f. Registro de auditoria: proporciona medidas de auditoria.

Page 15: Resumen Final de Modelos Primer Parcial

- La política de seguridad de una aplicación cliente - servidor, en que se diferencia de un sistemas distribuido?4) Se diferencia en que la protección en sistemas distribuidos requiere la existencia de diversos puntos de comprobación y cumplimiento. Por ello, se diferencia entre el punto de decisión de la política (PDP, Point Desition Point), en el que se toma una decisión de control de acceso y el punto de cumplimiento de la política (PEP, Policy Enforcement Point), en el que se efectúa el control de acceso como tal de acuerdo con la respuesta emitida por el PDP, pudiendo existir varios PDP y PEP repartidos por el sistema.

Que medidas de seguridad (formas de actuar) se aplican (Seguridad en la web)

PrevenciónCorrecciónRecuperación (Medidas legales)

Diseño de políticas de seguridad Define claramente los aspectos de seguridad que el sistema proporciona

(Security Kernel)

Se llama Security Kernel al soft y hard del Referente Monitor (Peticiones de acceso al sistema, toma de desiciones del control de acceso).

RBAC Control de acceso basado en roles. Usa el concepto de rol para agrupar un conjunto de permisos y un conjunto de usuarios autorizados a ejercer dichos permisos.

RBAC se define en término de 3 componentes.

- El núcleo de rbac: recoge los elementos mínimos para poder hablar de rbac (usuario, roles, permisos y sesiones). - RBAC jerarquizado: Añade relaciones para poder soportar jerarquía de roles. Hablamos de herencia de roles, rol señor y rol júnior.- RBAC con restricciones: ofrece un mecanismo que da soporte al principio de separación de privilegios, permitiendo establecer relaciones de exclusividad entre roles. Cuando dos roles son mutuamente excluyentes, no pueden asignarse al mismo usuario.Se habla de separación de derechos estática si esta restricción se aplica en tiempo de asignación de usuarios, mientras que la asignación de derechos dinámica tiene lugar en tiempo de activación de roles.

Que es un modelo de seguridad (definición de otros modelos)

Es un mecanismo abstracto que permite poner en práctica una determinada política de seguridad.

MAC: Son modelos de seguridad multinivel, que representan la información estructurada en rangos de sensibilidad, nombrados mediante etiquetas. Los flujos de información permitidos se grafican en forma de rejillas. Un ejemplo de MAC es el modelo de BELL-LaPadula.

Page 16: Resumen Final de Modelos Primer Parcial

DAC: Modelos de seguridad limitada, no se centra en prevenir el flujo de la información, sino que se basa en que el dueño de un objeto, tiene el control sobre los permisos de ese objeto, de ahí que los administre a su discreción. Los permisos se almacenan en una matriz de accesos, en cuyas filas se sitúan los sujetos y en cuyas columnas los objetos.

RBAC es mas eficiente que DAC Y MAC porque se ajusta mejor a los roles de una organización. Es más eficiente en términos administrativos. Es candidato para aplicaciones web, ya que soporta entornos multidominio.

MODELADO DEL ACCESO EN HIPERMEDIA (MARAH)

Trabaja con conceptos del dominio de la hipermedia, lo que permite a los diseñadores modelar el acceso al sistema al mismo tiempo que modelan el sistema en si. Esta basado en la filosofía RBAC, debido principalmente al gran numero de usuarios potenciales y a la naturalidad con que refleja la estructura organizativa.

Características en redes de petri y esquema director

Esquema director:Tiene por misión prever y planificar el desarrollo de los SI, definiendo a medio y largo plazo los recursos a utilizar y la política presupuestaria correspondiente. Describe un objetivo en forma de dominios de informatización, arquitecturas técnicas, medios humanos y útiles de desarrollo. Asimismo, define una serie de escenarios consistentes en la descripción de la arquitectura elegida para el SI y la trayectoria a seguir para alcanzarla a partir de la situación actual.

Cada escenario debe contener:- Una solución conceptual que describa las nuevas funcionalidades a partir de las orientaciones estratégicas y las disfunciones detectadas.- Una solución organizativa que describa los objetivos en cuanto al funcionamiento de los procedimientos y la distribución de responsabilidades.- Una valoración económica que tenga en cuenta: restricciones, presupuestos, plazos, recursos, etc.- Un plan de progresión en el que se articulen los desarrollos necesarios y que evalúe el impacto de las soluciones adoptadas.

Redes de petri

Una Red de Petri es una representación matemática de un sistema distribuido discreto. Las redes de Petri fueron definidas en los años 1960 por Carl Adam Petri. Son una generalización de la teoría de autómatas que permite expresar eventos concurrentes.

Page 17: Resumen Final de Modelos Primer Parcial

Una red de Petri está formada por lugares, transiciones y arcos dirigidos, así como por fichas que ocupan posiciones. Los arcos conectan un lugar a una transición o una transición a un lugar. No puede haber arcos entre lugares ni entre transiciones. Los lugares contienen un número cualquiera de fichas. Las transiciones se disparan, es decir consumen fichas de una posición de inicio y producen fichas en una posición de llegada. Una transición está habilitada si tiene fichas en todas sus posiciones de entrada.

EFECTIVIDAD-EFICIENCIA Y SATISFACCION (Métricas de usabilidad)

Efectividad: La precisión y completitud con las que el usuario alcanza objetivos concretos.

Eficiencia: Los recursos necesarios empleados en relación con la precisión y completitud completitud con la que los usuarios alcanzan los objetivos.

Satisfacción: La aceptación del sistema por parte de los usuarios, es decir, la actitud positiva de los usuarios hacia la utilización del producto.

CAPITULO 11 – CAPITALIZANDO EXPERIENCIA DE DISEÑO EN APLICACIONES WEB

PATRONES PARA EL DESARROLLO DE APLICACIONES

PATRON Landmark (área de incumbencia: navegación)

Intención: Resaltar los sectores mas importantesProblema: A veces los sectores no se encuentran relacionados entre si.Solución: Definir una serie de landmarks, y proveer fácil acceso desde cualquier nodo dentro de la estructura de navegación bla. Los landmarks, son los subtítulos de arriba en las páginas que indican por ejemplo: inicio, contacto, quienes somos, ayuda…etc.

PATRON Novedades (área de incumbencia: navegación)

Page 18: Resumen Final de Modelos Primer Parcial

Intención: Comunicar al usuario que nueva información de agrego o modifico en el sitio.Problema: Como podemos asegurarnos que los usuarios se van a enterar de nuestros nuevos productos por ejemplo.Solución: Consiste en estructurar la pagina inicial de manera tal que posea una sección claramente destinada a la nueva información agregada. Esta información se presenta a través de títulos que se refieran a las novedades y para no estar mostrando toda la novedad en la página inicial.

PATRON Recomendación (área: Comercio electrónico)

Intención: Ayudar al usuario a encontrar un ítem dentro de un sitio de comercio electrónico.Problema: Necesidad de ver las características de un producto que están decididos a comprar.

Solución: La aplicación debe dar soporte de sugerencias sobre los productos. Ejemplo recomendando al usuario los productos mas vendidos, productos ofertas. Esto no debe afectar a la estructura navegacion al global del sitio.

PATRON Comunicación PUSH (Miscelanea)

Intención: Optimizar el proceso de búsqueda sobre areas o productos de interés del usuario.Problema: La interacción de los usuarios con las aplicaciones web sigue un modelo PULL, es decir son los usuarios los que recuperan la información navegando por la aplicación.

Solución: Combinar el modelo pull con un modelo push.Encontrar manera de comunicarle al usuario información relevante sin obligarle a que la encuentre por si mismo. Ejemplo que se suscriba a una determinada categoría de información y recibir un correo electrónico.

PATRON Personalización de estructuraIntención: Limitar el espacio de navegación de acuerdo con las preferencias del usuario.Problema: Muchas categorías e información junta.Solución: Personalizar la estructura del sitio, proveyendo al usuario modulo o categorías que son enlaces a otros módulos u objetos concretos. Ejemplo yahoo te permite configurar que módulos queres ver y no estar desbordado de información.

PATRON Espacio de búsqueda (área búsqueda)Intención: Restringir las búsquedas a una categoría de información especifica.Problema: Cuando los espacios de información aumentan, con solo la navegación probablemente no encontremos lo que queremos.Solución: Acotar el espacio de búsqueda mediante categorías, permitiendo seleccionar una categoría o varias, y recién ahí darle a “Buscar”.

PATRON Respuesta estructurada(Búsqueda)

Page 19: Resumen Final de Modelos Primer Parcial

Intención: Brindarle al usuario la información organizada al momento de presentarle los resultados de una consulta.

Problema: Los resultados pueden incluir gran cantidad de enlaces.Solución: La información dada debería se agrupada dentro de distintas categorías.

PATRON Enlace Tipado (Usabilidad)Intención: Ayudar al usuario a distinguir distintos tipos de enlacesProblema: Presentarle al usuario enlaces en formatos convencionales, puede causar que sean ignorados.Solución: Clasificar los enlaces según el tipo de objeto al que apunta y brindarle al usuario un elemento visual adicional de información.

PATRON Información bajo demanda (Interfaz)Intención: Organizar gran cantidad de información en la interfaz cuando el espacio es reducidoProblema: Es necesario encontrar como mostrar información en espacios reducidos. Imaginemos en un dispositivo móvil.Solución: Presentar solo un subconjunto de los objetos mas importantes y darle al usuario la posibilidad de controlar que información será presentada, a través de algún mecanismo de selección.

TEORIA DE ASPNET, XML Y CORBA

CICLO DE VIDA DE UNA PÁGINA

Los sucesos de los webforms siempre se ejecutan en el servidor, no dentro del explorador.

1 – ASP.NET Cargar la clase que esta detrás del código y lanza el suceso Page_init. Todavía no se sabe si es la primera vez que se solicita ni el valor de los controles.2 – Después de que el objeto pagina y todos sus controles se inicializaron, se lanza Page_Load. En este momento se puede determinar si la pagina se esta ejecutando debido a una operación de devolución de datos (comprobando la propiedad IsPostBack) y se puede acceder a los valores de los controles. Es como el Load de los winforms.3 – Todos los sucesos de los controles se lanzan en este momento. Ejemplo textChanged para controles textBox modificados.4 – El último suceso de control que se lanza es el que es originado por la acción de la devolución de datos.5- Finalmente el objeto Page lanza UnLoad. Se espera que se liberen todos los recursos.

VIEWSTATETécnica utilizada por aspnet para mantener el estado de los controles.

Page 20: Resumen Final de Modelos Primer Parcial

Problemas: Mayor tiempo de carga de los controles. Incremento en el tamaño de la página.

La propiedad ViewState del objeto Page representa el contenido del campo oculto _VIEWSTATE. Y funciona como un diccionario clave valor.PROPIEDAD EnabledViewState

Si no queremos analizar el estado de algún control seteamos esta propiedad a false. SI lo queremos hacer para todos los controles de la pagina, lo seteamos en el atributo de la directiva page.Hacerlo para aquellos controles que no necesiten realmente ser almacenados entre mensajes de ida y vuelta.

PROPIEDAD IsPostBack

Esto es básicamente para no analizar nuevamente código de controles que ya tienen su contenido en el ViewState, y solo seria necesario cargarlo al principio y no en cada pedida de datos entre el cliente y el servidor.Las soluciones serian, setear la propiedad EnabledStateView a false para ese control o ejecutar la rutina de inicialización solo la primera vez que se solicite la pagina y saltarla durante una operación de devolución de datos.

Para cargar los datos solo la primera vez se debe diferenciar la primera solicitud de la página de los mensajes de vuelta, lo cual se hace por la propiedad IsPostBack de la página. If not Page.IsPostBack ….entonces cargame los controles de inicialización.

También podría guardar el viewstate de los controles en archivos en el servidor y no en campos ocultos de la página.IsPostBack es falso la primera vez que se carga la página.Es trae si se esta haciendo una devolución de datos.

PROPIEDAD AUTOPOSTBACK

Se utiliza cuando queremos lograr una retroalimentación entre controles por ejemplo. Si queres ver un mensaje en base a nuestra selección de un combo, seteamos a True la propiedad AutoPostBack, para ese control.Aclaración: Si las secuencias de comandos no están habilitadas en el navegador, el autopostback, que esta implementado con JavaScript, no funciona.

WebConfig Repositorio central de configuración de la aplicación web.Definición de settings personalizados.Configuración de autorización y autenticación.

Page 21: Resumen Final de Modelos Primer Parcial

COOKIES EN ASP.NET

-Archivos de 4kb-Cookies(“profesor”)(materia)=0 Cookies(“Profesor”)(aula)=0 Cookies(“pepe”)=5Pueden ser comunes o diccionarios.

Persistentes, temporales.

Cookies Moonging=Es una estrategia.

CONTROLES DE VALIDACION .NET

CICLO DE VIDA DE UNA WEBSERVICES

1-Construir WS2- Registrar WS: El servicio debe ser publicado para ser encontrado por clientes que no conozcan necesariamente el componente que ofrece el servicio.Registro UDDI (Univel Descriptor Discovery and INtegration registry). Es un archivo que describe uno o varios servicios. Es un xml que identifica el servicio y se indica como usarlo.3 – Localizar el WS. (En el UDDI).4 -El cliente del WS agrega una referencia web.5 – Pide la descripción del WS (WSDL . Web Services Description Language).6 – Construir Proxy.7 – El cliente usara el proxy pensando que es el servicio. EL Proxy se encargara de la comunicación e invocara sus métodos por SOAP o http-post o http-get.8 – se invocan los métodos del WS.

En un sistema distribuido no se conocen el cliente y el servidor. En una aplicación Cliente-Servidor si se conocen.

WS=Orientado a serviciosCORBA=Orientado a Objetos.

Recordar que los sistemas distribuidos usan un middleware. CORBA Y RMI lo usan.

Naming Services y Trading Services realizan el descubrimiento en CORBA al igual que el WSDL de los Web Services.

PROPIEDADES DE UN WEBSERVICES

Page 22: Resumen Final de Modelos Primer Parcial

Controles de validacion: Se introducen en la pag web igual que los otros ctroles.

RequiredFieldsValidators: Comprueba que el clente haya ingresado un valor.---------------------------------RegularExpressionValidator: q el valor ingresado tenga un determinado formato de entrada. (Por ejemplo fecha)

Contraseña alfanumerico de al menos 8 caracteresa-z a a-z 0-9 {8,}Campo si/no/verdadero/falso

SsNnVvFf

Las proa son ControlToValidateValidatorExpression.------------------------RangeValidator: que el valor ingresado este comprendido dentro de un determinado intervalo.

Las prop son - Type--Integer,Double,String,date,currency- MinimunValue- MaximumValue

--------------------------------CompareValidator: Que el valor ingresado sea aceptable comparandolo con otro valor o con el valor de otro control. ListBox, DropDownList, TextBox, ReadButtonList

Las prop son: ControlToCompare Equal NotEqual GraterThan LessThan Validate--------------------------------CustomValidator: permite que el programdor pueda crear sus propios controlles de validación.

Las prop son: ClientValidationFunction OnServerValidateValidationSummary: Permite emitir un informe con todos los errores.

Page 23: Resumen Final de Modelos Primer Parcial

La diferencia entre los eventos Clic y command es que en este último pasamos información adicional(los valores de las propiedadesCommandName y CommandArgs)Los valores de las propiedades se extraen del parámetro CommandEventsArgs

Text |CommandName | PropiedadesCommandArgument |CausesValidation |

OnClick | Metodo OnCommand |

Click |Command | Eventos

MANIPULACION DE EVENTOS

Para el Button

Sub Button_Click (s as object, e as eventArgs)-s= El objeto que produjo el evento-Object determina el objeto en particular.

EventArgs: Contiene info especifica sobre el evento que se ha producido.

Para el imageButton

Sub ImageButton_Click (s as object, e as ImageClickEventArgs)

Para el AdRotaro

Sub AdRotator_AdCreated (s as object, e as AdCreatedEventArgs)

Pregunta de parcialEventos del Global.asa y eventos del globalAsax

Global.asax. Es el primer archivo que se carga cuando se inicia la aplicación. Contiene controladores de sucesos, que se ejecutan cuando se conecta un nuevo cliente a la aplicación.DLLs: Todas las paginas de código de una aplicación son ensambladas en una sola dll y guardadas en el bin, nombredeproyecto.dll.Un style.css.Y el web.config. Archivo de configuración para la aplicación.

Page 24: Resumen Final de Modelos Primer Parcial

Sub Application_OnStart(ByVal sender As Object, ByVal e As EventArgs)

'Ocurre cuando se realiza la primera solicitud a la aplicacion,

'solo se inicia una vez(la primera) durante la vida util de la aplicacion

Context.Response.Write("<b>I. Iniciando aplicacion</b><br />")

End Sub

'/---------/

'/ II. END /

'/---------/

Sub Application_OnEnd(ByVal sender As Object, ByVal e As EventArgs)

'Ocurre cuando la aplicacion termina

Context.Response.Write("<b>II. Terminando aplicacion</b><br />")

End Sub

'/--------------------/

'/ III. SESSION START /

'/--------------------/

Sub Session_OnStart(ByVal sender As Object, ByVal e As EventArgs)

'Ocurre cuando se crea una nueva session, es decir cuando un usuario ingresa

Context.Response.Write("<b>III. Session iniciada</b><br />")

End Sub

'/-----------------/

'/ IV. SESSION END /

'/-----------------/

Sub Session_OnEnd(ByVal sender As Object, ByVal e As EventArgs)

'Ocurre cuando se abandona una session o se supera el tiempo de espera de una session

Context.Response.Write("<b>IV. Session finalizada</b><br />")

End Sub

'/----------------------/

'/ V. APPLICATION ERROR /

'/----------------------/

Sub Application_OnError(ByVal sender As Object, ByVal e As EventArgs)

'Cuando se da un error en la aplicacion

Context.Response.Write("<b>V. ERROR, pero aca podemos hacer algo al respecto</b><br />")

End Sub

'/--------------------------/

'/ VI. APPLICATION DISPOSED /

'/--------------------------/

Sub Application_OnDisposed(ByVal sender As Object, ByVal e As EventArgs)

Page 25: Resumen Final de Modelos Primer Parcial

'Cuando la aplicacion es apagada y el CLR la remueve de memoria

Context.Response.Write("<b>VI. Aplicacion apagada</b><br />")

End Sub

'/------------------/

'/ 1. BEGIN REQUEST /

'/------------------/

Sub Application_OnBeginRequest(ByVal sender As Object, ByVal e As EventArgs)

'Ocurre al Request y se ejecuta entes que cualquier manejador u otro evento

Response.Write("1. Aca el que tiene mayor prioridad :) a excepcion del Application_OnStart :( <br />")

End Sub

'/-------------------------/

'/ 2. AUTHENTICATE REQUEST /

'/-------------------------/

Sub Application_OnAuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)

'Ocurre al verificar si un usuario tiene permisos

Response.Write("2. Verificando si el usuario tiene permisos :S <br />")

End Sub

'/----------------------/

'/ 3. AUTHORIZE REQUEST /

'/----------------------/

Sub Application_OnAuthorizeRequest(ByVal sender As Object, ByVal e As EventArgs)

'Aca se autoriza al usuario a un recurso, tambien podemos colocar un nivel de acceso al usuario

Response.Write("3. Aca autorizamos acceso y podemos colocar nivel de acceso al usuario, esto lo puedes ver en articulos de autenticación<br />")

End Sub

'/-------------------------/

'/ 4. RESOLVE REQUESTCACHE /

'/-------------------------/

Sub Application_OnResolveRequestCache(ByVal sender As Object, ByVal e As EventArgs)

'Aca ASP.NET determina si el request sera servido desde cache

Response.Write("4. Aca se decide si el pedido sera servido desde output cache....<br />")

End Sub

'/--------------------------/

'/ 5. ACQUIRE REQUEST STATE /

'/--------------------------/

Sub Application_OnAcquireRequestState(ByVal sender As Object, ByVal e As EventArgs)

'Aca ASP.NET esta puede verificar el estado de la session

Page 26: Resumen Final de Modelos Primer Parcial

Response.Write("5. Aca obtenemos el estado de la session<br />")

End Sub

'/--------------------------------/

'/ 6. PRE REQUEST HANDLER EXECUTE /

'/--------------------------------/

Sub Application_OnPreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)

'Este evento sucede antes que el manejador HTTP tome el control

Response.Write("6. Ultima oportunidad de hacer algo antes de que el manejador HTTP tome el control<br />")

Saber bien MachineConfig, webconfig y globalasax.

Session o Application -----OnStart OnEnd OnBeginRequest OnEndRequest OnAcquireRequestState OnAuthenticateRequest OnAuthorizeRequest