HERRAMIENTAS
Proyecto presentado a:
Mg(c), Ing. Wilson Libardo Pantoja Yepez
En la materia, Laboratorio de Software II
Presentado por:
Oscar Yovany Chauza Narváez
Universidad del Cauca
Facultad de Ingeniería Electrónica y Telecomunicaciones
Programa de Ingeniería de Sistemas
Popayán, septiembre de 2019
HERRAMIENTAS CASE
¿Qué es una herramienta CASE?
CASE(Computer-Aided Systems Engineering) cuyo significado en español es Ingeniería
del Software Asistida por Computadora, es la aplicación de tecnología informática a las
actividades, las técnicas y las metodologías propias del desarrollo de sistemas y al igual
que las herramientas CAD (Diseño Asistido por Computadora) o CAM (Manufactura
Asistida por Computadora) su objetivo es, acelerar el proceso para el que han sido
diseñadas, en el caso de CASE para automatizar o apoyar una o más fases del ciclo de
vida del desarrollo de sistemas [1].
Existen diversas formas de clasificar las herramientas CASE, se pueden distribuir
teniendo en cuenta los siguientes factores:
Las plataformas que soportan.
Las fases del ciclo de vida del desarrollo de sistemas que cubren.
La arquitectura de las aplicaciones que producen.
Su funcionalidad.
Una de las clasificaciones más habituales es la que se basa en las fases del ciclo de
desarrollo que cubren y estos son:
Herramientas Integradas: Abarcan todas las fases del ciclo de vida del
desarrollo de sistemas. Son llamadas también CASE workbench.
Herramientas de Alto Nivel, U-CASE (Upper CASE): Son herramientas que
ayudan en las fases de planificación, análisis de requisitos y estrategia del
desarrollo, usando entre otros diagramas UML(Lenguaje Unificado de
Modelado).
Middle CASE: Son herramientas para automatizar tareas en el análisis y diseño
de la aplicación.
Herramientas de bajo nivel, L-CASE (Lower CASE): Son herramientas que se
utilizan en las últimas fases del desarrollo, ayudan en la automatización de la
generación de código, crean programas de detección de errores. También
automatizan la documentación completa de la aplicación. Aquí pueden incluirse
las herramientas de desarrollo rápido de aplicaciones.[2]
¿Para qué sirve una herramienta CASE?
Proporcionar un entorno de desarrollo interactivo con un tiempo de respuesta rápido,
recursos dedicados y una comprobación de errores desde el principio
La automatización de muchas tareas de desarrollo y mantenimiento
de software.
Una programación visual proporcionada por potentes interfaces
gráficos.
Aumentar la productividad en el desarrollo.
Dar calidad a los productos desarrollados.
Reducir el costo del software.
Automatizar los chequeos de errores.
Acelerar el desarrollo de las aplicaciones.
Automatizar tareas de desarrollo.
Automatizar la generación de documentación.
Dar portabilidad al software.
Implantar metodologías de desarrollo.
Datos reutilizables y compartidos.
Administrar el proyecto.
Ingeniería hacia atrás (reingeniería).
Paralelo entre herramientas CASE
Herramienta Power Designer Enterprise EasyCASE
CASE Architect
Plataformas Windows XP, Microsoft Windows, Windows XP,
que soporta Windows Vista, Linux via Wine, Windows Vista,
Windows 7, macOS via Windows 7,
Windows 8 CrossOver Windows 8,
Windows 10
Fases del Recolección y Análisis y Análisis y diseño
ciclo de vida análisis de diseño
del requisitos Implementa
desarrollo de Diseño de ción
sistemas que programas de Pruebas
cubren aplicación Mantenimie
Implemetacion nto
del software Documenta
ción
Ventajas Mejora la Velocidad Automatiza las
productividad Escalabilidad fases de análisis
individual Buena y diseño
Brinda facilidad documentación eliminando
de uso Grafica Soporte para alguna de las
Altamente pruebas tareas mas
personalizable Desarrollo repetitivas
Mejora la distribuido Realizar el
productividad Soporta la proceso de
en Grupo mayoría de desarrollo
bases de datos software de una
Estabilidad forma eficiene y
Buen consistente
rendimiento Permite obtener
de forma rápida
prototipos y
sistemas de alta
calidad fáciles de
documentar
Posee
herramientas de
correccion
avanzadas que
permiten
revisiones
generales en
minutos.
Desventajas No trabaja en Herramienta Su uso
ambientes libre con un solo dependera del
idioma (ingles) tipo de sistema
No es gratuito que se planea
Dificil de desarrollar
encontrar los Herramienta
diagramas bastante básica
que permite
manejar fases de
análisis y diseño
de una manera
simple, es un
poco superficial
Fabricante PowerDesigner Sparx Systems EasyCASE
Tipo de Shareware Software propietario Versión completa
licenciamient
o
A continuación, se muestra el diagrama conceptual de una base de datos utilizando
Power Designer, este nos permite crear las tablas y sus relaciones a partir de eso
se puede generar el script de creación y borrado de la base datos:
REPOSITORIO CODIGO FUENTE
Los repositorios de código fuente sirven para guardar el código fuente de una aplicación,
ya que este se almacena en un servidor que debe contar con un sistema control de
versiones, esto nos brinda la posibilidad de trabajar en paralelo, es decir la modificación
de los mismos archivos por diferentes personas desde diferentes lugares, como también
el historial de cambios que se ha realizado sobre los archivos, con esto si ocurre algún
error se puede revertir los cambios que por alguna razón no interesen.
Además, es muy útil para un nuevo programador porque se puede observar la evolución
de la aplicación, es decir tener todas las versiones que se han construido desde el inicio
y así lograr entender el contexto de la aplicación, algunos ejemplos de repositorios de
código fuente son: Git, Mercurial y Subversión.
A continuación, se muestra un ejemplo de la funcionalidad de Git con algunos
comandos:
Primero se crea una nueva carpeta llamada proyecto la cual almacenara los archivos
que se trabajaran.
Luego arrastra la carpeta recién creada hacia el editor de texto Visual Studio Code
Despues se da clic en el icono agregar nuevo archivo, se agrega uno con nombre [Link]
y el segundo [Link]. Se obtiene un archivo javascript y un archivo html.
Luego se da clic derecho sobre la carpeta proyecto y se elige la opción Git Bash Here,
donde se abrirá una ventana de comandos con la ubicación de la carpeta proyecto.
En la siguiente línea de comando de Git se lista los archivos contenidos en la carpeta
proyecto:
Se procede a inicializar Git para este proyecto con el comando git init
Con el siguiente comando git status se obtiene los archivos que se están trabajando,
todavía no se ha dado ningún comits, es decir no se ha guardado una primera versión
tambien indica el comando a utilizar para adicionar el archivo.
Se ingresa el comando git add [Link] y luego se ingresa nuevamente el comando git
status para probar si se agrega al área de trabajo, y efectivamente se obtiene el nuevo
archivo [Link] agregado.
El siguiente comando se utiliza para ingresar el correo del desarrollador que esta
realizando la modificación:
git config --global [Link] "yovanychauza@[Link]"
El siguiente comando se utiliza para ingresar el nombre del desarrollador que esta
realizando la modificación:
git config --global [Link] "oscar"
git commit, este comando se utiliza para guardar cambios en el archivo
Finalmente, si se quiere subir a la web hay que registrarse en GitHub, se crea un nuevo
repositorio y mediante el siguiente comando se suben los archivos.
Se conecta al sitio web con el siguiente comando: git remote add origin
[Link]
y se procede a subir lo archivos. Con el comando que se muestra a continuación:
git push -u origin master
Para acceder a los archivos se debe dar clic en el siguiente link
[Link]
PRUEBAS UNITARIAS DE SOFTWARE
Una prueba unitaria sirve para probar el correcto funcionamiento de una unidad del
código, se verifica cada módulo individualmente para saber si hace lo que debe de
hacer, con esto también se puede probar si un cambio realizado esta bien hecho o si
produce un error [3].
Algunos beneficios son:
La calidad del software mejorara
Se reducen drásticamente los problemas y tiempos dedicados a la integración
Ayudan a entender mejor el código
Nos permite poder depurar o probar el código sin necesidad de tener el sistema
completo
Se creó un proyecto en el entorno de programación eclipse con lenguaje java, este
cuenta con dos métodos, el primero de ellos llamado espositvo el cual devuelve
true si el parámetro que ingresa es positivo de lo contrario retorna false, el segundo
método es esmayor2, este método devolverá true si el parámetro ingresado es
mayor a 2 de lo contrario retornara false.
Se procede a crear la unidad de prueba unitaria con Junit,se da clic derecho sobre
el paquete Main, se elige New y finalmente se da clic en JUnit Test Case
A continuación se muestra la prueba realizada para los métodos propuestos, la
prueba consiste en ingresar el valor esperado con cierta entrada si pasa toda las
pruebas se marcara con un visto.
Se puede observar que efectivamente paso todas las pruebas por lo que podemos
corroborar que el código está funcionando correctamente.
CONCLUSIONES
Podemos concluir acerca de las herramientas CASE que han sido de mucha ayuda a la hora
de construir software ya que acelera el proceso, reduce los costos, mejora la calidad del
software a desarrollar, un ejemplo de esto es Power Designer del cual podemos generar el
código a partir del diagrama físico.
Los repositorios de código fuente son de mucha utilidad, con ellos podemos tener el código
fuente seguro y además proporciona la posibilidad de poder trabajar distintos
desarrolladores en los mismos archivos desde diferentes lugares, también tenemos un
historial de cambios con lo cual se puede observar todas las versiones creadas desde el
principio para facilitar la comprensión de la aplicación para un desarrollador nuevo.
Las pruebas unitarias de software son muy importantes porque con ellas podemos probar
cada unidad del código construir para así tener la certeza de que verdaderamente está
cumpliendo con los objetivos propuestos. También nos facilita encontrar los errores ya que
cada prueba se hace a una unidad de código sin la necesidad de tener todo el sistema, con
lo que podemos saber que unidad del código especifica está fallando.
BIBLIOGRAFIA
1. [Link]
anorama%20general%20de%20las%20herramientas%[Link]?sequence=1&is
Allowed=y
2. [Link]
3. [Link]
sharp/documentos/pruebas/[Link]#targetText=%C3%8Dndice%2
0de%20contenido&targetText=Una%20prueba%20unitaria%20se%20utiliza,prueb
as%20en%20un%20orden%20especificado.
4. [Link]
5. [Link]