Está en la página 1de 27

Universidad Centroamericana

Facultad de Ciencia, Tecnologa y Ambiente


Tecnologas de la Informacin y las Comunicaciones
HERRAMIENTAS PARA LA IMPLEMENTACIN Y
VERIFICACIN
Ingeniera en Sistemas y Tecnologas de la
Informacin
Prof. Erika Meja
Objetivos de la Asignatura
Aplicar los conceptos relacionados con la fase de implementacin del ciclo de vida
del desarrollo de software desde una perspectiva orientada a objetos mediante la
implementacin de distintos artefactos de las fases de anlisis y diseo en
sistemas de mediana complejidad.
Aplicar eficientemente las herramientas para implementacin y creacin de
aplicaciones basadas en modelos orientados a objetos, que permita al estudiante
mayor productividad y eficiencia en el desarrollo de sistemas.
Analizar los conceptos relacionados con la ingeniera de pruebas desde el punto de
vista del modelado orientado a objetos a travs de la identificacin de defectos en
los productos de software obtenidos en la fase de implementacin para la
correccin de los mismos.
Aplicar eficientemente las herramientas de automatizacin de pruebas para la
realizacin de pruebas de unidad, de integracin y de sistemas en la construccin
de software con alto grado de calidad y confiabilidad.
CONTRATO DIDCTICO
Durante las clases presenciales los/las alumnos(as) debern cumplir con las siguientes normas:
La asistencia y la puntualidad son obligatorios. Todo estudiante con 20% de inasistencias no
justificadas perder su derecho a calificacin.
El (la) estudiante debe ser participativo: en clases, sesiones de consultas y /o actividades
programadas por el docente y la coordinacin.
Las evaluaciones deben hacerse en el tiempo establecido y las asignaciones entregadas en
tiempo y forma, segn lo acordado entre los estudiantes y el profesor.
El estudiante debe conocer y respetar el reglamento de la universidad y el reglamento de los
laboratorios de software para lograr el ambiente de trabajo necesario para el desarrollo de
las clases.
El estudiante debe garantizar el buen estado de cualquier medio de almacenamiento para la
entrega de asignaciones, exmenes o trabajo de curso.
No se permite el fraude acadmico en asignaciones, en exmenes o en el trabajo de curso.
Durante las clases presenciales, los/las Docentes debern cumplir con las
siguientes normas:
Asistir a clases puntualmente todos los das asignados para el curso.
Desarrollar los temas planteados en el Syllabus.
Retroalimentar al estudiante sobre su aprendizaje.
Entregar calificaciones a ms tardar 8 das despus de realizada una
evaluacin.
Proporcionar un material de lectura apropiado.
Brindar una hora de consulta semanal
Contenido
Unidad I: Herramientas Back CASE
Unidad II: Verificacin y Validacin del Software
Unidad III: Herramientas para Pruebas del Software
Unidad IV: Herramientas para el Mantenimiento de
Sistemas
Unidad I: Herramientas Back
CASE
Contenido
1. Conceptos bsicos
Ingeniera de software.
Ingeniera de software asistida por computadora.
Ciclo de vida del desarrollo de software.
Cualidades del software de calidad.
Verificacin, validacin, correccin y pruebas.
Control de versiones.
Mantenimiento de sistemas.
Ingeniera del Software
La ingeniera es el estudio y la aplicacin de las distintas ramas de la
tecnologa. Esto quiere decir que, a travs de tcnicas, diseos y modelos,
y con el conocimiento proveniente de las ciencias, la ingeniera puede
resolver problemas y satisfacer necesidades humanas.
El software de computadora es el producto que los ingenieros de software
construyen y despus mantienen a largo plazo. El software se forma con:
1. Las instrucciones (programas de computadora) que al ejecutarse
proporcionan las caractersticas, funciones y el grado de desempeo
deseado.
2. Las estructuras de datos que permiten que los programas manipulen
informacin de manera adecuada.
3. Los documentos que describen la operacin y uso de los programas.
[Pressman, 2010].
La Ingeniera de Software es una disciplina que integra el
proceso, los mtodos, y las herramientas para el desarrollo
de software de computadora. [Pressman, 2005].
La Ingeniera de Software Asistida por Computador
(Computer Aided Software Engineering - CASE) es un
conjunto de herramientas de programacin que utilizan
una interfaz comn para disear, desarrollar y depurar
software.
Por lo tanto, un entorno CASE consta de herramientas que
proveen un modelo visual de una aplicacin, herramientas
que crean un cdigo a travs de interfaces visuales y
finalmente un depurador para probar el cdigo final.
9 de 15
El objetivo principal de la herramienta CASE es automatizar los
aspectos clave del proceso de desarrollo de sistemas desde su
inicio hasta el final.
Las consecuencias de esta automatizacin se observan en el
aumento de productividad por parte de los desarrolladores de
sistemas, en la mejora en la comunicacin necesaria
(imprescindible) entre usuarios y especialistas en informtica, en
el sostenimiento de una disciplina (estandarizacin) en las
actividades de un proyecto, en las facilidades que brindan para el
mantenimiento del sistema (ajustes).
Sesin Terica #1
La Ingeniera del Software Asistida por Computadora (CASE) puede ser tan
simple como una herramienta que permite desarrollar una actividad
especfica, o tan compleja como un "entorno" que integre distintas
herramientas para gestin de bases de datos, hardware, redes, sistemas
operativos, estndares y muchos otros componentes.
Bloques que Componen el CASE
11 de 15
Cada bloque constituye la base del siguiente, con las herramientas situadas en la cima
de la pila.
Marco de integracin: Es un conjunto de programas especializados que permiten a
cada herramienta CASE comunicarse con las dems.
Servicios de portabilidad: Este conjunto constituye un puente entre las herramientas
CASE, su marco de integracin y la arquitectura de entorno. De esta forma permiten
que las herramientas CASE y su marco de integracin puedan migrar a travs de
diferentes plataformas de hardware y sistemas operativos sin problemas de
adaptacin.
Sistema operativo: Gestiona el hardware, la red y las herramientas; mantiene el
entorno unido.
Plataforma hardware/red: Son las estaciones de trabajo individuales interconectadas
mediante la red para que los ingenieros del software puedan comunicarse de forma
efectiva.
Arquitectura de entorno: Es la base del CASE, en este bloque se construyen los
entornos de la ingeniera del software, engloba los sistemas de software y hardware.
Adems, considera los patrones del trabajo humano que se aplican durante el
proceso de ingeniera del software.
Bloques que Componen el CASE
12 de 15
Clasificacin de las Herramientas CASE
Las herramientas CASE se clasifican en CASE de nivel
superior (Upper CASE o Front CASE), CASE de nivel
inferior (Lower CASE o Back CASE) y CASE Integrado.
Esta clasificacin se corresponde con las etapas de la
metodologa de ciclo de vida para el desarrollo de
sistemas, que son cubiertas por las herramientas.
Sesin Terica #1
Las CASE de nivel superior auxilian a los desarrolladores en las etapas
tempranas de la metodologa, es decir, en planificacin, anlisis y
diseo; pueden ejecutarse en mquinas independientes de la mquina en
que se vaya a ejecutar la aplicacin. Describen aspectos bsicos de un
sistema y producen la integracin de funciones y relaciones
(especificacin sobre requerimientos del usuario, entradas, salidas y
expectativas de funcionamiento).
Las de nivel inferior son utilizadas por programadores para la elaboracin
de programas de computacin, es decir, para generar los cdigos fuente
(etapas ingeniera de software y prueba). Es obvio que estas ltimas se
apoyan en el resultado obtenido por las de nivel superior, para el mismo
sistema. Toda informacin generada por estos medios queda almacenada
en un depsito CASE que contiene diagramas, registros, diseos de
pantalla, diseo de informes, diccionario de datos y lgica del proceso.
CASE integrado se aplica a aquellas herramientas que apoyan actividades
que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades
como la gestin de proyectos y la estimacin.
Ciclo de vida del desarrollo de software
Un marco de referencia que contiene los
procesos, las actividades y las tareas
involucradas en el desarrollo, la explotacin y
el mantenimiento de un producto de
software, abarcando la vida del sistema desde
la definicin de los requisitos hasta la
finalizacin de su uso.
ISO 12207-1
Ciclo de vida del desarrollo de software
16 de 15
Qu es la calidad del software?
Grado con el cual el cliente o usuario percibe que el software
satisface sus expectativas (IEEE 729-83).
Conjunto de propiedades y de caractersticas de un conjunto o
servicio, que le confieren aptitud para satisfacer unas
necesidades explcitas o implcitas (ISO 8402:1984).
Calidad del Software
17 de 15
Cualidades del Software (Subcaractersticas)
(idoneidad)
Las pruebas de software (en ingls software testing) son las
investigaciones empricas y tcnicas cuyo objetivo es
proporcionar informacin objetiva e independiente sobre la
calidad del producto a la parte interesada o stakeholder. Son
una actividad ms en el proceso de control de calidad.
Las pruebas son bsicamente un conjunto de actividades dentro
del desarrollo de software. Dependiendo del tipo de pruebas,
estas actividades podrn ser implementadas en cualquier
momento de dicho proceso de desarrollo.
Pruebas del Software
20 de 15
Una actividad en la cual un sistema o uno de sus
componentes se ejecuta en circunstancias previamente
especificadas, los resultados se observan y registran y se
realiza una evaluacin de algn aspecto.
Pruebas (test)
Son el proceso de revisin que el sistema de software producido cumple con
las especificaciones y que cumple su cometido. La validacin es el proceso de
comprobar lo que se ha especificado, si es lo que el usuario realmente
quera.
Se trata de evaluar el sistema o parte de ste durante o al final del desarrollo
de software para determinar si satisface los requisitos iniciales.
Es esto lo que el cliente quiere?
Debe haber concordancia con : la especificacin de requisitos. La
satisfaccin de necesidades del cliente.
Validacin
Proceso a travs del cual se analiza y revisa que el software
satisfaga los objetivos propuestos al inicio del desarrollo.
El producto se esta construyendo en forma correcta ?. El
proceso de desarrollo debe estar conforme con sus
estndares o prcticas de desarrollo.
Verificacin
Pruebas de software
Permite revelar la presencia de errores, no su
ausencia.
Una prueba exitosa consiste en detectar
sntomas de la presencia de uno o ms
errores.
Antes de hacer la correccin de un error, verificar:
La causa del error se repite en otra parte del programa? .
Cul es el siguiente error que podra introducirse con la
correccin que est a punto de realizarse? .
Qu debi hacerse para evitar este error desde el principio?.
Correccin de Errores
23 de 15
Mantenimiento
Existen 3 tipos de mantenimiento:
1. Correctivo
Es cuando se debe corregir errores de
funcionamiento del sistema, o cuando
aparecen situaciones que no se tuvieron en
cuenta o se mal interpretaron en el
levantamiento de requisitos.
Ejemplos: totaliza mal un listado, no filtra un
informe por zona, no redondea un total.
2. Adaptativo
Cuando el objetivo es adaptar el sistema o
partes de l a nuevas situaciones que generan
nuevos requerimientos, por la dinmica
evolucin de las empresas y los negocios.
Ejemplos: se comienza a consignar
mercadera, se abre un punto de venta, se
vende en el interior, se aplica un nuevo
impuesto, se define una nueva poltica de
descuentos.
3. Perfectivo
Cuando el sistema est estable y es utilizado
por la empresa en su plenitud, pueden surgir
requerimientos de perfeccionamiento en
algunas de sus funciones, mejorar el
rendimiento, reducir los procesos o aumentar
su complejidad por razones de seguridad, etc.
Ejemplos: envo de respaldos de punto de venta a
casa central por mail, agregar seguridad por
opciones de men.
Actividad en Clase
1. Elabora un mapa conceptual del Ciclo de Vida del Desarrollo de Software
(Incluye modelos como: cascada, prototipo, espiral, etc.)
2. Utilizando diferentes fuentes de informacin (Libros, Internet, videos,
etc. ), investigar acerca de las herramientas CASE:
Concepto y origen
Clasificacin segn la fase del Ciclo de Vida del Desarrollo del
Software que apoya (Ejemplifica cada tipo)
Ventajas y Desventajas
Proporciona ejemplos de herramientas segn su clasificacin.
Menciona al menos, 3 caractersticas de cada una.

También podría gustarte