Anda di halaman 1dari 12

ANEXO A

Proyecto (codename) ZERO


PrimerConcursoUniversitariodeSoftwareLibredeCastillaLaMancha. SegundoConcursoUniversitariodeSoftwareLibre

Anexo A - Proyecto (Codename) Zero

ndice de contenido
Acercadeestedocumento..................................................................................................... ....................4 Aquinvadirigidalaaplicacin........................................................................................................... ....5 ProgramacinExtrema............................................................................................................ ..................6 Planificacin.......................................................................................................... ..........................7 Diseo..................................................................................................................... .........................7 Codificacin........................................................................................................................... ..........7 Pruebas............................................................................................................................... .............7 ModeladoUML...................................................................................................................... ...................8 Diagramadecasosdeuso.......................................................................................................... .....8 Diagramadeclases(deldominio).................................................................................. .................8 Diagramadesecuencia............................................................................................... ....................9 Modelodetrescapas................................................................................................... ............................10 Capadepresentacin............................................................................................. ........................10 Capadelgicadenegocio....................................................................................... ......................10 Capadepersistenciaodatos................................................................................... .......................11 Modeladodelabasededatos....................................................................................................... ...........12 Elmodelorelacional................................................................................................. .....................12 ModeloEntidadRelacin.............................................................................................. ................12

Anexo A - Proyecto (Codename) Zero

Anexo A - Proyecto (Codename) Zero

Acercadeestedocumento
Atravsdeestedocumentohemosqueridorecogertodalainformacinposibledelaque hemos hecho uso durante el desarrollo del proyecto. De tal manera, dicho anexo incluye documentacin del proyecto y tambin parte de las nociones tericas que nos han permitido conocerconexactitudtodasycadaunadelastareasquenosbamosmarcando.Sloas,unfuturo lector, independientementedesusconocimientosprevios,puedeconocerdemaneraprecisala finalidaddecadaunadelastareasllevadasacaboduranteeldesarrollo. Enesedocumento,hemosrecogidodeformabrevelametodologadetrabajoutilizada,el procesollevadoacabopararealizarlasentrevistasylashistoriasdeusuario,unabrevedescripcin delosdiagramasUMLrealizadosyaquellasconsideracionesquehemoscredooportunasacerca delparadigmadelaprogramacinorientadaaobjetos,elmodelodetrescapasyotrosaspectosdel proyecto. Caberecordarqueenunprincipio,staibaaserlamemoriaapresentarperoaldisponerde una plantilla cremos ms conveniente ceirnos al contenido de esa plantilla y dedicar este documentoaampliarladocumentacin. Sucontenidovariarsustancialmentesegnsevayaavanzandoeneldesarrollo.

Anexo A - Proyecto (Codename) Zero

Aquinvadirigidalaaplicacin
LaspequeasymedianasempresassonsindudaelmotordelaeconomaenCastillaLa Manchayengeneral,detodoelterritorionacionaltalycomoreflejaeldocumentoreferentealao 2006,RetratodelaPYME2007,expedidoporelMinisteriodeIndustria,TurismoyComerciodel Gobierno de Espaa. De este documento se extrae que el 99,87 por ciento de las 3.165.619 empresasqueconformanelcensodePYMEStienenentre0y249asalariados.Eldocumentopone demanifiestoquelamayoradelasPYMESejercenlaactividadenelsectordelosservicios.Se dedicanprincipalmentealasactividadesinmobiliarias,alahostelerayalcomercioalpormenor dealimentosybebidas. Porotraparte,podemosverenesteotrodocumento,querecogelosdatosreferentesa2006 enCastillaLaMancha,quelatendencianoesmuydistintaenelmbitoregionalyaquedelas 124.170empresascensadasenCastillaLaMancha,124.103sonPYMES,loquesuponeel99,95% del total de las empresas y que el 94,30% son microempresas, es decir, tienen entre 0 y 9 asalariados. Siguiendo con las estadsticas, el 42,03% de las empresas castellanomanchegas ejercensuactividadenelsectordelosservicios,el28,09%eneldelcomercio,el19,23%enelde laconstruccinyel10,65%restanteeneldelaindustria. Alavistadelosresultadoscitadosanteriormente,dondeseponedemanifiestoqueeltejido empresarial nacional y regional esta formado en un alto porcentaje de pequeas y medianas empresas,lapreguntaPorqudesarrollarunaaplicacinlibreorientadaalacontabilidadyala gestincomercial?,tieneunasencillarespuesta.Laapuestaporelsoftwarelibresupone,entre otrosmuchosbeneficiosquenoprocedecomentar,lareduccindecostes.Quedudacabeque, cuandounaempresacomienzaadarsusprimerospasos,esimprescindiblecontrolarlosgastospara quenosuponganunlastreacortoplazo.Esentoncescuandolasalternativaslibresseconviertenen unaopcinatenerencuenta,teniendotrascendentalimportanciaaquellasquedeformadirectao indirectafacilitanlatareadelacontabilidadylagestincomercial,basesfundamentalesdelbuen funcionamientodecualquiernegocioporpequeoqueestesea. Enmuchasocasiones,elcrecimientoydesarrollodeestasempresasdependedelacapacidad deadaptarsealasnuevasformasdetrabajo.Estasnuevasformasdetrabajoimplicanlautilizacin de nuevas tecnologas.Esaqu donde las PYMESse encuentrancon unasituacindifcil de solucionar.Enprimerlugar,handedarelpasodecambiarparaseguircreciendoy,ensegundo lugar,elegircorrectamentelasolucintecnolgicaquelespermitaevolucionarymantenerseen unasituacincompetitiva.

Anexo A - Proyecto (Codename) Zero

ProgramacinExtrema
Metodologagil:Lasmetodologasgilesformanpartedelmovimientodedesarrollogilde software,quesebasanenlaadaptabilidaddecualquiercambiocomomedioparaaumentarlas posibilidadesdelxitodeunproyecto.Tienecomoprincipiosque:

Individuoseinteraccionessobreprocesosyherramientas Softwarequefuncionasobredocumentacinexhaustiva Colaboracinconelclientesobrenegociacindecontratos Responderanteelcambiosobreseguimientodeunplan.

Laprogramacinextrema(apartirdeahoraXP,delinglseXtremeProgramming),esla msdestacadadelosprocesosgilesdedesarrollodesoftware.Aligualquestos,laprogramacin extremasediferenciadelasmetodologastradicionalesprincipalmenteenqueponemsnfasisen laadaptabilidadqueenlaprevisibilidad.LosdefensoresdeXPconsideranqueloscambiosde requisitossobrelamarchasonunaspectonatural,inevitableeinclusodeseabledeldesarrollode proyectos.Sercapazdeadaptarsealoscambiosderequisitosencualquierpuntodelavidadel proyectoesunaaproximacinmejorymsrealistaqueintentardefinirtodoslosrequisitosal comienzodelproyectoeinvertiresfuerzosdespusencontrolarloscambiosenlosrequisitos. EnlaXPsedaporsupuestoqueesimposibleprevertodoantesdeempezaracodificar (capturartodoslosrequisitosdelsistema,saberquestodoloquetienequehacer,llevaracaboun diseocorrectoalprincipio...).Seasumeysebuscaunaformadetrabajarqueseadaptefcilmente aloscambios. AlgunasdelascaractersticasmasimportantesdelaXPson:

Desarrolloiterativoeincremental. Programacinenparejas. Frecuenteinteraccindelequipodeprogramacinconelclienteousuario. Correccindetodosloserroresantesdeaadirnuevafuncionalidad. Refactorizacindelcdigo. Simplicidadenelcdigo. Integracincontinua. Cualquierapuedeydebetocaryconocercualquierpartedelcdigo. Normasdecodificacin.

LaXPutilizaunenfoqueorientadoaobjetoscomoparadigmadedesarrollopreferidoy abarcaunconjuntodereglasyprcticasqueocurrenenelcontextodecuatroactividadesdelmarco detrabajo:planificacin,diseo,codificacinypruebas.

Anexo A - Proyecto (Codename) Zero

Planificacin
Comienzacreandounaseriedehistoriasquedescribenlascaractersticasylafuncionalidad requeridas para el software que se construir. Estas historias se crearn a partir de la documentacin e informacin obtenida durante las entrevistas y reuniones con el cliente. Es adecuadoqueseaelpropioclienteelqueredactelashistoriasdeusuariodesupuoyletra. Una vez creadas todas las historias, hemos de evaluar y analizar cada una de ellas, asignndolesunaprioridadbasndonosenlosvaloresgeneralesdelnegocio(recordarqueson varioslosclientesentrevistadosyquecadaempresaesdeunanaturalezadistinta). Acontinuacinselesasignauncostoentiempodedesarrollo(das,semanas...).Silahistoria resultademasiadocostosa,sehadedividirenhistoriasmenoresyrealizarunanuevaasignacinde valoryunnuevoanlisisdecosto.

Diseo
Siempreseprefiereundiseosimplerespectoaunapresentacinmascompleja.Noolvidar queelobjetivoesdesarrollaralgototalmentefuncional,pasandoporaltoenunaprimeraetapa diseos complejos o presentaciones no funcionales. El diseo ha de ofrecer una gua de implementacinparaunanecesidadconcreta.

Codificacin
Despusdeconocerlasnecesidadesfuncionalesdelsistemaydelaaplicacinyrealizarel trabajo de diseo preliminar el equipo debe desarrollar una serie de pruebas de unidad que ejercitencadaunadelashistoriasquevayanaincluirseenellanzamientoactual.Unavezcreada unapruebadeunidad,eldesarrolladoresmscapazdecentrarseenloquedebeimplementarse parapasarlapruebadeunidad. La XP recomienda que dos personas trabajen juntas en una misma mquina. Esto proporcionaunmecanismoparalaresolucindeproblemasentiemporeal(doscabezaspiensan msymejorqueuna)yelaseguramientodelacalidadenlasmismascondiciones.Tambinalienta quelosdesarrolladoressemantengancentradosenelproblemaquesetieneentremanos.

Pruebas
Laspruebasdeunidadquesecreandebenimplementarseenunmarcodetrabajoquepermita automatizarlasyporlotantopuedenejecutarsedemanerafcilyrepetida. LaspruebasdeaceptacindelaXP,tambinllamadaspruebasdelcliente,lasespecificael cliente yseenfocanenlascaractersticasgeneralesylafuncionalidaddelsistema,elementos visiblesyrevisablesporelcliente.Laspruebasdeaceptacinsederivandelashistoriasdeusuario quesehanimplementadocomopartedeunlanzamientodesoftware.

Anexo A - Proyecto (Codename) Zero

ModeladoUML
Lenguaje Unificado de Modelado (UML, por sus siglas en ingls, Unified Modeling Language)esellenguajede modelado desistemasde software msconocidoyutilizadoenla actualidad;ancuandotodavanoesunestndaroficial,estrespaldadoporel OMG (Object ManagementGroup).Esunlenguajegrficoparavisualizar,especificar,construirydocumentarun sistemadesoftware.UMLofreceunestndarparadescribirun"plano"delsistema(modelo), incluyendoaspectosconceptualestalescomoprocesosdenegociosyfuncionesdelsistema,y aspectosconcretoscomoexpresionesdelenguajesdeprogramacin,esquemasdebasesdedatosy componentesdesoftwarereutilizables. Es importante resaltar que UML es un "lenguaje" para especificar y no para describir mtodosoprocesos.Seutilizaparadefinirunsistemadesoftware,paradetallarlosartefactosenel sistemayparadocumentaryconstruir.Enotraspalabras,esellenguajeenelqueestdescritoel modelo.Sepuedeaplicarenunagranvariedaddeformasparadarsoporteaunametodologade desarrollodesoftware(talcomoelProcesoUnificadoRacional),peronoespecificaensmismo qumetodologaoprocesousar. UMLalnoserunmtododedesarrolloesindependientedelciclodedesarrolloaseguir, puedeencajarenuntradicionalcicloencascada,oenunevolutivocicloenespiraloinclusoenlos mtodosgilesdedesarrollo. Paraeldesarrollodelaaplicacinhemoscredoconvenientecrearlossiguientesdiagramas:

Diagramadecasosdeuso
Losdiagramasdecasosdeusosonuntipodediagramadecomportamientoquedescriben lasrelacionesylasdependenciasentreungrupodecasosdeusoylosactoresparticipantesenel proceso. Es importante resaltar que los diagramas de casos de uso no estn pensados para representareldiseoynopuededescribirloselementosinternosdeunsistema.Losdiagramasde casosdeusosirvenparafacilitarlacomunicacinconlosfuturosusuariosdelsistema,yconel cliente,yresultanespecialmentetilesparadeterminarlascaractersticasnecesariasquetendrel sistema.Enotraspalabras,losdiagramasdecasosdeusodescribenquesloquedebehacerel sistema,peronocmo.

Diagramadeclases(deldominio)
Losdiagramasdeclasessonuntipodediagramadeestructuraquemuestranlasdiferentes clasesquecomponenunsistemaycmoserelacionanunasconotras.Sedicequelosdiagramasde clasessondiagramasestticosporquemuestranlasclases,juntoconsusmtodosyatributos,as comolasrelacionesestticasentreellas:quclasesconocenaquotrasclasesoquclasesson partedeotrasclases,peronomuestranlosmtodosmediantelosqueseinvocanentreellas.Un diagrama de clases es un tipo de diagrama esttico que describe la estructura de un sistema mostrandosusclases,atributosylasrelacionesentreellos.
Anexo A - Proyecto (Codename) Zero

Diagramadesecuencia
Losdiagramasdesecuenciamuestranelintercambiodemensajes(esdecirlaformaenque seinvocan)enunmomentodado.Losdiagramasdesecuenciaponenespecialnfasisenelordeny elmomentoenqueseenvanlosmensajesalosobjetos.Enlosdiagramasdesecuencia,losobjetos estnrepresentadosporlneasintermitentesverticales,conelnombredelobjetoenlapartems alta.Elejedetiempotambinesvertical,incrementndosehaciaabajo,deformaquelosmensajes sonenviadosdeunobjetoaotroenformadeflechasconlosnombresdelaoperacinylos parmetros. El diagrama de secuencia es uno de los diagramas ms efectivos para modelar interaccinentreobjetosenunsistema.Undiagramadesecuenciamuestralainteraccindeun conjuntodeobjetosenunaaplicacinatravsdeltiempoysemodelaparacadacasodeuso. Mientrasqueeldiagramadecasosdeusopermiteelmodeladodeunavistabusinessdelescenario, el diagrama de secuencia contiene detalles de implementacin del escenario, incluyendo los objetosyclasesqueseusanparaimplementarelescenario,ymensajespasadosentrelosobjetos.

Anexo A - Proyecto (Codename) Zero

Modelodetrescapas
Laprogramacinporcapasesunestilodeprogramacinenlaqueelobjetivoprimordiales laseparacindelalgicadenegociosdelalgicadediseo,unejemplobsicodeestoesseparar lacapadedatosdelacapadepresentacinalusuario.

Capadepresentacin
Sontodaslaspartesdelaaplicacinespecializadasenlaconstruccindelainterfazgrfica dirigidaalusuario.Lapresentacinpuedeserdesdeunapantallaenmodocaracter(consola)hasta aplicacionesvisualestantoaniveldeclientepesado(aplicacindeescritorio)comodeinterfaces web. Enlaactualidadexistenherramientasquefacilitanlaconstruccindeestetipodeinterfaces. Estacaparenetodoslosaspectosdelsoftwarequetienequeverconlasinterfacesylainteraccin conlosdiferentestiposdeusuarioshumanosEstosaspectostpicamenteincluyenelmanejoy aspecto de las ventanas, el formato de los reportes y listados, menes, grficos y elementos multimediaengeneral.Sedebesiempretenerencuentaquelacapadepresentacinpermite visualizarlosdatosentregadosporlacapalgica,esdecir,lapresentacinnodeberaprocesar datos.Laventajadetrabajardeestaformasetraduceenaplicacionesquenodependendela interfazalahoraderealizarcambios.

Capadelgicadenegocio
Enestacapaestntodoslosobjetosqueparticipaneneldominiodelproblemaquesedesea implementar,loimportanteestenerencuentaqueestaeslapartemedulardeldesarrollodel software.Estasclasesimplementadassobreeldominiodelproblemasernlabaseparadarvidaa losobjetosquecontestarnanuestraspeticiones. Estacaparenetodoslosaspectosdelsoftwarequetienenqueautomatizanoapoyanlos
Anexo A - Proyecto (Codename) Zero

procesosdenegocioquellevanacabolosusuarios.Estosaspectostpicamenteincluyenlastareas queformanpartedelosprocesos,lasreglasyrestriccionesqueaplican.Estacapatambinrecibeel nombre de la capa de la Lgica de la Aplicacin. Esta capa se comunica con la capa de presentacin,pararecibirlassolicitudesypresentarlosresultados,yconlacapadedatos,para solicitaralgestordebasededatosparaalmacenarorecuperardatosdel.

Capadepersistenciaodatos
Esunmecanismoquepermiteelalmacenamientoatravsdeltiempodelosdatos(deahel nombredepersistencia).Estacapabrindaserviciosparasincronizarlacapadelgicadenegocio conunmediodealmacenamiento,habitualmenteunabasededatosrelacional.Paraestosedeben identificarlosobjetosenmemoriaquedebensobreviviralaejecucindelprogramateniendoas unapersistenciadelargoplazo.

Anexo A - Proyecto (Codename) Zero

Modeladodelabasededatos
Elmodelorelacional
steeselmodelomsutilizadoenlaactualidadparamodelarproblemasrealesyadministrar datosdinmicamente.Enestemodelo,ellugarylaformaenquesealmacenenlosdatosnotienen relevancia(adiferenciadeotrosmodeloscomoeljerrquicoyeldered).Estotienelaconsiderable ventajadequeesmsfcildeentenderydeutilizarparaunusuarioespordicodelabasededatos. Lainformacinpuedeserrecuperadaoalmacenadamediante"consultas"queofrecenunaamplia flexibilidadypoderparaadministrarlainformacin. EllenguajemshabitualparaconstruirlasconsultasabasesdedatosrelacionalesesSQL, StructuredQueryLanguageoLenguajeEstructuradodeConsultas,unestndarimplementadopor losprincipalesmotoresosistemasdegestindebasesdedatosrelacionales.

ModeloEntidadRelacin
Denominadoporsussiglascomo:ER;Estemodelorepresentaalarealidadatravsdeun esquemagrficoempleandolosterminologadeentidades,quesonobjetosqueexistenysonlos elementos principales que se identifican en el problema a resolver con el diagramado y se distinguendeotrosporsuscaractersticasparticularesdenominadasatributos,elenlacequerigela unindelasentidadesestarepresentadaporlarelacindelmodelo. Originalmente,elmodeloentidadrelacinsloinclualosconceptosdeentidad,relaciny atributo.Mstarde,seaadieronotrosconceptos,comolosatributoscompuestosylasjerarquas degeneralizacin,enloquesehadenominadomodeloentidadrelacinextendido.

Anexo A - Proyecto (Codename) Zero

Anda mungkin juga menyukai