ANLISIS Y DISEO DE SISTEMAS ESCUELA DE INGENIERIA DE SISTEMAS Ing. Edwin A. Saavedra Navarro MSc SESIN 1: TEMTICA Fundamentos de Ingeniera de Software. Conceptos generales. Principios de la Ingeniera de Software. El rol del ingeniero de Software. Participantes: usuarios, clientes, el equipo de desarrollo.
Ing. Edwin A. Saavedra Navarro MSc SISTEMAS? Ing. Edwin A. Saavedra Navarro MSc SISTEMAS VS PROPSITO Sistema de computacin, Sistema operativo, Sistema de liquidacin de sueldos, Sistema educativo, Sistema de gobierno, Sistema de ingreso a la UNS, Sistema de gestin de calidad, Sistema digestivo, Sistema numrico, Sistema Ing. Edwin A. Saavedra Navarro MSc SISTEMAS DEFINICIONES Conjunto de tems interrelacionados que de forma ordenada contribuyen a un todo o al cumplimiento de un objetivo. Conjunto de reglas o principios sobre una materia racionalmente enlazados entre s que explican un todo. Procedimiento organizado y establecido. Ing. Edwin A. Saavedra Navarro MSc SISTEMAS - EJEMPLOS Un grupo de rganos que cumplen una funcin (sistema digestivo). Un grupo de cuerpos interactuando bajo influencia de fuerzas relacionadas (sistema gravitacional). Un patrn o arreglo armnico (sistema de numeracin). Un procedimiento organizado y establecido (sistema de produccin). Ing. Edwin A. Saavedra Navarro MSc SISTEMAS CLASIFICACIN
Sistemas construidos por el hombre: Manuales. Automticos o automatizados. Mixtos.
A estudiar Ing. Edwin A. Saavedra Navarro MSc SISTEMAS AUTOMATIZADOS (SA) Sistemas hechos por el hombre y controlados por una o varias computadoras. Generalmente se componen de: Hardware: CPU, discos, impresoras, etc. Software: Sistemas operativos, bases de datos, programas de aplicacin, etc. Personas: Proveen y/o consumen lo que produce el sistema. Datos: Informacin que se mantiene por un perodo de tiempo. Procedimientos: Polticas e instrucciones para operar el sistema. Documentacin: Manuales, formularios y otros modelos que describen el sistema. Ing. Edwin A. Saavedra Navarro MSc POR QU ESTUDIAR LOS SISTEMAS? Un sistema automatizado forma parte de un sistema mayor. Los sistemas automatizados reemplazan a sistemas que existan previamente. Aunque los distintos tipos de sistemas parecen diferentes, existen principios, teoras y filosofas que son compartidos por todos. Ing. Edwin A. Saavedra Navarro MSc PRINCIPIOS GENERALES Cuanto ms especializado es un sistema, menos capaz es de adaptarse a circunstancias diferentes. Cuanto mayor es un sistema, ms recursos necesita para su mantenimiento. Los sistemas son siempre parte de un sistema mayor y casi siempre se pueden partir en sistemas ms pequeos. Los sistemas tienden a crecer (o desaparecen). Ing. Edwin A. Saavedra Navarro MSc TIPOS DE SISTEMAS AUTOMATIZADOS
Clasificacin de SA Batch. On-line. Sistemas de Tiempo Real. Sistemas de soporte de decisin. Sistemas basados en conocimiento
Evoluci n del SA Actualmente conviven los distintos tipos SA Ayer Hoy Ing. Edwin A. Saavedra Navarro MSc SISTEMAS BATCH Caractersticas Recolectan datos por un perodo de tiempo. No interactan con usuarios. Procesan varias transacciones juntas. Generalmente tienen acceso secuencial a la mayora de la informacin. Ejemplo: Polticas de backup. Algunos tipos de sensores. Ing. Edwin A. Saavedra Navarro MSc SISTEMAS ON- LINE Caractersticas La transaccin se registra cuando sucede. Procesa una transaccin por vez. Interacta con el usuario. Requiere acceso rpido a los datos. Accede en forma aleatoria a una porcin de los datos. Las transacciones son sencillas. Ejemplos: Sistemas de facturacin. Sistemas de compras va web. Ing. Edwin A. Saavedra Navarro MSc SISTEMAS DE TIEMPO REAL Caractersticas Interactan con personas y ambiente (entorno fsico). Una respuesta fuera de tiempo puede ser catastrfica. Requieren de: manejo de interrupciones, asignacin de prioridades, control sobre el entorno. Ejemplos: Control de procesos. Adquisicin de datos de alta velocidad (satlites). Sistemas de monitoreo de pacientes. Ing. Edwin A. Saavedra Navarro MSc SISTEMAS DE SOPORTE DE DECISIN Caractersticas No toman decisiones por si solos, sino que colaboran con la toma de decisin. No poseen salidas programadas. Pueden presentar la informacin de varias maneras. Ejemplos: Data warehouse. Planillas de clculo.
Ing. Edwin A. Saavedra Navarro MSc SISTEMAS BASADOS EN CONOCIMIENTO Caractersticas Sistemas expertos. Imitan el comportamiento de una persona en tareas inteligentes. Utilizan tcnicas de Inteligencia Artificial. Ejemplos: Sistemas de ayuda. Algn tipo de software educativo.
Ing. Edwin A. Saavedra Navarro MSc TPICOS DE INGENIERA DE SOFTWARE Ing. Edwin A. Saavedra Navarro MSc QU ES EL SOFTWARE? Producto que disean y desarrollan los ingenieros de software. Abarca los programas, los documentos y otros formatos en los que se almacene informacin (videos, bases de datos). Objetivo: desarrollar tcnicas que hagan mas efectiva y menos costosa la construccin de software de calidad. Ing. Edwin A. Saavedra Navarro MSc Ing. Edwin A. Saavedra Navarro MSc EVOLUCIN DEL SOFTWARE Doble rol: producto final y vehculo de acceso. Mayor complejidad del hardware Mayor complejidad de los sistemas Desafio para los desarrolladores Internet produjo un cambio de filosofa Computacin omnipresente (ej. Y2K) Expansin constante: conexin entre casas, oficinas, autopistas, etc Ing. Edwin A. Saavedra Navarro MSc PROGRAMADOR - EQUIPO Interrogantes que se mantienen: Por qu lleva tanto tiempo desarrollar los programas? Por qu son tan elevados los costos? Por qu no podemos encontrar todos los errores? Por qu nos resulta difcil constatar el progreso mientras se desarrolla el SW? Ing. Edwin A. Saavedra Navarro MSc CARACTERSTICAS DEL SW El SW se desarrolla, no se fabrica en un sentido clsico. El SW no se estropea (pero se deteriora con los cambios) La mayora del SW se construye a medida (pero se tiende al desarrollo con componentes) Ing. Edwin A. Saavedra Navarro MSc CRISIS DEL SW Existen numerosos ejemplos de estrepitosas fallas en desarrollos. Los sistemas de software son creaciones complejas Es difcil que una sla persona pueda comprenderlos completamente. Estn sujetos a constantes cambios Ing. Edwin A. Saavedra Navarro MSc INGENIERA DE SOFTWARE Es un rea de las ciencias de la computacin que estudia la construccin de sistemas de software tan grandes y complejos que requieren de un grupo de ingenieros Ing. Edwin A. Saavedra Navarro MSc GENERALIDADES Es esencialmente una actividad en equipo: un ingeniero de software desarrollar un componente de software que se combinar con otros componentes desarrollados por otros ingenieros. Existen versiones del producto. El producto perdurar en el tiempo y est sujeto a cambios. Requiere de un trabajo disciplinado. Ing. Edwin A. Saavedra Navarro MSc PRODUCCIN DE SOFTWARE La produccin de software evolucion con el tiempo: 1. Ubicar un conjunto de instrucciones juntas para que la computadora haga algo til: Problema bien definido. Programacin escrita por el propio interesado. 2. Lenguajes de programacin de ms alto nivel y computadoras ms accesibles, Se distinguen los roles programador y usuario. Proyectos de software de mayor escala (sistemas operativos) 3. Ingeniera de Software. Software como parte de un sistema ms complejo. Productos de ingeniera Ing. Edwin A. Saavedra Navarro MSc Ing. Edwin A. Saavedra Navarro MSc EL PRODUCTO Producto de IS - es un sistema de software que se distribuye al cliente junto con su documentacin. La IS apunta a la construccin de software como una actividad de ingeniera: producir productos de calidad Los productos de software se clasifican: Software a medida: software desarrollado para un cliente particular bajo un contrato. Software genricos: desarrollados para ser vendidos a un mercado abierto.
Ing. Edwin A. Saavedra Navarro MSc EL PROCESO Proceso de Desarrollo define el marco de trabajo para un conjunto de tareas claves en la produccin de software. Generalmente, en cualquier proceso de ingeniera de software, no importa el rea de aplicacin, tamao o complejidad del producto. Se puede dividir en cuatro fases genricas: Fase de definicin (qu se espera del producto). Fase de desarrollo (cmo se va hacer). Fase de mantenimiento y pruebas (cmo mejorar). Fase de Implementacin (cmo poner en marcha).
Ing. Edwin A. Saavedra Navarro MSc DESARROLLO DE SOFTWARE - PARTICIPANTES Propietarios del Sistema Patrocina el desarrollo del sistema. Obligacin contractual $$$, necesidades Esquipo de Desarrollo Usuarios Construye el sistema. Ingeniero de Software Arquitecto de la Solucin Usuarios del sistema Ing. Edwin A. Saavedra Navarro MSc DISTINTAS REALIDADES Relacin Equipo de desarrollo/Empresa En un proyecto, el desarrollo de sistemas puede estar a cargo de: Un equipo de desarrollo dentro de la empresa. Un equipo de desarrollo de una empresa externa (desarrollo de terceros). Pueden hacerse desarrollos para usuarios no conocidos (software de propsito general). Segn la alternativa los modelos y las necesidades de comunicacin son diferentes.
Ing. Edwin A. Saavedra Navarro MSc PARTICIPANTES El desarrollo de software involucra a distintos jugadores o participantes, dentro y fuera del equipo de desarrollo. Ing. Edwin A. Saavedra Navarro MSc USUARIOS Usuarios persona/s para la que se construye el sistema (stakeholders o dueos del sistema). Son los efectivamente van interactuar con el sistema. Entrevistar. Conformar. Existen sistemas donde no se conoce al usuario. Esto acarrea malos entendidos. En estos casos es importante documentar.
Ing. Edwin A. Saavedra Navarro MSc CLASIFICACIN DE LOS USUARIOS Por categora de trabajo Usuarios Operativos. Usuarios Supervisores. Usuarios Ejecutivos. Por nivel de experiencia en proyectos de desarrollo de software. Amateur. Novato. Experto.
Ing. Edwin A. Saavedra Navarro MSc USUARIOS EJECUTIVOS Caractersticas Dan iniciativa al proyecto. Se interesan por estrategias de mercado y ganancias/prdidas. Tienen una visin global del sistema. Estn familiarizados con modelos abstractos. Les interesa la informacin que puedan obtener del sistema. Tienen cierto influencia en las polticas de la empresa.
Ing. Edwin A. Saavedra Navarro MSc USUARIOS SUPERVISORES Caractersticas Generalmente en tiempos anteriores fueron usuarios operativos. Les interesa el aumento de productividad que pueda darles el nuevo sistema a su rea. Pueden negarse a que se entreviste a sus operadores. Tiene una visin similar al usuario operador. Ing. Edwin A. Saavedra Navarro MSc USUARIOS OPERATIVOS Caractersticas Son los que tendrn contacto diario con el nuevo sistemas. Tienen una visin local. Manejan trminos fsicos. Se interesan por las funciones e interfaz del nuevo sistema. Tienden a imponer su manera de manejar las cosas.
Ing. Edwin A. Saavedra Navarro MSc GERENTES Caractersticas Cuanto mayor sea el nivel de gerencia menos le interesar la tecnologa informtica. Sus prioridades pueden estar en conflicto con la de los usuarios. Diferentes gerentes pueden tomar posiciones encontradas con relacin al proyecto. Tienen la decisin sobre el futuro del proyecto. Les interesa las nuevas posibilidades de negocio. Con ellos el IS debe negociar!
Ing. Edwin A. Saavedra Navarro MSc OTROS PARTICIPANTES Auditores Personal a cargo del control de calidad. Verifican que se respeten normas y estndares. Tener en cuenta: Pueden aparecer en juego tarde. Revisan modelos. Se ocupan demasiado de las formas.
Ing. Edwin A. Saavedra Navarro MSc OTROS PARTICIPANTES Personal tcnico de operacin Responsables de la red, sistemas de hardware, de backups. La comunicacin solo se requiere para coordinar tareas.
Ing. Edwin A. Saavedra Navarro MSc UNA PIRMIDE DE PARTICIPANTES Ing. Edwin A. Saavedra Navarro MSc EJERCICIO Supongamos que nos solicitan el desarrollo del portal de la UCV. Algunos usuarios de este sistema son: Alumnos. Docentes de ctedra. Investigadores. Autoridades de Departamentos. Rector. El auditor. Personal de Operacin (red y servidores) Administrativos. Para discutir: Qu le puede interesar a cada tipo de usuario?
Ing. Edwin A. Saavedra Navarro MSc MITOS DEL SOFTWARE Ing. Edwin A. Saavedra Navarro MSc QUE ES LO QUE ESTA SUCEDIENDO? Los mitos del SW proporcionan informacin que muchas veces es errnea o incierta A continuacin debatiremos algunos de los mitos mas comunes. Ing. Edwin A. Saavedra Navarro MSc MITOS DE GESTIN Tenemos ya un libro lleno de estndares y procedimientos. Esto le proporciona al personal lo que debera saber. Realidad: Conocen los trabajadores su existencia? se usa? Mi gente posee el mejor equipamiento porque les compramos las ultimas computadoras. Realidad: esto no es lo ms importante. Ing. Edwin A. Saavedra Navarro MSc MITOS DE GESTIN Si estamos atrasados podemos agregar mas programadores. Realidad: muchas veces esto retrasa ms el proyecto. La gente puede aadirse en forma coordinada. Ing. Edwin A. Saavedra Navarro MSc MITOS DEL CLIENTE Una declaracin general de los objetivos es suficiente para comenzar el programa. Realidad: Una mala especificacin inicial es una de las principales causas de fracasos. Los requisitos cambian continuamente pero el SW es flexible y puede acomodarse fcilmente. Ing. Edwin A. Saavedra Navarro MSc COSTO DEL CAMBIO Ing. Edwin A. Saavedra Navarro MSc MITOS DE LOS DESARROLLADORES Una vez que escribimos el programa y hacemos que funcione se termin el trabajo. Realidad: Cuanto mas rpido se comienza a escribir el cdigo mas se tarda en terminar. Hasta que no ejecuta el programa no hay forma de medir su calidad. Realidad: la revisin tcnica formal provee un mtodo. Ing. Edwin A. Saavedra Navarro MSc MITOS DE LOS DESARROLLADORES Lo nico que se entrega al terminar el proyecto es el programa funcionando. Realidad: Esto es solo una parte de la configuracin del SW. La documentacin es el fundamento para un buen desarrollo. Ing. Edwin A. Saavedra Navarro MSc BUSCANDO SOLUCIONES Ing. Edwin A. Saavedra Navarro MSc EL EQUIPO DE DESARROLLO Analistas: trabaja con el cliente desglosando en requerimientos separados lo que el cliente desea. Diseadores: a partir de los requerimientos documentados, generan una descripcin de lo que el sistema debe hacer. Programadores: a partir del diseo escriben el cdigo. Testeadores: trabajan con el equipo de implementacin para verificar que el sistema se comporta de acuerdo a la especificacin. Otros: capacitador, documentador, personal de atencin a usuarios, etc.
Ing. Edwin A. Saavedra Navarro MSc
Equipo de desarrollo
Otros Perfiles Ing. Edwin A. Saavedra Navarro MSc EL EQUIPO DE DESARROLLO Dependiendo del proyecto, cada uno de estos roles puede ser cubierto por una o ms personas y una misma persona puede cubrir uno o ms roles.
Ing. Edwin A. Saavedra Navarro MSc CUAL ES NUESTRA LABOR? Ing. Edwin A. Saavedra Navarro MSc IMPORTANCIA DEL ANALISTA DE SISTEMAS Estudia, de forma sistemtica: El funcionamiento de la empresa. Examina las funciones de captura y procesamiento de datos. Examina la funcin de emisin de resultados, a efectos de mejorar los procesos da la organizacin. Ing. Edwin A. Saavedra Navarro MSc PAPEL DEL ANALISTA Como consultor; implica que canaliza a la empresa ciertos tpicos de la informtica, nuevas ideas y perspectivas. Como especialista de apoyo; no dirigir un proyecto, slo ser un recurso humano de apoyo para quienes lo dirigen. Como agente de cambio; sirve como catalizador para el cambio, que desarrolla un plan para el mismo y que colabora con otros para agilizarla. Ing. Edwin A. Saavedra Navarro MSc CUALIDADES DEL ANALISTA DE SISTEMAS Es un solucionador de problemas Identifica a los problemas como un reto y que disfruta encontrando soluciones factibles. Debe ser un buen interlocutor, manteniendo una relacin cordial con otra gente, durante largos periodos. Necesita contar con suficiente experiencia en computacin para programar, entender las capacidades de las computadoras, recoger las necesidades de informacin de los usuarios y llegar a transmitir a los programadores lo necesario. Ing. Edwin A. Saavedra Navarro MSc ACTIVIDAD -SEMANA I LA IMPORTANCIA DEL ANALSTA DE SISTEMAS Ing. Edwin A. Saavedra Navarro MSc I .- Suponga que le encargan realizar el anlisis del Sistema de Admisin a la UCV.
Cules son los usuarios que deber entrevistar? Que vistas e intereses tienen cada uno de ellos? Cules son las diferentes categoras de usuario con las que el analista debe interactuar? Que incidencia tiene cada uno en la construccin de un sistema? Ing. Edwin A. Saavedra Navarro MSc II .- El analista debe hacer coincidir lo que es realmente posible con la tecnologa actual y lo que resulta mejor para el sistema bajo estudio, segn convenga con los usuarios involucrados.
En el proceso de anlisis enfrenta una buena cantidad de problemas, de los cuales presentaremos algunos a modo de ejemplo: . Ing. Edwin A. Saavedra Navarro MSc El analista no conoce bien el dominio de aplicacin del sistema como para poder ver los requerimientos del sistema a travs de los ojos del usuario
Evalu y Discuta sobre esta situacin presentada y plantee que camino recorrer para absolver dicho problema. Ing. Edwin A. Saavedra Navarro MSc El usuario no conoce lo suficiente del procesamiento de datos como para saber que es posible y que no es posible
Evalu y Discuta sobre esta situacin presentada y plantee que camino recorrer para absolver dicho problema. Ing. Edwin A. Saavedra Navarro MSc El analista puede ser superado fcilmente por los detalles del sistema.
Evalu y Discuta sobre esta situacin presentada y plantee que camino recorrer para absolver dicho problema. Ing. Edwin A. Saavedra Navarro MSc ACTIVIDADES SEMANA II PROPUESTA DEL PROYECTO DEL CURSO Ing. Edwin A. Saavedra Navarro MSc DESCRIPCIN DE LA ACTIVIDAD Realidad problemtica. Descripcin de la situacin sobre la cual se abordara la solucin. Determinar el origen del problema y las causas que lo generan. Planteamiento de soluciones posibles. Listar soluciones ante el problema planteado. Determinar las caractersticas de la solucin. Listar las condiciones necesarias para su ejecucin. Bosquejar la tecnologa que se usara para cada una de ellas. Ing. Edwin A. Saavedra Navarro MSc PREGUNTAS? Ing. Edwin A. Saavedra Navarro MSc MUCHAS GRACIAS ESO ES TODO POR HOY ESTIMADOS ALUMNOS!!!