Está en la página 1de 47

Análisis y Diseño de Sistemas

Introducción al Análisis y Diseño de


Sistemas
José Sulla Torres
Agenda
• Descripción general de los sistemas
• El papel de los analistas de sistemas
• Desarrollo de software y análisis y diseño de sistemas
• Ciclo de vida del desarrollo de sistemas
• Desarrollo iterativo
Introducción

• Las organizaciones han reconocido la importancia de administrar


recursos clave como las personas y la materia prima.
Actualmente, la información ha encontrado su lugar apropiado
como recurso clave.
• Los administradores necesitan comprender que hay costos
asociados con la producción, distribución, seguridad, el
almacenamiento y la recuperación de toda información.
Introducción
Sistema de Información
• Una aplicación informática es un programa de software que
se ejecuta en un dispositivo informático para llevar a cabo
una función específica o un conjunto de funciones
relacionadas.
• Un sistema de información es un conjunto de componentes
informáticos interrelacionados que recopila, procesa,
almacena (generalmente en una base de datos) y
proporciona como salida la información necesaria para
completar las tareas comerciales.
¿Por qué es importante el análisis y el diseño de
sistemas en el desarrollo de sistemas de información?
• Analogía: el arte y la ciencia de crear un edificio
hermoso.
• En este escenario, está el comprador que tiene la visión,
el constructor que construirá el edificio y el arquitecto
que sirve de puente entre el comprador y el constructor.
• El arquitecto ayuda al comprador a desarrollar la visión,
pero también debe comunicar las especificaciones del
edificio al constructor. El arquitecto utiliza varias
herramientas para capturar la visión del comprador y
luego proporcionar al constructor las instrucciones,
como planos, modelos a escala, especificaciones
detalladas.
¿Por qué es importante el análisis y el diseño de
sistemas en el desarrollo de sistemas de información?
• Así como un constructor no comienza a construir sin planos, los
programadores no se sientan y comienzan a escribir el código del
programa.
• Necesitan que alguien haga el rol de un arquitecto: planificando,
capturando la visión, entendiendo los detalles, especificando las
necesidades, antes de escribir el código y verificar que satisfaga
la visión.
• El arquitecto de software debe poder comprender y capturar la
visión de las personas que financian el proyecto. Por lo general,
llamamos a esta persona analista de sistemas.
Análisis y Diseño de Sistemas
• El análisis y diseño de sistemas trata de brindar, las
herramientas y técnicas para que pueda comprender la
necesidad, capturar la visión, definir una solución,
comunicar la visión y la solución, construya la solución y
dirija a otros en la construcción de la solución, confirme que
la solución satisface la necesidad e inicie la aplicación de la
solución.
Análisis de Sistemas
• El análisis de sistemas consiste en aquellas actividades que
permiten a una persona comprender y especificar lo que
debe lograr el nuevo sistema.
• El análisis de sistemas describe en detalle el "qué" un
sistema debe hacer para satisfacer la necesidad o resolver el
problema.
Diseño de Sistemas
• El diseño de sistemas consiste en aquellas actividades que
permiten a una persona describir en detalle el sistema que
resuelve la necesidad. En otras palabras, el diseño de
sistemas describe "cómo" funcionará el sistema.
• Especifica en detalle todos los componentes del sistema de
solución y cómo funcionan juntos para proporcionar la
solución deseada.
Ciclo de vida del
desarrollo de
sistemas
• Para gestionar un proyecto con
análisis, diseño y otras
actividades de desarrollo,
necesita un marco de gestión de
proyectos para guiar y coordinar
el trabajo del equipo del
proyecto.
• El ciclo de vida de desarrollo de
sistemas (CVDS) identifica todas
las actividades necesarias para
construir, lanzar y mantener un
sistema de información.
Ciclo de vida del desarrollo de sistemas

1. Identifique el problema o la necesidad y obtenga la aprobación


para continuar.
2. Planifique y supervise el proyecto: qué hacer, cómo hacerlo y
quién lo hace.
3. Descubra y comprenda los detalles del problema o la necesidad.
4. Diseñar los componentes del sistema que resuelvan el problema o
satisfagan la necesidad.
5. Cree, pruebe e integre componentes del sistema.
6. Complete las pruebas del sistema y luego implemente la solución.
Desarrollo iterativo
• El desarrollo iterativo es un enfoque para el desarrollo de
sistemas en el que el sistema se "cultiva" de una manera casi
orgánica. Los componentes principales se desarrollan
primero y luego se agregan componentes adicionales.
• Se denomina “iterativo” porque los seis procesos de
desarrollo centrales se repiten una y otra vez para agregar
funcionalidad adicional al sistema en general. En otras
palabras, hay un gran proyecto, que consta de muchos
miniproyectos, y el sistema de información se desarrolla
pieza a pieza.
Ciclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemas
• La mayoría de las aplicaciones nuevas requieren un proyecto con
varias iteraciones. En la primera iteración, generalmente hay tres
objetivos principales.
• El primer objetivo es obtener la aprobación del proyecto.
• El segundo objetivo es obtener una imagen clara de la visión
general del sistema: todas las funciones principales y los
requisitos de datos.
• El tercer objetivo es determinar las especificaciones detalladas y
desarrollar una solución para una parte del sistema (es decir,
analizar, diseñar, construir y probar realmente una parte del
sistema).
Work Breakdown Structure (WBS)
Integración de las Tecnologías de sistemas
• Aplicaciones de comercio electrónico y sistemas web:
Creciente difusión, acceder las 24 hrs, estandarización del
diseño de interfaz, a nivel mundial.
• Sistemas de Planeación de Recursos Empresariales: ERP –
SAP, PeopleSoft, Oracle.
• Sistemas para dispositivos inalámbricos y portátiles: Palm,
PDA, WLAN, Wi-Fi, Bluetooth
Integración de las Tecnologías de sistemas
Roles del analista de sistemas
• Los analistas de sistemas valoran la manera en que funcionan
los negocios examinando la entrada, el procesamiento de
datos y la salida de información con el propósito de mejorar
los procesos organizacionales.
• El analista debe tener la capacidad de trabajar con todo tipo
de gente y contar con suficiente experiencia en
computadoras.
Roles del analista de sistemas
• Los tres roles principales del analista de sistemas son:
• Consultor: Tienen la ventaja de tener una perspectiva fresca que
no poseen otros miembros de la organización. Desventaja: al no
conocer la verdadera cultura organizacional.
• Experto en soporte: Tiene experiencia profesional relacionada
con hardware y software, orientado a pequeñas modificaciones o
decisiones que afectan a una parte de la organización.
• Agente de cambio: Papel más completo y responsable que toma
un analista de sistemas es el agente de cambio, ya sea interno y
externo al negocio por un periodo extendido.
Cualidades del analista de sistemas
• Antes que nada el analista es un solucionador de problemas.
• El analista también debe ser un comunicador capaz de
relacionarse en forma significativa con las demás gentes.
• Experiencia en computadoras para programar, comprender
las capacidades de las computadoras, recoger los
requerimientos, etc.
Ciclo de vida del desarrollo de sistemas
1 Identificación de problemas, 2 Determinación de los
oportunidades y objetivos requerimientos de
información

3 Análisis de las
7 Implementación y necesidades del sistema
evaluación del sistema

4 Diseño del sistema


6 Prueba y mantenimiento recomendado
del sistema 5 Desarrollo y
documentación del
software
1. Identificación de problemas, oportunidades y
objetivos
• El analista observa lo que esta sucediendo en un negocio.
• Luego, junto con los demás miembros de la organización, el
analista hace resaltar los problemas.
• Las oportunidades son situaciones que el analista considera
que pueden ser mejoradas por medio del uso de sistemas de
información computarizada.
1. Identificación de problemas, oportunidades y
objetivos
• Con la identificación de objetivos el analista debe descubrir lo
que esta tratando de hacer el negocio.
• Luego será capaz de ver si algún aspecto de la aplicación de
sistemas de información puede ayudar para que el negocio
alcance sus objetivos atacando problemas específicos u
oportunidades.
1. Identificación de problemas, oportunidades y
objetivos
• Las actividades consisten en
• entrevistas a los administradores de los usuarios,
• sumarización del conocimiento obtenido,
• estimación del alcance del proyecto y
• documentación de los resultados.
• La salida de esta fase es un estudio de factibilidad que
contiene una definición del problema y la sumarización de los
objetivos.
• Decisión...
2. Determinación de los requerimientos de
información
• Entre las herramientas utilizadas se encuentran:
• muestreo e investigación de los datos relevantes,
• entrevistas, cuestionarios,
• el comportamiento de los tomadores de decisiones y su
ambiente de oficina y
• la elaboración de prototipos.
• Esta fase sirve para formar la imagen que el analista tiene de
la organización y sus objetivos.
2. Determinación de los requerimientos de
información
• El analista de sistemas necesita saber los detalles de las
funciones actuales del sistema: quién, qué, dónde, cuándo y
cómo del negocio.
• Al término de la fase, el analista debe comprender el porque
de las funciones del negocio y tener información completa.
3. Análisis de las necesidades del sistema
• Necesita:
• Crear diagramas de flujo de datos: entrada, proceso y salida de las
funciones del negocio.
• A partir de los diagramas se desarrolla un diccionario de datos, que
lista todos los conceptos de datos usados en el sistema.
• Decisiones estructuradas que se hacen (lenguaje estructurado,
tablas de decisión y árboles de decisión).
• Prepara una propuesta de sistema (costo/beneficio)
• Recomendaciones de solución.
4. Diseño del sistema recomendado
• Diseño de interfaz de usuario
• Diseño de entrada
• Diseño de salida
• Diseño de controles
• Diseño de la base de datos
• Procedimientos de respaldo
• Diseño de Arquitectura
5. Desarrollo y documentación del software
• El analista trabaja con los programadores para desarrollar el
software que se necesite.
• Algunas de las técnicas estructuradas para el diseño y
documentación de software incluyen
• Diagramas estructurados, diagramas de flujo, diagramas Nassi-Schneiderman y
Warnier-Orr y seudocódigo, UML.
• El analista usa estos dispositivos para comunicar al
programador lo que necesita ser programado.
6. Pruebas y mantenimiento del sistema
• Antes de que pueda ser usado, el sistema de información
debe ser probado.
• Algunas de las pruebas son realizadas por los programadores
solos, y otras por los analistas de sistemas junto con los
programadores.
• El mantenimiento del sistema y de su documentación
comienzan en esta fase y es efectuado rutinariamente.
7. Implementación y evaluación del sistema
• En esta fase el analista ayuda a implementar el sistema de
información.
• Esto incluye el entrenamiento de los usuarios para que
manejen el sistema.
• El analista necesita un plan para una conversión suave del
sistema antiguo al nuevo.
Importancia del mantenimiento
• La cantidad promedio de tiempo gastada en mantenimiento
en una instalación MIS típica.
Importancia del mantenimiento
• El mantenimiento se realiza por dos razones:
• Corregir errores de software.
• Manejar las capacidades del software en respuesta a las
necesidades organizacionales cambiantes.
Importancia del mantenimiento
Cambios mayores
en el negocio y en
la tecnología
Errores
posteriores
a la instalación Cambios
Cantidad de menores
Recursos
Consumidos, Desarrollo
Tiempo y Del sistema
dinero
Uso de las herramientas CASE
• CASE, significa herramientas para ingeniería de software
asistido por computadora.
• Las razones para usar esta herramienta son:
• Aumento de la productividad del analista
• Mejora de la comunicación del analista-usuario.
• Integración de las actividades del ciclo de vida.
• Evaluación precisa de los cambios del mantenimiento.
Ciclo de vida del desarrollo del sistema CASE
Ingeniería inversa y reingeniería de software
• Son métodos para extender la vida de programas antiguos,
llamados software legado.
• Ambos enfoques usan software CARE (reingeniería asistida
por computadora) para analizar y reestructurar el código de
computadora existente.
• La ingeniería inversa es lo opuesto a la generación de código.
Ingeniería inversa y reingeniería de software
• Dependiendo del juego de herramientas de ingeniería inversa
utilizado, el código es analizado y el juego de herramientas
produce parte o todo de lo siguiente:
• Estructuras y elementos de datos que describen los archivos y
registros guardados por el sistema.
• Diseños de pantallas.
• Diseños de reporte para los programas por lotes.
• Una gráfica de estructura.
• Diseño y relaciones de la base de datos.
Ingeniería inversa y reingeniería de software
• Las ventajas de usar
• Se reduce el tiempo requerido para el mantenimiento del sistema.
• Se produce documentación.
• Se crean programas estructurados a partir de código de
computadora sin estructura.
• Es mas fácil realizar cambios futuros de mantenimiento.
• Se puede realizar el análisis del sistema para eliminar partes de
código de computadora no utilizadas.
Análisis y diseño de sistemas orientados a objetos
• En la programación orientada a objetos son creados objetos
que incluyen no solamente código acerca de los datos sino
también instrucciones acerca de las operaciones que se
pueden realizar con ellos.
• Las actividades de diseño son agrupadas en los cuatro
componentes del sistema final:
• Componente del problema.
• Componente de interfaz humana.
• Componente de manejo de datos.
• Componente de manejo de tareas.
Lenguaje de Modelamiento Unificado
• El Lenguaje de Modelamiento Unificado (UML) es un
estándar para el modelamiento de los sistemas orientado a
objetos.
• Analiza un sistema en forma de casos de uso.
Practica
1. ¿Qué es el análisis y diseño de sistemas?
2. Defina las etapas del ciclo de vida de desarrollo de software.
Referencias
• Alan Dennis, Barbara Wixom, Roberta Roth, “Systems Analysis
and Design”, Wiley, 7ma Ed. 2019
• Kendall Kenneth / Kendall Julie: “Análisis y Diseño de Sistemas”,
Pearson, 9na. Edición, 2014.
• Báez Pérez Carmen Inés-Suárez Zsarabamda, Martha Isabel,
“Proceso de desarrollo de Software Versión 1.0 Basado en la
Articulación de RUP y CCMI priorizando su calidad”, 2015.
• RosenBlatt, “System Analysis and Design”, 11va Ed, Cengage, 2017
• https://developers-latam.googleblog.com/2020/02/google-lanza-sus-
developer-student.html

También podría gustarte