Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definición de ANÁLISIS
• Distinción y separación completa de las partes de un todo hasta llegar a conocer sus principios o
elementos, sus características representativas, así como sus interrelaciones.
• Un conjunto o disposición de procedimientos o programas relacionados de manera que juntos
forman una sola unidad. Un conjunto de hechos, principios y reglas clasificadas y dispuestas de
manera ordenada mostrando un plan lógico en la unión de las partes.
Un método, plan o procedimiento de clasificación para hacer algo. También es un conjunto o
arreglo de elementos para realizar un objetivo predefinido en el procesamiento de la
Información.
Principios de Análisis
• En general durante la etapa de análisis se deben especificar procesos, datos y control.
• Etimológicamente análisis significa “descomponer”, debe de responder a la pregunta ¿Qué? del
desarrollo de software.
• Debe presentarse y entenderse el dominio de la información de un problema.
• Define las funciones que debe realizar el Software.
Representa el comportamiento del software a consecuencias de acontecimientos externos.
• Divide en forma jerárquica los modelos que representan la información, funciones y
comportamiento.
Personal, son los operadores o usuarios directos de las herramientas del Sistema.
Base de Datos, una gran colección de informaciones organizadas y enlazadas al Sistema a las
que se accede por medio del Software.
Documentación, Manuales, formularios, y otra información descriptiva que detalla o da
instrucciones sobre el empleo y operación del Programa.
Procedimientos, o pasos que definen el uso especifico de cada uno de los elementos o
componentes del Sistema y las reglas de su manejo y mantenimiento.
LO QUE NÓ ES ANÁLISIS
• Efectuar diseños que no cumplan con los requisitos de los análisis de sistema.
• El observar un sistema sin tener en cuenta todas sus partes o componentes.
• El considerar el análisis sin evaluar todos los procedimientos.
• El evaluar conceptos sin tener en consideración la uniformidad de los procesos y no establecer
su viabilidad.
• Divagar en una definición del sistema que no forme el fundamento de todo el trabajo de
Ingeniería.
El ANALISTA
FUNCIONES DEL ANÁLISTA
Identifica las necesidades del Cliente.
Evalúa que conceptos tiene el cliente del sistema para establecer su viabilidad.
Realiza un Análisis Técnico y económico.
Asigna funciones al Hardware, Software, personal, base de datos, y otros elementos del
Sistema.
Establece las restricciones de presupuestos y planificación temporal.
Crea la definición del sistema que forma el fundamento de todo el trabajo de Ingeniería.
Viabilidad.-se cuenta con recursos económicos y materiales HW y SW
DEFINICIÓN DE DISEÑO
• Diseño como verbo "diseñar" se refiere al proceso de creación y desarrollo para producir
un nuevo objeto o medio de comunicación (objeto, proceso, servicio, conocimiento o
entorno) para uso humano.
DISEÑO
• Como sustantivo, el diseño se refiere al plan final o proposición determinada fruto del proceso
de diseñar (dibujo, proyecto, maqueta, plano o descripción técnica), o (más popularmente) al
resultado de poner ese plan final en práctica (la imagen o el objeto producido).
• Diseñar requiere principalmente consideraciones funcionales y estéticas.
• La actividad de diseño involucra el desarrollo de una serie de modelos. Los modelos más
importantes para el diseñador son el modelo de implementación de sistemas y el modelo de
implementación de programas. El modelo de implantación de sistemas se divide en un modelo
de procesador, y uno de tareas.
Esteticas.-colores y ventanas…etc
Entorno
Límites o contorno
En muchos sistemas la salida influye en el
Entrada Salida estado del sistema (realimentación).
Sistema
Realimentación
3 .- SISTEMA DE INFORMACIÓN(SI)
• Otras definiciones de SI enfatizan que el objetivo es proporcionar información de calidad:
▫ “El objetivo del SI es ayudar al desempeño de las actividades en todos los niveles de la
organización, mediante el suministro de la información adecuada, con la calidad
suficiente, a la persona apropiada, en el momento y lugar oportunos, y con el formato
más útil para el receptor.”
▫ Un conjunto formal de procesos que operando sobre una colección de datos
estructurados según la necesidad de la empresa recopilación y distribuyen información.
Ejemplo de Sistema de Información
Procesos
Datos de cajas Pedidos
Validación de entradas
Datos de almacén Cálculo de valor de Órdenes de almacén
stock
Ventas de perecederos Control de cajeras Pagos
Cálculos estadísticos
Caducidad Impresión de informes Datos para contabilidad
Impresión de pagos
Fecha Estudios de márketing Estadística
Emisión de pedidos
Informes varios
Mejoras en la eficacia
TIPOS DE SISTEMAS
1.-
2. CICLO DE VIDA.-
• “Es un proceso por el cual los analistas de sistemas, los ingenieros de software, los
programadores y los usuarios finales elaboran sistemas de información y aplicaciones informáticas”.
• “Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el
mantenimiento del software”.
• “Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en
el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del
sistema desde la definición de los requisitos hasta la finalización de su uso.”.
Como se puede observar, existe bastante coincidencia respecto a cada una de las fases genéricas para el
desarrollo de sistemas de
información, de las que se
puede destacar claramente
las siguientes:
Análisis – diseño –
implementación –pruebas -
mantenimiento.
ANÁLISIS.-
• Actividad en la que se analizan y clarifican los diferentes aspectos del problema que debe ser
resuelto por la aplicación, con el fin de establecer claramente qué debe ser construido.
• El resultado es, normalmente, un documento de requisitos software que especifica claramente
las funcionalidades de la aplicación
Funcionalidad = lo que tiene que hacerse (sin saber todavía cómo)
DISEÑO.-
Actividad en la que se decide la organización y la estructura de una aplicación que satisfaga los
diferentes requisitos establecidos en la fase de análisis
El resultado es uno (o varios) documentos de diseño que especifican claramente cómo construir
la aplicación
Mientras que el análisis se ocupa de qué hay que hacer, el diseño se ocupa de cómo hacerlo
Hay varias técnicas de diseño, nosotros estudiaremos una de las más básicas: el diseño funcional
IMPLEMENTACIÓN.-
PRUEBAS.-
Actividad en la que se asegura que la aplicación construida satisface los requisitos del usuario.
Se debe invertir mucho tiempo en hacer pruebas (¡mucho más que en su implementación!).
Dos pasos diferenciados
Verificación: ¿Se ajusta la aplicación construida a los requisitos establecidos?
Validación: ¿Resuelve la aplicación el problema que realmente tenía el usuario?
MANTENIMIENTO.-
IMPLEMENTACION
MANTENIMIENTO
La fase de mantenimiento de software aporta cambios al mismo para corregir defectos y dependencias
encontradas durante su uso así como la adición de nuevas funciones para mejorar la usabilidad y
aplicabilidad del software.
Tipos de mantenimiento:
Perfectivo: son las acciones llevadas a cabo para mejorar la calidad interna de los sistemas en
cualquiera de sus aspectos; reestructuración del código, definición más clara del sistema y optimización
del rendimiento y eficiencia.
Evolutivo: son las incorporaciones, modificaciones y eliminaciones necesarias en un producto
software para cubrir la expansión o cambio en las necesidades del usuario.
Adaptativo: son las modificaciones que afectan a los entornos en los que el sistema opera.
Correctivo: son aquellos cambios precisos para corregir errores del producto software.
4. MODELOS DE CICLOS DE VIDA
4.1. MODELO CASCADA.-
Ingeniería y Análisis del Sistema: Debido a que el software es siempre parte de un sistema mayor el
trabajo comienza estableciendo los requisitos de todos los elementos del sistema y luego asignando
algún subconjunto de estos requisitos al software.
Análisis de los requisitos del software: el proceso de recopilación de los requisitos se centra e
intensifica especialmente en el software. El ingeniero de software (Analistas) debe comprender el
ámbito de la información del software, así como la función, el rendimiento y las interfaces requeridas.
Diseño: el diseño del software se enfoca en cuatro atributos distintos del programa: la estructura de
los datos, la arquitectura del software, el detalle procedimental y la caracterización de la interfaz. El
proceso de diseño traduce los requisitos en una representación del software con la calidad requerida
antes de que comience la codificación.
Codificación: el diseño debe traducirse en una forma legible para la maquina. El paso de
codificación realiza esta tarea. Si el diseño se realiza de una manera detallada la codificación puede
realizarse mecánicamente.
Prueba: una vez que se ha generado el código comienza la prueba del programa. La prueba se
centra en la lógica interna del software, y en las funciones externas, realizando pruebas que aseguren
que la entrada definida produce los resultados que realmente se requieren.
Mantenimiento: el software sufrirá cambios después de que se entrega al cliente. Los cambios
ocurrirán debido a que hayan encontrado errores, a que el software deba adaptarse a cambios del
entorno externo (sistema operativo o dispositivos periféricos), o debido a que el cliente requiera
ampliaciones funcionales o del rendimiento.
4.2. MODELO EN ESPIRAL.-
Es un modelo evolutivo que combina el modelo clásico con el diseño de prototipos, incluye la etapa de
análisis de riesgos y es ideal para crear productos con diferentes versiones mejoradas.
Este es el modelo más realista actualmente. El modelo en espiral se divide en un número de actividades
estructurales, también llamadas regiones de tareas. Generalmente, existen entre tres y seis regiones de
tareas:
Comunicación con el cliente: las tareas requeridas para establecer comunicación entre el
desarrollador y el cliente.
Planificación: las tareas requeridas para definir recursos, el tiempo y otras informaciones
relacionadas con el proyecto. Son todos los requerimientos.
Análisis de riesgos: las tareas requeridas para evaluar riesgos técnicos y otras informaciones
relacionadas con el proyecto.
Ingeniería: las tareas requeridas para construir una o más representaciones de la aplicación.
Construcción y adaptación: las tareas requeridas para construir, probar, instalar y proporcionar
soporte al usuario.
Evaluación del cliente: las tareas requeridas para obtener la reacción del cliente según la
evaluación de las representaciones del software creadas durante la etapa deingeniería e implementación
durante la etapa de instalación.
4.3 MODELO BASADO EN PROTOTIPOS.-
Modelo incremental
Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma de
reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para niveles
posteriores. El desarrollo incremental es el proceso de construcción siempre incrementando
subconjuntos de requerimientos del sistema.
El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos:
Es un desarrollo inicial de la arquitectura completa del sistema seguido de incrementos o
versiones parciales.
Cada incremento tiene su propio ciclo.
Cada incremento agrega una funcionalidad.
Construir un sistema pequeño tiene siempre menos riesgo que construir un sistema grande.
Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los
requerimientos planeados para los niveles subsiguientes son correctos.
Si un error importante es realizado, sólo la última iteración necesita ser descartada.
Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos
requerimientos de usuarios puedan cambiar durante el desarrollo.
Si un error importante es realizado, el incremento previo puede ser usado.
Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del
comienzo del próximo incremento.
5. HERRAMIENTAS CASE
CASE (ComputerAided Software Engineering : o Ingeniería de Software Asistida por Computadora) es
una filosofía que se orienta a la mejor comprensión de los modelos de empresa, sus actividades y el
desarrollo de sistemas de información. Esta filosofía involucra además el uso de programas que permite:
2. Construir los modelos que describe la empresa.
3. Describir el medio en el que se realizan las actividades.
4. Llevar a cabo la planificación.
5. El desarrollo del sistema informativo desde la planificación, pasando por el análisis y diseño de
sistemas, hasta la generación del código de los programas y la documentación.
Integrar las fases de desarrollo (ingeniería de software) con las herramientas CASE.
Facilitar la utilización de las distintas metodologías que desarrollan la propia ingeniería de software.
HERRAMIENTAS DE ALTO NIVEL, U-CASE (Upper CASE- CASE Superior) o front-end, orientadas a
la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo:
planificación estratégica, requerimientos de desarrollo.
HERRAMIENTAS NIVEL MEDIO, (Middle CASE) abarca las fases de análisis y diseño.
HERRAMIENTAS DE BAJO NIVEL, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las
últimas fases del desarrollo: generación de código, construcción e implantación.
JUEGO DE HERRAMIENTAS O TOOLKITS: Son el tipo más simple de herramientas CASE. Permiten
automatizar un conjunto de tareas de algunas de las fases del ciclo de vida del sistema informático:
planificación estratégica, análisis, diseño, generación de programas.
HERRAMIENTAS DE PROGRAMACION
Aquí se engloban los compiladores, los editores y los depuradores de lenguajes de programación
convencionales. Ejemplo de estas herramientas son:
Herramientas de codificación convencionales
Herramientas de codificación de cuarta generación
Herramientas de programación orientadas a objetos.
HERRAMIENTAS DE INTEGRACION DE PRUEBA
Sirven de ayuda a la adquisición, medición, simulación y prueba de los equipos lógicos desarrollados.
Entre las más utilizadas están:
Herramientas de análisis estático
Herramientas de codificación de cuarta generación
Herramientas de programación orientadas a los objetos.
HERRAMIENTAS DE GESTION DE PROTOTIPOS
Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluación de
especificaciones de un sistema de información o para un mejor entendimiento de cómo los requisitos de
un sistema de información se ajustan a los objetivos perseguidos.
HERRAMIENTAS DE MANTENIMIENTO
Esta categoría se puede subdividir en:
Herramientas de ingeniería inversa
Herramientas de reestructuración y análisis de código
Herramientas de reingeniería
Herramientas de gestión de proyectos