Está en la página 1de 13

Especificación de requisitos de

software
Proyecto: Generador de código y pruebas de
ejecución
Revisión 1.0

2020
Generador de código fuente y pruebas de ejecución
Pág. 2
Especificación de requisitos de software

Ficha del documento

Fecha Revisión Autor

21/10/2020 1.0 Br. Gabriel Hidalgo

Documento validado por las partes en fecha: 22/11/2020

Por el cliente Grupo03

Ing. Rudy Wilfredo Chicas Villegas Br. Gabriel Alejandro Hidalgo Rodríguez

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 3
Especificación de requisitos de software

Contenido
FICHA DEL DOCUMENTO 2

CONTENIDO 3

1 INTRODUCCIÓN 5

1.1 Propósito 5

1.2 Alcance 5

1.3 Personal involucrado 6

1.4 Definiciones, acrónimos y abreviaturas 7

1.5 Referencias 7

1.6 Resumen 7

2 DESCRIPCIÓN GENERAL 7

2.1 Perspectiva del producto 7

2.2 Funcionalidad del producto 7

2.3 Características de los usuarios 8

2.4 Restricciones 8

2.5 Suposiciones y dependencias 8

2.6 Evolución previsible del sistema 8

3 REQUISITOS ESPECÍFICOS 9

3.1 Requisitos comunes de los interfaces 9


3.1.1 Interfaces de usuario 9
3.1.2 Interfaces de hardware 11
3.1.3 Interfaces de software 11
3.1.4 Interfaces de comunicación 11

3.2 Requisitos funcionales 11


3.2.1 Requisito funcional 1 11
3.2.2 Requisito funcional 2 11
3.2.3 Requisito funcional 3 11
3.2.4 Requisito funcional 4 12

3.3 Requisitos no funcionales 12


3.3.1 Requisitos de rendimiento 12
3.3.2 Seguridad 12
3.3.3 Fiabilidad 12
3.3.4 Disponibilidad 13
3.3.5 Mantenibilidad 13
3.3.6 Portabilidad 13

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 4
Especificación de requisitos de software

3.4 Otros requisitos ¡Error! Marcador no definido.

4 APÉNDICES ¡ERROR! MARCADOR NO DEFINIDO.

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 5
Especificación de requisitos de software

1 Introducción
El presente documento detalla en cada uno de sus apartados del documento, los requisitos
acordados para la realización de la herramienta “Generador y probador de código”, un
software que permite generar código fuente a partir de un modelo de clases, o generar un
script, a partir de un modelo físico de Base de Datos.

1.1 Propósito
El documento tiene como finalidad describir de forma general las generalidades del
software y a la vez busca definir los requisitos específicos del sistema y el
comportamiento que tendrá.

El documento va dirigido para el cliente del software, el equipo de desarrollo y cualquier


otra persona de interés por el software.

1.2 Alcance
El software por desarrollar se identifica como “Generador y probador de código”, o por
sus siglas “GYPC”.

La herramienta de software GYPC se describe por medio de tres componentes:


generador de código fuente, generador de script de Base de Datos y un probador de
código fuente, cada uno con un propósito específico a cumplir.

El primer componente tiene de propósito la generación de código fuente en el lenguaje


de programación Python, a partir de un modelo de clases UML en formato .xmi (XML de
Intercambio de Metadatos) generado por la herramienta StarUML.

La lectura del modelo de clases UML contemplará la definición de clases, en conjunto


con sus atributos y sus operaciones, tomando en cuenta la visibilidad de los atributos y
métodos (público, privado o protegido). Para los atributos se toma en cuenta el tipo de
dato y si este posee un valor por defecto. Para los métodos se toma en cuenta el tipo de
dato que retorna y los posibles parámetros. La lectura contemplará las relaciones entre
clase, en específico la asociación directa, composición, agregación y herencia. La
generación de código se hará en base a las capacidades del lenguaje de programación
Python y de las capacidades de creación de StarUML.

El segundo componente tiene de propósito la generación de un script para el Sistema


Gestor de Base de Datos (SGBD) PostgreSQL, a partir de un modelo físico de Base de
Datos en formato .pdm, escrito en XML, generado por la herramienta PowerDesigner.

La lectura y generación del script de Base de Datos se realizará en base a las


capacidades de PowerDesigner, trabajando el modelo físico con el SGBD especificado
PostgreSQL 8.0.

El tercer componente es el probador de código es el probador de código fuente en el


lenguaje de programación Python.

Para la versión 1.0 del documento de Especificación de Requisitos del Software (ERS),
correspondiente al incremento 01, se contemplarán los primeros dos componentes, el
generador de código fuente en Python, y el generador de script de Base de Datos en
PostgreSQL.

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 6
Especificación de requisitos de software

1.3 Personal involucrado


Nombre Gabriel Alejandro Hidalgo Rodríguez
Rol Jefe de Proyecto
Categoría profesional Bachiller
Responsabilidades • Asignar el personal y los recursos a las actividades.
• Organización y seguimiento del plan de desarrollo.
• Gestión de riesgos y prioridad de tareas.
Información de contacto hr17016@ues.edu.sv
Aprobación

Nombre Oscar Omar Lizama Escobar


Rol Analista de Sistemas
Categoría profesional Bachiller
Responsabilidades • Captura y validación de requisitos de software.
• Elaboración del modelo de análisis y diseño.
• Elaboración de pruebas funcionales y modelo de
datos.
Información de contacto le17004@ues.edu.sv
Aprobación

Nombre Carlos Enrique Paredes Pastrán


Rol Ingeniero de Software
Categoría profesional Bachiller
Responsabilidades • Gestión de requisitos de software.
• Gestión de configuración y cambios.
• Implementación y despliegue.
Información de contacto pp17012@ues.edu.sv
Aprobación

Analistas/Programadores
Nombre Habilidades Contacto
Cristian Alexis Hernández Desarrollo de aplicaciones web con hz18004@ues.edu.sv
Zamora tecnologías del lado del cliente y
servidor.
Bryan Giovanni Berrios Desarrollo de aplicaciones web con bh16004@ues.edu.sv
Hernández tecnologías del lado del cliente y
servidor.
Ronald Ernesto Ayala Lara Desarrollo de aplicaciones web con al18044@ues.edu.sv
tecnologías del lado del cliente y
servidor.
Pedro Antonio Girón Díaz Desarrollo de aplicaciones web con gd18006@ues.edu.sv
tecnologías del lado del cliente y
servidor.
Mónica Anabel Anaya Desarrollo de aplicaciones web con al17015@ues.edu.sv
López tecnologías del lado del cliente y
servidor.
Benneth Daniel Miguel Desarrollo de aplicaciones web con mc15048@ues.edu.sv
Chinchilla tecnologías del lado del cliente y
servidor.

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 7
Especificación de requisitos de software

1.4 Definiciones, acrónimos y abreviaturas


Definiciones:

• Lenguaje de Marcado Extensible (XML): Es un metalenguaje que permite


definir lenguajes de marcas. Utilizado para almacenar datos de forma legible.
• Lenguaje Unificado de Modelado: Es el lenguaje de modelado de sistemas de
software más conocido y utilizado.
• PowerDesigner: Herramienta colaborativa de modelado empresarial producida
por Sybase.
• Python: Es un lenguaje de programación interpretado y multiparadigma, ya que
soporta la orientación a objetos.
• StarUML: Herramienta de modelado UML desarrollada por MKLab.
• XML de Intercambio de Metadatos (XMI): Especificación para el intercambio
de Diagramas.

Acrónimos y abreviaturas:

• DBA: Administrador de Base de Datos


• ERS: Especificación de Requisitos de Software.
• GYPC: Generador Y Probador de Código.
• JSF: JavaServer Faces.
• SGBD: Sistema Gestor de Base de Datos.
• UML: Lenguaje Unificado de Modelado.
• XMI: XML de Intercambio de Metadatos.
• XML: Lenguaje de Marcado Extensible.

1.5 Referencias
Referencia Titulo Ruta Fecha Autor
Ref#01 Especificación de - 21/10/2020 Carlos Pastrán
casos de uso

1.6 Resumen
El presente documento describe de manera general la herramienta de software a
desarrollar, en que consiste y qué es lo que se busca al desarrollarla. Luego presenta
una descripción de la herramienta junto con el comportamiento que tiene, y los usuarios.
Finalmente se listan los requisitos de la herramienta de software, identificando requisitos
generales, funcionales y no funcionales.

2 Descripción general
2.1 Perspectiva del producto
La herramienta de software es independiente en su funcionamiento, Las entradas al
sistema son dependientes de los resultados de las herramientas StarUML y
PowerDesigner, para cada uno de sus procesos de generación respectivos. Los
resultados producidos están destinados a ser utilizados en los ambientes de Python y
PostgreSQL respectivamente.

2.2 Funcionalidad del producto


La herramienta de software cuenta con tres componentes con funcionalidades
claramente definidas.

El primer componente tiene la funcionalidad de leer un modelo de clases UML, validarlo


la lectura realizada para poder generar finalmente un archivo con la especificación de las
clases, a ser ejecutado en un entorno Python.

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 8
Especificación de requisitos de software

El segundo componente tiene la funcionalidad de leer un modelo físico de Base de


Datos, validar la lectura realizada para poder generar finalmente un script con las
instrucciones para crear tablas y sus campos respectivos, en el SGBD PostgreSQL.

2.3 Características de los usuarios


Tipo de usuario Programador, Analista
Formación Educación Media/Superior
Habilidades Manejo de herramienta informática
Conocimiento sobre análisis y diseño de sistema
(modelado)
Conocimiento de Programación/Lenguajes de
Programación
Actividades Generar código fuente en Python

Tipo de usuario Analista, DBA


Formación Educación Media/Superior
Habilidades Manejo de herramienta informática
Conocimiento sobre análisis y diseño de sistema
(modelado)
Conocimiento de Base de Datos
Actividades Generar script de Base de Datos en PostgreSQL

2.4 Restricciones
• Metodología de desarrollo Incremental
• Lenguaje de Programación Java
• Framework para aplicaciones Java Web “JavaServer Faces” (JSF)
• Servidor de aplicaciones web Glassfish / Apache Tomcat
• Compatibilidad de Salidas:
o PostgreSQL 8.0 o superior
o Python 3.0 o superior

2.5 Suposiciones y dependencias


Las entradas del sistema, es decir, los modelos a cargar en la herramienta son aquellos
disponibles en las versiones actuales de las siguientes herramientas:
• StarUML en su versión 4.0.0, con la extensión XMI v0.9.4
• PowerDesigner en su versión 16.1.0
En base a lo descrito se hace el supuesto que el formato y la estructura de los archivos
producidos por las herramientas no cambiará.

2.6 Evolución previsible del sistema


La herramienta “GYPC” tiene como evolución previsible:

• Implementación de métodos y clases abstractas en el generador de código


fuente en Python.
• Manejo de los tipos de relaciones entre clases no contemplados en el generador
de código fuente en Python.
• Integración de otras características de PowerDesigner para la ejecución de otras
instrucciones en el generador de script de Base de Datos en PostgreSQL.

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 9
Especificación de requisitos de software

3 Requisitos específicos
3.1 Requisitos comunes de los interfaces
Las entradas del sistema son las siguientes:
• Archivo de Modelo de Clases UML en formato .xmi, generado por StarUML
• Archivo de modelo físico de Base de Datos en formato .pdm, definido basandose
en XML, generado por PowerDesigner, con el SGBD PostgreSQL.
Las salidas del sistema tendrán las siguientes características:
• Archivo de código fuente en Python con extensión .py, que contenga la
definición de todas las clases con sus atributos, métodos y relaciones.
• Archivo de script de Base de Datos para ser ejecutado en el SGDB PostgreSQL,
definiendo todas las tablas con sus campos y las relaciones entre ellas.

3.1.1 Interfaces de usuario


La herramienta de software contará con una interfaz definida para cada uno de
sus componentes, en conjunto con una interfaz de bienvenida que enlaza a los
componentes. A continuación, se muestran los prototipos de las interfaces:

Ilustración 1: Boceto de la página de Bienvenida

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 10
Especificación de requisitos de software

Ilustración 2: Boceto de Generador de código fuente en Python

Ilustración 3: Boceto de Generador de script de Base de


Datos para PostgreSQL

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 11
Especificación de requisitos de software

3.1.2 Interfaces de hardware


La herramienta GYPC podrá ser utilizado desde PC, teléfonos inteligentes,
Tablets, o cualquier otro dispositivo que sea compatible con un navegador web y
se encuentre conectado a la red en la cual se encuentre desplegada la
herramienta.

3.1.3 Interfaces de software


La herramienta GYPC requiere de su despliegue en un servidor de aplicaciones
web, como Apache Tomcat o Glassfish, para poder ser accedido. Asimismo,
necesita de la instalación de un navegador web.

3.1.4 Interfaces de comunicación


La comunicación principal entre el navegador y el servidor de aplicaciones web
será a través del protocolo HTTP. Accediendo mediante la dirección y el puerto
registrada en el servidor.

3.2 Requisitos funcionales


3.2.1 Requisito funcional 1
Número de requisito RF01
Nombre de requisito Leer Modelo UML
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Alta

Descripción: El usuario espera poder cargar un archivo que representa un


diagrama de Clases UML, se deberá verificar que el archivo subido sea el formato
correcto (.xmi). Se deberá leer el archivo subido y almacenar los datos necesarios
para la generación de código fuente.

3.2.2 Requisito funcional 2


Número de requisito RF02
Nombre de requisito Leer Modelo físico de Base de Datos
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Alta

Descripción: El usuario espera poder cargar un archivo que representa un


modelo físico de Base de Datos, se deberá verificar que el archivo subido sea el
formato correcto (.pdm). Se deberá leer el archivo subido y almacenar los datos
necesarios para la generación de un script de Base de Datos.

3.2.3 Requisito funcional 3


Número de requisito RF03
Nombre de requisito Generar código fuente
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Alta

Descripción: El usuario espera poder descargar un archivo escrito en el lenguaje


de programación Python (.py). El archivo deberá de contener la definición de
todas las clases y sus relaciones, que se encontraban definidas en el diagrama

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 12
Especificación de requisitos de software

de clases subido, en conjunto con los atributos y las operaciones definidas dentro
de cada clase. El usuario espera que el archivo generado esté correctamente
definido y se pueda ejecutar sin ningún problema.

3.2.4 Requisito funcional 4


Número de requisito RF04
Nombre de requisito Generar Script de Base de Datos
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Alta

Descripción: El usuario espera poder descargar un script de Base de Datos,


escrito utilizando instrucciones SQL (.sql), a ser ejecutado en el SGBD
PostgreSQL. El archivo deberá de contener la definición de todas las tablas y sus
relaciones, que se encontraban definidas en el modelo físico de Base de datos
cargado, en conjunto con sus campos y llaves. El usuario espera que el archivo
generado esté correctamente definido y se pueda ejecutar sin ningún problema.

3.3 Requisitos no funcionales


3.3.1 Requisitos de rendimiento

Número de requisito RNF01


Nombre de requisito Rendimiento
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Bajo

La herramienta GYPC está destinada a ser utilizada por los usuarios en


instancias locales, por lo cual no tendrá una carga alta sin demandar demasiados
requisitos al sistema. El proceso de lectura, generación y descarga de ambos
componentes (Python y PostgreSQL) se debe realizar en menos de 3 segundos.

3.3.2 Seguridad
Número de requisito RNF02
Nombre de requisito Seguridad
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Media

La herramienta GYPC deberá mantener un correcto manejo de las distintas


peticiones que se realizan sobre la red en la que esté corriendo.

3.3.3 Fiabilidad
Número de requisito RNF03
Nombre de requisito Fiabilidad
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Alta

La herramienta GYPC deberá ser funcional en su ejecución y en las salidas


producidas, procurando cumplir con un 90% de confiabilidad en ambos procesos.

Descripción de requisitos del sofware


Generador de código fuente y pruebas de ejecución
Pág. 13
Especificación de requisitos de software

3.3.4 Disponibilidad
Número de requisito RNF04
Nombre de requisito Disponibilidad
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Media

La herramienta GYPC debe tener el 95% de disponibilidad cuando se esté


corriendo el servicio de aplicaciones web en la red que esté montada, salve por
los momentos dedicados al mantenimiento de la herramienta.

3.3.5 Mantenibilidad
Número de requisito RNF05
Nombre de requisito Mantenibilidad
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Media

El mantenimiento destinado a la herramienta GYPC debe ser del tipo preventivo,


en base a las entradas que puede recibir la herramienta. El encargado del
mantenimiento será el Ingeniero de Software del proyecto, en conjunto con el
equipo de desarrollo.

3.3.6 Portabilidad
Número de requisito RNF06
Nombre de requisito Portabilidad
Tipo Requisito
Fuente del requisito Usuario
Prioridad del requisito Baja

La herramienta GYPC deber ser funcional en cualquier Sistemas Operativos, y en


cualquier navegador web compatible con las tecnologías utilizadas o
renderizadas, HTML, CSS y Javascript. El 80% de los componentes de la
herramienta GYPC estarán en el servidor.

Descripción de requisitos del sofware

También podría gustarte