Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Introducción al Desarrollo de Sistemas
L.I. José Manuel Cazarez Alderete
2
Definición de sistema Es el conjunto de elementos relacionados entre si, que realizan una actividad para alcanzar un objetivo, operando sobre entradas y generando salidas o resultados. Un sistema puede ser físico o concreto (una computadora, un televisor, un humano) o puede ser abstracto o conceptual (un software). Cada sistema existe dentro de otro mas grande, por lo tanto un sistema puede estar formado por subsistemas y partes, y a la vez puede ser parte de un supersistema.
3
Tipos de sistemas Los sistemas de información se desarrollan con diversos propósitos, según las necesidades de la empresa. Sistemas de procesamiento de transacciones. Sistemas de automatización de la oficina y sistemas de trabajo del conocimiento. Sistemas de información gerencial. Sistemas de apoyo a la toma de decisiones. Sistemas expertos e inteligencia artificial. Sistemas de apoyo a la toma de decisiones en grupo y sistemas de trabajo colaborativo apoyados por computadora. Sistemas de apoyo a ejecutivos. Aplicaciones de comercio electrónico y sistemas web. Sistemas de planeación de recursos empresariales. Sistemas para dispositivos móviles e inalámbricos. Software de código abierto.
4
Sistemas de procesamiento de transacciones.
Los sistemas de procesamiento de transacciones (TPS, Transaction Processing Systems) son sistemas de información computarizada creados para procesar grandes cantidades de datos relacionadas con transacciones rutinarias de negocios, como las nóminas y los inventarios. Un TPS elimina el fastidio que representa la realización de transacciones operativas necesarias y reduce el tiempo que una vez fue requerido para llevarlas a cabo de manera manual, aunque los usuarios aún tienen que capturar datos en los sistemas computarizados.
5
Sistemas de automatización de la oficina y sistemas de trabajo del conocimiento.
Existen dos clases de sistemas en el nivel del conocimiento de una organización. Los sistemas de automatización de la oficina [OAS, Office Automation Systems] apoyan a los trabajadores de datos, quienes por lo general no generan conocimientos nuevos, sino más bien analizan la información con el propósito de transformar los datos o manipularlos de alguna manera antes de compartirlos o, en su caso, distribuirlos formalmente con el resto de la organización y en ocasiones más allá de ésta.
6
Sistemas de automatización de la oficina y sistemas de trabajo del conocimiento.
Entre los componentes más comunes de un OAS están el procesamiento de texto, las hojas de cálculo, la autoedición, la calendarización electrónica y las comunicaciones mediante correo de voz, correo electrónico y videoconferencia. Los sistemas de trabajo del conocimiento (KWS, Knowledge Work Systems] sirven de apoyo a los trabajadores profesionales, como los científicos, ingenieros y médicos, en sus esfuerzos de creación de nuevo conocimiento y dan a éstos la posibilidad de compartirlo con sus organizaciones o con la sociedad.
7
Sistemas de información gerencial.
Los sistemas de información gerencial (MIS, Management Information Systems] no reemplazan a los sistemas de procesamiento de transacciones, más bien, incluyen el procesamiento de transacciones. Los MIS son sistemas de información computarizados cuyo propósito es contribuir a la correcta interacción entre los usuarios y las computadoras. Debido a que requieren que los usuarios, el software [los programas de cómputo] y el hardware (las computadoras, impresoras, etc.), funcionen de manera coordinada, los sistemas de información gerencial dan apoyo a un espectro de tareas organizacionales mucho más amplio que los sistemas de procesamiento de transacciones, como el análisis y la toma de decisiones.
8
Sistemas de información gerencial.
Para acceder a la información, los usuarios de un sistema de información gerencial comparten una base de datos común. Ésta almacena datos y modelos que ayudan al usuario a interpretar y aplicar los datos. Los sistemas de información gerencial producen información que se emplea en la toma de decisiones. Un sistema de información gerencial también puede contribuir a unificar algunas de las funciones de información computarizadas de una empresa, a pesar de que no existe como una estructura individual en ninguna parte de ésta.
9
Sistemas de apoyo a la toma de decisiones.
Los sistemas de apoyo a la toma de decisiones (DSS, Decisión Support Systems] constituyen una clase de alto nivel de sistemas de información computarizada. Los DSS coinciden con los sistemas de información gerencial en que ambos dependen de una base de datos para abastecerse de datos. Sin embargo, difieren en que el DSS pone énfasis en el apoyo a la toma de decisiones en todas sus fases, aunque la decisión definitiva es responsabilidad exclusiva del encargado de tomarla. Los sistemas de apoyo a la toma de decisiones se ajustan más al gusto de la persona o grupo que los utiliza que a los sistemas de información gerencial tradicionales. En ocasiones se hace referencia a ellos como sistemas que se enfocan en la inteligencia de negocios.
10
Sistemas expertos e inteligencia artificial.
La inteligencia artificial (AI, Artificial Intelligence] se puede considerar como el campo general para los sistemas expertos. La motivación principal de la AI ha sido desarrollar máquinas que tengan un comportamiento inteligente. Dos de las líneas de investigación de la AI son la comprensión del lenguaje natural y el análisis de la capacidad para razonar un problema hasta su conclusión lógica. Los sistemas expertos utilizan las técnicas de razonamiento de la AI para solucionar los problemas que les plantean los usuarios de negocios (y de otras áreas].
11
Sistemas de apoyo a la toma de decisiones en grupo y sistemas de trabajo colaborativo apoyados por computadora. Cuando los grupos requieren trabajar en conjunto para tomar decisiones semiestructuradas o no estructuradas, un sistema de apoyo a la toma de decisiones en grupo (GDSS, Group Decisión Support System) podría ser la solución. Este tipo de sistemas, que se utilizan en salones especiales equipados con diversas configuraciones, faculta a los miembros del grupo a interactuar con apoyo electrónico —casi siempre software especializado— y la asistencia de un facilitador especial. Los sistemas de apoyo a la toma de decisiones en grupo tienen el propósito de unir a un grupo en la búsqueda de la solución a un problema con la ayuda de diversas herramientas como los sondeos, los cuestionarios, la lluvia de ideas y la creación de escenarios.
12
Sistemas de apoyo a ejecutivos.
Cuando los ejecutivos recurren a la computadora, por lo general lo hacen en busca de métodos que los auxilien en la toma de decisiones de nivel estratégico. Los sistemas de apoyo a ejecutivos (ESS, Executive Support Systems) ayudan a estos últimos a organizar sus actividades relacionadas con el entorno externo mediante herramientas gráficas y de comunicaciones, que por lo general se encuentran en salas de juntas o en oficinas corporativas personales.
13
Aplicaciones de comercio electrónico y sistemas web.
Este tipo de aplicaciones permiten poner a disposición de los usuarios un producto que puede ser utilizado las 24hrs del día durante todo el año, en la actualidad es común este tipo de sistemas debido a la facilidad que tienen los usuarios en estar conectados. Entre los beneficios principales de este tipo de sistemas están: Una creciente difusión de la disponibilidad de un servicio, producto, industria, persona o grupo. La creación de un sistema que se puede extender a nivel mundial y llegar a gente en lugares remotos sin preocuparse por la zona horaria en que se encuentren.
14
Sistemas de planeación de recursos empresariales.
Muchas organizaciones consideran los beneficios potenciales que se derivan de la integración de los diversos sistemas de información que existen en los diferentes niveles administrativos, con funciones dispares. Esta integración es precisamente el propósito de los sistemas de planeación de recursos empresariales (ERP, Enterprise Resource Planning). El establecimiento de los sistemas ERP implica un enorme compromiso y cambio por parte de la organización. Es común que los analistas de sistemas desempeñen el papel de asesores en los proyectos de ERP que utilizan software patentado. Entre el software más conocido de ERP se encuentran SAP, PeopleSoft y paquetes de Oracle y J.D. Edwards.
15
Sistemas para dispositivos móviles e inalámbricos.
Los analistas tienen grandes retos al momento de diseñar una gran cantidad de nuevos sistemas y aplicaciones para diferentes usuarios, incluyendo a muchos de los dispositivos inalámbricos y móviles, como el iPhone y Ipad de Apple, Android, BlackBerry. Además, los analistas deben considerar el diseño de comunicaciones inalámbricas o tradicionales que integran voz, video, mensajería instantánea y correo electrónico tanto intranet como internet.
16
Sistemas para dispositivos móviles e inalámbricos.
También se deben tomar en cuenta los diseños sobre redes inalámbricas de área local (WLAN), WiFi y redes inalámbricas domesticas que reúnen muchos dispositivos sobre el estándar llamado Bluetooth. En entornos mas avanzados se puede requerir el diseño de agentes inteligentes, software que aprende de las preferencias del usuario y luego actúa sobre estas preferencias.
17
Software de código abierto.
El software de código abierto es una alternativa al desarrollo de software tradicional cuyo código patentado se oculta a los usuarios. Representa un modelo de desarrollo y filosofía de distribución de software gratuito y publicación de su código fuente. Bajo este esquema, el código (las instrucciones para la computadora) se puede estudiar y compartir, y muchos usuarios y programadores tienen la posibilidad de modificarlo. Las convenciones que rigen a esta comunidad incluyen que todas las modificaciones que se hagan a un programa deben compartirse con todos aquellos que participan en el proyecto. Entre los ejemplos se encuentran el sistema operativo Linux y el software Apache empleado en servidores que alojan sitios Web.
19
Conceptos de Desarrollo de Sistemas
20
¿Qué es el Software? Programas de cómputo y su documentación asociada: requerimientos, modelos de diseño y manuales de usuario El software puede ser desarrollado para un cliente en particular o para un mercado general. El software puede ser: Genérico: desarrollado para venderse a múltiples clientes (Excel,Word, etc). A la medida: desarrollado bajo demanda del cliente a un desarrollador específico. El software nuevo puede ser creado desarrollando nuevos programas, configurando sistemas de software genérico o reutilizando software existente.
21
Clasificación del software
Pueden ser clasificados en tres tipos principales: Software de sistema. Software de programación. Software de aplicación.
22
Software de sistema Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global.
23
Software de sistema Ejemplos: Sistemas operativos
Controladores de dispositivos Herramientas de diagnóstico Herramientas de Corrección y Optimización Servidores Utilidades
24
Software de programación
Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Ejemplos: Editores de texto Compiladores Intérpretes Enlazadores Depuradores Entornos de Desarrollo Integrados (IDE).
25
Software de aplicación
Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Ejemplos: Aplicaciones para Control de sistemas y automatización industrial Aplicaciones ofimáticas Software educativo Software empresarial Bases de datos Telecomunicaciones (por ejemplo Internet y toda su estructura lógica) Videojuegos Software médico Software de cálculo numérico y simbólico.
26
Etapas de desarrollo de software
Requerimientos Análisis Diseño Desarrollo / Codificación Pruebas (Verificación) Implementación y Evaluación Mantenimiento (una vez terminado y entregado)
27
Requerimientos En esta etapa se establece claramente el problema que el software deberá resolver. Se deben identificar las teorías, fundamentos y/o principios matemáticos, físicos o de cualquier índole que permitan fundamentar satisfactoriamente el problema. Se deben eliminar los aspectos poco importantes para el planteamiento del problema. Si el problema no está completamente definido se debe conseguir información adicional.
28
Análisis En esta etapa se identifican las entradas del problema , los resultados deseados (salidas) y cualquier requerimiento o restricción adicional en la solución. Identificar qué resultados deben calcularse y/o desplegarse. Determinar la forma y las unidades en que se deben desplegar los resultados. Identificar los tipos y estructuras de datos necesarios para los datos del problema y para los resultados. Identificar las funciones u operaciones necesarias para cubrir los requerimientos del problema.
29
Diseño El diseño consiste básicamente en desarrollar una lista de pasos llamados algoritmo o receta de la solución, verificando que el problema se resuelve como se desea. Es la parte más difícil del proceso de solución del problema. Debe verificarse que es correcto el algoritmo antes de continuar. Se auxilia de técnicas de diseño como pseudocódigo y diagramas de flujo.
30
Desarrollo Esta etapa consiste en escribir el algoritmo como un programa de computadora en un lenguaje de programación, convirtiendo cada paso del algoritmo en instrucciones en el lenguaje de programación. Se requiere el conocimiento de un lenguaje de programación (gramática, sintaxis y semántica). Se requieren las siguientes herramientas: Un editor de texto para escribir el código fuente como un archivo de tipo texto plano. Un intérprete que procese el código fuente y lo ejecute. Un debugger que nos ayude a depurar los errores y a corregir el código fuente hasta lograr un programa ejecutable sin errores. Se deben utilizar los tipos y estructuras de datos más adecuados que permita el lenguaje de programación, teniendo especial cuidado en el uso de tipos de datos reales y los errores de redondeo que introducen y pueden alterar los resultados.
31
Pruebas (verificación)
Esta etapa consiste en probar el programa completo y verificar que trabaja como se esperaba. Se deben probar cada una de las funciones primero por separado y luego en conjunto. Se debe probar el programa completo con distintos conjuntos de datos de prueba. En caso de que haya errores repetir el paso 4 (Diseño) y 5 (Desarrollo) hasta la satisfacción de los requerimientos
32
Implementación y evaluación
Ésta es la última fase del desarrollo de sistemas, y aquí el analista participa en la implementación del sistema de información. En esta fase se capacita a los usuarios en el manejo del sistema. Parte de la capacitación la imparten los fabricantes, pero la supervisión de ésta es responsabilidad del analista de sistemas. Además, el analista tiene que planear una conversión gradual del sistema anterior al actual. Este proceso incluye la conversión de archivos de formatos anteriores a los nuevos, o la construcción de una base de datos, la instalación de equipo y la puesta en producción del nuevo sistema.
33
Etapas de desarrollo de software
1.Requerimientos 2.Análisis 3.Diseño 4.Desarrollo 5.Pruebas 6.Implementación
34
Mantenimiento Después de instalar un sistema, se le debe dar mantenimiento, es decir, los programas de cómputo tienen que ser modificados y actualizados cuando lo requieran. Según estimaciones, los departamentos invierten en mantenimiento de 48 a 60 por ciento del tiempo total del desarrollo de sistemas. Queda muy poco tiempo para el desarrollo de nuevos sistemas. Conforme se incrementa el número de programas escritos, también lo hace la cantidad de mantenimiento que requieren.
35
Mantenimiento El mantenimiento se realiza por dos razones. La primera es la corrección de errores del software. No importa cuan exhaustivamente se pruebe el sistema, los errores se cuelan en los programas de cómputo. Los errores en el software comercial para PC se documentan como "anomalías conocidas", y se corrigen en el lanzamiento de nuevas versiones del software o en revisiones intermedias. En el software hecho a la medida, los errores se deben corregir en el momento que se detectan.
36
Mantenimiento La otra razón para el mantenimiento del sistema es la mejora de las capacidades del software en respuesta a las cambiantes necesidades de una organización, que por lo general tienen que ver con alguna de las siguientes tres situaciones: Con frecuencia, después de familiarizarse con el sistema de cómputo y sus capacidades, los usuarios requieren características adicionales. El negocio cambia con el tiempo. El hardware y el software cambian a un ritmo acelerado.
38
Conceptos de Ingeniería de Software
39
¿Qué es ingeniería de software?
Ingeniería de software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software. Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software.
41
¿Qué es un proceso de software?
Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software. Algunas actividades genéricas en todos los procesos de software son: Especificación, qué debe hacer el software y cuáles son sus especificaciones de desarrollo. Desarrollo, producción del sistema de software. Validación, verificar que el software cumple con lo solicitado por el cliente. Evolución, cambiar/adaptar el software a las nuevas demandas.
42
¿Qué es un modelo de proceso de software?
Representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica. Ejemplos de perspectivas del proceso de software: Flujo de trabajo, secuencia de actividades. Flujo de datos, flujo de la información. Rol/acción, quién realiza qué.
43
Modelos de procesos de software
Cascada: es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior. Desarrollo Iterativo: es desarrollar un sistema de programas de manera incremental, permitiéndole al desarrollador sacar ventaja de lo que se ha aprendido a lo largo del desarrollo anterior, incrementando, versiones entregables del sistema. Prototipo, un modelo sirve de prototipo para la construcción del sistema final. Basado en componentes, asume que partes del sistema ya existen y se enfoca a su integración.
44
Herramientas CASE Ingeniería de Software Asistida por Computadora (CASE, Computer Aided Software Engineering). Son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras.
46
Herramientas CASE Ventajas de utilizar herramientas CASE:
Aumento en la productividad del analista. Permite realizar planeación, análisis y diseño por medios gráficos, con el propósito de construir aplicaciones cliente-servidor y bases de datos complejas. Mejora de la comunicación analista-usuario. Para que el sistema propuesto se concrete y sea útil en la práctica, es esencial una excelente comunicación entre analistas y usuarios durante todo el ciclo de vida del desarrollo de sistemas.
47
Herramientas CASE Integración de las actividades del ciclo de vida.
La tercera razón para el uso de las herramientas CASE es integrar las actividades y proporcionar continuidad de una fase a la siguiente durante todo el ciclo de vida del desarrollo de sistemas. Evaluar de manera precisa los cambios en el mantenimiento. La cuarta, y probablemente una de las razones más importantes para el uso de herramientas CASE, es que permiten a los usuarios analizar y evaluar el impacto de los cambios en el mantenimiento.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.