Está en la página 1de 8

ESPE

PATRONES DE DISEO
ESCUELA POLITECNICA DEL EJRCITO SEDE LATACUNGA

AUTO AUTO_1 AUTO_2 AUTO_3

MARCA CHEVROLET TOYOTA CHEVROLET

MODELO FAMILY HILUX CAMARO

PRECIO 12500 25000 85000

POTENCIA 1500 2500 4000

NUM. PASAJEROS 5 5 5

ESPECIFICACION DE REQUISITOS
Req. (01).- El sistema mostrara la marca y el modelo del mejor auto de entre tres modelos ingresados previamente, comparando el menor costo, la mayor capacidad y la mejor potencia, donde cada uno de los factores tendrn el mismo peso correspondientes al 33.33%. Req. (02).- El sistema almacenara la marca, modelo, costo, potencia y capacidad del automvil.

CASOS DE USO
Ingresar Auto

<<include>> usuario

Calcular mejor Auto

DIAGRAMA DE COMPONENTES
Sistema de seleccion de Autos

INGENIERIA EN SOFTWARE

Marcelo Araujo

ESPE

PATRONES DE DISEO
AUTO +Marca +Modelo +Precio +Potencia +Capacidad +Ingresar_Auto(Marca, Modelo, Precio, Potencia, Capacidad) +Calcular_Auto(Precio, Potencia, Capacidad) +Mostrar_Mejor_Auto(Marca, Modelo)

DIGRAMA DE CLASES

DIAGRAMA DE SECUENCIA DE PROCESOS


sistema : usuario 1 : Datos de Auto()

2 : Mejor Auto()

DIAGRAMA DE SECUENCIA

/appMejorAuto / : Usuario 1 : Ingreso de Auto1()

/ : Auto

2 : Ingresa 1()

3 : Ingreso de Auto 2() 4 : Ingresa 2() 5 : Ingreso de Auto 3() 6 : Ingresa 3()

INGENIERIA EN SOFTWARE

Marcelo Araujo

ESPE

PATRONES DE DISEO
INICIO

FLUJOGRAMA

POTENCIA(W) CAPACIDAD(C) COSTO(S)

W=(POT*40)/100 C=(CAP*30)/100 S=30/(100*COS) P=W+C+S

P1=!P2 AND P1!=P3 AND P2!=P3

P1>P2 AND P1>P3

A1 ES MEJOR

P2>P1 AND P2>P3

A2 ES MEJOR

A3 ES MEJOR

FIN

INGENIERIA EN SOFTWARE

Marcelo Araujo

ESPE INICIO

PATRONES DE DISEO

MARCA MODELO POTENCIA CAPACIDAD COSTO

Potencia=0 Capacidad=0 Costo=0

A1.costo<a2.cos to

A1.costo<a3.cos to

Costo=a1.costo

Costo=a3.costo

A2.costo<a3.cos to

Costo=a2.costo

Costo=a3.costo

A1.pot<a2.pot

A1.pot<a3.pot

potencia=a1.pot

potencia=a3.pot

A2.pot<a3.pot

potencia=a2.pot

potencia=a3.pot

INGENIERIA EN SOFTWARE

Marcelo Araujo

ESPE

PATRONES DE DISEO

A1.capac<a2.capac

A1.capac<a3.capac

Capacidad=a1.capac

Capacidad=a3.cap

A2.capac<a3.capac

Capacidad=a2.capac

Capacidad=a3.capac

Par1=(costo*33,33)/a1.costo Par2=(a1.pot*33,33)/a1.pot Par3=(a1.capacidad*33,33)/a1.capac Calificacin=par1+par2+par3

Imprimer major auto: Marca+Modelo+calificacion

FIN

INGENIERIA EN SOFTWARE

Marcelo Araujo

ESPE

PATRONES DE DISEO

CODIGO
package appmejorauto; /** * * @author marcelo */ public class Auto { String marca; String modelo; float costo; int potencia; int capacidad; float calificacion; public void ingresarAuto(String mar, String mod, float cos, int pot, int cap){ this.marca=mar; this.modelo=mod; this.costo=cos; this.potencia=pot; this.capacidad=cap; } public void calificarAuto(Auto A1, Auto A2, Auto A3){ float par1; float par2; float par3; float cos; int pot; int cap; if(A1.costo<A2.costo) if(A1.costo<A3.costo) cos=A1.costo; else cos=A3.costo; else if(A2.costo<A3.costo) cos=A2.costo; else cos=A3.costo; if(A1.potencia>A2.potencia) if(A1.potencia>A3.potencia) pot=A1.potencia; INGENIERIA EN SOFTWARE Marcelo Araujo

ESPE

PATRONES DE DISEO
else pot=A3.potencia; else if(A1.potencia>A3.potencia) pot=A2.potencia; else pot=A3.potencia; if(A1.capacidad>A2.capacidad) if(A1.capacidad>A2.capacidad) cap=A1.capacidad; else cap=A3.capacidad; else if(A2.capacidad>A3.capacidad) cap=A2.capacidad; else cap=A3.capacidad; par1=(float)(cos*33.33)/A1.costo; par2=(float)(A1.potencia*33.33)/pot; par3=(float)(A1.capacidad*33.33)/cap; A1.setCalificacion(par1+par2+par3); par1=(float)(cos*33.33)/A2.costo; par2=(float)(A2.potencia*33.33)/pot; par3=(float)(A2.capacidad*33.33)/cap; A2.setCalificacion(par1+par2+par3); par1=(float)(cos*33.33)/A3.costo; par2=(float)(A3.potencia*33.33)/pot; par3=(float)(A3.capacidad*33.33)/cap; A3.setCalificacion(par1+par2+par3);

} public void mostrarMejorAuto(Auto A1, Auto A2, Auto A3){ System.out.println(A1.getMarca()+" "+A1.getModelo()+" "+A1.getCalificacion()); System.out.println(A2.getMarca()+" "+A2.getModelo()+" "+A2.getCalificacion()); System.out.println(A3.getMarca()+" "+A3.getModelo()+" "+A3.getCalificacion()); } public float getCalificacion() { return calificacion; } public String getMarca() { return marca; } INGENIERIA EN SOFTWARE Marcelo Araujo

ESPE

PATRONES DE DISEO

public String getModelo() { return modelo; } public void setCalificacion(float calificacion) { this.calificacion = calificacion; } }

INGENIERIA EN SOFTWARE

Marcelo Araujo

También podría gustarte