Capítulo 1 El rol del Analista de Sistemas Análisis y Diseño de Sistemas Kendall & Kendall Sexta Edición Traducido para Ciberplex.tk
Objetivos del aprendizaje • Definir que son los Sistemas de
información • Fases del mantenimiento del sistema del análisis y de diseño • Herramientas CASE • Programación extrema y metodologías alternas
Información • La información es un recurso de
organización, que se debe manejar tan cuidadosamente como otros recursos. • Los costos se asocian al tratamiento de la información. • El procesamiento de Información debe ser manejado adecuadamente para tomar ventaja de ella.
Categorías Los sistemas de información caen en una de las ocho categorías siguientes: • Sistemas de Procesamiento de Transacciones (TPS). • Sistemas de automatización de la oficina (OAS). • Sistemas de trabajo del conocimiento (KWS). • Sistemas de información de gerencia (MIS). • Sistemas de apoyo a la toma de decisión (DSS). • Sistemas expertos (ES) e inteligencia artificial (AI). Sistemas de apoyo a las decisiónes de grupo (GDSS) y • sistemas de trabajo colaborativo Computer-Supported. • Sistemas de apoyo a ejecutivos (EES).
Nuevas tecnologias. Las nuevas tecnologías se deben integrar en los sistemas tradicionales, estos son: • Comercio electrónico y sistemas Web: Se utiliza la web para realizar actividades económicas. • Sistemas de planeación de recursos empresariales (ERP): Tienen la meta de integrar diversos sistemas de información dentro de la corporación. • Dispositivos inalámbricos y portátiles, incluyendo el comercio móvil (Ecommerce). • Software de código abierto (Open Source):Muchas manos mucha gente.
Ventajas de usar la Web. Las ventajas de usar el Web son: • Aumento de la disponibilidad del servicio, del producto, de la industria, de la persona, o del grupo. • Posibilidad de acceso las 24 horas Estandarización de la interfaz. • Estandarización • Crear un sistema global.
Naturaleza del análisis y del diseño Los sistemas análisis y diseño se encargan de: • Identificar problemas, oportunidades, y objetivos. • Analizar los flujos de información en organizaciones. • Diseñar sistemas de información automatizados para solucionar un problema.
Analista de sistemas Los roles principales de los analistas de sistemas son:
• Ser consultores externos a los negocios. • Ser expertos de soporte técnico en un negocio. • Ser agentes del cambio.
Habilidades • Comunicación. • Ética. • Empatía
Ciclo de vida del desarrollo de sistemas • El ciclo de vida del desarrollo de sistemas es un proceso sistemático para solucionar problemas de negocio. • Se divide en siete fases. • Cada fase tiene actividades únicas.
problemas, oportunidades y objetivos Identificar: • Problemas. • Oportunidades. • Objetivos. Personal implicado: • Analista. • Cliente. • Líder de Proyecto.
. requerimientos de la información • Se utilizan para determinar los
requerimientos de información
• Métodos interactivos • Métodos no intrusivos
• Preguntas: Quién, Qué, Dónde, Cuándo y Cómo. • Se confirma de idea que se tiene de la organización organización y sus objetivos
Fase 2 (Continuación) Personal involucrado: • Analista. • Cliente. • Trabajadores y gerentes del area de operaciones. • Líder de proyecto.
3. Análisis de las necesidades del sistema Analizar las necesidades del sistema: • Crear los diagramas de flujo de datos. • Diagramas de Procesos • Desarrollar un diccionario de datos. • Analizar las decisiones estructuradas que se hayan tomado.
• Español estructurado, tablas y arboles de decisión
• Preparar y presentar la propuesta del sistema.
Fase 3 (Continuación) Personal involucrado: • Analista. • Cliente. • Líder de proyecto.
4. Diseño del sistema recomendado Diseñar el sistema recomendado: recomendado: • Diseñar la interfaz de usuario. • Diseño de Salidas. • Diseño de Entradas. • Diseño de los controles del sistema. • Diseñar archivos y/o base de datos del sistema. Especificaciones de archivos y detalles de • Especificaciones procesamiento • Árboles o tablas de la decisión del producto.
Fase 4 (Continuación) • Personal involucrado: • Analista. • Diseñador. • Cliente. • Operadores. • Líder de Proyecto.
documentacioón del software Desarrollando y documentando documentando software:
• Diseñar y documentar el software usando diagramas de • • •
estructura, giagramas Nassi-Schneiderman, y pseudocódigo. Comunicar al programador lo que se requiere programar. Documentar el software con archivos de la ayuda, a yuda, los manuales de procedimiento, y los Website con preguntas frecuentes (FAQ, Frequently Asked Question). Los programadores tienen un rol importante porque diseñan, codifican y eliminan errores sintacticos de los programas de computo.
Fase 5 (Continuacion) • El personal implicado: Analista. Diseñador de sistema. Programadores. • Líder de Proyecto.
6. Prueba y mantenimiento del sistema Probando y manteniendo el sistema: • Probar y eliminar errores de los programas antes de que se entregue a los usuarios. • Probar el sistema informático con datos de muestra y luego con datos reales. • Gran parte del trabajo del programador consiste en el mantenimiento. mantenimiento.
Fase 6 (Continuación) • Personnel involved: • Analista. • Diseñador. • Programadores. • Líder de Proyecto.
7. Implementación y evaluación del sistema • Poniendo y evaluando el sistema en ejecución:
Capacitar a los usuarios en el manejo del sistema. Conversión gradual del sistema anterior al actual Comprar e instalar los equipos necesarios. Convertir los archivos del formato antiguo al nuevo. Instalar el sistema. Puesta en producción del nuevo sistema.
Fase 7 (Continuación) • Personal involucrado: • Analista. • Diseñador. • Programadores. • Cliente. • Operadores. • Líder de Proyecto.
Desarrollo rápido del aplicaciones (RAD) •
El desarrollo rápido del aplicaciones (RAD) es un enfoque orientado a objetos para el desarrollo de sistemas.
Mantenimiento del sistema El mantenimiento del sistema es: • Quitar errores desapercibidos, y realzar software existente. • El tiempo usado en mantenimiento se extiende típicamente de 48 a 60 por ciento de tiempo total del desarrollo del sistema.
Cambios del sistema Los sistemas cambian por las siguiente razones: características • La necesidad de adición de características nuevas al sistema. • En un cierto plazo el negocio cambia de necesidades. • La tecnología, el hardware, y el software van cambiando rápidamente.
Uso de herramientas CASE • Las herramientas CASE son denominadas •
herramientas de Ingeniería de Software Asistida por Computadora. Las cuatro razones para usar las herramientas CASE son: • Para aumentar productividad del analista. • Facilitar la comunicación entre analistas y usuarios. • Integración de las actividades del ciclo de vida • Para determinar los cambios en el mantenimiento.
Categorías de las herramientas CASE • Las herramientas CASE se pueden dividir en varias categorías: categorías:
• Herramientas de alto nivel, usadas para realizar análisis y diseño, • Herramientas de bajo nivel (también llamado CASE back-end).
• Estas herramientas generan código
fuente de lenguaje de programación. • CASE integrado, realiza ambas funciones de alto nivel y bajo nivel.
CASE de Alto nivel Las herramientas de alto nivel:
• Crean y modifican el diseño del sistema. • Almacenan los datos en una enciclopedia • •
denominada depósito CASE. El depósito CASE es una colección de registros, elementos, diagramas, pantallas, informes e información diversa del proyecto. Éstos ENCIERRAN los requerimientos de la organización organización y definen límites del sistema.
CASE de Bajo nivel • Las herramientas de bajo nivel
generan código de fuente de computadora, eliminando así la necesidad de programar el sistema • El código de fuente se puede generar en varios lenguajes de programación.
Ventajas de generar código • Tiempo para desarrollar nuevos diseños de • • • •
sistemas. La generación de código reduce el tiempo invertido en mantenimiento Los programas de computadora se pueden generar en más de un lenguaje. Con el software de generación de código, la compra del diseño CASE y un deposito CASE para la aplicación, permite modificar un sistema de computo ya existente. El código generado está libre de errores de codificación del programa.
Ingeniería inversa • Son métodos para alargar la vida de
programa anteriores, conocidos como software heredado. • La ingeniería inversa es lo opuesto a generación de código. • Se emplea software de reingenieria asistida por computadora (CARE) para reestructurar código de computadora ya existente
Ingeniería inversa (continuacion) La ingeniería inversa produce (dependiendo del conjunto de herramienta de ingeniería inversa usado):
• Estructuras de datos y elementos que describen los • • • •
archivos y registros almacenados por el sistema Diseños de pantallas, si el programa es en línea. Esquemas de informes para programas por lotes Un diagrama de estructura que muestra la jerarquía de los módulos del programa Diseño y relaciones de bases de datos.
Ventajas de la ingeniería inversa La ingeniería inversa tiene las siguientes ventajas:
• Reducción del tiempo requerido para el • • • •
mantenimiento del sistema, con lo cual mas tiempo para nuevos desarrollos. Se genera documentación, que podría haber sido inexistente o mínima en los programas anteriores. Se crean programas estructurados a partir de código de computadora no estructurado. Los cambios futuros al mantenimiento son más sencillos. Las porciones sin utilizar de código pueden ser eliminadas.
Análisis y diseño orientado a objetos • El análisis y el diseño orientados al
objeto se utiliza para desarrollar sistemas orientados al objeto. • La programación OO examina los objetos de un sistema. • Los objetos se agrupan en clases para la reutilización y capacidad de mantenimiento óptimas.
Lenguaje unificado de modelación (UML) • El lenguaje unificado de
modelación (UML) es un estándar de la industria para modelar sistemas orientados a objetos. • Analiza un sistema en forma de modelo de casos de uso
Programación extrema (XP) • La programación extrema es un enfoque para
•
el desarrollo de software que utiliza buenas prácticas de desarrollo y las lleva a los extremos. Se basa en: Valores: Comunicación, Simplicidad, Retroalimentación, Valentía. Principios. Prácticas esenciales.
Programación extrema (XP) (continuacion). • Las cuatro prácticas de la
programación extrema son: La liberación limitada. La semana de trabajo de 40 horas. Alojar a un cliente en el sitio. Uso de programación en parejas .
Metodologías alternas • Las metodologías alternas están
disponibles para analizar sistemas. • Éstos incluyen:
Prototipos. ETHICS. Campeón del proyecto. Metodología Soft system. Multi-view.