Arquitectura de Software - Tipo de Examen (1)

18
  Instituto Profesional DuocUC Escuela de Informática y Telecomunicaciones Sede San Joaquín rquitectura de Software Consultora EMCON Alumno: Sebastián Orellana O. Carrera: Ingeniería en Informática Asignatura: Arquitectura de Software (ADS6501-002D) Docente: Cindy Contador C. 

description

modelo examen ads6501 duoc 2014

Transcript of Arquitectura de Software - Tipo de Examen (1)

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software

    Consultora EMCON

    Alumno: Sebastin Orellana O. Carrera: Ingeniera en Informtica Asignatura: Arquitectura de Software

    (ADS6501-002D) Docente: Cindy Contador C.

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 2

    Arquitectura de Software (Trabajo Individual)

    Una empresa de consultora en contabilidad EMCON necesitan mejorar sus sistemas de

    informacin es por esto que necesitan de su servicios informticos para cambiar las plataforma de

    sus instalaciones.

    Como el Gerente General no tienen tiempo ya que se encuentra fuera de Santiago , la nica forma

    de poder tomar los requerimientos son por Skype (video llamada) , tambin les dejan a ustedes

    ciertos documentos para que ustedes puedan hacer una reingeniera para mejorar la plataforma

    que es :

    Capa Cliente Interfaz de Usuario

    Capa Servidor Webapp

    Capa Servidor Transformacin de datos

    Capa Servidor Gestin datos

    Capa de base de datos Acceso de datos

    Java (JEE)

    Datos De Usuarios

    Datos SQL

    Datos SQL (PL/SQL)

    BASE DE DATOS

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 3

    Ya que usted es todo un profesional y capacitado, toma todos los documentos que les pas la

    empresa y realiza un nuevo documento para poder presentar al Gerente General el nuevo prototipo

    de la nueva plataforma. Recuerden que est trabajando con un equipo de trabajo que son (analista

    funcional, analista programador, jefe de proyecto, secretaria y usted que es el arquitecto en

    software)

    1-. Toma de Requerimientos:

    Deben explicar que es lo que hacen en las etapas de la toma de requerimientos:

    - Elicitacion de Requerimientos

    La elicitacin de requerimientos considera por un lado el contexto del sistema y por otro lado el origen de los requerimientos. El origen de los requerimientos puede venir de los stakeholders, o documentacin de aplicaciones anteriores. En este caso se toma en cuenta los documentos entregados por la empresa y los requerimientos del Gerente General. A su vez, se tomarn en consideracin a modo de consulta los requerimientos de los Stakeholders quienes finalmente tienen manejo directo con el sistema, y saben cules son los puntos clave que tiene cada departamento dentro de la aplicacin actual, y cual seran las mejoras que realmente son necesarias. Todas estas reuniones sern coordinadas entre el Jefe de Proyecto y el Analista Funcional, quien dir si realmente es posible que dichas mejoras puedan ejecutarse, dentro de los plazos y los presupuestos que la empresa tiene destinados para ello. Para ello de establecen las siguientes tcnicas de Elicitacin:

    Tcnicas de Elicitacin de Requerimientos

    Las tcnicas que usaremos para la elicitacin de requerimientos son:

    o Tcnicas de sondeo o muestreo. Ej. Encuestas, reuniones, cuestionarios.

    o Tcnicas de Creatividad. Ej. Lluvia de ideas, cambio de perspectiva, tcnicas de

    analogas.

    o Tcnicas de observacin. Ej. Ver como interacta el usuario con un proceso o tareas de

    las que se derivan los requerimientos.

    o Tcnicas de Soporte. Ej. Mapeo de procesos y actividades, workshop, videos, audio,

    modelamiento de casos de uso y prototipos.

    - Anlisis de Requerimientos

    Durante el Anlisis de los requerimientos ser el analista funcional, quien se encargar de revisar los requerimientos hechos por los diferentes departamentos (Stakeholders) y ver si tienen una solucin viable. Estos son discutidos con el Analista programador, quien verificar

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 4

    si existe forma de adecuar los cdigos y acoplar las nuevas funcionalidades. El Arquitecto de Software es quien se encargar con los dems miembros del equipo en ver las soluciones factibles para la problemtica dada, mientras que la secretaria ser quien coordine las reuniones entre los diferentes entes de la Empresa EMCON y nuestro equipo. Por si aparecen nuevos requerimientos o consultas sobre los requerimientos solicitados. Asignacin Laboral: - Jefe de Proyecto: Verificar los plazos y presupuestos para la entrega de un prototipo. Para ello se trabajar con una Carta Gantt. - Analista Funcional: Verificar la validez de los requerimientos y como estos se adaptan a la nueva plataforma, de tal forma que sea lo que efectivamente el cliente haya solicitado y que tambin deje conforme a los stakeholders involucrados. - Analista Programador: Recibir los requerimientos filtrados por el Analista Funcional y ver como acoplar o modificar las nuevas funcionalidades a la nueva plataforma de trabajo. En conjunto con el arquitecto de Software velarn por los atributos de calidad y que cumpla con las normas ISO relacionadas a Calidad De software. (ISO/IEC 9126) - Arquitecto de Software: Verificar que las nuevas aplicaciones o reingeniera de Sistema, se adece a las normativas de calidad aplicando para ello, atributos de calidad y modelo 4+1. - Secretaria: Se encargar de la gestin en temas de reunin con el cliente, y los stakeholders a lo largo del proyecto; as como de ir guardando los reports y documentacin asociada al proyecto y equipo de trabajo.

    - Especificacin Requerimientos

    La especificacin de requerimientos viene directamente de parte de los Stakeholders principales de la consultora EMCON, en este caso su Gerente general es quien nos da las pautas de que es lo que quiere hacer con su actual sistema, lo cual en este caso es una Reingeniera o Potenciar las reas productivas, y hacerlas ms eficientes. Para ello nos entrega una serie de documentos desde los cuales nosotros podemos basarnos y ver qu tan factible es.

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 5

    Sabemos que la Plataforma esta en lenguaje JAVA J2EE, y los datos se almacenan en Bases de Datos en Lenguaje SQL y PL/SQL; La reingeniera no significa rehacer un programa o sistema, ms bien, sacarle mayor provecho a lo ya existente y cmo podemos hacer que esto sea ms eficiente, productivo y acoplable a nuevas tecnologas o herramientas. Todas estas especificaciones sern recibidas por el Jefe de Proyecto de manos del Gerente General, y a su vez se coordinarn visitas para, en conjunto con el Analista funcional y los jefes de rea (stakeholders de departamentos) ver cules son las mejoras que se pueden introducir a la aplicacin.

    - Validacin del Requerimientos

    La validacin de los requerimientos se realizar en conjunto con el equipo de Trabajo, es decir, que es lo que el cliente quiere, y que es lo que realmente se puede entregar. Hipoteticamente, el rea de Informes nos indica que todos sus informes de anlisis son impresos en texto plano (TXT), y nos piden si estos pueden imprimirse en tablas o formato HTML, a lo cual podemos dar solucin generando informes de ese tipo y almacenndolos en formato PDF, el cual es liviano y con capacidad mnima de perdida de datos. El Analista funcional es quien adems de ir testeando las nuevas alternativas que se incluirn en la Reingeniera, es quien analiza si es viable o no realizar ciertas mejoras. El analista programador, codificara las nuevas mejoras y comprobar si efectivamente estas son acoplables al sistema en s. El arquitecto revisar los patrones arquitectnicos y los modelos de calidad de acuerdo a la norma ISO 9126, e implementar el modelo 4+1 de Calidad de Software. Al tener esta propuesta se presentar al Gerente general de EMCON para validar si efectivamente es lo que ellos quieren o si tienen observaciones y/o acotaciones sobre lo planteado, con la finalidad de corregirlo. Todo esto se har en las reuniones previamente planificadas. (Idealmente 3 a 4) para verificar que el cliente este de acuerdo y vaya viendo los avances del proceso de Reingeniera.

    2.- Requerimientos Funcionales

    ID (RF)

    DESCRIPCION PRIORIDAD

    RF01 Contener informacin detallada sobre los usuarios y clientes ALTA

    RF02 Provee formularios de informacin adecuados para el desempeo de la organizacin.

    ALTA

    RF03 Validacin de la informacin ingresada y consultada en el Sistema ALTA

    RF04 Consultar y generar reportes de las diversas actividades y tareas realizadas en el sistema

    MEDIA-ALTA

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 6

    RF05 Evaluacin, validacin y seguimiento de la informacin entregada o manipulada por los usuarios en el sistema

    ALTA

    RF06 Acceso ms expedito a los datos almacenados en las BBDD ALTA

    RF07 Conexin ms rpida desde la interfaz del usuario a los WEBAPPS ALTA

    RF08 Mejorar el Rendimiento de los servidores y BBDD MEDIA-ALTA

    RF09 Tiempos de Ejecucin de Consultas ms eficientes MEDIA-ALTA

    RF10 Acoplar nuevas funcionalidades o APPs al Servidor. EJ: Impresora Virtual PDF

    MEDIA

    3.- Requerimientos No Funcionales

    ID (RNF)

    DESCRIPCION PRIORIDAD

    RNF01 Modificacin de la Interfaz Grfica de Usuario por una ms intuitiva y amigable

    MEDIA

    RNF02 Mejoramiento o Ampliacin de funcionalidades de el o los servidores ALTA

    RNF03 Mejorar la fase ETL de la BBDD SQL (Extraccin Transformacin Carga)

    ALTA

    RNF04 Identificar la condicin del entorno de Red de Trabajo MEDIA

    RNF05 Realizar Anlisis de factibilidad Tcnica de los equipos actualmente funcionales.

    MEDIA

    4.-Matriz de Requerimientos funcional con Requerimientos no funcional

    RF/RNF RNF01 RNF02 RNF03 RNF04 RNF05

    RF01 RF02

    RF03

    RF04

    RF05

    RF06

    RF07

    RF08

    RF09

    RF10

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 7

    5.- Identificar los Atributos de calidad

    (De acuerdo a la Norma ISO/IEC 9126, de Calidad del Software).

    Calidad de Software: La Calidad de Software es la concordancia con los requisitos funcionales y

    de rendimiento establecidos con los estndares de desarrollo explcitamente documentados y con

    las caractersticas implcitas que se espera de todo software desarrollado de forma profesional

    ATRIBUTOS DE CALIDAD DESCRIPCIN DEL ATRIBUTO USABILIDAD - Es el grado en el cual un sistema o

    componente cumple con sus funciones designadas, dentro de ciertas restricciones dadas, como velocidad, exactitud o uso de memoria.

    - Capacidad de comprensin global del sistema.

    - Exactitud. - Interoperabilidad. - Que sea un software atractivo e

    intuitivo para el usuario.

    FUNCIONALIDAD - Habilidad del sistema para realizar el trabajo para el cual fue concebido

    - Servicios relacionados con el dominio de la aplicacin

    - Capacidad de Bsqueda, recuperacin y navegacin.

    CONFIABILIDAD - Es la medida de la habilidad de un sistema a mantenerse operativo a lo largo del tiempo

    - Validacin y recuperacin de acceso y/o datos del usuario.

    - Seguridad del sistema. - Proteccin de datos sensibles. - Tolerable a fallos. - Capacidad de recuperacin ante

    fallas. - Es la ausencia de acceso no

    autorizado a la informacin

    EFICIENCIA - Rendimiento en los tiempos de respuesta.

    - Velocidad en generacin de consultas.

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 8

    - Velocidad en generacin de reportes.

    - Uso eficiente de recursos.

    MANTENIBILIDAD - Facilidad de correcciones. - Adaptabilidad. - Escalabilidad en mediano y largo

    plazo. - Estabilidad. - Capacidad para pruebas.

    PORTABILIDAD - Es la habilidad del sistema para ser ejecutado en diferentes ambientes de computacin. Estos ambientes pueden ser hardware, software o una combinacin de los dos.

    - Capacidad de fcil instalacin y migracin en caso de actualizaciones.

    - Coexistencia con otros sistemas, o integracin con otros.

    6.- Escenario de Calidad

    Escenario de Calidad # 1 Stakeholder : rea Soporte IT Prioridad : Alta

    Atributo de calidad PORTABILIDAD

    Justificacin Debido a que no todos los equipos y las diversas reas utilizan los mismos Sistemas operativos se quiere evaluar el desempeo en cada uno de ellos del sistema.

    Fuente Control de Calidad/Auditoria Interna.

    Estimulo Instalacin de la Aplicacin en Sistemas Windows Server 2008, Windows 7 Pro, Windows 8.1, Linux Ubuntu 14.0

    Artefacto Aplicacin en diversos PC con entornos distintos.

    Ambiente Sistemas Operativos diversos, bajo una carga moderada de datos.

    Respuesta La aplicacin de acceso al ser construida en Lenguaje JAVA J2EE se acopla a todos los sistemas antes mencionados; lo cual se traduce en que es interoperativa.

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 9

    Medida de la respuesta

    La Aplicacin cumple con el Atributo de Portabilidad.

    Escenario de Calidad # 2 Stakeholder : Seguridad de Sistemas Prioridad : Alta

    Atributo de calidad CONFIABILIDAD

    Justificacin Debido a que no todos los usuarios poseen los mismos permisos se evala el control de acceso a la plataforma segn las jerarquas organizacionales.

    Fuente Seguridad de Sistemas/Auditoria Interna.

    Estimulo Intento de Login en el Sistema con usuarios con diversos Privilegios.

    Artefacto Aplicacin en diversos PC con entornos distintos. Uso de Usuarios con diversos Privilegios o Accesos Restringidos.

    Ambiente Sistemas Operativos diversos, bajo una carga moderada de datos.

    Respuesta La aplicacin de acceso al ser construida es capaz de detectar una contrasea incorrecta y detener el acceso a personal no autorizado.

    Medida de la respuesta

    La Aplicacin cumple con el Atributo de Confiabilidad.

    Escenario de Calidad # 3 Stakeholder : Contador Auditor Prioridad : Alta

    Atributo de calidad Usabilidad

    Justificacin Se desea saber la velocidad y eficiencia del sistema para realizar una consulta a la Base de datos sobre un determinado Cliente; en entorno de alta presin.

    Fuente Contabilidad/Auditoria Interna.

    Estimulo Windows 7 Pro. Se realizar consulta a travs de la GUI, a la Base de datos.

    Artefacto PC cliente a Servidor y Base de datos.

    Ambiente Sistema Operativo Windows 7, bajo una carga Alta de datos y consultas en ejecucin.

    Respuesta La aplicacin logra entregar la informacin de forma rpida y eficiente; lo cual se traduce en que es Eficiente y Usable.

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 10

    Medida de la respuesta

    La Aplicacin cumple con los Atributos de Eficiencia y Usabilidad.

    7.- Modelo 4 + 1

    Con los requerimientos funcionales y no funcionales pueden hacer los siguientes diagramas, pero

    tienen que aplicar el modelo 4 + 1 con sus respectivas vistas.

    - Vista Escenario: Diagramas de caso de usos

    DIAGRAMA DE CASOS DE USO

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 11

    Ejemplo: Elaboracin de reporte para envo a Servicio de Impuestos Internos.

    - Vista Lgico: Diagrama de secuencia, diagrama de clases, Diagramas de comunicacin o de

    colaboracin.

    DIAGRAMA DE SECUENCIA:

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 12

    DIAGRAMA DE CLASES:

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 13

    - Vista Proceso: Diagrama de actividad

    DIAGRAMA DE ACTIVIDAD:

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 14

    - Vista Despliegue o Desarrollo: Diagrama de componente, Diagrama de paquete

    DIAGRAMA DE PAQUETES.

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 15

    DIAGRAMA DE COMPONENTES

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 16

    - Vista Fsica o Implementacin: Diagrama despliegue

    DIAGRAMA DE DESPLIEGUE:

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 17

    8.- Arquitectura qu tipo de arquitectura corresponde? Justifique

    Corresponde a Una Arquitectura Centrada de Datos, ya que la interfaz se encarga de conectar a la base de datos. En la Base de datos se puede ingresar, modificar o eliminar un registro; y no solo puede hacerlo un cliente; sino que varios clientes a la vez tienen acceso a esa informacin; y al mismo tiempo generar reportes, realizar consultas. Etc. Este Sistema est basado en la Arquitectura centrada a Datos, descrita por Roger Pressman en su libro Ingeniera de Software, Un enfoque prctico.

    9.- Patrones arquitectnicos. Segn usted cual es y porque? . Justifique

    Corresponde al Patrn de Programacin por Capas, que es una arquitectura cliente-servidor en el que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo. La podemos identificar por que consta de 3 capas: Capa de presentacin: que es la que ve el usuario (tambin se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario en un mnimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Tambin es conocida como interfaz grfica y debe tener la caracterstica de ser "amigable" (entendible y fcil de usar) para el usuario. Esta capa se comunica nicamente con la capa de negocio. Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envan las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lgica del negocio) porque es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de l. Tambin se consideran aqu los programas de aplicacin. Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio

  • Instituto Profesional DuocUC Escuela de Informtica y Telecomunicaciones

    Sede San Joaqun

    Arquitectura de Software 18

    10.- Que otros patrones arquitectnicos existen nombrarlos y su funcionalidad

    MODELOVISTACONTROLADOR (MVC): es un patrn de arquitectura de software que separa los datos y la lgica de negocio de una aplicacin de la interfaz de usuario y el mdulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construccin de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representacin de la informacin, y por otro lado para la interaccin del usuario. Este patrn de arquitectura de software se basa en las ideas de reutilizacin de cdigo y la separacin de conceptos, caractersticas que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento. ARQUITECTURA ORIENTADA A SERVICIOS (o SOA, del ingls Service Oriented Architecture), es un patrn de arquitectura para disear y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad y flexibilidad de integracin con sistemas legados, alineacin directa a los procesos de negocio reduciendo costos de implementacin, innovacin de servicios a clientes y una adaptacin gil ante cambios incluyendo reaccin temprana ante la competitividad. Permite la creacin de sistemas de informacin altamente escalables que reflejan el negocio de la organizacin, a su vez brinda una forma bien definida de exposicin e invocacin de servicios (comnmente pero no exclusivamente servicios web), lo cual facilita la interaccin entre diferentes sistemas propios o de terceros.

    11.- Dar ejemplo de arquitectura de contenido

    La Arquitectura de Contenido, se basa principalmente en la recursividad; lo cual se traduce en usar la menor cantidad de infraestructura; pero enlazar toda la informacin que sea posible accesar y hacerlo de modo rpido y eficiente. Un Claro ejemplo de esto es un buscador; para tales fines colocaremos como ejemplo a Google; el cual dentro de sus servidores, almacena gran cantidad de informacin relacionada a sitios, blogs, y documentos, los cuales a travs de una barra de bsqueda es muy simple de buscar y encontrar. En un computador cualquiera, este proceso puede resultar tedioso; pero gracias a la Arquitectura de Contenido, y la recursividad, el sistema en cierta forma predice en base a las ltimas bsquedas cuales pueden ser las bsquedas futuras del usuario. Al mismo tiempo genera un enlace entre las mismas y las deja como sugerencias al usuario. De este modo y con el apoyo de cookies, el sistema es capaz de encontrar rpidamente un documento, imagen o website que queramos visitar.