Ambientes de Desarrollo de Software Basado en Componentes ...
Desarrollo de Software Basado en Componentes
-
Upload
diego-cardozo -
Category
Software
-
view
436 -
download
3
description
Transcript of Desarrollo de Software Basado en Componentes
![Page 1: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/1.jpg)
DesarrollodeSoftwareBasadoenComponentes
DiegoCardozo
![Page 2: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/2.jpg)
Agenda1. Motivación2. ¿QuéeselDSBC?3. ComponentesvsObjetos4. Aplicacionesconocidas5. ¿ComoencajanlosCMS?6. Bajaratierraconceptos
WebMatrixOrchardCMS
Advertencia:EstaesunacharladeIngenieríadeSoftware
![Page 3: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/3.jpg)
Motivación(1)SiGeneralMotorsevolucionaracomola
industriadelacomputación,hoytendríamosautosquesaldrían$100
consumiendo1litrodecombustiblecada1millóndekilómetros.
![Page 4: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/4.jpg)
Motivación(2)Pero...
Chocaríasalmenos2vecesaldíaComprarunautonuevocadavezquesecambiaunaseñaldetránsitoCadavezquecomprásunmodelonuevo,tenésqueaprenderamanejarnuevamente.
![Page 5: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/5.jpg)
¿Conclusión?OtrasindustriasutilizanenfoquesdistintosObtienenmuybuenosresultadosenáreasdondenosotrostenemosproblemas.
Automotriz:procesoságiles,productocomplejoqueseconstruyedeformarápida.Construcción:tienencostosasociadosalcambiomuchomayoresquenosotros,perosearreglanmejor.
¿Quéesloqueotrasindustriastienenencomún?
![Page 6: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/6.jpg)
TrabajanutilizandocomponentesMayorniveldere-utilizaciónSimplificalaspruebasSimplificaelmantenimientoMayorcalidad
Componentesdesarrolladosporterceros
CiclosdedesarrollomascortosMejorROI
![Page 7: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/7.jpg)
¿QueesuncomponenteenSW?"Uncomponentesesunaunidaddecomposicióndeaplicacionesdesoftware,queposeeunconjuntode
interfacesyunconjuntoderequisitos,yquehadepoderserdesarrollado,adquirido,incorporadoalsistemasycompuestoconotroscomponentesdeformaindependiente,entiempoy
espacio."
Szyperski,1998
![Page 8: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/8.jpg)
7Criterios1. PuedeserusadoporotroselementosdeSW2. Puedeserusadoporlosclientessinlanecesidad
deintervencióndeldesarrollador(CMS).3. Incluyelasespecificacionesdetodaslasdependencias.4. Incluyedocumentacióndelasfuncionalidadesqueofrece.5. Sepuedeentendersufuncionamientoenbase
alasespecificaciones.6. Sepuedeacoplaraotroscomponentes.7. Puedeserincorporadoaunsistemademanerasuave
yrápida.
![Page 9: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/9.jpg)
DesventajasClarividencia:diseñaruncomponentesinconocerquienloutilizará.Particularización:esdifícil"customizar"uncomponentesinaccederasuimplementación.Faltadesoporte:unavezqueuncomponenteescreadoysellado,¿comoyquienlomantiene?
![Page 10: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/10.jpg)
ComponentesvsObjetosObjeto Componente
Polimorfismo Si No
Instanciación Algotardía
Lomastardeposible
Encapsulación Algo Realyforzada
Herencia Si Porinterfazyreusodebinarios
![Page 11: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/11.jpg)
AplicacionesconocidasBajonivel:COM(ComponentObjectModel)
ComunicacióndeprocesosendistintoslenguajesPrecursoresde.NET
CORBAEstándarcreadoporelOMGUsadodentrodelmundoJava
OtrasaplicacionesProgramaciónparadiseñográfico
![Page 12: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/12.jpg)
Modelodelpintor
![Page 13: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/13.jpg)
Modelodecomposición
![Page 14: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/14.jpg)
Bastadefilosofía...Ejemploconcreto:
Crearunsitiowebparalacomunidadde.NETUruguayIncluírunforo
¿PorquéconunCMS?
SebasanenlaideadeDSBC.Tantolaestructuracomoelcontenidosoncomponentes
Páginas,imágenes,posts,widgets,módulos,etc.Cuentanconunacomunidadyuncatálogodecomponentesexistentesenorme.
![Page 15: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/15.jpg)
MicrosoftWebMatrix(1)AmbientededesarrollogratuitodeMicrosoftLiviano:40MBreciéninstaladocomparadoconvariosgigasdeVSPensadoparalanubeSoportavarioslenguajesyplataformas
ASP.NETPHPNode.js
IntegraciónconGITyTFS
![Page 16: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/16.jpg)
MicrosoftWebMatrix(2)VSsesientecomounlaboratorioparacrearWebMatrixesidealparaDSBC
Proporcionacomponentes:GaleríadeframeworksIncorporaNuGetpackagemanagerExtensionesútiles
Aislaalframeworkdeloscomponentes
![Page 17: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/17.jpg)
OrchardCMS(1)CompletamenteOpenSourceCreciendorápidamenteArquitecturaMVCEsosignificaquetodosloscomponentessiguenunaarquitecturaMVC.
CrearnuevoscomponentesessencilloLoscomponentesexistentessonfácilesdecomprenderyextender
![Page 18: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/18.jpg)
OrchardCMS(2)Componentes
ContenidoMódulo
FeaturesTemasTemplates
Formas(shapes)WidgetsUsuarios,roles,permisos
![Page 19: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/19.jpg)
RecursosCharlaycódigo:
github.com/diegocard/CBSD-presentationDSBCenMSDN:
http://msdn.microsoft.com/es-es/library/bb972268.aspx#ref07back
Excelentepresentaciónrelacionada:http://www.slideshare.net/ulicruz/desarrollo-de-software-basado-en-componentes
PaperComponent-BasedSoftwareEngineering–NewParadigmofSoftwareDevelopment(Crnkovic,Larsson)
![Page 20: Desarrollo de Software Basado en Componentes](https://reader031.fdocumento.com/reader031/viewer/2022020207/5595824d1a28ab1d548b4656/html5/thumbnails/20.jpg)
Fin"LaRevoluciónIndustrialdelsoftwareestáfinalmenteantenosotros.Laespecializaciónderecursos,estándaresparapartesintercambiables,yherramientasdeensamblajedeúltimageneraciónhansidousadasenotrasindustriasporcientosdeañosparaacelerareldesarrollodeproductos
altamentecomplejos.Apesardesuubicuidad,laaplicacióndeestosconceptosalaindustriamodernadelsoftwaresolamentehaempezando."
BillGates,1997