Está en la página 1de 38

1.

Fase de Análisis y
Diseño PARTE 2
ING. PATSY MALENA PRIETO
MAYO 2017
Contenido
1.1 DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA DE INFORMACIÓN
1.2 IDENTIFICACIÓN DEL HARDWARE QUE SOPORTA EL SISTEMA DE INFORMACIÓN
1.3 IDENTIFICACIÓN DEL SOFTWARE NECESARIO PARA SOPORTAR EL SISTEMA DE
INFORMACIÓN
1.3.1 Elección del sistema operativo
1.3.2 Elección de la base de datos
1.3.3 Elección del software de soporte (Desarrollo, compra y software mixto)

1.4 Instalaciones para producción


1.5 Pruebas de funcionamiento del SI
1.1 Definición de la arquitectura del
sistema de información
El modelo arquitectónico proporciona una perspectiva general que abarca
desde los requerimientos hasta la decisión de compra de los servidores.
El diseño arquitectónico representa la estructura de datos y los
componentes del programa necesarios para construir un sistema
informático.
La arquitectura de un proyecto de un sistema informático debe ser
considerada como un medio importante para mejorar el manejo de varias
versiones de componentes, crear un sistema modular y cuyo código fuente
sea factible de reutilización.
Ventajas de diseñar la arquitectura del
sistema
Comunicación con los stakeholders.
Análisis del sistema. Permite definir si el sistema cumplirá con los
requerimientos críticos tales como rendimiento, fiabilidad y mantenibilidad.
Reutilización a gran escala.

El resultado del proceso de diseño arquitectónico es un documento de diseño,


que puede incluir varias representaciones gráficas del sistema con
documentación.
La arquitectura de un sistema puede dividirse en dos áreas:
Diseño de alto nivel. Aquí se describen los componentes principales y el modo en que
interactúan entre sí para satisfacer cada uno de los requisitos. Si el sistema es grande, cada
componente puede tener su propio diseño de alto nivel donde se muestra su composición a
partir de componentes más pequeños.
Modelos de diseño y convenciones que se usan a lo largo del proceso de diseño de los
componentes. Un modelo describe un determinado enfoque para lograr un objetivo de
programación. Si se usan los mismos modelos a lo largo de un diseño completo, el equipo puede
reducir el costo que suponen los cambios y el desarrollo de nuevo software.
Arquitectura Cliente-Servidor

Interfaz de Usuario Lógica de Dominio Fuente de Datos


Arquitectura 5 capas
Mapeo sobre
Capa Cliente Capa Web Capa de Negocio datos Capa de datos

xml
Smartphone-based hierarchical
crowdsourcing for weed identification
Twitter to Integrate Human and Smart
Objects by a
Web of Things Architecture
Lenguajes de Descripción Arquitectónica
(ADLs)
 Componentes
 Conectores
 Configuraciones o sistemas
 Propiedades no funcionales
 Restricciones
 Estilos
 Evolución
 Herramientas de verificación
ADL Fecha Investigador - Organismo Observaciones
Acme 1995 Monroe & Garlan (CMU), Wile (USC) Lenguaje de intercambio de ADLs
Aesop 1994 Garlan (CMU) ADL de propósito general, énfasis
en estilos
ArTek 1994 Terry, Hayes-Roth, Erman Lenguaje específico de dominio -
(Teknowledge, DSSA) No es ADL
Armani 1998 Monroe (CMU) ADL asociado a Acme
C2 SADL 1996 Taylor/Medvidovic (UCI) ADL específico de estilo
CHAM 1990 Berry / Boudol Lenguaje de especificación
Darwin 1991 Magee, Dulay, Eisenbach, Kramer ADL con énfasis en dinámica
Jacal 1997 Kicillof , Yankelevich (Universidad de Adl - Notación de alto nivel para
Buenos Aires) descripción y prototipado
LILEANNA 1993 Tracz (Loral Federal) Lenguaje de conexión de módulos
MetaH 1993 Binns, Englehart (Honeywell) ADL específico de dominio
Rapide 1990 Luckham (Stanford) ADL & simulación
SADL 1995 Moriconi, Riemenschneider (SRI) ADL con énfasis en mapeo de
refinamiento
UML 1995 Rumbaugh, Jacobson, Booch (Rational) Lenguaje genérico de modelado –
No es ADL
UniCon 1995 Shaw (CMU) ADL de propósito general, énfasis
en conectores y estilos
Wright 1994 Garlan (CMU) ADL de propósito general, énfasis
en comunicación
xADL 2000 Medvidovic, Taylor (UCI, UCLA) ADL basado en XML
Estilos Arquitectónicos
Estilos de Flujo de Datos Estilos de Código Móvil
◦ Tubería y filtros ◦ Arquitectura de Máquinas Virtuales

Estilos Centrados en Datos Estilos heterogéneos


◦ Arquitecturas de Pizarra o Repositorio ◦ Sistemas de control de procesos
◦ Arquitecturas Basadas en Atributos
Estilos de Llamada y Retorno
Estilos Peer-to-Peer
◦ Model-View-Controller (MVC)
◦ Arquitecturas Basadas en Eventos
◦ Arquitecturas en Capas ◦ Arquitecturas Orientadas a Servicios
◦ Arquitecturas Orientadas a Objetos ◦ Arquitecturas Basadas en Recursos
◦ Arquitecturas Basadas en Componentes
1.2 IDENTIFICACIÓN DEL HARDWARE QUE SOPORTA EL SISTEMA DE
INFORMACIÓN
Para seleccionar el hardware se debe considerar:
◦ Las máquinas que van a trabajar como servidores. Considerar la memoria requerida, procesadores,
almacenamiento en disco duro, funciones de respaldo. Determinar los requerimientos mínimos
definidos por los proveedores de los sistemas operativos o gestores de bases de datos

◦ Las conexiones y estructura de la red.


◦ Las máquinas que funcionarán como terminales de clientes.
1.3 Identificación del software necesario para soportar el
sistema de información
El sistema de información terminado debe ser instalado y puesto en producción, por tal razón es
necesario informar al cliente sobre las necesidades de compra o actualización de software.
Se debe considerar las versiones, parches y complementos adicionales con las cuales debe
contar el software base.
Al determinar el software es importante considerar:
◦ Sistema operativo
◦ Gestores de bases de datos
◦ Software de soporte
1.3.1 Elección del sistema operativo
Eficiencia, permitir que los recursos de la computadora se usen de la manera más eficiente
posible.
Habilidad para evolucionar, de manera que permita el desarrollo, prueba o introducción efectiva
de nuevas funciones del sistema sin interferir con el servicio.
Organizar datos para acceso rápido y seguro.
Manejar las comunicaciones en red.
Seguridad
SISTEMA OPERATIVO EFICIENCIA COMUNICACIONES DE RED SEGURIDAD FUNCIONALIDAD PRECIO
Just-in-Time
Administration

GPU virtual de RemoteFX de RDS Remote Credential Funcionalidad principal de


Herramientas de administración de Pila de redes Guard Windows Server.
servidores
Características de
Agregar y quitar disco, memoria y Controladora de red AppLocker
WIN SERVER 2016 almacenamiento, como
red en caliente $ 6150
Datacenter Espacios de almacenamiento
Actualización gradual del sistema Microsegmentación Windows Defender directo y Réplica de
operativo del clúster
almacenamiento
Equilibrio de carga de máquina Equilibrador de carga de software Máquinas virtuales Máquinas virtuales blindadas
virtual blindadas

MAC OS
379 USD
Snow Leopard

Proporciona conjuntos
Posee dos niveles de
amplios de instrucciones e
privilegio a usuarios y
interconexiones; posee
Diseñado para los sistemas de gran El servicios de red usa la aplicación administradores: un
soporte 'streaming' (SSE2 e $27.500 por
SUN SOLARIS memoria multi-núcleo, multi-cpu y inetd y se configura en administrador primario
'hyperthreading') para un servidor
con múltiples hilos de ejecución. /etc/inetd.conf: único y usuarios
mejor rendimiento
adicionales sin
multimedia.
privilegios.
1.3.2 Elección de la base de datos
Independencia lógica y física de los datos.
Redundancia mínima.
Acceso concurrente por parte de múltiples usuarios.
Integridad de los datos.
Consultas complejas optimizadas.
Seguridad de acceso y auditoría.
Respaldo y recuperación.
Acceso a través de lenguajes de programación estándar.
GESTOR BASE DE
DATOS INTEGRIDAD CONCURRENCIA REDUNDANCIA RESPALDOS LENGUAJES AUDITORIA
Plug-ins
Protección de datos Permite asociación Multiplataforma: Java, Audit SupportPac(SA03)
Acceso a múltiples
en caso de colapso, entre dos o más bases Permite respaldos en C++,Visual Basic, Reporting SupprotPac(SA12)
DB2 permite realizar
usuarios con integridad y
de datos sin línea. .NET,XMLM,Cobol,PHP, para activar sus funciones
consistencia de los datos.
respaldos en línea. redundancia. etc. de auditoria y generación de
informes.

Lenguajes
compatibles:
Permite que mientras un Realiza respaldo de PL/PgSQL (similar al
Redundancia más Cumple funciones de
Ofrece integridad de proceso escribe en una las bases de datos PL/SQL de oracle).
flexible que la auditoria usando tablelog.
PostgreSQL datos usando tabla, otros accedan a la
redundancia de
así como C, C++, Java PL/Java
restricciones. misma tabla sin necesidad restauración de las web, PL/Perl, plPHP,
hardware
de bloqueos. mismas . PL/Python, PL/Ruby,
PL/sh, PL/Tcl,
PL/Scheme.

Puede usar conectores


Usa gestiones de de un lenguaje de
concurrencia que son programación, o
Para activar la auditoría en
usadas por la base de La redundancia es estándares gcomo
Ofrece varios tipos de Oracle se cambia el
datos. incorporada en todos Usa el comando EXP ODBC. Se puede usar
Oracle restricciones para
Asegura el máximo los componentes. para respaldar la ASP, PHP, C, C++,
parámetro audit_trail del
integridad de datos. init.ora.
rendimiento para todas las base, para recuperar Pascal, Modula2,
cargas de trabajo. la base debemos usa Delphi, Visual basic,
el comando IMP y java.
buscar el archivo
extensión .DMP
1.3.3 Elección del software de soporte
(Desarrollo, compra, software mixto)

Los analistas y las organizaciones se enfrentan cada vez más con la decisión
de crear, comprar o subcontratar al evaluar software para los proyectos de
sistemas de información.
El software se puede comprar ya desarrollado.
Los componentes de software se pueden adquirir y luego modificar e integrar
para satisfacer las necesidades específicas.
El software se puede construir de manera personalizada por medio de un
contratista externo o de forma interna; para satisfacer las necesidades del
cliente.
Crear software personalizado

•Cuando no existe software comercial. O cuando el software


comercial existe pero es muy costoso.
•Cuando la organización trata de lograr una ventaja competitiva.
•Cuando la organización tiene requerimientos muy especializados
Comprar software comercial

•Cuando el software comercial puede integrarse con facilidad a las


aplicaciones ya existentes en la organización
•Cuando no exista una necesidad inmediata de modificarlos o
personalizarlos.
•Cuando la organización no tiene perspectivas cercanas de un
incremento de clientes o proveedores.
Subcontratar servicios
•Cuando la empresa desea dedicarse a su actividad económica.
•Cuando no sea posible contratar, capacitar y retener gran cantidad de
personal de TI.
Ventajas Desventajas
Creación de software personalizado Respuestas específicas a las necesidades Puede tener un costo inicial muy alto.
especializadas de la empresa. Es necesario contratar un equipo de
La innovación puede dar a la empresa una desarrollo.
ventaja competitiva Mantenimiento continuo.
Personal interno disponible para dar
mantenimiento al software

Comprar paquetes o software Mayor confiabilidad, funcionalidad. Enfocado en la programación, no en la


comercial Tiene un menor costo inicial. empresa.
Capacitación incluida en el software. Hay que acoplarse a las características
existentes.
Personalización limitada.
Menor propiedad y compromiso.

Subcontratar servicios Cuando una organización se enfoca en su Pérdida del control de los datos, sistemas,
misión estratégica. empleados TI.
No se gasta el tiempo de los empleados en Cuestiones de seguridad, confidencialidad y
tareas de TI no esenciales privacidad.
Pérdida de ventaja corporativa
Calidad Soporte del
Efectividad Eficiencia Facilidad de uso Flexibilidad documentación fabricante

Tiempo de
Ayudas Buena Línea directa de
Realizar las respuesta
disponibles organización soporte técnico
tareas óptimo Opciones de
requeridas, entrada-salida
deseadas

Interfaz de
Entrada-salida Noticias- correo
usuario Tutorial en línea
eficiente electrónico
satisfactoria

Pantallas bien
Interoperabilidad
diseñadas Sección de Sitio web
Respaldo Retroalimentació
preguntas descargas de
eficiente n adecuada
frecuentes actualizaciones
Evaluar la opción de compra, desarrollo
interno o subcontratación de un sistema
Considerar un sistema informático que permita el control del inventario en una farmacia,
facturación y cuentas por pagar a proveedores.

Considerar un sistema bancario para una cooperativa de ahorros


Sistema Manejo Lenguaje de Funcionalidad Tiempo promedio Costo
de una farmacia programación puesto en
funcionamiento
Compra del • Control de Venta de Antibióticos. • 1 a 2 horas. • $99
software • Administración de Catálogo de artículos • Capacitación las • eMaksimus SI
eMaksimus Reportes de artículos horas necesarias de Monousuario
• Gráficas de ventas, compras Sistema desde las • $ 490.00
oficinas de Everest • eMaksimus SI con 5
(vía Internet) Usuarios en Red
• $ 180.00 capacitación

Compra de módulos Visual Fox • Módulo de inventarios. • 1 a 2 horas. • 200 dólares por módulo
Visual Basic SQL- • Módulo de facturación. • Capacitación de 2 • Capacitación va incluido
FARMACON SERVER. • Módulo de cuentas por cobrar. horas en el costo del módulo.
PHP MY-SQL • Módulo de cuentas por pagar.
• Módulo de bancos y conciliación
http://www.pcrom • Módulo de contabilidad
an.com/ • Módulo de anexos-sri
• Módulo de análisis de laboratorios
• Módulo de consultas médicas

Desarrollo externo PHP • Control y administración para el manejo de la • 3 meses. • valor estimado
MY-SQL farmacia, todos los módulos requeridos de • Capacitación $6000
ALFADIGITAL acuerdo a las necesidades del cliente. constante.
http://www.alfadigital
.com.ec

Desarrollo interno Php • Control administrativo de ventas, compras, • 3 meses. • $ 12000


FileMaker Pro inventario y generación de reportes.
Nombre del sistema informático página de Tiempo promedio de puesta
Lenguaje de programación Funcionalidad Costo
contacto en funcionamiento

Es una solución bancaria que automatiza la


administración, operación y control en general
Compra de Software de empresas proveedoras de productos y
Microsoft Visual Studio.NET 1 semana desde su adquision 60.000 €
EasyBank servicios financieros favoreciendo la toma
decisiones de sus directores.

Es un conjunto de módulos independientes e


integrables, que permiten la automatización
de todos los departamentos, según sean las
Compra por Módulos necesidades y posibilidades de inversión, lo
Sistema financiero BYTE Microsoft Visual Studio.NET que quiere decir que para iniciar un proyecto 15 días Depende del módulo
(Prestamos) no se requiere realizar una gran inversión,
sino en forma gradual según sea el avance de
su proyecto.

correcto funcionamiento y eficiencia del flujo


Desarrollo Externo
HTML5, Drupal, WordPress, de negocio. El utilizar una aplicación web
Alter Bios http://quito.olx.com.ec/desarrollo-de- depende la utilidad del
Radiant CMS, Magento, permite a los usuarios trabajar de manera ágil 15 días
software-paginas-web-portales-corporativos- software
Joomla, Liferay y descentralizada en donde toda la
soluciones-informaticas-iid-631310491
información generada es compartida en línea
y almacenada de manera eficiente.

un sistema amigable para un buen


JAVA (JEE, EJB, JSF), .NET
entendimiento en la parte del software que
(C#, ASPX), PHP, Web
simule los prestamos bancarios y así poder
GDADS (grupo de empresarios desarrolladores de Services (RESTful, SOAP), 2.000 dólares
interactuar con un gerente para aprobar las 20 dias
software) MySQL, SQL Server, aproximadamente
solicitudes mandadas por el usuario o cliente y
PostgresSQL, Oracle,
así el gerente poder verificar los datos para así
Sybase
aprobar el software
1.4 Instalaciones para producción
Las instalaciones para producción debe ser evaluadas con anterioridad.
Se debe tratar de que las instalaciones de desarrollo y producción sean similares
para evitar problemas cuando un sistema comience a funcionar.
Las instalaciones de producción son en definitiva la implementación de la
arquitectura del sistema definida al principio del proyecto.
La infraestructura de producción se modela en el diagrama de despliegue.
1.5 Pruebas de funcionamiento del SI
Las pruebas de funcionamiento evalúan los requisitos funcionales y las reglas de negocio.
La prueba es un conjunto de actividades que se planean con anticipación y se realizan de
manera sistemática.
◦ El equipo de software debe efectuar revisiones técnicas formales y efectivas
◦ La prueba comienza a nivel de componentes y trabaja la integración de todo
el sistema de cómputo.
◦ Diferentes técnicas de prueba son apropiadas en diferentes momentos.
◦ La prueba la dirige el desarrollador y un grupo independiente de pruebas.
Tipos de Pruebas
Requisitos Pruebas de Sistema

Prueba de
Diseño Integración

Pruebas de
Caja Negra
Prueba
Código de
Unidad
Pruebas
de Caja
Blanca
Pruebas de Sistema

Pruebas de carga

Pruebas de Pruebas de
Usuario: alfa y beta Seguridad

Pruebas de Pruebas de
Tolerancia a Fallos Rendimiento
Tipos de Pruebas
Prueba de Unidad, se concentra en cada unidad (componente) del software.
En la prueba de integración, se atiende el diseño y la construcción de la arquitectura del
software. Existe integración ascendente, descendente, regresión
Prueba de validación o funcionales, se validan los requisitos establecidos como parte del análisis
de requisitos del software, comparándolos con el software que se ha construido.
Pruebas de sistema, donde se prueban como un todo el software y otros elementos del sistema.
Estrategias de prueba para software
orientado a objetos
Pruebas de Unidad
◦ Una clase empaqueta atributos y las operaciones que manipulan estos datos. Una clase encapsulada
suele ser el eje de las pruebas de unidad. Aunque las unidades de prueba más pequeñas son las
operaciones dentro de la clase.

Pruebas de Integración.
◦ La prueba basada en subprocesos, integra el conjunto de clases requerido para responder a una entrada o un evento del sistema.
Cada subproceso se integra y prueba individualmente. La prueba de regresión se aplica para asegurar que no se presente efectos
colaterales.
◦ La prueba basada en el uso, empieza la construcción del sistema con la prueba de esas clases llamadas clases independientes.
Después se prueban las clases dependientes que usan las clases independientes.
Pruebas del Sistema
◦ La prueba de sistema abarca una serie de pruebas diferentes cuyo propósito principal es ejercitar
profundamente el sistema.
◦ Pruebas de carga
◦ Ejecuta un sistema de tal manera que requiera una cantidad, una frecuencia o un volumen anormal de recursos. Por ejemplo:
1. Se diseñan pruebas especiales que generen diez interrupciones por segundo.
2. Se aumenta la frecuencia de entrada de datos
3. Se ejecutan casos de prueba que causen problemas de administración de memoria
◦ Pruebas de rendimiento
◦ Están diseñadas para probar el desempeño del software en tiempo de ejecución dentro del contexto de
un sistema integrado. Con frecuencia las pruebas de rendimiento se vinculan con pruebas de
resistencia y suelen requerir instrumentación de software y hardware.
◦ Pruebas de seguridad
◦ Comprueban que los mecanismos de protección integrados en el sistema realmente lo protejan de
irrupciones inapropiadas. Por ejemplo:
1. Tratar de obtener contraseñas
2. Saturar el sistema, negando el servicio a otros.
3. Revisar datos sin protección.
Pruebas de Usuario
◦ Al construir software personalizado para un cliente se aplica una serie de pruebas de aceptación que
permita al cliente validar todos los requisitos.
◦ Las prueba alfa se realiza en el lugar de trabajo del desarrollador. El software se utiliza en un entorno
natural mientras el desarrollador registra los errores.
◦ Las pruebas beta se aplican en el lugar de trabajo de los usuarios finales. La prueba beta es una
aplicación en vivo del software en un entorno que no controla el desarrollador. El usuario final registra
todos los problemas que encuentra durante la prueba y los informa de manera regular al desarrollador.

También podría gustarte