Está en la página 1de 22

INGENIERIA DE SOFTWARE

Trabajo Final de Carrera


ANLISIS Y DISEO DE UN PORTAL
DE VENTA DE LIBROS EDUCATIVOS

Jordi Cid Rodrgue ! ETIG !
Consultor: Jos Antonio Raya Martos
Septiembre 2011


O"#e$i%o
El objetio de este proye!to "a !onsistido en reali#ar el an$lisis y dise%o de una apli!a!i&n We" B&C' de
(orma )ue a partir de di!"a do!umenta!i&n' se puede ini!iar las (ases de implementa!i&n y eri(i!a!i&n' antes
de su puesta en produ!!i&n*
Cabe se%alar )ue la do!umenta!i&n se "a reali#ado bas$ndome en el len+uaje de modelado U'L ,-ni(ied
Modelin+ .an+ua+e/' bajo el paradi+ma OO ,0bje!t10riented/ y utili#ando UP ,-ni(ied 2ro!ess/ !omo mar!o
de desarrollo' si bien' en este 3ltimo aspe!to y dadas las !ara!ter4sti!as de se!uen!ialidad del proye!to no se
"a podido apli!ar de manera estri!ta y en parti!ular el aspe!to iteratio e in!remental*
0tras tres !ara!ter4sti!as )ue se "an tenido en !uenta en el proye!to son:
2or un lado la apli!a!i&n de patrones de dise%o y en parti!ular los rela!ionados !on la asi+na!i&n de
responsabilidades GRASP ,5eneral Responsibility Assi+nment So(t6are 2atterns/*
2or otro e inspir$ndome en los prin!ipios de 'DA ,Model17rien Ar!"ite!ture/ se "a pro!urado separar los
re)uerimientos (un!ionales y de dise%o de la in(raestru!tura o plata(orma te!nol&+i!a' de (ormar )ue di!"o
an$lisis y dise%o pueda ser reutili#able' es por ello' )ue en este trabajo se "a eitado "a!er alusi&n a aspe!tos
rela!ionados !on una te!nolo+4a de implementa!i&n espe!4(i!a*
2or 3ltimo y !omo !onse!uen!ia de !onsiderar !omo mar!o de desarrollo -2' se "a pro!urado )ue sean los
!asos de uso el aspe!to !entral y mas releante sobre el !ual se desplie+a todo el resto de arte(a!tos de
an$lisis y dise%o utili#ados en este trabajo* 7e (orma )ue la in+enier4a de re)uisitos y en parti!ular los !asos
de uso se !onierte en el eje ertebrador de di!"o trabajo*

De(i)i*i+) de, -ro.e*$o
.a empresa A+ora Junior S*A*' est$ espe!iali#ada en la enta de libros in(antiles y jueniles* Con el objetio
de in!rementar y +lobali#ar el ne+o!io se "an planteado !omo primer paso abrir un nueo !anal de enta
por 8nternet*
Consideran )ue este nueo !anal puede ser a lar+o pla#o una buena plata(orma )ue le permitir$ darse a
!ono!er y e9tender sus entas a niel mas +lobal* 2ara ello y en el !orto pla#o' "a de!idido abrir un sitio
6eb b$si!o para )ue se pueda !onsultar su !at$lo+o de libros y enta de stos* Tambien y !on el objetio de
(ideli#ar a los !lientes e in!entiar las !ompras por 8nternet' se )uiere de(inir y poner en mar!"a !ampa%as
)ue premiar$n al !liente en (un!i&n del olumen de !ompras reali#adas por ste*
Como se "a !omentado anteriormente se trata de !rear un sitio 6eb b$si!o pero a su e# en el medio y
lar+o pla#o !on !apa!idad de !re!imiento y amplia!i&n de nueas (un!ionalidades y estos son aspe!tos )ue
se "an de !onsiderar tanto en el an$lisis !omo en el dise%o de la apli!a!i&n*

Ci*,o de %id/ de, -rodu*$o
Todo y )ue en mu!"os aspe!tos -2 "a sido el mar!o de re(eren!ia a la "ora de reali#ar este trabajo* 7ebido a
la se!uen!ialidad para la (inali#a!i&n de los di(erentes apartados del proye!to' se "a utili#ado la metodolo+4a
de produ!!i&n mas !om3n y !ono!ida !omo SDLC ,Systems deelopment li(e !y!le/ )ue representa las (ases
se!uen!iales por las )ue pasa un sistema de in(orma!i&n a lo lar+o de su ida 3til* Este !i!lo se !ompone de
las si+uientes etapas:
en nuestro !aso la etapa de implementa!i&n' eri(i!a!i&n y mantenimiento no se tendr$n en !uenta'
!entr$ndonos e9!lusiamente en el an$lisis de re)uisitos y dise%o*

P,/)i(i*/*i+)
.a plani(i!a!i&n detallada de las tareas del proye!to y los objetios de !ada una de ellas' )ued& de la si+uiente
manera:

Re,/*i+) e)$re /r$e(/*$o0 U'L de, UP
Caso de uso :
1* Entrar !&di+o*
2* Entrar nombre
;***********
'ode,o de, Do1i)io
'ode,o de C/0o0 de U0o
'ode,o de Di0e2o
:-suario
:Sistema
CrearCliente,/
8ntrodu!irCodi+o,/
-suario
Caso de uso :
Clase Con!eptual :
Rela!ion 1
< 1 Atributo :
7ia+ramas de Se!uen!ia del Sistema 7ia+ramas de Casos de -so
:Controlador
:-suario :Cliente
7ia+ramas de Se!uen!ia
CrearCliente,/
=*********
Cliente
2edido
CrearCliente,/
<ombre
=*****
1 <
Rela!ion 1
7ia+ramas de Clases

A)3,i0i04 A*$ore0!C/0o0 de U0o
7entro del an$lisis el primer paso a !onsistido en identi(i!ar los !asos de uso y sus a!tores* Como resultado de
ello se "a obtenido la si+uiente rela!i&n*

A)3,i0i04 'ode,o de Do1i)io
En nuestro sistema se "a identi(i!ado y estru!turado el modelo de dominio en los si+uientes pa)uetes>m&dulos:
1<i(
1<ombre
1Apellidos
Administrador
1<i(
1<ombre
1Apellidos
1C&di+o postal
12roin!ia de enio
12obla!i&n de enio
17ire!!i&n de enio
1Tel(ono
1e1mail
10bsera!iones
So!io
1usuario
1pass6ord
Contrase%as
1
1
1
1
tiene
tiene
8denti(i!a!i&n::Administrador
18S?<
1T4tulo
1Editorial
1Es!ritor
1Cate+or4a
17esde edad
1@asta edad
12A2
12re!io o(erta so!io
1Fe!"a baja
1Administrador baja
.ibro
1<ombre
1Fe!"a ini!io
1Fe!"a (in
C/1-/2/
Aentas::.inea de pedido
1<ombre
1Fe!"a baja
1Administrador baja
C/$egor/
1
0**B
1
0**B
1
0**B
1
0**B
0**B
1
18mporte a!umulado
18mporte boni(i!a!i&n
.inea !ampa%as
1 1**B
+estiona
+estiona
+estiona
!ontiene
pertene!e
pertene!e
P/5ue$e Produ*$o0 P/5ue$e Ve)$/0 P/5ue$e Ide)$i(i*/*i+)

A)3,i0i04 C/0o0 de U0o
En el proye!to se "an identi(i!ado los 1C !asos de uso !omentados anteriormente* 2or ra#ones de espa!io se
muestran 2 de ellos:

A)3,i0i04 Di/gr/1/ de 0e*ue)*i/
En esta (ase los dia+ramas de se!uen!ia del sistema "an de mostrar los eentos del sistema de entrada y salida
rela!ionados !on los !asos de uso* Es de!ir' se trata de representar los eentos )ue parten de los a!tores e9ternos
"a!ia el sistema* Es pues una isi&n de !aja ne+ra sobre el sistema' des!ribiendo 5ue "a!e el sistema' sin e9pli!ar
*o1o lo "a!e* 2or !ada !aso de uso tenemos un dia+rama de se!uen!ia' )ue al i+ual )ue en el apartado anterior'
por ra#ones de espa!io solo se representar$n los dia+ramas !orrespondientes a los 2 anteriores !asos de uso*
:Administrador
:Sistema
!rearFormularioAltaCate+orias,/
datosCate+oria,!odi+o'nombre/
mensajeAltaCate+orias
C-02 Alta de !ate+or4as
BDm$s !ate+or4asE
:Administrador
:Sistema
crearFormularioConsultaCategorias()
Visualizar categora: codigo, descripcin
C-0; Consulta Cate+or4as
solicitudAccesoCategoria(codigo)

A)3,i0i04 Di/gr/1/ de */0o0 de u0o
7entro de -M. los dia+ramas de !asos de uso nos permite ilustrar de manera +r$(i!a los nombres de los !asos de
uso y los a!tores ' as4 !omo las rela!iones entre ellos* En nuestro proye!to estos ser4an una parte de los dia+ramas
de !asos de uso identi(i!ados:
-suario
So!io
Sele!!i&n libro
Resultado !onsulta
libros
8n!luir l4nea de
pedido
5esti&n del pedido
en !urso
7atos de en4o
?aja l4nea de
pedido
Formali#ar pedido
Alta so!io
FusesG
FusesG
FusesG
Fe9tendsG
Fe9tendsG
Fe9tendsG
Fe9tendsG
Fe9tendsG
Fe9tendsG

Di0e2o4 Ar5ui$e*$ur/ . P/$ro)e0 I
El primer libro )ue se dedi!& al tema de los patrones de ar)uite!tura (ue 20SA ,2attern10riented So(t6are
Ar!"ite!ture/* En este libro se re!o+en las buenas pr$!ti!as de dise%o ar)uite!tural y de (orma espe!ial sobre la
ar)uite!tura l&+i!a a +ran es!ala* En 20SA se d$ una !lasi(i!a!i&n de los patrones a di(erentes nieles:
P/$ro)e0 de /r5ui$e*$ur/: Rela!ionados !on el dise%o a +ran es!ala y de +rano +rueso*
P/$ro)e0 de di0e2o: Rela!ionados !on el dise%o de los objetos y (rame6orHs de pe)ue%a y mediana es!ala*
Apli!ables al dise%o de una solu!i&n para !one!tar los elementos de +ran es!ala )ue se de(inen mediante los
patrones de ar)uite!tura y durante el trabajo de dise%o detallado para !ual)uier aspe!to de dise%o lo!al*
En nuestro !aso apli!aremos el -/$r+) de /r5ui$e*$ur/ C/-/0 ,.ayers/:
.as ideas del patr&n Capas son:
a/ 0r+ani#ar la estru!tura l&+i!a de +ran es!ala de un sistema en !apas separadas de responsabilidades
distintas y rela!ionadas' !on una separa!i&n !lara entre las !apas mas bajas' es de!ir' los seri!ios de bajo
niel y las !apas mas altas' las )ue son mas espe!4(i!as de la apli!a!i&n*
b/ .a !olabora!i&n y a!oplamiento desde las !apas mas altas "a!ia las mas bajas' de (orma )ue se eite el
a!oplamiento entre ambas !apas*
El patr&n Capas se rela!iona !on la ar)uite!tura l&+i!a' es de!ir' des!ribe la or+ani#a!i&n !on!eptual de los elementos
del dise%o en +rupos*

Di0e2o4 Ar5ui$e*$ur/ . P/$ro)e0 II
En -M. los dia+ramas de pa)uetes se utili#an para representar las !apas* En -M. una !apa es un pa)uete*
.as Capas de(inen un modelo +eneral de <1nieles para la ar)uite!tura l&+i!a' en nuestro se "a sele!!ionado ; de
los mas !omunes* Estos son:
C/-/ de -re0e)$/*i+): lo !ompondr$n tanto el aspe!to e9terno de nuestros sistemas ,inter(i!ies de usuario/'
!omo el interno )ue in!luir$ las !lases )ue implementar$n las pantallas y tambien las intera!!iones de estas !lases
!on el resto del sistema* 2ara ello' dentro de esta !apa apli!aremos el patr&n de ar)uite!tura modelo' ista'
!ontrolador*
Cada !lase !ontrol representa un !aso de uso* Re!ibe mensajes de las !lases (rontera ,nun!a de los a!tores
dire!tamente/*
C/-/ de do1i)io: se puede de!ir )ue es la parte esen!ial del dise%o' dado )ue dentro de esta se +estiona las
peti!iones de la !apa de presenta!i&n' los (lujos de trabajo' estado de la sesi&n' transi!iones a entanas>p$+inas y
!on!entra!i&n >trans(orma!i&n de di(erentes datos para la presenta!i&n*
C/-/ de 0er%i*io0 $6*)i*o0: la (orman los seri!ios t!ni!os de alto niel y (rame6orHs y persisten!ia* Esta !apa es
la )ue pone en !one9i&n y rela!i&n las !lases !on!eptuales de la !apa de dominio !on las entidades
)ue (orman la persisten!ia ,base de dados/*
2or 3ltimo y antes de entrar en los dia+ramas de intera!!i&n' "e intentado basarme en los prin!ipios de dise%o
5RAS2* 5RAS2 es el a!r&nimo de 5eneral Responsibility Assi+nment So(t6are 2atterns ,patrones +enerales de
so(t6are para asi+nar responsabilidades/' y lo !omponen arios patrones' en el proye!to sobre todo "e tenido en
!uenta los si+uientes !in!o patrones: E7-er$o e) i)(or1/*i+)' Cre/dor' B/#o A*o-,/1ie)$o' A,$/ Co8e0i+) y
Co)$ro,/dor*

Di0e2o4 Di/gr/1/0 de 0e*ue)*i/
7entro de los dia+ramas de intera!!i&n tenemos los de se!uen!ia o !olabora!i&n' su objetio es representar la
intera!!i&n de mensajes* Cada uno de ellos tienen puntos (uertes y dbiles' el "e!"o de de!antarnos por el
dia+rama de se!uen!ia es por)ue a mi entender re(lejan de (orma sintti!a mejor el enio de mensajes entre
objetos* 2or !ada dia+rama de se!uen!ia de la (ase de an$lisis' tenemos un dia+rama de se!uen!ia en la (ase de
dise%o' en la (ase de dise%o los dia+ramas de se!uen!ia' e9pli!an en el )ue sino el !omo y adem$s en el dise%o de
estos se "a tenido en !uenta los prin!ipios de patrones anteriormente !omentados* Al i+ual )ue en apartados
anteriores' por ra#ones de espa!io solo se representar$n los dia+ramas !orrespondientes a los 2 dia+ramas de
Se!uen!ia' sele!!ionados en el apartado de an$lisis*

Di0e2o4 Di/gr/1/0 de *,/0e0 I
-na e# (inali#ados los dia+ramas de intera!!i&n partiendo de los !asos de uso' y del Modelo de 7ominio ya es
posible identi(i!ar la espe!i(i!a!i&n de las !lases de so(t6are ,e inter(a!es/ )ue parti!ipan en la solu!i&n so(t6are
y a%adirles detalles de dise%o' !omo los mtodos* -M. propor!iona la nota!i&n para representar los detalles de
dise%o en los dia+ramas de !lases de dise%o o DCD9 A di(eren!ia de las !lases !on!eptuales del Modelo del
7ominio' las !lases de dise%o de los 7C7 muestran las de(ini!iones de las !lases so(t6are en lu+ar de los
!on!eptos del mundo real* En el trabajo se "an identi(i!ado por un lado los !ontroladores de dominio y por otro
las !lases* Como !ontroladores y por ra#ones de espa!io solo presentamos una parte de ellos*

Di0e2o4 Di/gr/1/0 de *,/0e0 II
En !uanto a los dia+ramas de !lases' dentro del proye!to se "an a+rupado>estru!turado atendiendo a la
estru!tura por pa)uetes indi!adas anteriormente* 2or ra#&n de espa!io' a)u4 se re(leja solo la estru!tura de
!lases !orrespondiente al pa)uete de produ!tos*

Di0e2o4 Ser%i*io0 T6*)i*o0
.a apli!a!i&n re)uiere )ue se alma!ene y re!uperen la in(orma!i&n en me!anismos de alma!enamiento
persistente' !omo una base de datos rela!ional' y este es en nuestro !aso el objetio b$si!o del niel de
seri!ios t!ni!os* en este estudio tan solo se re(lejar$ la inter(a!e del dominio de (orma )ue )ueden indi!ados
!uales "an de ser los seri!ios )ue tendr4a o tendr$ )iue implementar el (rame6orH )ue se sele!!ione en su
momento* Teniendo en !uenta esto' !on!entraremos todos los seri!ios ne!esarios en una 3ni!a !lase )ue
denominaremos ?7.ibreria*

Di0e2o4 I)$er(i*ie gr3(i*/ :UI;
2ara "a!er el an$lisis de la inter(i!ie +r$(i!a del usuario nos basamos en los dia+ramas de se!uen!ia simpli(i!ados de
los !asos de uso* Cabe se%alar )ue estamos "ablando de un primer dise%o y !omportamiento de las inter(a!es de
usuario y )ue ser4a la idea base para una posterior reisi&n detallada por un e9perto en usabilidad* Al i+ual )ue en
apartados anteriores' por ra#ones de espa!io solo se representar$n los dia+ramas !orrespondientes a los 2
dia+ramas de se!uen!ia' sele!!ionados en el apartado de an$lisis*

Di0e2o4 Di/gr/1/ de E<R
En !ual)uier ne+o!io e1!omer!e' en nuestro !aso estar4amos "ablando de un ?2C' se ne!esita' presentar un !at$lo+o
de nuestros produ!tos' +uardar la in(orma!i&n mas releante de nuestros !lientes>so!ios' et!** y adem$s reali#ar un
mantenimiento !ontinuo de esta in(orma!i&n' para poder isuali#arla en la 6eb a nuestros usuarios* Es por ello' )ue
se re)uiere de un sistema de persisten!ia de datos y para ello ne!esitamos el uso de una base de datos*
En este apartado' lo )ue re(lejamos es la estru!tura y ne!esidad de in(orma!i&n )ue se re)uiere en la base de datos
para nuestro ne+o!io*

Di0e2o4 Te0$ I
7entro de la in+enier4a de so(t6are testear es una a!tiidad orientada a redu!ir los ries+os y mejorar la !alidad del
so(t6are a partir de la lo!ali#a!i&n de (allos* 2ara poder reali#ar la tarea de testeo' es !oneniente )ue !omien!e
desde los primeros momentos' es de!ir ' en los re)uerimientos* 2ara ello se "a de !onsiderar )ue stos "an de
!umplir una !ondi!iones b$si!as para )ue sean testeables* Estas son: los re)uerimientos del proye!to "an de estar
indi!ados de tal (orma )ue puedan ser testeables' los re)uerimientos "an de ser pre!isos y detallados para eitar
re)uerimientos ambi+uos' +aranti#ar )ue no "ay nin+3n re)uerimiento impl4!ito o ine9istente y los re)uerimientos
"an de ser !ompletos' es de!ir' re!o+er todas las !ondi!iones y !omportamiento )ue el usuario espera )ue ten+a el
sistema* Teniendo en !uenta lo anterior tambien se puede er el testin+ !omo un pro!eso )ue est$ rela!ionado !on
el pro!eso de desarrollo*


Di0e2o4 Te0$ II
A parte de tener testin+ en las di(erentes (ases del proye!to' tambien tenemos di(erentes tipos de t!ni!as: testin+
de !aja ne+ra ,bla!H1bo9 testin+/' testin+ de la !aja blan!a ,6"ite1bo9 testin+/* El testin+ se reali#a bajo un es!enario
!on!reto' y sobre todo bajo la perspe!tia del usuario' es de!ir' dise%ar pruebas en (un!i&n de lo )ue "a!e ,ne!esita/
el usuario y no en base a lo )ue "a!e el so(t6are* 2ara obtener estas pruebas' nos podemos basar en los !asos de
uso )ue ya disponemos de las (ases anteriores del proye!to*
Teniendo en !uenta todo lo anterior en nuestros !asos "emos sele!!ionado de(inir el test en la (ase preia a la
implementa!i&n y dentro de los posibles test ,unit test' inte+ration test' stress test' re+resion test' et!**/ "emos
sele!!ionado el -AT o test !ase de a!epta!i&n* Estamos "ablando de un test de !aja ne+ra y el es!enario lo
determinar$n los !ada !aso de uso' tanto el es!enario prin!ipal !omo las e9!ep!iones* Al i+ual )ue en apartados
anteriores' por ra#ones de espa!io solo se representar$n los dia+ramas !orrespondientes a los 2 dia+ramas de
se!uen!ia' sele!!ionados en el apartado de an$lisis*

Co)*,u0io)e0
El objetio !uando ini!ie el trabajo era triple:
1* 2or un lado poner en pr$!ti!a los !ono!imientos sobre in+enier4a de so(t6are y base de datos reali#ado
durante la !arrera*
2* 7esarrollar el proye!to (o!ali#ando todo el an$lisis' dise%o y test a partir de los !asos de uso' es de!ir'
dar relean!ia a los aspe!tos de la in+enier4a de re)uisitos de (orma )ue se !onirtiera en el "ilo
!ondu!tor de todo el trabajo*
;* 8ntrodu!irme en temas de la in+enier4a de patrones' as4 !omo intentar reali#ar el trabajo bajo la
perspe!tia de M7A' )ue sin apli!ar la metodolo+4a propiamente di!"a' si tener en perspe!tia el poder
reali#arlo eitando aludir a !ual)uier plata(orma te!nol&+i!a Espe!4(i!a*
Si los tres objetios eran importantes' para mi el 3ltimo "a resultado ser el mas interesante' sobre todo' por la
noedad de aspe!tos de la in+enier4a de so(t6are noedosos para mi y )ue "e podido introdu!irme a traes de
este trabajo* Sin nin+una duda' todos ellos son aspe!tos )ue espero pro(undi#ar y poner en pr$!ti!a en un
(uturo inmediato* 7esde este punto de ista' aloro el trabajo reali#ado !omo un elemento motiador para
se+uir pro(undi#ando y aprendiendo en este apasionante mundo de la in+enier4a del so(t6are*

También podría gustarte