UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
INGENIERÍA EN SISTEMAS Y COMPUTACIÓN
PARCIAL N° 3 INGENIERÍA DE SOFTWARE 2
Profesora: Rebeca Vergara C. ESTUDIANTE: _Cesar Mera
Problemas de Aplicación. Valor 30 Puntos. PUNTAJE OBTENIDO: ______
1. Elabore un diagrama de Producción para modelar la distribución de un Sistema de
Registro Médicos y Control de Trazabilidad Sanitaria el cual cuenta con un servidor de
Aplicaciones Apache Tomcat que maximizan la eficacia operativa y optimizan la
flexibilidad en cualquier escala, un servidor web , un servidor de correo , un servidor
DNS que se conecta al servidor web y al servidor de correo ,una computadora desktop
del cliente conectada al servidor web vía Internet , un nodo del usuario móvil que se
conecta través de la interfaz móvil al servidor web, un nodo del administrador
conectado a través de intranet al servidor de aplicaciones , un servidor de base de
datos con JDBC conectado al servidor de aplicaciones, una impresora central
conectada al servidor de aplicaciones.
R,.
2. Elabore la prueba de caja blanca (flujo básico) o prueba de caja negra, para un programa
que lea tres variables correspondientes a los tres lados del triángulo y calcule el tipo del triángulo
dependiendo del valor de sus lados, clasificarlos en sus categorías (equilátero, isósceles y
escaleno) e imprima el tipo de triángulotriangulo y el valor de sus lados.
Triángulo equilátero
El triángulo equilátero es aquel que se caracteriza por tener todos los lados iguales.
Triángulo isósceles
Los triángulos isósceles se caracterizan por tener dos lados iguales y uno diferente.
Triángulo escaleno
Un triángulo escaleno es aquel que se caracteriza por tener todos sus lados y ángulos desiguales,
es decir, diferentes entre sí.
@ Desarrollar el código.
@ Indicar el grafo
@ Número de nodos, aristas, cantidad de caminos
@ Validación de recorrido
Prueba de la Caja Negra
@ Desarrollar el código.
@ Validación de las variables de entrada
@ Tipos y rangos de datos
@ Verificación de las salidas
Prueba de caja blanca
#include <iostream>
using namespace std;
string tipoTriangulo(int a, int b, int c) {
if (a == b && b == c) {
return "Equilátero";
} else if (a == b || a == c || b == c) {
return "Isósceles";
} else {
return "Escaleno";
}
}
int main() {
int a, b, c;
cout << "Ingrese los tres lados del triángulo: ";
cin >> a >> b >> c;
cout << "Tipo de triángulo: " << tipoTriangulo(a, b, c) << endl;
return 0;
}
b. Grafo de Control de Flujo:
Nodos: 7
Aristas: 6
Caminos posibles: 3
c. Validación de recorrido:
Camino 1: Equilátero → N1 → N2 → N3 → N7
Camino 2: Isósceles → N1 → N2 → N4 → N5 → N7
Camino 3: Escaleno → N1 → N2 → N4 → N6 → N7
Prueba de caja negra
#include <iostream>
using namespace std;
string tipoTriangulo(int a, int b, int c) {
if (a <= 0 || b <= 0 || c <= 0) {
return "Lados inválidos";
}
if ((a + b <= c) || (a + c <= b) || (b + c <= a)) {
return "No es un triángulo";
}
if (a == b && b == c) {
return "Equilátero";
} else if (a == b || a == c || b == c) {
return "Isósceles";
} else {
return "Escaleno";
}
}
int main() {
int a, b, c;
cout << "Ingrese los tres lados del triángulo: ";
cin >> a >> b >> c;
cout << "Resultado: " << tipoTriangulo(a, b, c) << endl;
return 0;
}
b. Validación de entradas:
Los valores deben ser números positivos.
Deben cumplir con la desigualdad triangular.
c. Casos de prueba:
Entrada (a, b, c) Tipo esperado Resultado esperado
(5, 5, 5) Equilátero "Equilátero"
(5, 5, 3) Isósceles "Isósceles"
(5, 4, 3) Escaleno "Escaleno"
(0, 0, 0) Lados inválidos "Lados inválidos"
(-1, 2, 2) Lados inválidos "Lados inválidos"
(1, 2, 5) No es triángulo "No es un triángulo"