Sie sind auf Seite 1von 90

!

" $ %

# &'

"

"

(
"

)
+) # , -../

*
# $

A MIS PADRES

RESUMEN
El objetivo del presente trabajo, es aplicar patrones de diseo orientados a objetos, para el anlisis y desarrollo de una Arquitectura de Software en la Facultad de In enier!a Industrial "niversidad #acional $ayor de San $arcos el cual se deno%ina &I#'(A#E' I#)"S'(IA*+, y %edir el i%pacto en el costo de desarrollar el siste%a con patrones y el costo de ,acerlo sin patronesEn la pri%era parte del trabajo, se define los conceptos te.ricos y el escenario en el que se aplican los patrones de diseo, ade%s se incluye una cate ori/aci.n de los patrones %as conocidos en la industria del softwareEn la se unda parte del trabajo se ,ace referencia a los patrones de diseo utili/ados para el desarrollo del siste%a de software &I#'(A#E' I#)"S'(IA*+, donde se procede a esque%ati/arlos y clasificarlos for%al%enteEn la 0lti%a parte del trabajo, se ,ace una descripci.n del siste%a desarrollado, los %.dulos que lo co%ponen, las ,erra%ientas necesarias para su desarrollo- Ade%s se incluye una esti%aci.n del costo del siste%a de software, utili/ando el 1atr.n Infor%ador, y sin su utili/aci.n, para esta esti%aci.n se utili/a el %2todo de 3434$4 5$odelo 3onstructivo de 3ostos6Se incluye, en un ane7a, toda la docu%entaci.n t2cnica detallada del siste%a de software de la I#'(A#E' I#)"S'(IA* de la Facultad de In enier!a Industrial "niversidad #acional $ayor de San $arcos-

D#)I3E )E 34#'E#I)4
)edicatoria ii (esu%en iii Dndice 3ontenido iv Dndice )e Fi uras v Dndice )e 3uadros vii Dndice )e 3.di os viii Introducci.n 1 3apitulo I? El 1roble%a 2 1-1- For%ulaci.n )el 1roble%a 2 1-2- Eustificaci.n 2 1-9- 4bjetivos 9 1-< Fip.tesis 9 3apitulo ii? Funda%entos 'e.ricos < 2Bases 'e.ricas < 3apitulo iii? Arquitectura )el Siste%a 29 9Arquitectura )el Siste%a 29 9-1- 1atrones )e Software "tili/ados 29 9-2- 1atr.n Arquitect.nico )e 9 3apas 29 9-9- 1atr.n Infor%ador 2; 9-<- 1atr.n Sensor 98 9-8- 3o%paraci.n? 4peraci.n '!pica )e Base )e )atos Sin 1atr.n @ 3on 1atr.n Infor%ador 9= 3apitulo iv? )esarrollo Siste%a Intranet Industrial <G <Introducci.n <G <-1- (equeri%ientos <G <-2- >isi.n )el 1royecto <1 <-9- $isi.n )e 1royecto <1 <-<- Alcances )el 1royecto <1 <-8- Especificaciones *en uaje<9 <-;- Funcionalidad )el Siste%a <9 <-:- $etodolo !a <9 <-<- Ferra%ientas 1ara El Anlisis @ )iseo <; <-8- Ferra%ientas 1ara )esarrollo )el Siste%a <= <-;- 3rono ra%a )e 'rabajo 8< 3apitulo >? 3osto )e "tili/ar 1atr.n Infor%ador 8A 8Introducci.n 8A 8-9- E7plicaci.n :; 8-<- Interpretaci.n := 3apitulo >i? 3onclusiones @ (eco%endaciones :A 3onclusiones :A (eco%endaciones =1 Biblio raf!a =2 Closario )e '2r%inos =<

NDICE DE FIGURAS Figura 2.1. Fra%eworH conceptualFigura 2.2. 3iclo de >ida del Software orientado a objetos Figura 2.3. 1atr.n Arquitect.nicoFigura 2.4. "suarios FII "#$S$Figura 2.5. 1atr.n Sin letonFigura 2.6. Ejecuci.n 1atr.n Sin leton Figura 2.7. 1atr.n FaIadeFigura 2.8. Ejecuci.n FaIadeFigura 2.9. 1atr.n 4bserverFigura 2.10. 1atr.n 4bserver Figura 3.1. 1atr.n Arquitect.nico FII "#$S$Figura 3.2. Fi ura de 3lases de 1atr.n Infor%ador Figura 3.3. Base de )atos de $.dulo Biblioteca FII "#$S$ Figura 3.4. Fi ura de 3lases de 1atr.n Sensor Figura 4.1. Interacci.n de "suario con la I#'(A#E' I#)"S'(IA* Figura 4.2 $etodolo !a ("1Figura 4.3. )esarrollo Iterativo Figura 4.4. $odela%iento de 3lasesFigura 4.5. $odela%iento de 3asos de "so 5J)E for -#E'6Figura 4.6. )esarrollo de 3.di o en -#E' 5>isual Studio 2GG96Figura 4.7. $odela%iento de Entidad (elaci.n 5Erwin6Figura 4.8. 3odificaci.n de Base de )atos 5'oad68 ; 1G 12 19 1< 1; 1= 1A 22 2< 2: 9G 9; <2 << <8 <: <: <= <A 8G

<

Figura 4.9. >ista de p ina de *o in Intranet Industrial Figura 4.10. >ista de Fo%e de la Intranet Industrial Figura 4.11. )etalle de #oticias Figura 4.12. >isuali/aci.n de 3ontenido de 3arpeta Figura 4.13. 3rono ra%a de 'rabajo Figura 5.5. Se%anas #ecesarias para co%pletar las operaciones Bsicas Figura 5.6. 3ostos )esarrollo $.dulos Intranet Figura 5.7. 3o%paraci.n 1la/os Esti%ados )esarrollo $.dulos Intranet Figura 5.8. 3o%paraci.n 3ostos Esti%ados )esarrollo $.dulos Intranet

81 81 82 82 89 ;= :1 :2 :9

NDICE DE CUADR S
!a"#a 2.1. 1atrones de )iseo !a"#a 3.1. 1articipantes 1atr.n Infor%ador !a"#a 3.2. 3olaboraciones 1atr.n Infor%ador !a"#a 3.3. 1articipantes 1atr.n Sensor !a"#a 3.4. 3olaboraciones 1atr.n Sensor !a"#a 4.1. )istribuci.n de 1la/os y (ecursos se 0n el ("1 !a"#a 5.1. Factores en esti%aci.n de esfuer/o !a"#a 5.2. Atributos de 3osto !a"#a 5.3.$ Dndice de 3ostos de Software !a"#a 5.4. *!neas de 3.di o por $.dulos 53on 1atr.n6 !a"#a 5.5. *!neas de 3.di o por $.dulos 5Sin 1atr.n6 12 2A 9G 9< <G 89 8; 8= ;G
;1

;9 ;<

!a"#a 5.6. 3uadro 3o%parativo de l!neas de 3.di o 3on "so y Sin "so de 1atr.n Infor%ador !a"#a 5.7. Factores de 3osto !a"#a 5.8. 3onsideraciones de 'ie%pos !a"#a 5.9. 3lculo de Esfuer/o Ajustado y 1roductividad !a"#a 5.10. 3lculo de Esfuer/o Ajustado y 1roductividad !a"#a 5.11. 3lculo de Esfuer/o Ajustado y 1roductividad !a"#a 5.14. 'abla 3o%parativa de Sin 1atr.n versus "so de 1atr.n ;8 ;; ;; ;: ;A ;A :;

NDICE DE C%DIG S
C&'ig( 2.1. I%ple%entaci.n 1atr.n Sin leton C&'ig( 2.2. I%ple%entaci.n 1atr.n FaIade C&'ig( 2.3. I%ple%entaci.n 1atr.n 4bserver C&'ig( 3.1. (efactori/aci.n 1atr.n Infor%ador C&'ig( 3.2. (efactori/aci.n en 3apa Business 1atr.n Infor%ador C&'ig( 3.3. "so 1atr.n Infor%ador C&'ig( 3.4. "so 1atr.n Sensor C&'ig( 3.5. Sin "so de 1atr.n Infor%ador C&'ig( 3.6. Sin "so de 1atr.n Infor%ador C&'ig( 3.7. "so 1atr.n Infor%ador 18 1A 29 99 9< 98 9= 9A 9A <G

IN!R DUCCI%N
)e la %is%a %anera co%o se ,i/o con la introducci.n de partes y patrones reutili/ables en el %bito industrial con el uso de estndares, patrones, partes reutili/ables y l!neas de %ontaje que incre%entaron la productividad industrial a inicios del si lo JJ, el uso de patrones y estructuras recurrentes en el

desarrollo de software se constituye co%o la %ejor for%a de reutili/aci.n siste%tica de estructuras l. icas1ara llevar a cabo la reutili/aci.n de software, se requiere un proceso de

diseo que considere co%o reutili/ar los diseos e7istentes y que or anice e7pl!cita%ente el diseo alrededor de co%ponentes de software e7istentes- *a pro ra%aci.n orientada a objetos satisface los requeri%ientos para el desarrollo de estructuras l. icas reutili/ables)entro de las bondades del uso de patrones en principio, se puede indicar, que su uso si%plifica drstica%ente el proceso de construcci.n de un siste%a de software, reduce los costos de i%ple%entaci.n a trav2s de una infraestructura reutili/able y %ejorar la inte ridad del siste%a as! co%o las verificaciones espec!ficas propias de cada siste%a-

CAPI!U)

I$ E) PR *)EMA

1.1. F RMU)ACI%N DE) PR *)EMA


Aunque ,a e7istido inter2s en la reutili/aci.n de software desde principios de los =G, ,asta ,ace pocos aos ,a sido aceptado co%o un enfoque prctico para el desarrollo de siste%as de software

KS4$$E(>I**EG2L *os analistas y desarrolladores de siste%as de software, tienen que disear y construir siste%as %s co%plejos, escalables, y ,acerlos en %enores pla/os de tie%poMEs posible el desarrollo de siste%as de software por %edio de la reutili/aci.n siste%tica de patrones de softwareN M)e que %anera afecta al costo, y a los pla/os de entre a del siste%aN

1.2. +US!IFICACI%N
*os costos operativos para el diseo, anlisis y desarrollo de siste%as de software co%plejos son altos, por esa ra/.n es necesario orientar la

investi aci.n al desarrollo de aplicaciones de software, ,aciendo uso de t2cnicas que posibiliten la reutili/aci.n de estructuras de software-

1.3.

*+E!I, S *+E!I, GENERA)

1.3.1.

)efinir estructuras l. icas recurrentes bajo un patr.n, estableciendo de esta %anera %acro esque%as para su reutili/aci.n durante el desarrollo de un siste%a, de for%a tal que se incre%ente la productividad en el desarrollo de software-

1.3.2.

*+E!I, S ESPECFIC S
1- >alidar patrones, y linea%ientos definidos, %ediante el desarrollo del siste%a de la Intranet de la Facultad de In enier!a Industrial "niversidad #acional $ayor de San $arcos2- Evaluar y co%parar el desarrollo de un siste%a de software, con el uso de patrones y sin su uso, para ponderar el i%pacto econ.%ico y a,orro de pla/os en proyectos si%ilares9- )esarrollar un siste%a de software escalable, consistente, inte rado y %odular bajo la reutili/aci.n de patrones de software-

1.4 -IP%!ESIS
1robar que el desarrollo de un siste%a co%plejo de software con patrones arquitect.nicos, y de diseo, es una opci.n t2cnica viable, en el desarrollo de una Intranet para Facultad de In enier!a Industrial "#$S$-

1G

CAPI!U)

II$ FUNDAMEN! S !E%RIC S

2. *ASES !E%RICAS
1ara entrar al te%a de los patrones en software, es necesario definir el escenario en el que 2stos se ubican e interact0an-

2.1. AR.UI!EC!URA
"n concepto, de carcter vinculante con los patrones, es el concepto de arquitecturaSe 0n la IEEEOS')P1<:1P2GGG

5&1ractica (eco%endada 1ara *a )escripci.n Arquitect.nica )e Siste%as )e Software Intensivos+6 la arquitectura es &la

or ani/aci.n funda%ental de un siste%a inte rado en sus co%ponentes, la relaci.n entre ellos y el %edio, y los principios que establecen su desarrollo y evoluci.n+ KIEEEP1<:1L

11

Figura 2.1 Fra%eworH 3onceptual- Fu/01/$ KIEEEP1<:1L

*a reco%endaci.n IEEE Std 1<:1P2GGG procura establecer una base co%0n para la descripci.n de arquitecturas de siste%as de software, e i%ple%enta para ello dos t2r%inos bsicos, que son? Arquitectura, y 3lientes

)e all! la i%portancia de esta definici.n que incluye a la arquitectura co%o un conjunto de estructuras recurrentes 5>er Fi ura 2-1-6-

12

2.2. CIC)

DE ,IDA DE SIS!EMAS DE S F!2ARE A *+E! S

RIEN!AD

*os objetos, tienen %ayor potencial de reutili/aci.n que los tradicionales co%ponentes de Software- El 14*I$4(FIS$4 per%ite trabajar el %is%o co%ponente en diferentes conte7tos, y la FE(E#3IA per%ite la reutili/aci.n de propiedades y %2todos de una clase abstracta, sin afectar a la clase ori inal- *a E#3A1S"*A3IQ# a!sla la co%plejidad de un subsiste%a del siste%a que lo contiene&*os investi adores, quienes ,an e7plorado objetos, ,an observado, que estos sur en de un proceso alta%ente iterativo- El %odelo fractal trata de describir las fases de esta actividad iterativa, y describe co%o %adurar y reutili/ar co%ponentes de software resultado de esta iteraci.n+ KF44'A2L-

Figura 2.2. 3iclo de >ida del Software orientado a objetos Fu/01/$ A fractal %odel of t,e lifecycles of reusable objects KF44'A2L-

19

En el Fi ura 2-2 se describe el proceso de evoluci.n del software, desde el prototipado ,asta la consolidaci.n del software, y es en el punto de la consolidaci.n que la evoluci.n del software es diri ida por dos necesidades en conflicto? 516 el software debe satisfacer %s requeri%ientos 526 el software debe ser %s reutili/able KC4FA8L*os nuevos requeri%ientos de parte del cliente, se 0n la KIEEEP1<:1L 5ver fi ura 2-16, aaden nuevas clases y operaciones y talve/ todo un conjunto nuevo de clases ,eredadas, el software pasa a trav2s de un proceso de e7pansi.n ,asta satisfacer los nuevos requeri%ientos-

2.3. PA!R NES DE S F!2ARE


#o es nueva la analo !a que se establece entre la arquitectura tradicional y la arquitectura de software- 3,ristop,er Ale7ander en 1A:: public. su libro A Pattern Language 547ford "niversity 1ress 1A::6, este libro trata sobre planificaci.n urbana y arquitectura de edificios, e introdujo un concepto particular del patr.n- Escribe Ale7ander? ---+3o%o un ele%ento en el %undo, cada patr.n es una relaci.n entre cierto conte7to, cierto sistema de fuerzas que ocurre repetidas veces en ese conte7to y cierta confi uraci.n espacial que per%ite que esas fuer/as se resuelvan- El patr.n es, en su%a, al %is%o tie%po una cosa que pasa en el %undo y la re la que nos dice c.%o crear esa cosa y cundo debe%os crearla-+ KA*E::L-

1<

2.3.1.DEFINICI N
El &patr.n+ es una descripci.n del proble%a y la esencia de su soluci.n de tal for%a que 2sta se pueda reutili/ar en diferentes casos- Es, por lo tanto, una soluci.n dada a un proble%a co%0nKS4$$E(G2L Si se utili/an patrones en las etapas te%pranas del ciclo de vida del software orientado a objetos, dis%inuyendo el ciclo de iteraciones en el ciclo de vida del software orientado a objetos- KC4FA8L- Es necesario indicar, que los acad2%icos de las ciencias de la co%putaci.n sealan, que el ciclo de vida del software nunca ter%ina KF44R@4)E(A8L

2.3.2. *ENEFICI S
)is%inuir n0%ero de iteraciones en el ciclo de vida del software KC4F A8L-

- Ayuda a los desarrolladores y analistas de siste%as de software a


resolver proble%as, en una estructura dada-

- (eco e toda la e7periencia de desarrolladores a un proble%a, y


se le asi na un sentido literal KB(A)AAL-

2.3.3. RE.UISI! S
*os patrones tienen los si uientes ele%entos KC4FA8L? N(3"r/ 4 C#a5i6i7a7i&0$ "na palabra que resu%a y describa el patr.nI01/07i&0? )escribe el proble%a que resuelve A#ia5$ 4tros no%bres por el que es conocido este patr.n

18

M(1i8a7i&0$ )escribe el a%biente en el cual se aplica este patr.n, definiendo un proble%a y co%o el patr.n lo resuelveE51ru71ura. (epresentaci.n Crfica del patr.n, en el a%plia%ente conocido "$* 5"nified $odelin *an ua e6 Par1i7i9a01/5. 3lases y objetos del patr.n y sus responsabilidadesC(#a"(ra7i(0/5$ )escribe la interacci.n entre las clases y objetos para reali/ar sus responsabilidadesC(05/7u/07ia5$ )escribe co%o el patr.n cu%ple los objetivos definidos I39#/3/01a7i&0$ 3uales son los cuidados, y trucos a to%ar en cuenta cuando se utili/a este patr.nC&'ig( '/ U5(? $uestra fra %entos del c.di o que sirva de referencia t2cnica, al %o%ento de i%ple%entarlo U5(5 7(0(7i'(5$ )escribe co%o se ,a utili/ado este patr.n en casos prcticos Pa1r(0/5 R/#a7i(0a'(5$ Seala los patrones, con los que tienen al 0n rado de asociaci.n-

2.3.4.C)ASIFICACI%N
*os patrones, ,an sido a rupados y clasificados por su nivel de abstracci.n? PA!R NES AR.UI!EC!%NIC S "n patr.n Arquitect.nico, que &e7presa el esque%a funda%ental de estructura or ani/acional para los siste%as de software1roveyendo un conjunto de subsiste%as predefinidos, especifica

1;

sus responsabilidades, e incluye las re las y los linea%ientos, para las or ani/aciones y las relaciones entre ellas+ :*MR96; 5>er Fi ura 2-9-61 A ' (Q # )E A (S " I' E 3' 4 # I34 ? $4 )E *4 )E 9 3A 1 A S

TlayerU 3 apa de 1resentaci.n 1--V 1--V TlayerU 3 apa Business 1--V 1--V TlayerU 3apa de )atos

1 ro ve e la in t e rfac e d e u su ario 5 " I6 q u e , ac e p o sib le q u e e l c lie nt e in t e ract 0e c o n e l S ist e % a

3o n t ie n e la W*. ic a d e l #e o c io W d e la o r an i/ac i. n e n c o % p o n e n t e s re u sab le sy d ist rib u id o s

1 ro ve e ac c e so a sist e % as e 7t e rn o s, c o % o Base d e )at o s-

Figura 2.3. 1atr.n Arquitect.nico- Fu/01/$ Elaboraci.n 1ropia PA!R NES DE DISE< En 1AA8 Eric, Ca%%a, (ic,ard Fel%, (alp, Eo,nson y Eo,n >lissides KC4FA8L, plas%an los conceptos de 3,ristop,er Ale7ander en el libro &Design Patters Elements of Reusable Object-Oriented Soft are!" El aporte de este libro es i%portante ya que estableci. los requisitos que debe poseer un patr.n de

1:

diseo orientado a objetos, y recopil. los patrones de diseo %s bsicosEs en este libro que definen 29 patrones de diseo, y los clasifican en tres cate or!as?
C#a5i6i7a7i&0 Pa1r(0/5 '/ Di5/=(
Pa1r(0/5 '/ Cr/a7i&0 Pa1r(0/5 '/ C(39(r1a3i/01( Pa1r(0/5 E51ru71ura#/5 Abstract Factory Builder Factory $et,od 1rototype Singleton 3,ain of (esponsibility 3o%%ander Interpreter Iterator $ediator $e%ento Observer State Strate y 'e%plate $et,od >isitor Adapter Brid e 3o%posite )ecorator Faade Flywei ,t 1ro7y

!a"#a 2.1. 1atrones de )iseo Fu/01/$ )esi 1attern Ele%ents of (eusable 4bjectP4riented Software KCofA8L

A continuaci.n, se e7plica 9 de los 29 patrones de diseo, se 0n su clasificaci.n?

PA!R%N CREACI NA) SING)E! N


Su papel es la de crear una 0nica instancia, y provee un punto lobal de acceso a ella KC4FA8L*a ventaja que el patr.n Sin leton ofrece es que per%ite instanciar una sola ve/ cualquier clase, u objeto, y controlar en el

%bito

lobal

la

creaci.n

de

nuevas instancias, con el

consecuente a,orro de recursos de %e%oria en tie%po de ejecuci.nP(r />/39#($ 'ene%os una clase "suario de la FII, este usuario puede ser un docente, un estudiante o un e%pleado

ad%inistrativo, los tres 0lti%os ,eredan toda funcionalidad y potencia de la clase "suario FII 5>er Fi ura 2-<-6, para instanciar por %edio de un solo punto patr.n Sin letonSe adjunta el dia ra%a "$* del patr.n 5>er Fi ura 2-8-6, el c.di o de i%ple%entaci.n en 3X 5ver 3.di o 2-16, y la fi ura de la ejecuci.n del pro ra%a 5>er Fi ura 2-;-6lobal a las otras clases se usa el

U5uari( FII UNMSM

D(7/01/

E51u'ia01/

P/r5(0a# A '3i0i51ra1i8(

Figura 2.4. "suarios FII "#$S$- Fu/01/$ Elaboraci.n 1ropia

7 #5 U5 u a r i( Y Tp ro p e rtyU c Z u s e r P u ni q u e I n s t a n c e ? c l s " s u a r io Y *o in 5 6 Y *o o u t 5 6 Y (ead 5 6 Y Searc, 5 6 P c ls " s u a r io 5 6 Y C e t "n i q u e In s ta n c e 5 6

In s ta n c ia Clo b al

S i0 g #/ 1 ( 0

7 #5 A #u 30 (

7 #5 D ( 7 / 0 1 /

7 #5 A ' 3i0 i5 1 r a 1 i8 (

Figura 2.5. 1atr.n Sin leton- Fu/01/$ Elaboraci.n 1ropia


using System; using System.Collections; namespace Singleton { /// <summary> /// Descripcin de Patrn de Diseo Creacional Singleton /// Desarrollado por: Paul Lorena /// Creado: !/"#/ ""! /// </summary> class $suario { // %iem&ros Pri'ados pri'ate static $suario (generador; pri'ate )rrayList ('aria&les * ne+ )rrayList,-; pri'ate int (contador * ./; // Constructores protected $suario,{ // Lista de 0aria&les t1is.('aria&les.)dd, 2)lumno de la 344 $5%S%2 -; t1is.('aria&les.)dd, 2Docente de la 344 $5%S%2 -; t1is.('aria&les.)dd, 2Personal de la 344 $5%S%2 -; 6 // %7todos pu&lic static $suario 8et4nstancia,{ i9, (generador ** null { (generador * ne+ $suario ,-; 6 return (generador;

// Propiedades pu&lic string ('ar

{ get { // De'uel'e instancias (contador :* /; return t1is.('aria&les ; (contador <.=oString,-; 6

6 6 /// )plicacin >ue utli?a Patrn de Diseo 2Singleton2 pu&lic class Singleton)pp { pu&lic static 'oid %ain, string;< args { $suario (a/ * $suario.8et4nstancia,-; $suario (a * $suario.8et4nstancia,-; $suario (a@ * $suario.8et4nstancia,-;

Console.AriteLine, 2BBBBBBPatrn SingletonBBBBBBB2 -; Console.AriteLine, 2BBBCreado: Por Paul LorenaBBB2 -; Console.AriteLine, 22 -; // C'aluamos si es la misma instancia i9, ,(a/ ** (a - DD ,(a@ ** (a/- Console.AriteLine, 2Cs la misma instanciaEEEE2 -; else Console.AriteLine, 25o es la misma instanciaEEEE2 -; // 0eri9icamos la creacin de las instancias Console.AriteLine, 22 -; Console.AriteLine, (a/.('ar-; Console.AriteLine, (a .('ar-; Console.AriteLine, (a@.('ar-; Console.Fead,-; 6

C&'ig( 2.1. I%ple%entaci.n 1atr.n Sin leton Fu/01/$ Elaboraci.n 1ropia

Figura 2.6. Ejecuci.n 1atr.n Sin leton- Fu/01/$ Elaboraci.n 1ropia

PA!R%N DE C MP R!AMIEN!

FA?ADE

1rovee una interfase unificada a un conjunto de interfaces en un subsiste%a- Este patr.n define una interfase a alto nivel que ,ace al siste%a, %s fcil de utili/ar- KC4FA8L )ividir un siste%a intensivo en subsiste%a ayuda a dis%inuir la co%plejidad- "no de los principales objetivos de los patrones del diseo es dis%inuir la co%unicaci.n y la dependencia entre los subsiste%as- El 1atr.n FaIade provee una si%ple interfase para %ayor facilidad a los de%s subsiste%asP(r />/39#($ 1ara un %.dulo de e*earnin en la Facultad de

In enier!a Industrial, un estudiante desea saber si un curso virtual esta ,abilitado- 1ara reali/ar esto, el Siste%a debe validar a trav2s de otros subsiste%as 5que constituyen en si %is%os otros %.dulos6 la identidad y el ciclo del usuario 5subsiste%as de "suarios6, que el alu%no no adeude libros 5subsiste%a de

Biblioteca6, y obtener la lista de docu%entos disponibles para el alu%no y para un deter%inado cursoA trav2s del patr.n FaIade se puede definir una sola interfase para invocar a todos los siste%as involucrados con una si%ple l!nea de c.di o9ii0irtual.permisoLectura,(alumno-;

Se adjunta el dia ra%a "$* del patr.n 5>er Fi ura 2-:-6, el c.di o de i%ple%entaci.n en 3X 5ver 3.di o 2-26, y la fi ura de la ejecuci.n del pro ra%a 5>er Fi ura 2-=-6-

E5 1 u ' ia 0 1 /

Fa @ a ' /

$ . dulo de e *e a r nin

F II "#$ S $

Ts ub s ys te % U M& ' u #( U5 u a r i( 5

Ts ubs ys te % U M& ' u #( *i" #i( 1 / 7a

Ts ub s ys te % U M& ' u #( D( 7 u 3/ 01 a 7 i& 0

Figura 2.7. 1atr.n FaIade- Fu/01/$ Elaboraci.n 1ropia

using System; namespace 3aGade { /// <summary> /// Descripcin de Patrn de Diseo 3aGade /// Desarrollado por: Paul Lorena /// Creado: !//"/ ""! /// </summary> // 2Su&Sistema $suarios2 class $suarios { // %7todos pu&lic &ool 0eri9ica4dentidad, )lumno a { Console.AriteLine, 20eri9ica identidad para {"62H a.nom&re -; return true; 6 6 // 2Su&Sistema Ii&lioteca2 class Ii&lioteca { // %7todos pu&lic &ool 5oDe&eLi&ro, )lumno a { Console.AriteLine,20eri9ica li&ros adeudados para2 : a.nom&re -; return true; 6 6 // 2Su&Sistema Documentacin2 class Documentacion { // %7todos pu&lic &ool Separatas0irtuales, )lumno a -

{ Console.AriteLine, 2J&tiene separatas para {"6 2H a.nom&re -; return true; 6 6 class )lumno { // Datos Pri'ados pri'ate string 5om&re; // Constructores pu&lic )lumno, string nom&re { t1is.5om&re * nom&re; 6 // Propiedades pu&lic string nom&re { get{ return 5om&re; 6 6

6 // 2Patrn 3aGade2 class eLearning { // Campos pu&lic string nom&re(curso; pri'ate $suarios usuario * ne+ $suarios,-; pri'ate Ii&lioteca &i&lioteca * ne+ Ii&lioteca,-; pri'ate Documentacion documentacion * ne+ Documentacion,-; // Constructores pu&lic eLearning, string (nom&re(curso { t1is.nom&re(curso * (nom&re(curso; 6 // %7todos pu&lic &ool permisoLectura, )lumno a { // 0eri9ica a1orros i9, Eusuario.0eri9ica4dentidad , a - return 9alse; i9, E&i&lioteca.5oDe&eLi&ro , a - return 9alse; i9, Edocumentacion.Separatas0irtuales , a -return 9alse; return true; 6 pu&lic string (nom&re(curso { get {return nom&re(curso ;6 6 6 /// <summary> /// Cliente 3aGade /// </summary> pu&lic class 3acade)pp { pu&lic static 'oid %ain,string;< args{

Console.AriteLine, 2BBBBBBPatrn 3aGadeBBBBBBB2 -; Console.AriteLine, 2BBBCreado: Por Paul LorenaBBB2 -; Console.AriteLine, 22 -; // Creacion Patrn 3acade eLearning 9ii0irtual * ne+ eLearning,2%antenimiento %ec2-; )lumno (alumno * ne+ )lumno ,2Paul Lorena2-; // Llamada de otros Sus&sistema por 3aGade 9ii0irtual.permisoLectura,(alumno-; Console.Fead ,-; 6 6

C&'ig( 2.2. I%ple%entaci.n 1atr.n FaIade Fu/01/$ Elaboraci.n 1ropia

Figura 2.8. Ejecuci.n 1atr.n FaIade- Fu/01/$ Elaboraci.n 1ropia

PA!R%N DE C MP R!AMIEN!

*SER,ER

)efine una dependencia uno a %uc,os entre los objetos, de tal for%a que cuando uno de los objetos ca%bia de estado, todas sus dependencias son actuali/adas y notificadas auto%tica%ente KC4FA8LEste patr.n de diseo en el %bito de co%porta%iento, es una ,erra%ienta %uy 0til para la co%unicaci.n de ca%bio de estado entre los objetos y los co%ponentesP(r />/39#($ Si la 1anader!a de la FII "#$S$, ,a decidido ,acer una %odificaci.n en el precios de los panetones, o en los pla/os de entre a de producto finales, es necesario que todos los co%ponentes 5clases, y otros subsiste%as6 sean notificados

rpida%ente, sin que el desarrollador se preocupe de i%ple%entar estas co%unicaciones a bajo nivel 5en el %bito de c.di o6, estructural%ente el patr.n 4bserver, notifica a todos los Siste%as de la "niversidad 5(ectorado y Facultades relacionadas6 ca%bio de estado o precio 5ca%bio de l. ica de ne ocio, etc-6 Se adjunta el dia ra%a "$* del patr.n 5>er Fi ura 2-A-6, el c.di o de i%ple%entaci.n en 3X 5ver 3.di o 2-96, y la fi ura de la ejecuci.n del pro ra%a 5>er Fi ura 2-1G-6I1/3 Y #otificar 5 6 "5/r8a'(r Y "pdate 5 6

el

C(01r(#I1/3 Y etState 5 6 Y setState 5 6 "sa E51a'(I1/3 "sa Y etAtributo 5 6 Y setAtributo 5 6 1A'(Q# 4BSE(>E( 1(4@E3'4?FIIP"#$S$ E*AB4(A)4? 1A"* *4(E#A FE3FA? 11[G8[2GG< $4)IFI3A)4? 11[G8[2GG< G--1

"5/r8a'(rC(07r/1( Y Estado4bservador Y "pdate 5 6

Figura 2.9. 1atr.n 4bserver- Fu/01/$ Elaboraci.n 1ropia

using System; using System.Collections; namespace J&ser'er { /// <summary> /// Descripcin de Patrn de Diseo Comportamiento J&ser'er /// Desarrollado por: Paul Lorena /// Creado: !/"#/ ""! /// </summary> a&stract class StocK { // Datos Pri'ados protected string sym&ol; protected dou&le precio; pri'ate )rrayList agentes * ne+ )rrayList,-; // Constructor pu&lic StocK, string sym&olH dou&le precio { t1is.sym&ol * sym&ol; t1is.precio * precio; 6 // %7todos pu&lic 'oid )ttac1, 4n'estor in'estor { agentes.)dd, in'estor -; 6 pu&lic 'oid Detac1, 4n'estor in'estor { agentes.Femo'e, in'estor -; 6 pu&lic 'oid 5oti9y,{ 9oreac1, 4n'estor i in agentes i.$pdate, t1is -; 6 // Propiedades pu&lic dou&le Precio { get{ return precio; 6 set { precio * 'alue; 5oti9y,-; 6 6 pu&lic string Sym&ol { get{ return sym&ol; 6 set{ sym&ol * 'alue; 6 6

// 2ConcreteSu&Lect2

class Paneton : StocK { // Constructor pu&lic Paneton, string sym&olH dou&le precio : &ase, sym&olH precio {6 6 // 2Patrn J&ser'er2 inter9ase 44n'estor { // %7todos 'oid $pdate, StocK stocK -; 6 // 2ConcreteJ&ser'er2 class 4n'estor : 44n'estor { // Datos Pri'ados pri'ate string name; pri'ate string o&ser'erState; pri'ate StocK stocK; // Constructores pu&lic 4n'estor, string name { t1is.name * name; 6 // %7todos pu&lic 'oid $pdate, StocK stocK { Console.AriteLine, 2Comprador {"6 noti9icado cam&io de { :C62H nameH stocK.Sym&olH stocK.Precio -; Console.AriteLine,22-; 6 // Propiedades pu&lic StocK StocK { get{ return stocK; 6 set{ stocK * 'alue; 6 6

precio {/6

/// <summary> /// J&ser'er)pp test /// </summary> pu&lic class J&ser'er)pp { pu&lic static 'oid %ain, string;< args { // Crea )gentes 4n'estor s * ne+ 4n'estor, 2Fectorado $5%S%2 -; 4n'estor & * ne+ 4n'estor, 23)C. )dministracin2 -;

Console.AriteLine, 2BBBBBBPatrn J&ser'erBBBBBBB2 -; Console.AriteLine, 2BBBCreado: Por Paul LorenaBBB2 -; Console.AriteLine, 22 -; // Creacin Patrn J&ser'er // Create stocK Paneton y adLunta )gentes Paneton paneton * ne+ Paneton, 2Paneton2H / "."" -; paneton.)ttac1, s -; paneton.)ttac1, & -; // Cam&io de PreciosH se noti9ica a )gentes paneton.Precio * / "./"; paneton.Precio * / /.""; paneton.Precio * / ".M"; paneton.Precio * / ".NM; Console.Fead,-; 6 6 6

C&'ig( 2.3. I%ple%entaci.n 1atr.n 4bserver Fu/01/$ Elaboraci.n 1ropia

Figura 2.10. Ejecuci.n de 1ro ra%a con 1atr.n 4bserverFu/01/$ Elaboraci.n 1ropia

CAPI!U)

III$ AR.UI!EC!URA DE) SIS!EMA

3.

AR.UI!EC!URA DE) SIS!EMA 3.1. PA!R NES DE S F!2ARE U!I)IAAD S


1ara el desarrollo del siste%a de la Intranet Industrial de la Facultad de In enier!a Industrial "niversidad #acional $ayor de San $arcos, se ,ace uso de los si uientes patrones de software? 1atr.n Arquitect.nico de 9 3apas 1atr.n Infor%ador, y 1atr.n Sensor

A continuaci.n se procede a describir cada uno de los patrones utili/ados-

3.2. PA!R%N AR.UI!EC!%NIC

DE 3 CAPAS

1ara el desarrollo de la arquitectura del siste%a Intranet Industrial se utili/a, el patr.n arquitect.nico de las 9 capas 5ver fi urar 9-1-6-

Este patr.n per%ite una visi.n a%plia y fle7ible de toda la distribuci.n de los co%ponentes que poseen la capa de interfase, separada de la l. ica de ne ocio, a su ve/ e7iste la capa de datos*a ventaja de este esque%a arquitect.nico es que per%ite a rupar los co%ponentes del siste%a, en diferentes unidades l. icas funcionales durante el anlisis, el desarrollo, la i%ple%entaci.n y el %anteni%iento)e esta for%a la propia arquitectura, deter%ina la distribuci.n de los co%ponentes, y su a rupaci.n en capas l. icas KB$(A;L-

TlayerU 3apa de 1resentaci.n 3apa de 1resentaci.n? 1a inas AS 1J , rficos de presentaci.n C(39(0/01 / UI 1

Asociado

C(39(0/01 /UI 2

TlayerU 3apa Business M&'u#( 1 3apa de Business?

Asociaci.n

M&'u#( N

Pa1 r(0 S/05(r

C#a5/5 C(3u0/5

"tili/a TlayerU 3apa de )atos Pa1 r(0 I06(r3a'(r

R/ 6a71 (ri0g Pa1 r(0 I06(r3a'(r

1atr.n Arquitect.nico 3reado por? 1aul *orena *- Fec,a? 21[G8[2GG< $odificado? 2<[G8[2GG<

Figura 3.1. 1atr.n Arquitect.nico FII "#$S$- Fu/01/$ Elaboraci.n 1ropia

En la fi ura 9-1-, se define la estructura del Siste%a Arquitect.nico definido por el patr.n arquitect.nico de 9 capas- Se puede distin uir ta%bi2n la e7istencia de co%ponentes o subsiste%as contenidos por las capas K$1*A''G2L4bs2rvese la presencia de los subsiste%as de 1atr.n Infor%ador y el 1atr.n Sensor en la capa de datos y en la capa de #e ocios respectiva%enteEstos patrones se encuentran docu%entados

a%plia%ente en el docu%ento A(S"I'E3'"(A E$1(ESA(IA* FII "#$S$, en la )43"$E#'A3IQ# '\3#I3A del Siste%a de la Intranet Industrial-

3.3. PA!R%N INF RMAD R


N(3"r/ Pa1r&0$ Infor%ador I01/07i&0? 1roveer un conjunto de %2todos y propiedades para acceder a una Base de )atos, evitando rescribir c.di o, y encapsulando la co%plejidad de operaciones necesarias para las cone7iones y procesos transaccionalesA#ia5$ 3apa de )atos, 3apa 1ersistenteM(1i8a7i&0$ En una aplicaci.n de software se reali/an operaciones t!picas de consultas y actuali/aciones de una Base de )atos, estos procesos pueden incluir operaciones transaccionales- *a cantidad de l!neas necesarias para reali/ar estas operaciones es considerable%ente alta, ocasionando p2rdida de tie%po al rescribir c.di o, y al %o%ento de la depuraci.nEl patr.n Infor%ador, recopila y or ani/a todas las operaciones recurrentes, y las ordena dentro de una clase per%itiendo a otras clases ,eredar y acceder a dic,as funciones, evitando volver a escribir ese c.di o E51ru71ura En la Figura 3.2.B se observa, la distribuci.n de las clases y su interdependencia para for%ar el patr.n Infor%ador-

7#5Da1aPr i3i1i8 /Pr (7/'ur /


7#5Da1 aPri3i1 i8 / C(00/ 71 i(0 Y TpropertyU 3onecctionS trin P 3onnectionS trin Y T etU 3onecctionS trin 5 6 1

Y T property U 1acHa e Y T property U Store Y T property U #a% e P ZpacHa e P Zstore P Zna% e Y Y Y Y #ew 5 T etU T etU T etU 6 1acHa e 5 6 Store 5 6 #a% e 5 6

"tili/a

7#5Da1 aPri3i1 i8 / -/ #9/r Y Be in' ransaction 5 6 Y Build1ara% eterInput 5 6 Y Build1ara% eter4utpu 5 6 Y E7ecute)ataS et 5 6 Y E7ecute#onSuery 5 6 1

"tili/a

G--1

7#5Da1aPr i3i1i8/!r a05a71i(0


"tili/a
1

Y T property U ' ransaction ? 4 racle' ransaction Y Y Y Y Be in' ransaction 5 6 3o% % it 5 6 (ollBacH 5 6 T etU ' ransaction 5 6

"tili/a

"tili/a
1--V 7#5Da1 aPri3i1 i8 / SC# Y TpropertyU ' e7t Y TpropertyU #a% e P Zte7t P Zna% e Y #ew 5 6 Y T etU ' e7t 5 6 Y T etU #a% e 5 6 7#5Da1 aPri3i1 i8 / !a"#/ Y #ew 5 6 Y Cet1ara% eter 5 6 Y Add1ara% eterInput 5 6 Y Add1ara% eter4utput 5 6 Y E7cute)ataS et 5 6 Y E7ecute#onSuery 5 6

7#5Da1 aPri3i1 i8 / E01 i1 4 Y ZpacHa e Y Zna% e X ZstoreZrecordset X ZstoreZinsert X ZstoreZupdat-e-Y #ew 5 6 X Cet1ara% eter 5 6 X Add1ara% eterInput 5 6 X Add1ara% eter4utput 5 6 X Insert 5 6 X 3onfi "pdate 5 6 X 3onfi )elete 5 6

$A#EEA)4( )E BAS E )E )A' 4S I#' (A#E' FII "#$S $ 3reado 1or? 1aul *orena * Fec,a? 1G[G8[2GG< $odificado?12[G8[2GG<

Figura 3.2. 1atr.n Infor%ador- Fu/01/$ Elaboraci.n 1ropia

Par1i7i9a01/5
C#a5/ cls)ata1ri%itive3onnection cls)ata1ri%itiveFelper R/59(05a"i#i'a' 4btiene o define la cadena de cone7i.n a la Base de )atos 3onstruye los 1ar%etros de acceso a la base de datos, definiendo los tipos espec!ficos para cada proveedor )efine los %2todos y operaciones 5 en2rica%ente6 de la clase para el in reso de los par%etros Esta es una clase en2rica que %e per%ite ar%ar los no%bres de los pacHa es y[o store procedures en la Base de )atos 3lase que establece los no%bres f!sicos de los pacHa es y store procedures en la Base de )atos, ade%s es el punto donde se define el ta%ao de los par%etros de entrada 3lase en2rica para definir #o%bre y >alor 5'ipo, y variable6 de in reso

cls)ata1ri%itive'able

cls)ata1ri%itive1rocedure

cls)ata1ri%itiveEntity

cls)ata1ri%itiveSql

cls)ata1ri%itive'ransaction Fabilita los procedi%ientos transaccionales en las operaciones t!picas de Base de )atos cls)ata1ri%itive'ype3*4B 3lase especifica para definir la lon itud del tipo 3*4B

!a"#a 3.1. 1articipantes 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia C(#a"(ra7i(0/5


C#a5/ cls)ata1ri%itive3onnection R/#a7i(0/5 3lase que e7,ibe un %2todo publico que provee la cadena de cone7i.n a la base de datos Esta clase es la que tiene el encar o de ejecutar todas las operaciones con la base de datos, es la 0nica que tiene un contacto l. ico con la base de datos, es invocada por todas las de%s (eco e los par%etros del 3liente y los ordena en una lista ,as,, y los entre a a la clase cls)ata1ri%itiveFelper 3lase invocada por la cls)ata1ri%itiveEntity para ar%ar los no%bres de pacHa es y store procedures

cls)ata1ri%itiveFelper

cls)ata1ri%itive'able

cls)ata1ri%itive1rocedure

cls)ata1ri%itiveEntity

3lase que e7,ibe sus %2todos a la 3ls)ata1ri%itive 1rocedure para que ar%e los no%bres de los objetos en la Base de datos 5especificando el ta%ao de estos6 3lase en2rica para definir #o%bre y >alor 5'ipo, y variable6 de in reso Esta clase es invocada por la clase cls)ata1ri%itiveFelper, que define si la operaci.n es transaccional o no 3lase invocada por la cls)ata1ri%itive'able para establecer el ta%ao del tipo 3*4B

cls)ata1ri%itiveSql cls)ata1ri%itive'ransaction

cls)ata1ri%itive'ype3*4B

!a"#a 3.2. 3olaboraciones 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

C NSECUENCIAS El c.di o necesario para reali/ar una operaci.n en la base de datos es un c.di o %as co%pacto y claro, con %enos l!neas de c.di o, y ,aciendo uso de operaciones y %2todos con funcionalidad ya conocida*a depuraci.n es %s si%ple ya que al reutili/ar clases se procede a aislar el error, al eli%inar la posibilidad de ,allar un error en las clases reutili/adas- Es decir ,ace%os que el error puntual se convierta en un error siste%tico, de esta %anera es %s fcil repararlo, o detectarlo, y las %odificaciones afectar!an a todos las clases que ,ereden dic,a funcionalidadIMP)EMEN!ACI%N "na ve/ i%ple%entado en el len uaje esco ido, se debe incorporar una capa adicional que per%ita interactuar con el patr.n1or eje%plo en la Fi ura 9-9, se observa < tablas relacionadas, para i%ple%entar el patr.n Infor%ador- En esta confi uraci.n se procede a for%ar la capa adicional, de tal for%a que para cada tabla se debe crear

una clase, y de preferencia a ruparla en un do%inio especifico P #a%espace en 3YY KBS'(4"S'("1A:L, para este caso se establece que el do%inio es i ual al no%bre del %.dulo al cual pertenecen estas tablas? Biblioteca-

Figura 3.3. Base de )atos de $.dulo Biblioteca FII "#$S$ Fu/01/$ Elaboraci.n 1ropia

O// O// O// O//

Proyecto: 4ntranet 45D$S=F4)L 344.$5%S% Capa de Datos para =a&la Solicitud Creado por: Paul Lorena Creado el:"P//"/ ""!

O//De9ino el Dominio o %dulo al >ue pertenece 5amespace 4ntranet.344.Data.Ii&lioteca O// De9ino nom&re de Clase Pu&lic Class clsDatasolicitud O// Qeredo 9uncionalidad del patrn 4n9ormador 4n1erits clsDataPrimiti'eCntity

RFegion 2Properties2 OO// De9ino cada uno de los campos de la ta&la Pri'ate (c(user )s 4nteger Pu&lic Property C($ser,- )s 4nteger 8et Feturn %e.(c(user Cnd 8et Set,Iy0al 0alue )s 4nteger%e.(c(user * 0alue Cnd Set Cnd Property Pri'ate (c(li&ro )s 4nteger Pu&lic Property C(Li&ro,- )s 4nteger 8et Feturn %e.(c(li&ro Cnd 8et Set,Iy0al 0alue )s 4nteger%e.(c(li&ro * 0alue Cnd Set Cnd Property Pri'ate (t(clasi9icacion )s String Pu&lic Property =(Clasi9icacion,- )s String 8et Feturn %e.(t(clasi9icacion Cnd 8et Set,Iy0al 0alue )s String%e.(t(clasi9icacion * 0alue Cnd Set Cnd Property Pri'ate (c(solicitud )s 4nteger Pu&lic Property C(Solicitud,- )s 4nteger 8et Feturn %e.(c(solicitud Cnd 8et Set,Iy0al 0alue )s 4nteger%e.(c(solicitud * 0alue Cnd Set Cnd Property Pri'ate (9(9ec(solicitud )s Date Pu&lic Property 3(3ec(Solicitud,- )s Date 8et Feturn %e.(9(9ec(solicitud Cnd 8et Set,Iy0al 0alue )s Date%e.(9(9ec(solicitud * 0alue Cnd Set Cnd Property Pri'ate (&(atendido )s String Pu&lic Property I()tendido,- )s String 8et Feturn %e.(&(atendido Cnd 8et Set,Iy0al 0alue )s String%e.(&(atendido * 0alue Cnd Set Cnd Property RCnd Fegion O// Constructor . Creo la clase

O// )signo a mi clase 1eredada clsDataPrimiti'eCntity O// los parSmetros constructores Su& 5e+,%yIase.5e+,2&i&lioteca2H 2solicitud2Cnd Su& O// %odi9ico la 9uncion Con9ig4nsert de la clase Iase Protected J'errides Su& Con9ig4nsert,%e.)ddParameter4nput,2'(c(li&ro2H %e.(c(li&ro%e.)ddParameter4nput,2'(c(user2H %e.(c(user%e.)ddParameter4nput,2'(t(clasi9icacion2H %e.(t(clasi9icacionH @"%e.)ddParameter4nput,2'(c(solicitud2H %e.(c(solicitud%e.)ddParameter4nput,2'(9(9ec(solicitud2H %e.(9(9ec(solicitud%e.)ddParameter4nput,2'(&(atendido2H %e.(&(atendidoH /Cnd Su& OO// %odi9ico la 9uncion Con9ig$pdate de la clase Iase Protected J'errides Su& Con9ig$pdate,%e.)ddParameter4nput,2'(c(solicitud2H %e.(c(solicitud%e.)ddParameter4nput,2'(c(li&ro2H %e.(c(li&ro%e.)ddParameter4nput,2'(c(user2H %e.(c(user%e.)ddParameter4nput,2'(t(clasi9icacion2H %e.(t(clasi9icacionH @"%e.)ddParameter4nput,2'(c(solicitud2H %e.(c(solicitud%e.)ddParameter4nput,2'(9(9ec(solicitud2H %e.(9(9ec(solicitud%e.)ddParameter4nput,2'(&(atendido2H %e.(&(atendidoH /Cnd Su& O// %odi9ico la 9uncion Con9igDelete de la clase Iase Protected J'errides Su& Con9igDelete,%e.)ddParameter4nput,2'(c(solicitud2H %e.(c(solicitudCnd Su& Cnd Class Cnd 5amespace

C&'ig( 3.1. (efactori/aci.n 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

*ue o se procede a i%ple%entar la clase )ata


O// O// O// O// O// Proyecto: 4ntranet 45D$S=F4)L 344.$5%S% Clase de Ii&lioteca Creado por: Paul Lorena Creado el:"P//"/ ""! %odi9icado el:/"//"/ ""!

O// Creo la Clase Ii&lioteca Pu&lic Class clsIi&lioteca O// De9ino como miem&ro pri'ado a la 'aria&le (solicitud O// del tipo 4ntranet.344.Data.Ii&lioteca.clsDatasolicitud Pri'ate (solicitud )s 4ntranet.344.Data.Ii&lioteca.clsDatasolicitud O// creo la clase Su& 5e+,O// instancio a (solicitud

%e.(solicitud * 5e+ 4ntranet.344.Data.Ii&lioteca.clsDatasolicitud Cnd Su& O// De9ino la operacin de insercin Su& 9unc(ins(solicitud, ( Iy0al '(c(li&ro )s 4ntegerH ( Iy0al '(c(user )s 4ntegerH ( Iy0al '(t(clasi9icacion )s String%e.(solicitud.C(Li&ro * '(c(li&ro %e.(solicitud.C($ser * '(c(user %e.(solicitud.=(Clasi9icacion * '(t(clasi9icacion %e.(solicitud.4nsert,Cnd Su& O// De9ino la operacin de actuali?acin Su& 9unc(upd(solicitud, ( Iy0al '(c(solicitud )s 4ntegerH ( Iy0al '(&(atendido )s C1ar%e.(solicitud.C(Solicitud * '(c(solicitud %e.(solicitud.C(Li&ro * '(c(li&ro %e.(solicitud.C($ser * '(c(user %e.(solicitud.=(Clasi9icacion * '(t(clasi9icacion %e.(solicitud.$pdate,Cnd Su& O// De9ino la operacin de &orrado Su& 9unc(del(solicitud,Iy0al '(c(solicitud )s 4nteger%e.(solicitud.C(Solicitud * '(c(solicitud %e.(solicitud.Delete,Cnd Su& O// De9ino la operacin de Listado Pu&lic 3unction 9unc(lst(solicitud,- )s DataSet Feturn %e.(solicitud.FecordSet,Cnd 3unction O// De9ino la operacin de o&tener un solo registro Pu&lic 3unction 9unc(get(solicitud,Iy0al '(c(solicitud )s 4nteger- )s DataSet %e.(solicitud.C(Solicitud * '(c(solicitud Feturn %e.(solicitud.JneFecord,Cnd 3unction

C&'ig( 3.2. (efactori/aci.n en 3apa Business 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia C%DIG DE US

1ara utili/ar el 1atr.n Infor%ador para la tabla Solicitud, una ve/ i%ple%entada la clase cls)ataSolicitud- Se procede a utili/ar la clase, si uiendo las si uientes l!neas de c.di o?

C&'ig( 3.3. "so 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

<1

3.4. PA!R%N SENS R


N(3"r/ Pa1r&0 Sensor I01/07i&0 1rovee un control siste%tico de toda la aplicaci.n cuado se e7cepciones1roveer un conjunto de %2todos y propiedades para al%acenar y[o canali/ar los %ensajes de error de toda la aplicaci.n A#ia5 E7ception $ana e%ent M(1i8a7i&0 En una aplicaci.n de software los errores, se eneran, aun cuando el eneran

producto final ,a sido entre ado, se 0n el len uaje que se utilice se podr!a utili/ar local%ente un controlador de e7cepciones, que da un control 0til, pero %uy puntual sobre un errorEl patr.n Sensor, provee un control en el %bito de toda la aplicaci.n para detectar y canali/ar al error de diferentes %aneras? 1or la %uestra de una pa ina de error t!pico Al%acenado toda la infor%aci.n del error en una base de datos 1roveer otro tipo de lo o al%acena%iento del error 5env!o de %ail al ad%inistrador del siste%a, etc-6 co%o una alternativa del clsico #indo s Application Event Log 5sin e7cluirlo6 1rovee toda la infraestructura para que el desarrollador construya su propia for%a de %anejar los errores de su aplicaci.n-

<2

E51ru71ura.
*a5/A 99#i7a1i(0ED7/91i(0 1atr.n Sensor I#'(A#E' FII "#$S$ 3reado 1or? 1aul *orena * Fec,a? 1G[G8[2GG< $odificado?12[G8[2GG<

Fereda

ED7/91i(0Ma0ag/r

"tili/a ED7/91i(0Ma0ag/rS/71i(0 -a0'#/r

"tili/a

i%ple%enta
IED7/91i(0E3#Pu"#i5F/r

D/6au#1Pu"#i5F/r

i%ple%enta

IED7/91i(0Pu"#i5F/r

Figura 3.4. Fi ura de 3lases 1atr.n Sensor Fu/01/$ Elaboraci.n 1ropia

Par1i7i9a01/5
C#a5/ ( I01/r6a7/5 BaseApplicationE7ception R/59(05a"i#i'a' Esta es la clase base de e7cepci.n usada para ase urar que todas las e7cepciones proveen un %!ni%o nivel de infor%aci.n conte7tual E7ception$ana erSectionFandler Esta clase es usada para recuperar los par%etros del 1atr.n Sensor 5de un arc,ivo J$*6- Estos par%etros son usados para definir el co%porta%iento del patr.n SensorE7ception$ana er3lase encar ada de publicar los errores del Siste%a )efault1ublis,er Esta clase establece una funcionalidad bsica de al%acena%iento de errores IE7ception1ublis,er IE7ceptionJ%l1ublis,er Interfaces i%ple%entadas por la clase )efault1ublis,er Interfaces i%ple%entadas por la clase )efault1ublis,er

!a"#a 3.3. 1articipantes 1atr.n Sensor Fu/01/$ Elaboraci.n 1ropia

<9

C(#a"(ra7i(0/5
C#a5/ ( I01/r6a7/5 BaseApplicationE7ception C(#a"(ra7i(0/5 Esta clase ,ereda todas sus propiedades y %2todos a todas las de%s clases que se i%ple%entan en este patr.nE7ception$ana erSectionFandler Esta clase es invocada por E7ception$ana er para ,eredar sus propiedades, donde se obtiene los par%etros definidos por el usuario E7ception$ana er3lase encar ada de publicar los errores del Siste%a )efault1ublis,er IE7ception1ublis,erIE7ceptionJ%l1ublis,er Esta clase al%acena los errores en el ]indows Application Evento *o E7posici.n de %2todos y propiedades del 1atr.n Sensor E7posici.n de %2todos y propiedades del 1atr.n Sensor en J$*

!a"#a 3.4. 3olaboraciones 1atr.n Sensor Fu/01/$ Elaboraci.n 1ropia

C(05/7u/07ia5$ El c.di o necesario para %anejar los errores es definido en una sola l!nea de c.di oI39#/3/01a7i&0$ Incluir en el proyecto la )** E7ception$ana e%ent-dll, y en cada p ina de c.di o incluir la si uiente l!nea?
4mports %icroso9t.)pplicationIlocKs.CTception%anagement

C&'ig( '/ U5(? 1ara utili/ar el 1atr.n Sensor, se procede a ,acer la captura de errores en %anera tradicional, y lue o a re ar la l!nea

E7ception$ana e-1ublis,5Error6

C&'ig( 3.4. "so 1atr.n Sensor Fu/01/$ Elaboraci.n 1ropia

<<

3.5.

C MPARACI%N$

PERACI%N !PICA DE *ASE DE

DA! S SIN PA!R%N G C N PA!R%N INF RMAD R


A continuaci.n se de%uestra co%o es proceso de i%ple%entar una operaci.n bsica de insertar un nuevo re istro, sin el uso del 1atr.n Infor%ador y con su uso- Se utili/as la tabla Solicitud del $.dulo de la Biblioteca de la Intranet IndustrialSIN PA!R%N INF RMAD R. Este proceso se define todos los procesos necesarios para lo rar la cone7i.n con la Base de )atos 54racle Ai6 y pasar los par%etros necesarios para co%pletar la transacci.n-

C&'ig( 3.5. Sin "so de 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

C&'ig( 3.6. Sin "so de 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

<8

"n desarrollador tiende a escribir este c.di o ,abitual%ente- Estando %s e7puesto a que producir errores, ade%s su le ibilidad es afectada, si otra persona se ,ace car o del %anteni%iento, el c.di o ade%s nos %uestra que ,ay %uc,a redundancia y reescritura de c.di oUS DE PA!R%N INF RMAD R

3on el uso del 1atr.n Infor%ador, el desarrollador solo utili/a 2 l!neas de c.di o para reali/ar la inserci.n de un nuevo re istro en la tabla solicitud de la Base de )atos- >er c.di o 9-;- El c.di o resultado es %uc,o %s co%pacto y le ible-

C&'ig( 3.7. "so 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

<;

CAPI!U)

I,$ DESARR ))

SIS!EMA IN!RANE!

INDUS!RIA)
4. IN!R DUCCI%N
*a Intranet Industrial de la FII "#$S$, ,a sido desarrollada sobre la base de los conceptos, patrones arquitect.nicos y de diseos anterior%ente definidos@a que se trata de un siste%a de software co%plejo, el anlisis y desarrollo se encuentra docu%entada detallada%ente en la

)43"$E#'A3IQ# '\3#I3A del Siste%a de la Intranet Industrial, presentado al final del trabajo-

4.1.

RE.UERIMIEN! S

'odos los (equeri%ientos del Siste%a de la I#'(A#E' I#)"S'(IA* estn recopilados en el docu%ento (ES"E(I$IE#'4S I#'(A#E' I#)"S'(IA* de la )43"$E#'A3IQ# '\3#I3A del Siste%a de la Intranet Industrial- *os requeri%ientos por %.dulos, estn especificados en la docu%entaci.n t2cnica de cada %.dulo-

<:

4.2. ,ISI%N DE) PR GEC!


*a Intranet de la Facultad de In enier!a Industrial "#$S$, es un a ,erra%ienta de co%unicaci.n y colaboraci.n entre todos los inte rantes de la or ani/aci.n, docentes, alu%nos, personal ad%inistrativo, y e7alu%nos-

4.3. MISI%N DE PR GEC!


Establecer la Arquitectura E%presarial 5AE6 de la Facultad de In enier!a Industrial, as! co%o la %etodolo !a, patrones y linea%ientos a observar para los futuros desarrollos e i%ple%entaciones de siste%as de software-

4.4. A)CANCES DE) PR GEC!


*a I#'(A#E' I#)"S'(IA* es un siste%a que ser utili/ado por? )ocentes, Estudiantes, 1ersonal Ad%inistrativos, y E7 alu%nos, de la Facultad de In enier!a Industrial "#$S$*a Intranet es un siste%a que tiene, inicial%ente, los si uientes %.dulos funcionales? $.dulo de "suarios $.dulo de 3ontactos $.dulo de (epositorio de )ocu%entaci.n $.dulo de #oticias $.dulo de Auditorio

<=

$.dulo de E%presas $.dulo de Bolsa de 'rabajo $.dulo de $ailin $.dulo de una 'ienda En *!nea $.dulo de Encuestas $.dulo de Ad%inistraci.n

Futuras i%ple%entaciones sern soportadas por el Siste%a si se observan la arquitectura, y los linea%ientos definidosEn la fi ura <-1 se observa la

interacci.n de los usuarios con los %.dulos de la I#'(A#E' I#)"S'(IA*-

$.dulo de $ailin

$.dulo de E%presas

$.dulo de Auditorio

TaccessU

TaccessU

$.dulo de 3ontactos

TaccessU TaccessU TaccessU TaccessU U5uari( TaccessU $.dulo de Encuestas TaccessU TaccessU TaccessU $.dulo de )ocu%entaci.n $.dulo de Bolsa de 'rabajo

)(g/ar5/ $.dulo de 'ienda En *inea

$.dulo de Ad%inistraci.n

$.dulo de "suarios

$.dulo de #oticias

3AS4 )E "S4? $Q)"*4S I#'(A#E' I#'(A#E' FII "#$S$ 3reado 1or? 1aul *orena * Fec,a? G:[G8[2GG< $odificado? G:[G8[2GG<

<A

Figura 4.1. Interacci.n de "suario con la I#'(A#E' I#)"S'(IA*

4.5. ESPECIFICACI NES )ENGUA+E.


El Siste%a de la Intranet Industrial ser desarrollada en >isual Basic -#E', Fra%eworH versi.n 1-1*a aplicaci.n ser soportada por la si uiente infraestructura t2cnica? S(61Har/ ]indows^ 2GGG IIS^ -#et^ Fra%eworH *a Base de )atos es? S(61Har/ 4racle ,/r5i&0 A-2-G-1-G Pr(8//'(r 4racle "5/r8a7i(0/5 ,/r5i(0 8-G 1-1-< Pr(8//'(r $icrosoft $icrosoft $icrosoft "5/r8a7i(0/5 S12

4.6. FUNCI NA)IDAD DE) SIS!EMA


*a I#'(A#E' I#)"S'(IA*, ser un siste%a que tendr la si uiente funcionalidad? Acceso a %.dulos a trav2s de roles y per%isos (epositorio _nico de )atos, inte raci.n total$odularidad, la arquitectura debe per%itir acoplar otros %.dulos)isponibilidad 2<[: Se uridad en el %anejo de la infor%aci.n sensible-

4.7. ME! D ) GA
*a %etodolo !a a utili/ar para el desarrollo de la intranet, es la establecido por los linea%ientos del (ational "nified 1rocess 5("16, 5ver fi ura <-1-6

Figura 4.2 $etodolo !a ("1- Fu/01/$ (ational Software 3orp-

("1, es una %etodolo !a, de desarrollo de siste%as co%plejos, que se basa en las si uientes practicas? D/5arr(##( i1/ra1i8(. El producto en el %bito del anlisis, diseo, codificaci.n, y docu%entaci.n iterativaEstas

iteraciones dis%inuyen los &ries os+- 3ada iteraci.n es una entre a del producto 5release6 K("1G9L- 5,/r 6igura 4.2-6-

Figura 4.3. )esarrollo Iterativo- Fu/01/$ (ational Software 3orp-

A'3i0i51ra7i&0 '/ R/Cu/ri3i/01(5. $antener en estricto control y se ui%iento todo el ca%bio de versiones a nivel de c.di o fuente, requeri%ientos, etc- K("1G9L- 1ara el desarrollo de la Intranet Industrial, se ,ace un control estricto de los requeri%ientos, ver en la )43"$E#'A3IQ# '\3#I3A del Siste%a de la Intranet Industrial-

U5(

'/

7(39(0/01/5

arCui1/71&0i7(5.

En

("1

las

actividades de diseo, estn centrali/adas en el %bito de nociones del concepto de arquitectura de software- *os co%ponentes arquitect.nicos estn inte rados por

co%ponentes independientes, %odulares, y ree%pla/ables ayudan a ad%inistrar la co%plejidad del siste%a y alientan el concepto de reutili/aci.n K("1G9LM('/#a3i/01( 8i5ua# 7(0 UM). $odela%iento visual es el uso de la notaci.n se%ntica rica a nivel visual y de te7to, para

capturar y esque%ati/ar los procesos de una or ani/aci.n K("1G9L- I,/r 6igura 4.3J. Ade%s? Ayuda a co%prender siste%as co%plejos E7plorar y anali/ar alternativas a bajos costos 3apturar los requeri%ientos de los clientes 3o%unicar a%bi `edadesA'3i0i51ra7i&0 '/# Ca3"i(. 1ara el diseo y el desarrollo de siste%as intensivos de software, es necesario contar con diferentes versiones de docu%entaci.n, pro ra%as, prototipos, se debe llevar control de todos estos ca%bios, por lo que para la docu%entaci.n es controlada por versiones 5>er en la )43"$E#'A3IQ# '\3#I3A del Siste%a de la Intranet Industrial6 especificaciones t2cnicas sin

4.4.

-ERRAMIEN!AS PARA E) ANK)ISIS G DISE<

1ara Anlisis y )iseo del siste%a, se ,ace uso del Software Rational XDE Version 2003.06.00 de Rational Corporation (pl g in en Vis al St dio 2003! K(J)EG9L- Este es un producto ideal que per%ite el %odela%iento visual en "$* vara las fases de anlisis y diseo- 'iene toda la potencia y funcionalidad del producto de %odela%iento del producto (ational (ose, la ventaja que J)E se inte ra al I)E 5Interfase )evelop%ent Environ%ent6 de >isual Studio-#E' 5>er fi ura <-96- Esta es una ,erra%ienta sofisticada de

%odela%iento y anlisis, e7iste docu%entaci.n disponible para el entrena%iento en el uso del J)E para #E' KECJ)EG2L-

Figura 4.4. $odela%iento de 3lases- Fu/01/$ Elaboraci.n 1ropia

Figura 4.5. $odela%iento con J)E

Fu/01/$ Elaboraci.n 1ropia

4.5. -ERRAMIEN!AS SIS!EMA

PARA

DESARR ))

DE)

4.5.1.-ERRAMIEN!AS PARA E) DESARR )) C%DIG IAP)ICACI%NJ

DE)

1ara el desarrollo y construcci.n de clases y c.di o, se utili/a el "i#roso$t Vis al St dio 2003. 5>er fi ura <-86-

Figura 4.6. )esarrollo en >isual Studio 2GG9 Fu/01/$ Elaboraci.n 1ropia

8;

4.5.2. -ERRAMIEN!AS DESARR )) DA! S

PARA

E)

ANK)ISIS

EN E) KM*I!

DE *ASE DE

1ara el anlisis y diseo de la Base de )atos se usa el paquete %ll F sion Data "odeler Er&in Version '.(.220) (Co*p ter %sso#iates C%!, que per%ite reali/ar Fi uras de Entidad (elaci.n a alto nivel, antes de %ateriali/arlo en la Base de datos- 5>er fi ura <-;6- Esto es i%portante porque dis%inuye los costos de anlisis, al e7istir una etapa previa de evaluaci.n y %odela%iento antes de llevarlo a la base de datos-

Figura 4.7. $odela%iento de Entidad (elaci.n 5Erwin6Fu/01/$ Elaboraci.n 1ropia

8:

1ara el %anejo de la Base de )atos 4racle Ai 5especificado en el docu%ento de (equeri%ientos6, puede utili/ar la propia ,erra%ienta que brinda el suite 4racle 5SS* 1*"S, de 4racle 3orporation6, para este proyecto se utili/a el software +oad Version ,.6.0.(( (- est so$t&are! 5>er fi ura <-:6-

Figura 4.8. 3odificaci.n de Base de )atos 5'oad6- Fu/01/$ Elaboraci.n 1ropia

A continuaci.n se %uestran al unas vistas del siste%a de la I#'(A#E' I#)"S'(IA*

8=

Figura 4.9. >ista de p ina de *o in Intranet Industrial

Figura 4.10. >ista de p ina de p ina de inicio . Fo%e de la Intranet Industrial

8A

Figura 4.11. )etalle de #oticias

Figura 4.12. >isuali/aci.n de 3ontenido de 3arpeta

;G

4.6.

CR N GRAMA DE !RA*A+

Figura 4.13. 3rono ra%a de 'rabajo Fu/01/$ Elaboraci.n 1ropia

ID !ar/a Fa5/ '/ C(07/97i&0 $isi.n y >isi.n del 1royecto

Dura7i&0

F/7Fa I0i7i( 1G[G8[G<

:< d!as

2 d!as 1 d!a <,8 d!as 1 d!a

1G[G8[G< 12[G8[G< 19[G8[G< 1A[G8[G<

9 Alcances < (equeri%ientos del Siste%a

8 $odela%iento

; )ocu%entaci.n

:< d!as

1G[G8[G<

Fa5/ '/ E#a"(ra7i&0

8<,8 d!as 2<[G8[G<

= Anlisis del Siste%a A )iseo del Siste%a

8<,8 d!as 2<[G8[G< 89 d!as 2<[G8[G<

1G )iseo >isual 11 I%ple%entaci.n

21 d!as

91[G8[G<

9G,8 d!as 1;[G;[G<

F/7Fa N(1a R/7ur5(5 Fi0 *a Fase de 3oncepci.n es i%portante para los objetivos de desarrollo del Siste%a, porque es la fase en la cual se define los linea%ientos de 1A[G=[G< ne ocio y los requeri%ientos, que el Siste%a de la Intranet Industrial FII "#$S$ debe resolverSe definen cuales es el objetivo del 1royecto, cuales son las %etas, que In -(ui/, 11[G8[G< es lo que se quiere de%ostrar al desarrollar el Siste%a de *a Intranet 1aul *orena IndustrialSe define cual es el %bito y los subsiste%as que sern afectados por el In -(ui/, 12[G8[G< Siste%a1aul *orena "na ve/ definida, los alcances y los %.dulos del siste%a, el In - (ui/ 1A[G8[G< redacta todos los requeri%ientos que debe tener cada uno de los1aul *orena subsiste%as 5$.dulos de la Intranet6El %odela%iento co%ien/a una ve/ que se ,a definido a %uy alto nivel, la 2G[G8[G< 1aul *orena %isi.n, la visi.n, los alcances y requeri%ientos del Siste%a*a docu%entaci.n del todo el proyecto es un proceso i%portante tanto para los desarrolladores y analistas, para los usuarios especiali/ados y 1A[G=[G< 1aul *orena bsicos, sino que constituye un docu%ento funda%ental en el %anteni%iento y escalabilidad posterior del siste%a*a %eta de la Fase de Elaboraci.n es definir los linea%ientos de la arquitectura del Siste%a, para proveer una base estable que sea el %arco G;[G=[G< de referencia para el diseo y la i%ple%entaci.n- *a estabilidad de la arquitectura es evaluada a trav2s de uno o %s prototipo arquitect.nicoSe reali/a un anlisis del siste%a en el %bito l. ico, si el siste%a In -(ui/, G;[G=[G< involucra procesos %s sensibles or ani/acional%ente, se debe ,acer un 1aul *orena se ui%iento %as profundo del worHflowSe procede a levantar los dia ra%as "$*, el diseo de la Entidad G<[G=[G< 1aul *orena (elaci.n 5E(6 de la Intranet IndustrialSobre la base de los requeri%ientos visuales del Siste%a 5>er adjunto )E> ES'("3'"(A >IS"A* I#'(A#E' I#)"S'(IA* FII "#$S$6 se)avid 2=[G;[G< reali/a los pri%eros prototipos de diseo visual, de acuerdo al loo. and (odri ue/ $eel definido en el docu%ento2=[G:[G< Se procede a preparar todo el %arco de desarrollo necesario para la etapa 1aul *orena

12

Fa5/ '/ C(051ru77i&0

<=,8 d!as G:[G;[G< 12[G=[G<

19

)esarrollo $.dulo Ad%inistraci.n

:,8 d!as

G:[G;[G< 1;[G;[G<

1<

)esarrollo $.dulo "suarios

<,8 d!as

1;[G;[G< 22[G;[G<

18

)esarrollo $.dulo E%presas

= d!as

22[G;[G< G1[G:[G<

1;

)esarrollo $.dulo Encuestas

<,8 d!as

G;[G:[G< 12[G:[G<

1:

)esarrollo $.dulo #oticias

1 d!a

12[G:[G< 12[G:[G<

1=

)esarrollo $.dulo Bolsa de 'rabajo

9,8 d!as

19[G:[G< 1;[G:[G<

de la Fase de 3onstrucci.n, es decir se instala los scripts en la Base de )atos, el esbo/o de las clases utili/adas y su distribuci.n se 0n linea%ientos del 1atr.n Arquitect.nico*a %eta de la fase de 3onstrucci.n es clarificar los requeri%ientos y co%pletar el desarrollo del siste%a basados en el Esque%a Arquitect.nico 5definido por el patr.n arquitect.nico y los patrones de diseo6- *a fase de 3onstrucci.n, es en al una for%a parecida a un proceso de %anufactura, donde se pone 2nfasis al control de recursos, control de operaciones, opti%i/ar los costos, pla/os y la calidadEn este %.dulo se desarrolla todo lo relacionado a la Ad%inistraci.n de 1er%isos, se uridad, roles tablas $aestras, control de "suarios- Esto incluye la codificaci.n en la Base de )atos 53apa de )atos6 y la1aul *orena codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado al control de "suariosEsto incluye la codificaci.n en la Base de )atos 53apa de )atos6 y la 1aul *orena codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado al 3ontrol de E%presas, este %odulo es un %odulo funda%ental para otros %.dulos- Esto incluye 1aul *orena la codificaci.n en la Base de )atos 53apa de )atos6 y la codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado a las encuestas que tendrn los alu%nos, docentes, personal ad%inistrativo y e7alu%nos de la FII "#$S$- Esto incluye la codificaci.n en la Base de )atos 53apa de1aul *orena )atos6 y la codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado a las #oticias dela FII "#$S$- Esto incluye la codificaci.n en la Base de )atos 53apa de )atos6 1aul *orena y la codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado a la Ad%inistraci.n de la Bolsa de 'rabajo de la FII "#$S$- Este es un $.dulo que interact0a con 1aul *orena el $.dulo de E%presas y 3ontactos- Esto incluye la codificaci.n en la Base de )atos 53apa de )atos6 y la codificaci.n en la 3apa de #e ocios,

;9

1A

)esarrollo de $.dulo $ailin

9,8 d!as

1;[G:[G< 21[G:[G<

)esarrollo de 2G $.dulo de 'ienda en =,8 d!as *!nea

22[G:[G< G9[G=[G<

21

)esarrollo de $.dulo de Biblioteca

:,8 d!as

G9[G=[G< 12[G=[G<

22 'estin 29 !ra05i7i&0

<=,8 d!as G:[G;[G< 12[G=[G< = d!as 1G[G=[G< 1A[G=[G<

2< Instalaci.n 28 4pti%i/aci.n del 1roducto

= d!as : d!as

1G[G=[G< 1A[G=[G< 11[G=[G< 1A[G=[G<

y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado al env!o de $ail a los contactos e%presariales o contactos institucionales de la FII "#$S$Esto incluye la codificaci.n en la Base de )atos 53apa de )atos6 y la1aul *orena codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado a la Ad%inistraci.n de la 'ienda en *!nea para e7,ibir los productos y servicios de la FII- Esto incluye la codificaci.n en la Base de )atos 53apa de )atos6 y la1aul *orena codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6En este %.dulo se desarrolla todo lo relacionado al control, y b0squeda de $aterial Biblio rfico de la FII "#$S$- Esto incluye la codificaci.n en la 1aul *orena Base de )atos 53apa de )atos6 y la codificaci.n en la 3apa de #e ocios, y la Interfase 53apa de 1resentaci.n6 Se controla la solide/ del siste%a, es un proceso continuo, que persiste In -(ui/, ,asta el final del proyecto1aul *orena *a fase de 'ransici.n se ocupa en ase urar que el software sea disponible a los usuarios finales- En esta etapa ta%bi2n se opti%i/a, se confi ura y perfecciona el producto con el feedbacH del usuario Final1aul *orena, Se reali/a la pri%era instalaci.n del Siste%a en la FII "#$S$- Se BracH deno%ina >ersi.n 1-G-2Fernande/ *os usuarios finales deben dar su feedbacH o sus observaciones acerca 1aul *orena del Siste%a de la Intranet, esto constituye el final de la 1era- Iteraci.n-

!a"#a 4.1. )istribuci.n de 1la/os y (ecursos se 0n el ("1

Fu/01/$ Elaboraci.n 1ropia

;<

CAPI!U) 5.

,$ C S!

DE U!I)IAAR PA!R N INF RMAD R

IN!R DUCCI%N
1ara evaluar el i%pacto econ.%ico en el uso del 1atr.n Infor%ador, es i%portante ponderar los costos en los que se incurre al desarrollar el siste%a de la Intranet Industrial con el 1atr.n y evaluar el costo de ,acerlo sin 1atr.n- El $odelo 3onstructivo de 3ostos, o %s conocido por 3o3o$o por $onstructive $ost %odel, fue desarrollado por Barry- ]Boe,% a finales de los :G, e7poni2ndolo detallada%ente en su libro WSoftware En ineerin Econo%icsW 51renticePFall, 1A=16- 3434$4

KB4EF$=1L es una jerarqu!a de %odelos de esti%aci.n de costos software, de naturale/a e%p!rica, desarrollada a partir de :1 proyectos de software-

5.1. M DE)

C C M

En este %odelo se introducen 18 atributos de costo para tener en cuenta el entorno de trabajo- Estos atributos se utili/an para ajustar el costo

no%inal del proyecto al entorno real, incre%entando la precisi.n de la esti%aci.n*as ecuaciones de esti%aci.n del esfuer/o de desarrollo tienen la si uiente for%a [B4EF$=1] PM =a * EDSI * EAF )onde? a EDSI el n0%ero de %iles de l!neas de c.di o fuente a EAF es un %ultiplicador que depende de 18 atributos PM 1ersonal $ensual necesario para el desarrollo de l!neas
b

Ecuaci.n 8-1

%odo rgL0i7( Se%iencajado E%potrado

Inter%edio a b 3.2 1.05 9-G 1-12 2-= 1-2

!a"#a 5.1. Factores en esti%aci.n de esfuer/o Fu/01/$ [B4EF$=1] 1ara reali/ar el clculo de la duraci.n del desarrollo de las l!neas en %eses Boe,% propone la si uiente ecuaci.n e%p!rica?

DuracionMeses = 2.5 * PM Ecuaci.n 8-2 0.38 )onde? 1$ 51ersonal $ensual6 b obtenido de la ecuaci.n 8-1 5.1.2. A1ri"u1(5 '/ 7(51(. Estos atributos tratan de capturar el i%pacto del entorno del proyecto en el costo de desarrollo- )e un anlisis estad!stico de %s de 1GG factores que influencian el costo, Boe,% retuvo 18 de ellos para 3434$4-

;;

Estos atributos se a rupan en cuatro cate or!as? atributos del producto, atributos del ordenador, atributos del personal y atributos del proyectoI1J A1ri"u1(5 '/# 9r('u71( a (E*@? arant!a de funciona%iento requerido al software a )A'A? ta%ao de la base de datos a 31*J? co%plejidad del producto I2J A1ri"u1(5 '/# (r'/0a'(r a 'I$E? restricci.n de tie%po de ejecuci.n a S'4(? restricci.n del al%acena%iento principal a >I('? volatilidad de la %quina virtual a '"(#? tie%po de respuesta del ordenador I3J A1ri"u1(5 '/# 9/r5(0a# a A3A1? capacidad del analista a AEJ1? e7periencia en la aplicaci.n a 13A1? capacidad del pro ra%ador a >EJ1? e7periencia en %quina virtual a *EJ1? e7periencia en len uaje de pro ra%aci.n I4J A1ri"u1(5 '/# 9r(4/71( a $4)1? prcticas de pro ra%aci.n %odernas a '44*? utili/aci.n de ,erra%ientas software a S3E)? plan de desarrollo requerido3ada atributo se cuantifica para un entorno de proyecto- *a escala es %uy bajo PP bajo PP no%inal PP alto PP %uy alto PP e7tre%ada%ente alto-

En la tabla 8-1-, se %uestran los valores del %ultiplicador para cada uno de los 18 atributos- Estos 18 valores se %ultiplican al cn, y nos proporciona el esfuer/o ajustado al entorno,) G,:8 G,A< G,:G 1,GG 1,GG G,=: G,=: 1,<; 1,2A 1,<2 1,21 1,1< 1,2< 1,2< 1,29 ) G,== G,A< G,=8 1,GG 1,GG G,=: G,=: 1,1A 1,19 1,1: 1,1G 1,G: 1,1G 1,1G 1,G= NM 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG 1,GG -I 1,18 1,G= 1,18 1,11 1,G; 1,18 1,G: G,=; G,A1 G,=; G,AG G,A8 G,A1 G,A1 1,G< ,1,<G 1,1; 1,9G 1,9G 1,21 1,9G 1,18 G,:1 G,=2 G,:G G,AG G,A8 G,=2 G,=9 1,1G E1,<G 1,1; 1,;8 1,;; 1,8; 1,9G 1,18 G,:1 G,=2 G,:G G,AG G,A8 G,=2 G,=9 1,1G

uAtributos de Siste%a

RE)G 3onfiabilidad de Software (equerida DA!A 'a%ao de Base de )atos CP)E 3o%plejidad del Siste%a Atributos 3o%putacionales !IME (estricci.n de 'ie%po de Ejecuci.n S! R (estricci.n en Al%acena%iento ,IR! >olatilidad de $aquina >irtual !URN 'ie%po de (espuesta del Siste%a Atributos de 1ersonal ACAP 3apacidad de Analista AEEP E7periencia de Aplicaci.n PCAP 3apacidad del 1ro ra%ador ,EEP E7periencia en $aquina >irtual )EEP E7periencia en 1ro ra%aci.n 44 Atributos de 1royecto M DP 1racticas $odernas de 1ro ra%aci.n ! ) Ferra%ientas de Software SCED 1la/o (equerido de )esarrollo

!a"#a 5.2. Atributos de 3osto Fu/01/$ [B4EF$=1]

0'i7/5 >ery *ow >* *ow *4

ParL3/1r(5 '/ C(51( #o%inal #$ Fi , FI >ery Fi , >F (ies o de vida ,u%ana B) con inte ridad relacional y vistas y procesos transaccionales A%bos For%ularios con funciones co%plejas E7tra Fi , JF

(E*@

Efecto li ero, Bajo, $oderado, sin fcil%ente p2rdidas Altas p2rdidas inconvenientes (ecuperable recuperables financieras )ata en arc,ivos de Base de )atos (elacional te7to For%ulario Si%ple con co%plejas Funciones $0ltiples for%ularios 0nico usuario d8Ge uso 31" d8Ge uso de )IS34 3a%bio $!ni%o Interactivo 18 e d < %eses 18e d 1 %es d 1 %es #o "sado 1equeas ,erra%ientas :Ge #o% 98 e 1 ao 98e < %eses 8 %eses 3o%en/ando a usar 3a%bio poco frecuente d< ,oras 88 e 9 aos 88e 1 ao 2 ao Al 0n "so B) con inte ridad relacional y vistas $0ltiples for%ularios, %ulti,ilo o %ultiusuario

)A'A

#o )ata

31*J 'I$E S'4( >I(' '"(# A3A1 AEJ1 13A1 >EJ1 *EJ1 $4)1

For%ularios Si%ples

Siste%as 3r!ticos A8e A8e

:Ge =8e :Ge, espacio de disco =8e, espacio de li%itado disco li%itado 3a%bio Frecuente <P12 Foras :8 e ; aos :8e 9 aos < aos "so Ceneral "so de (utina Ferra%ientas adicionales de trabajo 1;Ge 3a%bio %uy frecuente f12 ,oras AG e 12 aos AGe

'44* S3FE)

2 C* =8e

I)E con *en uajes, ,erra%ientas 144, y de )epuraci.n co%ponentes 1GGe 19Ge

!a"#a 5.3.$ Dndice de 3ostos de Software Fu/01/$ Boe,%, Barry- WSoftware En ineerin Econo%icsW KB4EF$=1L

5.2. CL#7u#( '/ 7(51(5 '/# 5i51/3a '/ #a I01ra0/1 I0'u51ria# a# u1i#iMar Pa1r&0 I06(r3a'(r 1ara evaluar el a,orro que se incurre al utili/ar el patr.n infor%ador, se procede a reali/ar un clculo apro7i%ado del costo del Siste%a de la Intranet industrial, utili/ando el $odelo 3onstructivo de 3ostos 53o3o$o6, anterior%ente e7puesto5.2.1. Pr(7/'i3i/01( ED9/ri3/01a# Se procede a reali/ar al conteo de las l!neas de c.di o involucradas en las 9 operaciones bsicas de todo siste%a de Software con la Base de )atos 5Inserci.n, Actuali/aci.n, y Eli%inaci.n6, las %uestras se a rupan de la %is%a for%a que los subsiste%as o %.dulos del siste%a, esco iendo una tabla de cada tabla1ara co%parar las %is%as operaciones sin el uso del 1atr.n Infor%ador, se procede a ,acer el c.di o necesario para reali/ar las %is%as operaciones bsicas con la base de datos pero, esta ve/ sin aplicar el 1atr.n infor%ador-

M&'u#( !a"#a Ad%inistraci.n Actividad Sala(eserva Auditorio 1r2sta%o Biblioteca Bolsa de 'rabajo 4fertaZ*aboral 3ontactos 3ontactos 'ipoZ)oc E%presa EncZ)etZ>ot Encuesta #oticia #oticia E%pZIdio%a "suarios (epositorio )ocu%ento 'ienda en *!nea 3ate or!a

Ca9a '/ Da1(5 Ca9a '/ *u5i0/55 )DC I05/r7i&0 A71ua#iMa7i&0 E#i3i0a7i&0 *u5i0/55 I05/r7i&0 A71ua#iMa7i&0 E#i3i0a7i&0 !(1a# 8 8 9 8 ; ; < 9< 19 19 9 8 18 1< < ;: = < 9 8 A 8 < 9= ;2 12 19 9 8 12 19 < 22 29 9 8 29 2< < 1G< < < 9 8 8 8 < 9G 8 8 9 8 ; ; < 9< 1: 1: 9 8 1= 1= < =2 ; : 9 8 : = < <G 8< 1G 1G 9 8 11 11 < : = 9 8 = = < <9

!a"#a 5.4.$ $uestreo de *!neas de 3.di o "sando 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

Mu/51r/( '/ NN3/r( '/ )O0/a5 Para 9/ra7i(0/5 7(0 *a5/ '/ Da1(5 /0 I01ra0/1 I0'u51ria# FII UNMSM SIN US DE PA!R%N INF RMAD R NN3/r( '/ )O0/a5 Inserci.n Actuali/aci.n Eli%inaci.n $.dulo 'otal *)3 'abla Ad%inistraci.n ;1 Actividad 2< 29 1< Auditorio 192 Sala(eserva 8A 8A 1< Biblioteca 1<: ;< ;A 1< 1r2sta%o Bolsa de 'rabajo 4fertaZ*aboral 1=G =1 =8 1< 3ontactos 228 3ontactos 1G8 1G; 1< E%presa ;1 'ipoZ)oc 2< 29 1< Encuesta ;1 EncZ)etZ>ot 2< 29 1< #oticia 1=G #oticia =1 =8 1< "suarios 1G1 <1 <; 1< E%pZIdio%a )ocu%ento (epositorio 118 8G 81 1< 'ienda en *!nea 3ate or!a A= <2 <2 1<

!a"#a 5.5.$ $uestreo de *!neas de 3.di o Sin 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

:2

C(39ara7i&0 '/ NN3/r( '/ )O0/a5 Para 9/ra7i(0/5 7(0 *a5/ '/ Da1(5 /0 I01ra0/1 I0'u51ria# FII UNMSM C N US G SIN US DE PA!R%N INF RMAD R NN3/r( '/ )O0/a5 D/ C&'ig( I)DCJ E#i3i0a7i&0 I05/r7i&0 A71ua#iMa7i&0 $.dulo 'abla 3on 1atr.n Sin 1atr.n 3on 1atr.n Sin 1atr.n 3on 1atr.n Sin 1atr.n Ad%inistraci.n Actividad 1; 2< 1; 29 12 1< Auditorio Sala(eserva 99 8A 92 8A 12 1< Biblioteca 1resta%o 2; ;< 1< ;A 12 1< Bolsa de 'rabajo 4fertaZ*aboral 9G =1 91 =8 12 1< 3ontactos 3ontactos 81 1G8 82 1G; 12 1< E%presa 'ipoZ)oc 1< 2< 1< 29 12 1< Encuesta EncZ)etZ>ot 1; 2< 1; 29 12 1< #oticia #oticia <G =1 <G =8 12 1< "suarios E%pZIdio%a 1= <1 2G <; 12 1< (epositorio )ocu%ento 2; 8G 2; 81 12 1< 'ienda en *!nea 3ate oria 2G <2 21 <2 12 1<

!a"#a 5.6.$ 3uadro 3o%parativo de l!neas de 3.di o 3on "so y Sin "so de 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

:9

(E*@ )A'A 31*J 'I$E S'4( >I(' '"(# A3A1 AEJ1 13A1 >EJ1 *EJ1 M DP ! ) S3FE)

Fa71(r/5 '/ C(51( IC(051ru71i8/ C(51 M('/#J I01ra0/1 I0'u51ria# UNMSM Sin 1atr.n 3on 1atr.n Dndice >alor Dndice >alor *4 G,== *4 G,== >F 1,1; >F 1,1; #$ 1,GG #$ 1,GG FI 1,11 FI 1,11 #$ 1,GG #$ 1,GG *4 G,=: *4 G-=: >* G,=: >* G,=: #$ 1,GG #$ 1,GG *4 1,19 *4 1,19 #$ 1,GG #$ 1,GG #$ 1,GG #$ 1,GG #$ 1,GG #$ 1,GG -I ,) 0B91 1B24 -I 0B91 NM 1B00 FI 1,G< FI 1,G<

!a"#a 5.7.$ Factores de 3osto Fu/01/$ Elaboraci.n 1ropia


Se%anas [$es )!as [ Se%ana Fora [ )!a <,1: 8 =

!a"#a 5.8.$ 3onsideraciones de 'ie%pos Fu/01/$ Elaboraci.n 1ropia

:<

Ad%inistraci.n Auditorio Biblioteca Bolsa de 'rabajo 3ontactos E%presa Encuesta #oticia "suarios (epositorio 'ienda en *!nea

F(r3u#ari( C(39ara1i8( '/ Ni8/# '/ E51i3a7i&0 9(r M&'u#( IC(051ru71i8/ C(51 M('/#J I01ra0/1 I0'u51ria# UNMSM E)SI EAF 1$ #o%inal 1$ Ajustado Se%anas )!as 1roductividad $iles de *!neas Factor de Esfuer/o de 3.di o Ajustado 1ersonal $ensual 1ersonal $ensual 1roductividadV$es $esV)!as[$es 1$A [ E)SI 3on Sin 3on Sin 3on Sin 3on Sin 3on Sin 3on Sin 3on Sin 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n 1atr.n G,G9< G,G;1 G,A8A 1,<9: G,G==1< G,2<9=2 G,G=8 G,98G 2,<=: 8,:<2 1G,9: 29,A< 81,=8 11A,:2 G,G;: G,192 G,A8A 1,<9: G,1:A;= G,8<=9; G,1:2 G,:== 2,8:9 8,A;= 1G,:9 2<,=A 89,;< 12<,<9 G,G9= G,1<: G,A8A 1,<9: G,GAAG; G,;19A: G,GA8 G,==2 2,8G1 ;,GGG 1G,<9 28,G2 82,1< 128,1G G,G;2 G,1=G G,A8A 1,<9: G,1;8;9 G,:8A<; G,18A 1,GA1 2,8;9 ;,G;1 1G,;A 28,2: 89,<< 12;,9: G,1G< G,228 G,A8A 1,<9: G,2=811 G,A8AA: G,2:< 1,9:A 2,;9G ;,12A 1G,A: 28,8; 8<,=< 12:,:A G,G9G G,G;1 G,A8A 1,<9: G,G::2A G,2<9=2 G,G:< G,98G 2,<:2 8,:<2 1G,91 29,A< 81,89 11A,:2 G,G9< G,G;1 G,A8A 1,<9: G,G==1< G,2<9=2 G,G=8 G,98G 2,<=: 8,:<2 1G,9: 29,A< 81,=8 11A,:2 G,G=2 G,1=G G,A8A 1,<9: G,2221< G,:8A<; G,219 1,GA1 2,8AA ;,G;1 1G,=< 28,2: 8<,1A 12;,9: G,G<G G,1G1 G,A8A 1,<9: G,1G<8< G,<1<GG G,1GG G,8A8 2,8G: 8,=== 1G,<; 2<,88 82,2= 122,:: G,G8< G,118 G,A8A 1,<9: G,1<92: G,<:<<; G,19: G,;=2 2,8<8 8,A2: 1G,;1 2<,:1 89,G: 129,8: G,G<9 G,GA= G,A8A 1,<9: G,112:A G,<G11G G,1G= G,8:; 2,81; 8,==G 1G,<A 2<,82 82,<: 122,8A !(1a#/5 1,8G2 =,19< 2:,==G ;8,19A 11;,28A 2:1,;9G 8=1,2A: 198=,1<= 5B544 V3lculo )uraci.n 2,8V1$gG,9= Dura7i&0 I3/5/5JP 2B918

!a"#a 5.9.$ 3lculo de Esfuer/o Ajustado y 1roductividad Fu/01/$ Elaboraci.n 1ropia 1ara el clculo del esfuer/o ajustado 5EAF6 se utili/a los !ndices de costos, y las 3onsideraciones de 'ie%po indicadas en las 'ablas 8-: y 8-= respectiva%ente 1$ 51ersonal $ensual6 b 9-2 V EAF V E)SI g 1-G8 5Ecuaci.n 8-16 1$A 51ersonal $ensual Ajustado6 b 1$ V EAF

:8

Figura 5.5.$ Se%anas #ecesarias para co%pletar las operaciones Bsicas Fu/01/$ Elaboraci.n 1ropia

:;

C(51(5 7(0 Pa1r&0 IC(051ru71i8/ C(51 M('/#J I01ra0/1 I0'u51ria# UNMSM 3osto 5"Sh6 8-GG 122-G8 122-G8 A18-9: ;1-G2

Fases ("1 3oncepci.n Elaboraci.n 3onstrucci.n 'ransici.n

)istribuci.n 1Ge 1Ge :8e 8e !(1a#

$eses 1 G-18 G-18 1-19 G-G= 1.35

Se%anas <-1: G-;9 G-;9 <-;A G-91 8-;9

)!as ; 9-:; 9-:; 2=-1: 1-== 99-=G

Foras ;-8G 2<-<1 2<-<1 1=9-G: 12-2G 21A-;A

h h h h h

V#o Incluido en el 3lculo

h 1,GA=-<<

!a"#a 5.10.$ 3lculo de 3ostos con 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

P#aM(5 7(0 Pa1r&0 IC(051ru71i8/ C(51 M('/#J I01ra0/1 I0'u51ria# UNMSM $eses 1 G-2A G-2A 2-1A G-18 2.63 Se%anas <-1: 1-22 1-22 A-12 G-;1 1G-A< )!as ; :-9G :-9G 8<-:1 9-;8 ;8-;; Foras ;-8G <:-<2 <:-<2 988-;< 29-:1 <2;-:;

Fases ("1 3oncepci.n Elaboraci.n 3onstrucci.n 'ransici.n

)istribuci.n 1Ge 1Ge :8e 8e !(1a#

V#o Incluido en el 3lculo

!a"#a 5.11.$ 1la/os con 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

::

C(51(5 Si0 Pa1r&0 IC(051ru71i8/ C(51 M('/# IIJ I01ra0/1 I0'u51ria# UNMSM $eses 1 G-=1 G-=1 ;-1G G-<1 7.32 Se%anas <-1: 9-9A 9-9A 28-<2 1-;A 9G-8G )!as ; 2G-99 2G-99 182-81 1G-1: 1=9-G1 Foras ;-8G 192-1= 192-1= AA1-99 ;;-GA 11=A-;G 3osto 5"Sh6 h 8-GG h ;;G-=A h ;;G-=A h <,A8;-;8 h 99G-<< h 8,A<:-A=

Fases ("1 3oncepci.n Elaboraci.n 3onstrucci.n 'ransici.n

)istribuci.n 1Ge 1Ge :8e 8e !(1a#

V#o Inclu!do en el 3lculo

!a"#a 5.12.$ 3lculo de 3ostos sin 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

P#aM(5 Si0 Pa1r&0 IC(051ru71i8/ C(51 M('/# IIJ I01ra0/1 I0'u51ria# UNMSM $eses 1 G-88 G-88 <-1; G-2= 4.99 Se%anas <-1: 2-91 2-91 1:-99 1-1; 2G-:A )!as ; 19-=; 19-=; 1G9-A; ;-A9 12<-:8 Foras ;-8G AG-1G AG-1G ;:8-:9 <8-G8 =1G-=:

Fases ("1 3oncepci.n Elaboraci.n 3onstrucci.n 'ransici.n

)istribuci.n 1Ge 1Ge :8e 8e !(1a#

V#o Inclu!do en el 3lculo

!a"#a 5.13.$ 3lculo de 1la/os con 1atr.n Infor%ador Fu/01/$ Elaboraci.n 1ropia

:=

C S! S DESARR )) M%DU) S IN!RANE! INDUS!RIA) FII C N PA!R%N IC NS!RUC!I,E C S! M DE)J

h;,GGG-GG h8,GGG-GG h<,GGG-GG US Q h9,GGG-GG h2,GGG-GG h1,GGG-GG hP h;;G-=A h122-G8 3oncepci.n h;;G-=A h122-G8 Elaboraci.n 3onstrucci.n hA18-9: h99G-<< h;1-G2 'ransici.n

3ostos 3on 1atr.n 3ostos Sin 1atr.n

h<,A8;-;8

Fa5/5 Ra1i(0a# U0i6i/' Pr(7/55

Figura 5.6.$ 3ostos )esarrollo $.dulos Intranet Fu/01/$ Elaboraci.n 1ropia

:A

P#aM(5 E51i3a'(5 /0 M/5/5 IM('/#( C(051ru71i8( '/ C(51(5J IN!RANE! FII UNMSM
;-GG 8-GG <-GG M/5/5 9-GG 2-GG 1-GG G-GG Sin 1atr.n 3on 1atr.n 2-;9 <-AA

Figura 5.7.$ 3o%paraci.n 1la/os Esti%ados )esarrollo $.dulos Intranet Fu/01/$ Elaboraci.n 1ropia

C(51( E51i3a'( /0 US Q IM('/#( C(051ru71i8( '/ C(51(5J IN!RANE! FII UNMSM


:GGG-GG ;GGG-GG 8GGG-GG M/5/5 <GGG-GG 9GGG-GG 2GGG-GG 1GGG-GG G-GG Sin 1atr.n 3on 1atr.n 1GA=-<< 8A<:-A=

Figura 5.8.$ 3o%paraci.n 3ostos Esti%ados )esarrollo $.dulos Intranet Fu/01/$ Elaboraci.n 1ropia

5.3. EEP)ICACI%N
!a"#a 5.4B 4 5.5 se recolecta el n0%ero de l!neas, a rupados por los %.dulos del siste%a de la Intranet Industrial, y diferenciadas por las operaciones bsicas de la base de datos 5Inserci.n, Actuali/aci.n, y Eli%inaci.n6- En la tabla 8-; se %uestra la co%paraci.n de las 2 tablas anteriores!a"#a 5.7. En esta tabla se definen los valores para cada uno de los 18 par%etros, que constituyen la variable EAF IFa71(r '/ E56u/rM( A>u51a'(J en la ecuaci.n 8-14bservar que se ,an %odificado 2 par%etros para a%bos escenarios, para obtener el EAF? M DP$ 'o%a un valor de FICF 5FIbG-A16 para el clculo de costo con uso de patrones, y para el clculo sin uso de patrones to%a el valor de *4] 5*4b1-1G6- Esto se e7plica, porque $4)1 es un factor, dentro de la cate or!a de Atributos de 1royecto 5ver tabla 8-26, y su !ndice indica el rado de

utili/aci.n de t2cnicas %odernas de pro ra%aci.n- "tili/a%os FICF porque cuando se ,ace uso de 1atrones se utili/a toda la rique/a y la potencia de la pro ra%aci.n orientada a objetos, ,erencia, interfaces, y encapsulaci.n- En ca%bio cuando no se utili/a patrones no se ,ace uso de nin una de estas propiedades de la ,erra%ienta, por esta ra/.n se aplica el !ndice *4]! )$ 'o%a un valor de FICF 5FIbG-A16 para el clculo de costo con uso de

1atr.n, y para el clculo sin uso de patrones to%a el valor de #o%inal 5#$b1-GG6- Esto se e7plica, porque '44* es un factor, dentro de la cate or!a de Atributos de 1royecto 5ver tabla 8-26, y su !ndice indica el rado de

utili/aci.n de la ,erra%ienta 5en esta caso el len uaje de pro ra%aci.n6-

"tili/a%os FICF porque cuando se ,ace uso de 1atrones se utili/a toda la rique/a y la potencia de la pro ra%aci.n orientada a objetos, ,erencia, interfaces, y encapsulaci.n- En ca%bio cuando no se utili/a patrones no se ,ace uso de nin una de estas propiedades de la ,erra%ienta, por esta ra/.n se aplica el !ndice #$!a"#a 5.8. En 2sta tabla se define, los par%etros de tie%po, para los clculos respectivos- 4bvia%ente, estos par%etros pueden ser %odificados, pero deben ser i uales para a%bos escenarios, a fin de establecer resultados co,erentesS/3a0a5 R M/5$ que est referido a la cantidad real de se%anas que ,ay por un %esDOa5 R S/3a0a$ Indica la cantidad de d!as laborables por se%ana -(ra R DOa$ Indica cuantas ,oras se trabaja por d!a3o%o se puede observar estos, valores pueden ser %odificados, pero per%anecen id2nticos en a%bos escenarios 53on y sin 1atr.n6 a fin de co%parar los costos en los que se incurren!a"#a 5.9. En la tabla 8-A, se ,ace el clculo de Esfuer/o ajustado y 1roductividad, se 0n indica la ecuaci.n 8-1Es necesario, convertir el n0%ero de l!neas de c.di o 5*)36 a %iles de l!neas de c.di o 5c*)364bs2rvese en la tabla 8-A que el 1$ #o%inal 51ersonal #o%inal $ensual #ecesario6, es %ayor que en el escenario &Sin 1atr.n+!a"#a 5.10. 4 !a"#a 5.12. Establece los costos en los que se incurre al desarrollar el siste%a 3on patr.n y Sin 1atr.n- 4bservar que se alinea la

=9

distribuci.n de los costos con las fases del ("1, otor ndole un porcentaje a cada fase? 3oncepci.n? 1Ge Elaboraci.n? 1Ge 3onstrucci.n? :8e 'ransici.n? 8e Estos porcentajes son dados por el )r- Boe,% KB4EF$=1L, ,an sido definidos, por ser la fracci.n de tie%po utili/ado en proyectos de software si%ilares!a"#a5 5.11B 5.13. Se indica los pla/os de tie%pos en los que incurre, en a%bos escenarios, al i ual que en las tablas 8-1G y 8-12, se distribuye los pla/os de acuerdo las fases del ("1-

5.4. IN!ERPRE!ACI%N
El 3osto econ.%ico, que i%plica la utili/aci.n de un patr.n en la capa de datos y la capa de Business 51atr.n Infor%ador6, si nifica un a,orro del =1,89e versus la noPutili/aci.n de al 0n patr.nEn 1la/os de entre a, el uso del patr.n, i%plica una dis%inuci.n del <:,9:e en t2r%ino de tie%pos de entre a!a"#a C(39ara1i8a '/ Si0 Pa1r&0 8/r5u5 U5( '/ Pa1r&0 IC(051ru71i8/ C(51 M('/#J I01ra0/1 I0'u51ria# UNMSM Sin 1atr.n <-AA 8A<:-A= 3on 1atr.n 2-;9 1GA=-<< e <:,9: =1-89

1la/os 5$eses6 3ostos 5"S h6

!a"#a 5.14.$ 'abla 3o%parativa de Sin 1atr.n versus "so de 1atr.n Fu/01/$ Elaboraci.n 1ropia

=<

CAPI!U)

,I$ C NC)USI NES G REC MENDACI NES

C NC)USI NES
1*os patrones de diseo orientados a objetos, son una alternativa t2cnica para el desarrollo de siste%as de software, pro%oviendo la reutili/aci.n, y ,aciendo posible la %odularidad de los siste%as de software2El uso siste%tico del 1atr.n Infor%ador en el desarrollo de la Intranet Industrial, constituye un a,orro econ.%ico apro7i%ado del =Ge, y una dis%inuci.n de alrededor del <=e en t2r%inos de %eses necesarios para concluir el proyecto, se 0n la apro7i%aci.n e%p!rica 3o3o$o 53onstructive 3ost $odelin 69El 1atr.n Infor%ador es una capa abstracta que provee acceso a diferentes bases de datos, el siste%a de software reali/a operaciones t!picas con la base de datos a trav2s de esta capa abstracta, estas operaciones pueden ser transaccionales-

=8

<-

El 1atr.n Sensor, son interfases de clases abstractas que %onitorean continua%ente el siste%a de software, reportando cualquier error . ca!da del siste%a de software-

8-

El 1atr.n de 9 3apas, es una distribuci.n arquitect.nica de los co%ponentes de ne ocio, capa de datos y presentaci.n- El uso de 2ste patr.n proporciona fle7ibilidad y encapsula la co%plejidad de cada una de las capas en %acro %.dulos fcil%ente ad%inistrables-

;-

El 1atr.n Infor%ador, el 1atr.n Sensor, y el 1atr.n de 9 capas constituyen %acro estructuras l. icas reutili/ables en el desarrollo de un siste%a de software co%plejo, independiente%ente del len uaje o del siste%a de software, estos patrones ofrecen un vocabulario con %ayor valor se%ntico, que per%ite poder trans%itir estructuras l. icas en ve/ de ideas sola%ente, proporcionando otro nivel de co%unicaci.n entre los desarrolladores y analistas de software-

:-

El Siste%a de la Intranet Industrial, es un siste%a %odular, d2bil%ente acoplado, provee un co%pleto conjunto de objetos y los patrones para su reutili/aci.n posterior en el proceso de

escalabilidad del siste%a- Este siste%a es escalable, es decir puede soportar el creci%iento l. ico 5nuevos %.dulos o subsiste%as co%plejos6, y el creci%iento f!sico 5%ayor n0%ero de usuarios, %ayor trfico en las transacciones6=*os patrones de diseo, son posibles, racias al uso de len uajes de pro ra%aci.n orientados a objetos? -#E', Eava, )elp,i, entre otros, estos patrones no se pueden i%ple%entar con len uajes que no

=;

posean

los

conceptos

funda%entales

de

objetos,

,erencia,

poli%orfis%o, y encapsula%iento-

REC MENDACI NES


1- El esque%a arquitect.nico de la Facultad de In enier!a Industrial "#$S$, que se propone con la I#'(A#E' I#)"S'(IA*, busca la inte raci.n de toda la infor%aci.n en la or ani/aci.n, y el desarrollo co,erente de futuras i%ple%entaciones de software, por eje%plo? un %.dulo de control de personal, %.dulo de econo%!a, entre otros2- El 3!rculo de Investi aci.n y )esarrollo de Software de la Facultad de In enier!a Industrial 3I)ES4F', actual%ente posee la 0lti%a versi.n en a%biente de desarrollo de la I#'(A#E' I#)"S'(IA*, es necesario proveer de %ayor equipa%iento de c.%puto, para que los inte rantes contin0en con el %anteni%iento y a%pliaci.n del proyecto de la I#'(A#E' I#)"S'(IA*9- El siste%a de la I#'(A#E' I#)"S'(IA*, puede ser acondicionado fcil%ente para su uso en otras facultades, or ani/aciones y e%presas, al ser escalable y proveer un conjuntos de patrones, puede satisfacer nuevos requeri%ientos en %enor tie%po<- Es necesario que cualquier i%ple%entaci.n de software en la Facultad de In enier!a industrial, sea aco%paada de una detallada docu%entaci.n, t2cnica- Esto ase ura su %anteni%iento y a%pliaci.n a lar o pla/o-

=:

*I*)I GRAFA
:A)E77; 3F(IS'41FE( A*EJA#)E( 51A::6 SA Pa11/r0 )a0guag/T 547ford "niversity 1ress 1A::6:A)E77U1; 3F(IS'41FE( A*EJA#)E( 51A::6 SE) M('( I01/39(ra# D/ C(051ruirT 547ford "niversity 1ress 1A=86, :AN!IPA!98; S!F/ S(61Har/ Pa11/r05 Cri1/ria IPr(9(5/' D/6i0i1i(05 6(r E8a#ua1i0g S(61Har/ Pa11/r0 .ua#i14JT >ersion 1G-2 Eune 2, 1AA=

,ttp?[[www-antipatterns-co%[w,atisapattern[ :*S!R US!RUP97; BEA(#E S'(4"S'("1 S!F/ CVV Pr(gra33i0g

)a0guag/T Addison ]esley 9era Edition 1AA::*RAD99; )4#A*) B(A)*E@ (4BE('S 51AAA6 SPra71i7a# A0a#45i5 F(r R/6a71(ri0gT "niversity of Illinois at "rbanaP3,a%pai n :*MR96; F(A#c B"S3F$A##, (ECI#E $E"#IE(, FA#S (4F#E(', 1E'E( S4$$E(*A) @ $I3FAE* S'A*- &Pa11/r0U ri/01/' S(61Har/ Ar7Fi1/71ur/ U A S451/3 6 Pa11/r05. & Eo,n ]iley R Sons, 1AA;-

:* E-M81; B- ]- B4EF$ WS(61Har/ E0gi0//ri0g E7(0(3i75W 1renticeP Fall, 1A=1:C P)IEN00; EA$ES 4- 341*IE# 52GGG6 SS(61Har/ Pa11/r05T *ucent

'ec,nolo ies, Bell *abs Innovations :EGEDE02; E>A*"A'4(S C"I)E 52GG26 SRa1i(0a#X EDE Y Pr(6/55i(0a# 82002 R/#/a5/ 2.1 .NE!Y E'i1i(0T (ational Software ],ite 1aper :F !92; B(IA# F44'E- 51AA26 SA Fra71a# M('/# 6 !F/ )i6/747#/5 6

R/u5a"#/

">/715.T 5Abstract6 ,ttp?[[www-laputan-or [fra%eworHs[fractal-,t%l

==

:F

ZG DER95; B(IA# F44'E A#) E4SE1F @4)E(- 51AA86 SE8(#u1i(0B a0' M/1a3(r9F(5i5T

Ar7Fi1/71ur/B

,ttp?[[www-joeyoder-co%[papers[patterns[Evolution[plopA8-pdf :G F95; E(I3F CA$$A, (I3FA() FE*$, (A*1F E4#FS4#, EF4# >*ISSI)ES 51AA86 SD/5ig0 Pa11/r5 E#/3/015 (6 R/u5a"#/ S(61Har/T Addison ]esley :IEEEU1471; (I3F FI**IA() SIEEEU1471 R/7(33/0'/' Pra71i7/ 6(r R/7(33/0'/' Pra71i7/ I01/05i8/ www-enterpriseP arc,itecture-info[I%a es[)ocu%ents[IEEEe2G1<:1P2GGG-pdf :MP)A!!02; $I3FAE* 1*A'' 52GG26 SMi7r(5(61 Ar7Fi1/71ur/ ED/7u1i8/ Su33ar4 +u#4 2002T $icrosoft 3orporation : PDG95; B(IA# F44'E A#) ]I**IA$ F- 41)@cE 51AA<6 S)i6/747#/ A0' R/6a71(ri0g Pa11/r05 !Fa1 Su99(r1 E8(#u1i(0 A0' R/u5/.T "#I>E(SI'@ 4F I**I#4IS A' "(BA#AP3FA$1AIC# and A'R' Bell *aboratories :RUP03; (A'I4#A* "#IFIE) 1(43ESS 52GG96 SD(7u3/01a7i&0T >ersion 2GG9-G;-GG-;8 :REDE03; W(ational J)E^ $odel Structure Cuidelines for $icrosofti 8/r8i/H 6(r Ar7Fi1/71ura# D/57ri91i(0 (6 S(61Har/U ">/71U ri/01/'

S451/35.T

-#E'&www-12=-ib%-co%[developerworHs[rational[library[content[G9Euly[28GG[28 8<[288<Znet-pdf :S MMER02; IA# S4$$E(>I**E 52GG26 SI0g/0i/rOa '/ S(61Har/T Addison ]esley

=A

Das könnte Ihnen auch gefallen