Análisis y Diseño detallado de aplicaciones informáticas de gestión SINOPSIS La presente obra está dirigida a los estudiantes del Ciclo Formativo de Desarrollo de Aplicaciones Informáticas, en concreto al Módulo Profesional Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión. Los contenidos incluidos en este libro abarcan conceptos básicos de los sistemas de información, ciclos de vida, metodologías de desarrollo y gestión de proyectos software. Se estudian en detalle las fases de análisis y diseño de sistemas, tanto la metodología Métrica 3 como el Lenguaje Unificado de Modelado (UML). También se dedica especial atención a los diferentes tipos de pruebas, la calidad, la verificación y validación, así como la gestión de la configuración y el mantenimiento de las aplicaciones informáticas de gestión. Por último, se incluye una idea general sobre los diferentes entornos de programación y las tecnologías para las aplicaciones informáticas, los conceptos básicos sobre los sistemas de gestión de bases de datos y el análisis y diseño asistido por ordenador mediante el uso de herramientas CASE. Los capítulos incluyen ejercicios con el propósito de facilitar la asimilación de los conocimientos tratados y bibliografía diversa para poder aumentar los conocimientos sobre los temas deseados. Así mismo, incorporan tests de conocimientos y ejercicios propuestos con el objeto de comprobar que los objetivos de cada capítulo se han asimilado correctamente.
Software Durante los primeros tiempos de la informática el principal desafío fue el desarrollo del hardware de los ordenadores, el software se desarrollaba intentando optimizar al máximo el hardware. Los responsables de los Centros de Proceso de Datos ponían normas en el Análisis y Diseño, para conseguir mejoras; de esta forma el desarrollo del software se convirtió en un “arte indisciplinado”.
Durante la década de los 80 los avances en microelectrónica han dado como resultado ordenadores con mayor potencia y menor coste. Ahora, el problema ha pasado a ser como reducir el coste y mejorar la calidad de las soluciones.
Definición. El software engloba: 1. Instrucciones que cuando se ejecutan suministran la funcionalidad (función y comportamiento) deseada. 2. Estructuras de datos que facilitan a las instrucciones manipular adecuadamente la información. 3. Documentos que describen el desarrollo, uso, instalación y mantenimiento de los programas. El software es por tanto un elemento más lógico que físico con unas características propias que lo distinguen de hardware.
Características del software.
El software es un elemento del sistema que es ló gico. Es desarrollado, no fabricado en un sentido clásico. No se estropea, se deteriora por cambios Se construye a medida, en vez de ensamblando componentes existentes. ( Cerrado).
Tipos de software.
El software puede aplicarse en cual quier situación en la que se haya definido previamente un conjunto específico de pasos procedimentales. La determinación y contenido de la información son factores importantes para determinar la naturaleza de una aplicación software.
El contenido se refiere al significado y a la forma de información de llegada. La determinación de la información se refiere a la necesidad de predecir el orden y tiempo de llegada de los datos.
En función de estos dos factores obtenemos las siguientes categorías básicas:
Software de sistemas: es un conjunto de programas que están hechos para servir a otros programas. Tienen una fuerte interacción con el hardware de la computadora, operando de forma concurrente, por lo que requiere planificación, compartición de recursos y una sofisticada gestión de procesos. (p. ej.: compiladores, utilidades de gestión de archivos, de periféricos, procesadores de telecomunicaciones).
Software de tiempo real: es un software que mide, analiza y controla sucesos del mundo real conforme ocurren. Un sistema en tiempo real debe responder dentro de unos rangos estrictos de tiempo; f rente a un sistema interactivo, donde superar el tiempo de r espuesta no produce ningún desastre.
Software de gestión: orientado al procesamiento de información comercial, siendo esta una de las áreas de mayor aplicación del software. Este software ha evolucionado de los sistemas discretos (nominas, contabilidades, inventarios, etc.) hacia los sistemas de información de gestión que hac en uso de grandes bases de datos (MIS, DSS).
Software científico y de ingeniería: se caracteriza por el uso de algoritmos de “manejo de números”, generando software para, por ejemplo, astronomía, análisis de presión de automotores, biología molecular. Algunas aplicaciones interactivas, como simulación de sistemas o CAD, toman características del software de tiempo real o de sistemas.
Software imbricado o empotrado: se utiliza para controlar productos y sistemas de los mercados industriales y de consumo. Dicho software reside en memorias de sólo lectura. (p. ej.: microondas, videos, sistema ABS de un automóvil, etc.).
Software de inteligencia artificial (IA) : hace uso de algoritmos no numéricos para la resolución de problemas complejos, ya que no es adecuado el cálculo o el análisis directo. Dentro de la IA podemos encontrar distintas áreas como los sistemas expertos o sistemas basados en el conocimiento, sistemas de reconocimiento de patrones (imágenes y voz), redes neuronales artific iales.
PERSPECTIVA HISTÓRICA.
Década 50 – 60
Desarrollo artesanal del software. Se utilizan lenguajes de bajo nivel.
Década 60 – 70:
Se utilizan los lenguajes de alto nivel y los compiladores.
Crisis del software. Década 70 – 80: Década de las metodologías. Programación estructurada. Se entiende la programación como una disciplina científica y tecnológica.
Ingeniería del Software. Década 80 – 90: Tecnología de SGBD’s y SO’s. Nuevos paradigmas de programación y de producción de programas. Década 90:
Tecnología CASE. (Volcado de resultados teóricos al campo productivo).
LA CRISIS DEL SOFTWARE. La crisis del software se refiere a un conjunto de problemas encontrados en el desarrollo del software:
Los productos exceden la estimación de costes. Notables retrasos en las fechas de entrega. Prestaciones inadecuadas. Mantenimiento casi imposible. Modificaciones a precios prohibitivos. Falta de fiabilidad del producto software. Todos estos casos dan lugar a un software de baja calidad.
Los problemas anteriores pueden corregirse dando un enfo que de ingeniería al desarrollo del so ftware, es decir, pasar de programación a producción industrial del software, mejorando continuamente las técnicas y las herramientas.
Problemática de la industria del software.
>> Objetivos de la producción industrial del software. Producir soluciones automatizadas a gran variedad de problemas complejos, dando productos de calidad y cuya producción sea económicamente rentable, no g enere costes posteriores y se realice a tiempo.
>> Problemas: Los productos software son de baja calidad (fiabilidad, eficiencia, ...), cuya producción conlleva grandes costes de desarrollo, mayores costes de mantenimiento y notables retrasos.
>> Causas:
Naturaleza “no física” de la programación. Conjunto limitado de teorías bajo investigación. Difusión aún más limitada de dichos conceptos. Industria artesanal y poco fundamento científico.
Herramientas comerciales obsoletas. Problemas de gestión. (Planificaciones optimistas, plantillas poco cualificadas, herramientas inadecuadas). Problemas derivados de la intervención de grupos. Poco esfuerzo en el análisis y la especificación. Problemas de comunicación con los clientes. Gestión de proyectos por personal no informática.
>> Soluciones: Difusión de avances teóricos (formación):
Métodos de parcelación de la complejidad: programaci ón con esquemas, programación modular, programación con objetos. Métodos de razonamiento formal (lógica y álgebra): lenguajes formales ejecutables, prototipado automático, programación por transformación.
Difusión de avances tecnológicos:
Técnicas de reutilización del software. Herramientas de cuarta generación. Herramientas de desarrollo asistido (CASE).
Como se puede apreciar, es necesaria una disciplina que englobe los distintos avances t anto actuales como futuros para el desarrollo del software:
INGENIERÍA DEL SOFTWARE.
Frizt Bauer (1969) define Ingeniería del Software diciendo que “constituye el establecimiento y uso de principios de ingeniería robustos, orientados a obtener con economía de costes, software fiable y que funcione de manera eficiente sobre máquinas reales”.
Según Pressman [Press98] la producción de programas debe abordarse como una ingeniería más, permitiendo controlar el proceso de desarrollo del software y suministrando a los que la practican las bases para construir software de alta calidad y de una forma productiva. Para ello, la Ingeniería del Software debe aportar tres elementos c lave: métodos, herramientas y procedimientos, de forma que se produzca software de gran calidad.
MÉTODOS. Describen “como” construir técnicamente el software. Los métodos incluyen tareas de: planificación y estimación de proyectos, análisis de los requerimientos del sistema y del software, diseño estructurado de
datos, diseño de programas, codificación, prueba y mantenimiento.
Los métodos de la ingeniería del software introducen frecuentemente una notación especial orientada a un lenguaje o gráfica y un conjunto de criterios para la calidad del software. Como ejemplos de métodos se pueden ver:
Diagrama de Flujo de Datos (DFD) : son una representación gráfica de los flujos de información y físicos internos y externos a la organización.
Modelo entidad/relación: se utiliza para representar la estructura lógica de los datos. Para éstos se ha de alcanzar siempre, y como mínimo, la tercera forma normal.
HERRAMIENTAS.
Suministran un soporte automático o semiautomático para los métodos. Existen herramientas automatizadas para soportar cada uno de los métodos vistos anteriormente, y sistemas que integran las herramientas de cada fase de forma que la información creada por una herramienta sirve para otra en el proceso de desarrollo. Estas herramientas se denominan CASE (Computer Assisted Software Enginering), Ingeniería del Software Asistido por Computadora.
Construcción de prototipos. Un prototipo es la primera versión de un nuevo tipo de producto, en el que se han incorporado solamente algunas características del sistema final, o no se han realizado completamente. La construcción de prototipos es un proceso que facilita al programador la c reación de un modelo del software que se tiene que construir. Puede tener una de las tres formas siguientes: 1. Un prototipo en papel o un modelo basado en un ordenador que describa la interacción hombre-máquina, de 2. 3.
forma que dé al usuario una idea de cómo se realizará dicha interacción. Un prototipo que implemente algunas de las funciones requeridas al producto software o un subconjunto de las mismas. Un programa que ejecute parte o toda la función deseada, pero con características por mejorar durante el desarrollo.
Los prototipos pueden ser Totales o Parciales dependiendo de sí se hacen para el sistema completo o sólo para un subconjunto. También pueden ser Evolutivos o Desechables dependiendo si se piensa usar como programa final, o si simplemente sirve para captar requerimientos y funcionalidad por parte del usuario.
Un posible modelo de ejecución de un prototipo sería: Primero se recogen los requisitos y se definen los objetivos globales para el software. Después se produce un “diseño rápido”, enfocado a una representación de los aspectos del software visibles al usuario (métodos de
entradas, formato de salidas, etc.).
El diseño rápido conduce a la construcción de un prototipo. El prototipo es evaluado por el cliente/usuario y se utiliza para refinar los requerimientos del software a desarrollar. Con este proceso interactivo el producto se va afinando, de manera que satisfaga las necesidades del cliente y proporcio ne al desarrollador una mayor compresión del trabajo a realizar.
Los problemas que representa el prototipado son:
El cliente cree que el producto está disponible antes de lo debido. El técnico de desarrollo suele realizar la implementación sobre el prototipo con el objetivo de que funcione rápidamente. ¿Qué hacer con el prototipo?
Lo correcto sería, una vez concluido el trabajo para el cual se diseño el prototipo, si no se ha utilizado una técnica que asegure la calidad del software, es decir, el código utilizado está formado por retazos de otros códigos y no se disponga de una herramienta que permita construir una aplicación reutilizándolo, se debe desechar.
Técnicas de Cuarta Generación (4GT). Aunque para Pressman las Técnicas de Cuarta Generación constituyen un Paradigma del Ciclo de Vida del Software de la Ingeniería del Software, podemos considerar a estas técnicas como herramientas a utilizar en otros Paradigmas como el Ciclo de Vida Clásico o el Modelo en Espiral.
Estas técnicas aparecen asociadas a los llamados Lenguajes de Cuarta Generación (4GL). En principio, estos lenguajes buscan un nivel de especificación mayor del software frente a los 3GL (Cobol, Pascal, C,...), de forma que permita una construcción más rápida del software. Como ejemplo tememos el SQL para acceso a bases de datos relacionales. Pero la cuarta generación de lenguajes de programación corresponde, también, a una serie de herramientas, que permiten construir aplicaciones sencillas combinando segmentos de programas prefabricados.
Un entorno de 4GT puede incluir: lenguajes no procedimentales para acceso a bases de datos, lenguajes orientados a objetos, generación de inf ormes, definición de pantallas, generación asistida/automatizada de código, facilidades de gráficas de alto nivel, utilización y ensamblaje de unidades funcionales de muy elevado grado de complejidad como hojas de cálculo, procesadores de texto, etc.
Herramientas CASE. “CASE es la automatización del software”.
(Computer Aided Software Engineering – Ingeniería del Software asistida por ordenador).
CASE es el conjunto de herramientas y métodos asociados que proporcionan asistencia automatizada en el proceso de desarrollo del software a lo largo de su ciclo de vida:
Gestión del proyecto: planificación, estimación y control. Desarrollo del software: análisis, diseño, implementación y validación. Mantenimiento del software.
El uso de las herramientas CASE va en aumento debido a:
La creciente dificultad práctica de poner en funcionamiento ciertos procedimientos de las metodologías actuales de desarrollo si no es con la ayuda de herramientas informáticas (diseños gráficos complejos, tareas repetitivas, modelización o prototipado de sistemas, etc.) La necesidad de que se realice con seriedad y rigor todo el proceso de análisis y, sobre todo, el análisis previo que normalmente venía obviándose ante la urgencia de generar código cuanto antes. Las herramientas CASE facilitan la diagramación para la representación de flujos de datos y procesos haciendo más fácil el diálogo del usuario con el desarrollador tan importante para la realización de la aplicación. La necesidad de contar con herramientas para diseñar a nivel lógico y físico la aplicación a partir del análisis.
Objetivos de la tecnología CASE: 1. 2. 3. 4. 5. 6.
7.
8. 9.
Incrementar la productividad de las áreas de desarrollo y mantenimiento de los sistemas informáticos. Mejorar la calidad del software desarrollado. Reducir tiempos y costes de desarrollo y mantenimiento del software. Mejorar la gestión y dominio sobre el proyecto en cuanto a su planificación, ejecución y control. Mejorar el archivo de datos (enciclopedia) de conocimientos (know-how) y sus facilidades de uso, reduciendo la dependencia de analistas y programadores Automatizar: El desarrollo del software. o La documentación. o La generación del código. o El chequeo de errores. o La gestión del proyecto. o Permitir La reutilización (reusabilidad) del software. o La portabilidad del software. o La estandarización de la documentación. o Integrar las fases de desarrollo (ingeniería del software) con las herramientas CASE Facilitar la utilización de las distintas metodologías que desarrollan la propia ingeniería del software
Taxonomía de las herramientas CASE. (Revisar este punto una vez estudiado los Paradigmas del Ciclo de Vida del Software). Existen diferentes formas de establecer la clasificación del CASE.
A.- Considerando su amplitud o cobertura:
CASE TOOLKIT Es una colección de herramientas software integradas que 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. Comparten la BD de soporte y la interfaz de usuario.
CASE WORKBENCH Son conjuntos integrados de herramientas software que dan soporte a la automatización del proceso completo de desarrollo del sistema informático. Permiten cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en código ejecutable (operativo) y su documentación. Además de compartir la BD de soporte y la interfaz de usuario, están basadas en una misma metodología.
B.- Por posición o fase del ciclo de vida que automatizan:
UPPER CASE Son las herramientas de apoyo a las primeras fases. Planificación estratégica, requerimientos de desarrollo funcional de planes corporativos, estimación de costes, métricas del software.
MIDDLE CASE Herramientas de apoyo a las fases centrales. Análisis y diseño. Entre otros muchos productos comerciales se pueden citar Designer 2000 de Oracle, System Architect 2001 de Popkin Software, EasyCase de Visible System Corporation
LOWER CASE Apoyo a las últimas fases del ciclo de vida. Generación de código, pruebas, creación de documentación para la implantación y el usuario final. Como herramientas de bajo nivel se pueden citar todas las herramientas de RAD -Rapid Application Development- (técnicas RAD son la combinación adecuada del prototipado con las herramientas de 4ª generación). PowerObject de Oracle, PowerBuilder de Powersoft, Delphi de Imprise, Visual Basic de Microsoft.
PROCEDIMIENTOS.
Relacionan formalmente los métodos y las herramientas. Definen la secuencia en la que se aplican los métodos, las entregas (documentos, informes, etc.) que se requieren, los controles que ayudan a garantizar la calidad y coordinar los cambios, y las directrices que permiten a los gestores del software a evaluar los progresos.
Todos los métodos, herramientas y procedimientos que constituyen la Ingeniería del Software van orientados a un único fin: producir software de gran calidad.
El Software: factores de calidad.
La garantía de calidad del software se aplica durante todo el proceso de ingeniería del software, es decir, en Análisis, Diseño, Codificación y Pruebas.
La calidad es la concordancia de los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados, y con las características implícitas de todo software desarrollando profesionalmente.
La calidad del Software es una compleja mezcla de ciertos factores que varían para las diferentes aplicaciones y los clientes que las solicitan. Mc Call realiza la siguiente clasificación con respecto a la calidad del software:
Factores Externos.
Los factores externos son aquellos que son observables sin mirar el código del sistema. Se pueden distinguir los siguientes:
Corrección. El grado en que un programa satisface sus especificaciones y consigue los objetivos de la misión encomendada por el cliente. Eficiencia. El buen uso de recursos Hw/Sw disponibles y de código requeridos por un programa para llevar a cabo sus funciones. Robustez. Capacidad de un sistema software para funcionar en situaciones anormales. Adaptabilidad. Capacidad de poder alterar las especificaciones funcionales del programa. Reusabilidad. Posibilidad de reutilizar el software (o una parte de él) con el consiguiente ahorro de esfuerzo. Compatibilidad o facilidad de Interoperación. El esfuerzo que se requiere para acoplar un producto software con otro distinto. Portabilidad. Facilidad de ser transportado a otras plataformas Hw/Sw. Verificabilidad o Facilidad de Prueba. La Calidad en el Diseño del sistema determina la facilidad de ser verificado en cuanto a su corrección. En general, cuanto más modular sea un sistema más facilidad para aporta para poderse comprobar su corrección. Integridad. Un sistema íntegro será aquél que preserve las garantías frente a violaciones de su seguridad tanto
interna como externa. Facilidad de Uso. Actualmente todos los sistemas que se desarrollan van mejorando la capacidad de interacción para los usuarios, sobre todo para los no expertos en informática.
Factores Internos. Son aquellos que son observables sobre el código del sistema:
Legibilidad. Facilidad de lectura e interpretación del código del programa. Modularidad. Independencia funcional de los componentes del programa. El software que es monolítico (de una sola pieza) no puede ser fácilmente abarcado por un lector debido al gran número de variables y referencias que incluye.
Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión
Unidad:1
Evaluación:1
Sistemas de información Sistemas de información: - Concepto. - Componentes. - Tipos. – Realizar esquemas – Poner ejemplos de sistemas identificando sus elementos – Definir sistema de información basándose en su objetivo para la empresa – Esquematizar procesos para aproximarse a la descomposición funcional con DFDs
Unidad:2
Evaluación:1
Principales Sistemas de información en la empresa – Actividades que realizan – Necesidades de gestión de información – Tipos de software existente – Tipo de Software adecuado para cada subsistema de la empresa – Realizar esquemas de las estructuras socio-organizativas de las empresas – Identificar los principales flujos de información entre las áreas funcionales de una empresa – Preparar por grupos las tareas y necesidades un subsistema de la empresa y explicarlo a los compañeros – Clasificar tipos de software – Distinguir trabajo por lotes de trabajo interactivo
Unidad:3
Evaluación:1
Ciclo de vida del software – Etapas del ciclo de vida de una aplicación: características. – Personas implicadas en cada etapa – Perfil, funciones y responsabilidades del analista de sistemas – Modelos de ciclo de vida (Cascada, Incremental, Espiral, etc.) – Identificar modelos de desarrollo que requieren los sistemas, según sus características específicas – Describir objetivos entradas y salidas de cada etapa del ciclo de desarrollo
Unidad:4
Evaluación:2
Metodologías de desarrollo – Concepto de Metodología – Ventajas de aplicar una metodología al desarrollo de software – Tipos de metodologías: - Orientadas a p rocesos. Orientadas a datos. - Orientadas a objetos. – Metodologías gubernamentales – Métrica 3 – Apreciar las ventajas que tiene la adopción de un método estructurado para el desarrollo de aplicaciones – Comparar características de distintas metodologías – Estudiar la metodología Métrica 3
Unidad:5
Evaluación:2
Gestión de proyectos – Participantes – Estimación. – Planificación. – Seguimiento y control. – Herramientas y técnicas para gestión de proyectos. – Explicar los principales aspectos a considerar en el desarrollo de aplicaciones. – Representar la planificación temporal con redes PERT y Diagramas de Gantt. – Identificar las estructuras organizativas de equipos de proyectos. – Aprender el manejo básico de Microsoft Project – Realizar la planificación temporal de las actividades de un proyecto informático
Unidad:6
Evaluación:2
Análisis estructurado de sistemas: – Fundamentos del análisis de requisitos: Objetivos, entradas, salidas y fases. – Análisis de necesidades. Técnicas de comunicación y recogida de información. – Análisis de viabilidad: económica, técnica, legal. – Modelización de funciones y procesos. Diagramas de flujo de datos (DFD). – Modelización de datos. Modelo conceptual. Análisis entidad-relación. – Diccionario de datos. Estructura y componentes. – Prestaciones de herramientas CASE en el
análisis de sistemas – Determinar la/s técnica/s de recogida de información más adecuada/s para cada caso – Practicar técnicas de recogida de información – Realizar DFD para diferentes sistemas propuestos – Realizar ejercicios de modelado de datos mediante diagramas entidad-relación para diferentes casos propuestos – Confeccionar diccionarios de datos para casos propuestos – Realizar especificaciones de procesos utilizando diferentes técnicas – Interpretar información descriptiva de sistemas – Estimar los costes-beneficios de un sistema y calcular los períodos de amortización. – Manejar alguna herramienta CASE para realizar DFDs y Diagramas entidadrelación (EasyCASE o Visio)
Unidad:7
Evaluación:2
Diseño estructurado de sistemas: – Objetivos, entradas, salidas y fases. – Sistemas de ficheros y de bases de datos. – Diseño modular. Diagramas de es tructuras. – Diseño de datos. Obtención de modelo de datos lógico y físico. – Diseño procedimental. – Diseño de interfaces. – Metodologías de diseño. – Diseño de seguridad, auditación y recuperación del sistema. – Diseño de pruebas. – Identificar criterios para definir subsistemas – Estudiar modos de almacenamiento de la información – Realizar el esquema modular de una aplicación a partir de los DFDs – Analizar el nivel de cohesión y acoplamiento entre módulos – Aplicar especificaciones de programación estructurada al diseño de programas – Estudiar y valorar diseños de interfaces – Diseñar pruebas sus resultados
Unidad:8
Evaluación:2
Sistemas gestores de bases de datos – Concepto y funciones. – Arquitectura a 3 niveles ANSI/X3.SPARC. – Interacción con el entorno operativo. – Interacción del usuario con el SGBD. Lenguajes. – Funciones del administrador de Bases de Datos. – Diccionario de la base de datos. – Sistema relacionales: o Estructura, terminología y propiedades o Dependencias funcionales o Claves o Normalización – Transformación de esquemas entidad-relación a modelos lógicos – Prestaciones de herramientas CASE en el diseño lógico de datos – Representar la arquitectura y funcionamiento de un sistema gestor de base de datos – Explicar el concepto de diccionario de datos – Explicar los niveles de protección de datos y de las técnicas utilizadas en entornos multiusuario – Transformar esquemas entidad-relación en distintos modelos – Obtener estructuras lógicas de datos en tercera formal – Identificar SGBDs y herramientas CASE existentes en el mercado
Unidad:9
Evaluación:3
Control de calidad del "software" – Factores que influyen en la cal idad del "software". – Índices y métricas de calidad. – Pruebas del “software”. Tipos, métodos y herramientas. – Tipos de errores – Confección y documentación de las pruebas – Explicar los objetivos y procedimientos de la prueba de aplicaciones – Explicar los métodos más utilizados para generar casos de prueba – Elaborar casos de prueba para verificar el comportamiento y validez funcional de las aplicaciones informáticas – Reconocer los tipos de errores – Confeccionar especificaciones detalladas de pruebas para un sistema propuesto – Interpretar de errores – Valorar resultados de pruebas
Unidad:9
Evaluación:3
Control de calidad del "software" – Factores que influyen en la calidad del "software". – Índices y métricas de calidad. – Pruebas del “software”. Tipos, métodos y herramientas. – Tipos de errores – Confección y documentación de las pruebas – Explicar los objetivos y procedimientos de la prueba de aplicaciones – Explicar los métodos más utilizados para generar casos de prueba – Elaborar casos de prueba para verificar el comportamiento y validez funcional de las aplicaciones informáticas
– Reconocer los tipos de errores – Confeccionar especificaciones detalladas de pruebas para un sistema propuesto – Interpretar de errores – Valorar
resultados de pruebas
Unidad:10
Evaluación:3
Construcción e implantación – Entornos de programación: tipos y características. – Transición y puesta en marcha. – Mantenimiento del “software – Explicar los principales aspectos a considerar en la implantación de aplicaciones informáticas – Identificar variables a tener en cuenta en la estimación de tiempos – Valorar la utilidad de la documentación del sistema para llevar a cabo el mantenimiento
Unidad:11
Evaluación:3
Desarrollo de un proyecto integrador de todos los contenidos del curso – Desarrollar una solución informática realizada por los alumnos para algún problema de gestión de cierta complejidad planteado, que requiera la utilización del mayor número posible de conocimientos estudiados en el módulo: o Manejar documentación o Interpretar el problema o Realizar el análisis o Realizar el diseño o Realizar la especificación de programas, pruebas y procedimientos de usuario o Elegir software para desarrollar la aplicación o Elegir las estructuras necesarias para resolver el problema o Construir la aplicación o Realizar pruebas o Corregir errores detectados o Documentar el sistema o Confeccionar manuales – Consultar al profesor