Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Hoja de Trabajo: Universidad Mariano Gálvez de Guatemala Facultad de Ingeniería en Sistemas de Información

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 15

UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

FACULTAD DE INGENIERÍA EN SISTEMAS DE INFORMACIÓN

Hoja de Trabajo

NOMBRE DEL ALUMNO: Daniel Fernando Morales Alvizures

CARNET: 9989-24-1245

GUATEMALA, 20 Marzo 2024


Que es el análisis de sistemas

El análisis de sistemas es un proceso clave en la ingeniería de software que implica el


estudio exhaustivo de un sistema para comprender su funcionamiento, identificar
componentes, relaciones y procesos, y proponer mejoras o nuevos diseños. Por
ejemplo, en el desarrollo de una aplicación de comercio electrónico, el análisis de
sistemas implicaría identificar los requisitos de los usuarios, como la capacidad de
búsqueda de productos, el proceso de compra y pago, y la gestión de inventario.
Luego, se elaborarían modelos de procesos y se definirían las funcionalidades
necesarias para cumplir con estos requisitos. Otro ejemplo sería en un sistema de
gestión de recursos humanos, donde el análisis de sistemas implicaría entender los
procesos de contratación, nómina y evaluación del desempeño para diseñar una
solución que optimice estas operaciones. En resumen, el análisis de sistemas es
fundamental para garantizar que los sistemas de software satisfagan las necesidades
de los usuarios y funcionen de manera eficiente.

El análisis de sistemas es un proceso esencial en el desarrollo y gestión de sistemas


de información, enfocado en comprender, definir y documentar los requerimientos y
funcionalidades de un sistema. Implica identificar y estudiar las necesidades de los
usuarios, así como los procesos y recursos involucrados en el sistema. A través de
técnicas como entrevistas, observación y análisis de documentos, se recopila
información para comprender cómo opera el sistema actual y cómo debería operar en
el futuro. El análisis de sistemas también implica la creación de modelos y diagramas
para representar visualmente la estructura y el comportamiento del sistema. Estos
modelos ayudan a identificar posibles mejoras y a comunicar de manera efectiva las
especificaciones del sistema a los desarrolladores y partes interesadas. En resumen, el
análisis de sistemas es un paso fundamental para garantizar el éxito en el diseño,
desarrollo e implementación de sistemas de información que satisfagan las
necesidades y expectativas de los usuarios y organizaciones.
Características principales en el análisis de sistemas

Algunas de las características principales como el determinar el qué debe hacer el


sistema. Observación de los elementos lógicos y los componentes físicos por
separado.

Se debe estudiar y desarrollar estrategias para optimizar su funcionamiento.

Definición clara del objetivo.


Comprensión integral del sistema.
Enfoque en el usuario.
Análisis de procesos.
Pensamiento sistémico.
Modelado.
Recopilación y análisis de datos.
Innovación y mejora continua.
Gestión del cambio.
Comunicación efectiva.

Implementar un análisis de sistemas efectivo requiere habilidades técnicas, pero


también un fuerte entendimiento de las dinámicas organizacionales y humanas.

Que aspectos debemos considerar en el análisis de sistemas

El análisis de sistemas es un proceso critico en el desarrollo de software y la ingeniería


de sistemas. Algunos aspectos para considerar durante este proceso son:

1. Requisitos del sistema


Comprender las necesidades y requisitos del sistema es fundamental.
Esto implica identificar los objetivos del sistema, las funciones que debe
realizar, los usuarios finales involucrados y cualquier restricción o
limitación que pueda existir.

2. Modelado
Utilizar técnicas de modelado para representar visualmente el sistema y
sus componentes. Esto puede incluir diagramas de flujo de datos,
diagramas de caso de uso, diagramas de clase, entre otros, dependiendo
de la naturaleza del sistema.

3. Descomposición del sistema


Dividir el sistema en subsistemas mas pequeños y manejables, esto
facilita la compresión y el desarrollo incremental del sistema.

4. Análisis de riesgo
Identificar y evaluar los posibles riesgos asociados con el sistema, como
fallos en el hardware o software, problemas de seguridad, cambios en los
requisitos. Etc.

Las características principales de un sistema pueden variar según el


contexto y la naturaleza específica del sistema en cuestión. Sin embargo,
hay algunas características generales que se aplican a la mayoría de los
sistemas

Interacción de componentes: Un sistema está compuesto por partes o


componentes que interactúan entre sí para lograr un objetivo común.
Estas interacciones pueden ser de diversos tipos, como la comunicación
de datos, la transferencia de energía o la coordinación de actividades.

Objetivo o propósito: Todo sistema tiene un propósito o un objetivo


definido que guía su diseño y funcionamiento. Este objetivo puede ser
proporcionar un servicio específico, realizar una tarea determinada o
satisfacer una necesidad particular.

Entradas y salidas: Los sistemas reciben entradas del entorno o de otros


sistemas, las procesan de alguna manera y producen salidas que afectan
al entorno o a otros sistemas. Las entradas y salidas pueden ser de
naturaleza física, como materiales o energía, o de naturaleza abstracta,
como datos o información.

 Características principales en el Análisis De Sistemas

Los componentes de un sistema están organizados de una manera


específica y tienen relaciones definidas entre sí. La estructura de un
sistema puede ser jerárquica, modular o en red, dependiendo de cómo se
relacionen y agrupen los componentes.
Etapas del diseño de un sistema de información

1. Identificación de necesidades: En esta etapa, se lleva a cabo un análisis detallado de las


necesidades de los usuarios y los objetivos del sistema. Se recopilan requisitos y se establecen los
criterios de éxito del sistema.

2. Análisis y planificación: Se realiza un análisis más detallado de los requisitos recopilados. Se define
la arquitectura general del sistema, se identifican los recursos necesarios y se elabora un plan de
desarrollo.

3. Diseño conceptual: En esta etapa, se crea un diseño conceptual del sistema que describe la estructura
general, la funcionalidad y las interfaces del sistema. Se utilizan diagramas y modelos para representar la
arquitectura del sistema.

4. Diseño lógico: Se traduce el diseño conceptual en un diseño lógico que define las estructuras de
datos, los algoritmos y la lógica de procesamiento necesarios para implementar el sistema.

5. Diseño físico: En esta etapa, se define la infraestructura tecnológica necesaria para implementar el
sistema, incluyendo hardware, software, bases de datos y redes. Se planifica la distribución de los
componentes del sistema y se elabora un plan de implementación.

6. Implementación y pruebas: Se desarrolla e implementa el sistema de acuerdo con el diseño


establecido. Se realizan pruebas exhaustivas para garantizar que el sistema funcione correctamente y
cumpla con los requisitos especificados.

7. Evaluación y mantenimiento: Una vez implementado, el sistema se evalúa en función de su


desempeño, usabilidad y cumplimiento de los requisitos. Se realizan ajustes y actualizaciones según sea
necesario para garantizar que el sistema siga siendo efectivo y eficiente.

8. Capacitación y documentación: Una vez que el sistema ha sido implementado con éxito, es crucial
proporcionar capacitación a los usuarios finales para que puedan utilizar el sistema de manera efectiva.
Además, se debe crear documentación detallada que describa el funcionamiento del sistema, los
procedimientos a seguir y las posibles soluciones a problemas comunes.

9. Migración de datos: En muchos casos, al implementar un nuevo sistema de información, es necesario


migrar datos desde el sistema anterior al nuevo sistema. Esta etapa implica la extracción de datos del
sistema existente, la transformación de los datos según sea necesario y la carga de los datos en el nuevo
sistema.

10. Seguridad y mantenimiento: La seguridad de la información es fundamental en cualquier sistema de


información. Se deben implementar medidas de seguridad apropiadas para proteger los datos del
sistema de potenciales amenazas. Además, es importante establecer un plan de mantenimiento que
incluya actualizaciones, parches de seguridad y respaldo de datos para garantizar la continuidad del
sistema.
11. Evaluación continua: Una vez que el sistema de información está en funcionamiento, es importante
realizar evaluaciones regulares para asegurarse de que cumple con las necesidades de los usuarios y
sigue siendo efectivo y eficiente. Se pueden realizar encuestas, revisar métricas de rendimiento y
recopilar comentarios de los usuarios para identificar áreas de mejora y realizar ajustes según sea
necesario.

12. Optimización y evolución: Los sistemas de información no son estáticos y deben evolucionar con las
necesidades del negocio y los avances tecnológicos. Es importante estar atento a nuevas tendencias y
tecnologías que puedan mejorar el sistema existente y planificar actualizaciones y mejoras para
mantener el sistema relevante y competitivo.

Estudio de viabilidad

1. Viabilidad Técnica:

Se debe evaluar si es factible implementar la solución utilizando la tecnología


disponible y si se pueden cumplir todos los requisitos técnicos del sistema.

- Es importante considerar la escalabilidad del sistema, su integración con otras


plataformas y su mantenibilidad a largo plazo.

2. Viabilidad Económica:

Se deben realizar análisis detallados de costos y beneficios para determinar si la


inversión en el sistema de información es justificada.

- Es fundamental considerar los costos de desarrollo, implementación, mantenimiento


y cualquier otro costo asociado con el sistema.

3. Viabilidad Operativa:

Se debe evaluar si el sistema propuesto mejorará la eficiencia de las operaciones de la


organización.

- Considerar la capacitación del personal, el soporte técnico necesario y cualquier


impacto en los procesos operativos existentes.
4. Planificación:

Es crucial desarrollar un plan detallado para cada etapa del diseño e implementación
del sistema.

- Establecer hitos y plazos claros para garantizar un seguimiento eficaz del progreso
del proyecto.

5. Evaluación de Riesgos:

Identificar y evaluar posibles riesgos que puedan surgir durante el diseño e


implementación del sistema.

- Desarrollar estrategias de mitigación de riesgos para minimizar su impacto en el


proyecto.

Análisis de riesgos

1. Requerimientos del sistema: En esta etapa, es importante analizar los riesgos


asociados con los requerimientos del sistema, como la claridad y completitud de estos.
Se pueden identificar riesgos relacionados con la incompatibilidad de requisitos,
cambios frecuentes en los requerimientos, falta de especificación clara, entre otros.

2. Diseño conceptual: Durante la fase de diseño conceptual, es crucial identificar los


posibles riesgos de diseño que podrían impactar la viabilidad técnica y operativa del
sistema. Esto incluye identificar posibles brechas en el diseño, dependencias no
contempladas, fallos de diseño arquitectónico, etc.

3. Diseño detallado: En esta fase, se debe evaluar los riesgos asociados con la
implementación de las especificaciones del diseño. Esto implica identificar posibles
riesgos técnicos, como errores en el diseño detallado, falta de optimización, riesgos de
integración con otros sistemas, etc.

4. Desarrollo: Durante la etapa de desarrollo, es importante identificar riesgos


relacionados con la codificación y la implementación del sistema. Esto incluye errores
de programación, vulnerabilidades de seguridad, problemas de rendimiento, entre
otros.

5. Pruebas: En la fase de pruebas, es esencial identificar los riesgos asociados con la


validación y verificación del sistema. Los riesgos incluyen la falta de cobertura de
pruebas, errores no detectados, problemas de interoperabilidad, etc.
6. Implementación: En la etapa de implementación, se deben evaluar los riesgos
asociados con la puesta en marcha del sistema en un entorno de producción. Esto
abarca riesgos como interrupciones del servicio, fallas en la migración de datos,
problemas de compatibilidad con hardware o software existente, entre otros.

Diseño de los datos:

En el contexto del desarrollo de un sistema de información es una fase crítica que se


ocupa de estructurar cómo se organizarán, almacenarán y accederán os datos dentro
del sistema. Esta etapa es especial para garantizar que el sistema pueda manejar
datos de manera eficiente y efectiva, permitiendo que los usuarios finales recuperen,
actualicen y manipulen la información fácilmente.
Diseño arquitectónico:

Es una etapa crucial que define la estructura general del sistema. Está fase establece
un marco de trabajo que especifica la disposición y la interacción de los componentes
de alto nivel, así como las tecnologías y plataformas que se utilizarán. Es
esencialmente el “plano” sobre el que se construirá el sistema, asegurando que todos
los componentes trabajen de manera cohesiva para cumplir los objetivos del negocio.

Diseño de Interfaz:

El diseño de la interfaz en las etapas de desarrollo de un Sistema de Información se


refiere a la creación y planificación de cómo los usuarios interactuarán con el sistema.
Esta etapa es crucial porque la interfaz es el punto de contacto directo entre el usuario
y el sistema, y su eficacia determina en gran medida la facilidad de uso y satisfacción
del usuario. Aquí se definen aspectos como la disposición de los elementos en la
pantalla, los colores, tipos de letra, iconos, menús, y otras herramientas visuales que
ayudan a los usuarios a navegar y operar el sistema de manera intuitiva y eficiente.

Los principales objetivos del diseño de la interfaz en un Sistema de Información


incluyen:

1. Usabilidad: Asegurar que la interfaz sea fácil de entender y usar. Esto implica
minimizar la curva de aprendizaje para nuevos usuarios y permitir que los usuarios
experimentados realicen sus tareas de manera eficiente.

2. Consistencia: Mantener una coherencia visual y funcional a través de todas las


pantallas y elementos de la interfaz, lo que ayuda a los usuarios a predecir cómo
interactuar con el sistema.

3. Estética: Diseñar una interfaz que sea visualmente atractiva para los usuarios, lo
que puede contribuir a una experiencia de usuario más positiva y a una mayor
aceptación del sistema.

4. Accesibilidad: Crear una interfaz que sea accesible para personas con diversas
capacidades, asegurando que el sistema pueda ser usado por un amplio rango de
personas.

5. Eficiencia: Optimizar el diseño para facilitar la realización de tareas de manera


rápida y con el mínimo esfuerzo requerido por parte del usuario.
Diseño de procedimientos
El diseño de un sistema de información implica varias etapas, y cada una de ellas
requiere procedimientos específicos para garantizar un resultado efectivo.
Recolección de Requisitos:

Entrevistas con los usuarios y partes interesadas para comprender sus necesidades.

Realización de encuestas y cuestionarios para recopilar información adicional.


Análisis de documentos existentes, como informes y formularios.
Generadores de códigos
Los generadores de código pueden ser herramientas útiles en varias etapas del diseño
de un sistema de información para agilizar el proceso de desarrollo y garantizar la
consistencia en la implementación, los generadores de código pueden ser beneficiosos
en diversas etapas del diseño de un sistema de información, especialmente en la
conversión de modelos y diseños en implementaciones concretas en código de
programación y estructuras de base de datos. Sin embargo, es importante utilizarlos
con precaución y validar siempre el código generado para asegurar su calidad y
conformidad con los requisitos del sistema.

1. Recolección de Requisitos:

• No es común utilizar generadores de código en esta etapa, ya que se enfoca


principalmente en comprender las necesidades de los usuarios y las partes
interesadas.

2. Análisis de Requisitos:

• Algunos generadores de código pueden ayudar a convertir los requisitos


documentados en prototipos básicos o esqueletos de código para validar rápidamente
los requisitos.

3. Diseño Conceptual:

• Los generadores de código pueden ser útiles para crear modelos conceptuales y
diagramas de flujo de datos en herramientas de modelado que generan código
automáticamente.

4. Diseño Lógico:

• En esta etapa, los generadores de código pueden convertir modelos lógicos,


como diagramas de clases y relaciones, en código de programación específico del
lenguaje elegido para implementar la lógica de negocio.

5. Diseño Físico:

• Los generadores de código pueden ser particularmente útiles para generar


código SQL para la creación de tablas de base de datos y otras estructuras de datos, a
partir de modelos de bases de datos diseñados previamente.

6. Pruebas de Diseño:

• Los generadores de código no suelen utilizarse directamente en las pruebas de


diseño, pero pueden facilitar la generación de datos de prueba o scripts de pruebas
automatizadas para ayudar en la validación del sistema.
Herramientas para pruebas (Ambientes, Desarrollo, Pre -
Producción Y Producción)
Desarrollo

1. JUnit: Es un marco de pruebas unitarias para Java


2. Pytest: Un marco de prueba para Python que permite escribir pruebas simples
pero escalables.
3. Mocha/Chai: Herramientas populares para pruebas unitarias y de integración en
JavaScript.
4. Selenium WebDriver: Para pruebas de automatización de navegadores web.
5. Postman: Utilizado para realizar pruebas de API y servicios web.

Ambientes de pruebas (Testing)

1. JUnit: Aunque es utilizado principalmente en el desarrollo, también puede ser


utilizado para pruebas más amplias en el entorno de testing.
2. TestNG: Un marco de pruebas similar a JUnit, pero con funcionalidades
adicionales como la ejecución de pruebas en paralelo.
3. Selenium Grid: Para la ejecución de pruebas de Selenium en paralelo en
múltiples máquinas y navegadores.
4. JMeter: Una herramienta de prueba de carga y rendimiento ampliamente
utilizada para aplicaciones web.
5. SoapUI: Para pruebas funcionales y de carga de servicios web SOAP y REST.
Pre producción

1. Jenkins: Herramienta de integración continua que puede automatizar la


ejecución de pruebas y despliegues en entornos de pre-producción.
2. Docker: Utilizado para crear entornos de pruebas y pre-producción reproducibles
y aislados.
3. Kubernetes: Para la orquestación y gestión de contenedores, útil para entornos
de pre-producción que requieren escalabilidad y disponibilidad.
4. Kubernetes: Para la orquestación y gestión de contenedores, útil para entornos
de pre-producción que requieren escalabilidad y disponibilidad.
Producción

1. Monitoreo de Aplicaciones: Herramientas como New Relic, Datadog,


Prometheus, entre otras, que pueden monitorear el rendimiento y la
disponibilidad de la aplicación en producción.
2. Logs y Análisis de Logs: ELK Stack (Elasticsearch, Logstash, Kibana), Splunk,
Graylog, que pueden utilizarse para recopilar, analizar y visualizar registros en
tiempo real.
3. Gestión de Errores: Sentry, Rollbar, Bugsnag, herramientas que pueden ser
integradas en la aplicación para capturar y notificar errores en tiempo real.
4. Pruebas A/B y Monitoreo de Experiencia del Usuario: Herramientas como
Optimizely, Google Optimize, Hotjar, que permiten realizar pruebas de usuarios
reales en producción y recopilar datos sobre la experiencia del usuario.

Uso y mantenimiento de sistemas

El uso y mantenimiento de sistemas son aspectos críticos para garantizar que los
sistemas de información y las infraestructuras tecnológicas funcionen de manera
eficiente y confiable a lo largo del tiempo.

Operación diaria: Los usuarios interactúan con los sistemas para realizar tareas
específicas, como ingresar datos, procesar transacciones, generar informes, entre otras
actividades relacionadas con las operaciones del negocio.

Entrenamiento: Los usuarios deben recibir capacitación adecuada para comprender


cómo utilizar correctamente el sistema y aprovechar al máximo sus funcionalidades.
Esto puede incluir sesiones de capacitación presenciales, tutoriales en línea, manuales
de usuario, entre otros recursos.
Seguridad: Los usuarios deben seguir las mejores prácticas de seguridad para proteger
los datos y los recursos del sistema. Esto puede incluir el uso de contraseñas seguras,
la autenticación de dos factores, el acceso basado en roles y la capacitación en
conciencia de seguridad.

Soporte técnico: Los usuarios pueden requerir asistencia técnica para resolver
problemas o dudas relacionadas con el sistema. Esto puede implicar la creación de un
centro de soporte técnico interno o la contratación de servicios externos de soporte
técnico

Mantenimiento de sistemas

Actualizaciones y parches: Es importante mantener los sistemas actualizados con las


últimas versiones de software y parches de seguridad para mitigar vulnerabilidades y
errores conocidos. Esto puede incluir actualizaciones de sistema operativo,
actualizaciones de software de aplicación y parches de seguridad.

Monitoreo del rendimiento: Se debe monitorear continuamente el rendimiento del


sistema para identificar posibles problemas de rendimiento o cuellos de botella. Esto
puede implicar el uso de herramientas de monitoreo de rendimiento que rastrean
métricas como el uso de CPU, la utilización de memoria, el rendimiento de la red, entre
otros.

Respaldo de datos: Se deben realizar copias de seguridad periódicas de los datos del
sistema para proteger contra la pérdida de datos debido a fallas de hardware, errores
humanos, ataques cibernéticos u otras eventualidades. Es importante probar
regularmente los procedimientos de respaldo y recuperación de datos para garantizar
su eficacia.

Optimización y ajustes: Se pueden realizar ajustes y optimizaciones periódicas en el


sistema para mejorar su rendimiento, escalabilidad y eficiencia. Esto puede incluir la
optimización de consultas de base de datos, la configuración de parámetros de sistema
y la implementación de prácticas de optimización de código.

Gestión de cambios: Se debe gestionar cuidadosamente cualquier cambio en el


sistema, ya sea una actualización de software, una configuración de red o un cambio
en los procesos comerciales relacionados. Esto puede implicar la implementación de
un proceso formal de gestión de cambios que incluya la evaluación de impacto, la
aprobación y el seguimiento de cambios.

Comprender cómo utilizar y mantener sistemas de manera efectiva ayuda a mejorar la


eficiencia operativa de una organización. Cuando los sistemas se utilizan de manera
óptima y se mantienen adecuadamente, las operaciones diarias pueden realizarse de
manera más eficiente y productiva.

También podría gustarte