Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Analisis y Diseño Parte2
1 Analisis y Diseño Parte2
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)
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
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.
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
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.
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
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.