Arquitectura de Software - Tipo de Examen (1)
-
Upload
sebastian-orellana -
Category
Documents
-
view
60 -
download
2
description
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.