Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autoras de GRUPO1:
Luca Nez Anta
DNI: 4444505044445050-B
Mara Gmez Rodrguez
DNI: 44471229
44471229--Q
Romina Carrera Arjolekas DNI: 3616574536165745-Q
Introduccin
y
y
12/11/2008
y
y
y
y
12/11/2008
y
y
y
4. Disponer de un experto en MF
y
y
12/11/2008
6. Documentar suficientemente
y
Contenido ideal:
Requisitos del sistema
Especificacin formal
Descripcin del lenguaje natural (si procede)
Se recomienda: p
producir una especificacin
p
informal y explicar la descripcin formal. En caso
de duda se tomar como elemento final la
descripcin formal (menos ambigua).
12/11/2008
8. No ser dogmtico
y
y
y
y
12/11/2008
10. Reutilizar
y
y
12/11/2008
CONCLUSIONES
y
y
AutorasGRUPO1:
LucaNezAnta.DNI:44445050B
MaraGmezRodrguez.DNI:44471229Q
RominaCarreraArjolekas.DNI:36165745Q
NDICE
Introduccin..............................................................................................................................3
1.
Sedeberelegirlanotacinapropiada............................................................................3
2.
Sedebeformalizar,peronoenexceso.............................................................................4
3.
Sedebenestimarloscostes..............................................................................................5
4.
Sedebetenerunexpertoenmtodosformales..............................................................5
5.
Nosedebenabandonarlosmtodosdedesarrollotradicionales...................................6
6.
Sedeberealizarsuficientedocumentacin......................................................................6
7.
Nosedebenponerenpeligrolosestndaresdecalidad.................................................7
8.
Noserdogmtico..............................................................................................................7
9.
Sedebeestarenuncontinuoprocesodeprueba............................................................8
10.
Sedebereutilizar...........................................................................................................9
Conclusiones...........................................................................................................................10
PREGUNTAS.............................................................................................................................11
Introduccin
Los mtodos formales son definidos como una tcnica con la que se consigue, ms
probablemente,sistemasdeunaaltaintegridad.
Desafortunadamente,suusotodavasiguesiendo,mslaexcepcinquelaregla;debido,en
buenaparte,alosgastos,dificultades,etc.
Sinembargo,suusoparaproblemasdelavidareal,estayudandoadestacarelhecho,deque
losproyectosqueempleanmtodosformales,cumplenlosrequisitosestablecidos:entregaa
tiempo, dentro del presupuesto y produciendo un software (y hardware) correcto, bien
estructuradoymantenido.
Hay una serie de factores que pueden tener una gran influencia a la hora de saber si un
proyectodemtodosformalestieneonoxito.
Los mandamientos expuestos a continuacin, se basan en un nmero de proyectos
recientementecompletadosexitosamente.
1. Sedeberelegirlanotacinapropiada
Ellenguajedeespecificacineslaprincipalherramientaenlasetapasinicialesdeldesarrollo
delsistema.Debertenerunassemnticasformalesbiendefinidas.
Paraelegirlanotacin,esnecesariounciertogradodeinterrelacinentrelaexpresividadde
unlenguajedeespecificacinylosnivelesdeabstraccinquesoporta.
Algunos lenguajes pueden tener un vocabulario y construccin extensos para soportar
situaciones particulares; pero nos forzarn a unas implementaciones particulares y mientras
empequeecelasespecificaciones,generalmente,lashacemenosabstractas.
Por otro lado, los lenguajes con vocabularios menos extensos, obtienen grandes
especificaciones,ofreciendoaltosnivelesdeabstraccinyunaimplementacinmspequea.
Elvocabularionoeslanicatareaaconsiderar;porejemplo,intentarespecificarunsistema
concurrente en un lenguaje de especificacin basado en modelos, como Z o VDM, podr
hacerse,peronoeslamejormanera.
EsmsapropiadounprocesoalgebraicocomoCSPoCCS,atendiendoalosaspectosbasados
enestadosdelsistema.
Una notacin bien establecida, con una buena base de usuario, asegurar el xito de la
aplicacinenlasmodificacionesindustriales.
2. Sedebeformalizar,peronoenexceso
3.Pruebasmecnicasdecomprobacin
Cadaunodeestostresnivelesestilensmismo.Sinembargo,hayquedeterminarsielcoste
adicional est justificado. Para sistemas donde se requiere la ms alta integridad, es decir,
donde la prdida de vida humana, una gran prdida financiera o la destruccin masiva de
propiedades, podra ser el resultado del fracaso del sistema; tal inversin podra estar muy
bienjustificadayrequerida!
3. Sedebenestimarloscostes
Laintroduccininicialdelosmtodosformalesenunambientededesarrollo,probablemente
requierecantidadessignificativasdeentrenamiento,laconsultadelcontratoylainversinen
herramientasdeapoyo.
Losmtodosformalespuedenfuncionartanabajocoste(yposiblementeamenorcoste)que
proyectosdesarrolladosusandomtodosconvencionales.
Que los mtodos formales sean ms caros por ellos mismos, es ms bien sintomtico del
hechoquesonusadosensistemascaros,sobretodosirequerimosaltosnivelesdeconfianza
ensucorrectaoperacin.
Sehanaplicadoanmtodosformalesaunnmerosuficientedeproyectosparadeterminar
las tendencias y muchos proyectos con mtodos formales estn en dominios muy
especializados, poco probables de ser tratados muy regularmente, por tanto son poco
representativos.
Aunquenoseafirmequelosmtodosformalessonbaratos;slosernparasistemasdealta
integridaddondesegaranticelainversin.
Eltiempoesunpuntodecomienzotilparaextenderlosmodelosexistentes,contalquenos
permitasuficientesmrgenesdeerror.
4. Sedebetenerunexpertoenmtodosformales
5. Nosedebenabandonarlosmtodosdedesarrollo
tradicionales
Existeunaconsiderableinversinenlastcnicasdedesarrollodesoftwareyseraarriesgado
sustituir estos por mtodos formales. En su lugar, es conveniente integrar los mtodos
formalesenelprocesodediseoenfuncindeloscostosefectivos.Unamaneradehacerloes
investigarcmounmtodoformalyaexistentesepuedecombinardemaneraefectivaconun
mtodoestructuradoexistenteyyaenusoenlaindustria(porejemploelmtodoSAZ,quees
unacombinacindeSSADMyZ).
Lo ideal sera la combinacin de los dos mtodos, obtenindose as la mayora de los
beneficiosoventajasdeambos,comoporejemplolamayorprecisinenlaespecificacinque
ofrecenlosmtodosformalesymejorpresentacinparaunapersonanoexpertaqueofrecen
losmtodosestructurados.
Otraalternativaalaintegracindeambastcnicaseselusodemtodosformalespararevisar
unprocesoyaexistente.Paraproporcionarinformacinaunequipodediseopuedenusarse
los mtodos tradicionales de desarrollo teniendo un equipo de anlisis separado de los
principiosdeespecificacinformalenelprocesodediseo,porlotanto,sepuedencapturar
muchoserroresantesdequeseademasiadotardeycarodecorregir.EstosehaaplicadoenZ
conmuchoxitoenfuncindeloscostosefectivos.
Otro ejemplo es Cleanroom, una tcnica que podra incorporar el uso de las notaciones
formales. Esta tcnica se ha aplicado con mucho xito utilizando tcnicas de desarrollo de
software con un historial demostrado de reducir errores, para el resultado de aplicaciones
segurasynocrticas.Siseencuentrandemasiadoserrores,debersermodificadoelproceso
antesqueelprograma.
Desde el punto de vista del lenguaje, los programas reales son demasiado grandes para ser
probadosdemaneracorrecta,porloquedebenserescritoscorrectamenteenprimerlugar.A
vecesesposiblecombinardiferentesmtodosformalestilesyefectivos,comoporejemplo
HOL,queha sidoutilizadoparaproporcionarherramienta deapoyoaZ,locualpermite que
sea ms legible y aumenta la confianza en el desarrollo debido a las pruebas mecnicas
chequeadasporHOL.
6. Sedeberealizarsuficientedocumentacin
La documentacin es una parte muy importante en el diseo del sistema, ya que conduce a
una menor ambigedad y por lo tanto menos probabilidad de errores. En el caso de la
seguridaddelossistemascrticos,losproblemasdetiemposeconviertenensignificativosylos
mtodosparadocumentarlossonespecialmenteimportantes.
Lo ideal sera que la documentacin del sistema contuviese los requisitos y la especificacin
del sistema en una notacin formal adecuada y acompaada, cuando proceda, de la
descripcindellenguajenatural.
En general, es muy recomendable producir una especificacin informal y al mismo tiempo
explicarladescripcinformal.Sihayalgunadiscrepanciaentrelosdos,laespecificacinformal
debe ser tomada como el elemento final de la documentacin ya que este es el menos
ambiguodelasdosdescripciones.
7. Nosedebenponerenpeligrolosestndaresdecalidad
Hasta hace poco tiempo, apenas han existido estndares que estuvieran pensados
especficamenteenelsoftwaredondesepuedenaplicarmtodosformales,comoporejemplo
laseguridadenlossistemascrticos.
UnadelasnormasdecalidaddesoftwareeslaISO9000,quesepuedenaplicarencualquier
tipodeorganizacinqueestorientadaalaproduccindebienesoservicios.Secomponende
estndares y herramientas especficas como los mtodos de auditoria para verificar que los
sistemasdegestincumplenconelestndar.Suimplantacinunagrancantidaddeventajas
paralasempresascomomejorarlasatisfaccindelcliente,mejorarlosprocesosrelacionados
conlacalidad,reduccindeincidenciasenlaproduccinoaumentodelaproductividad.
Errneamentelosdesarrolladorespuedenverenlaaplicacindemtodosformalesunmedio
paraelcorrectodesarrollodesoftware,siendostos,porelcontrario,unmediodelograrla
mayor integridad de los sistemas cuando se aplican adecuadamente. A pesar de todo, la
organizacin debe asegurarse de que sigue cumpliendo con sus normas de calidad. Esto
incluye garantizar la adecuada retroalimentacin entre los equipos de desarrollo y gestin,
garantizarlacontinuidaddelainspeccindelosprogramasyelmantenimientodepolticasde
pruebas,ascomoasegurarqueladocumentacindelsistemacumpleconlosestndaresde
calidadqueseestablecieronparalosmtodosconvencionalesdedesarrollo.
8. Noserdogmtico
Con este mandamiento se quiere expresar que los mtodos formales no son una solucin
universal a cualquier desarrollo informtico. El usarlos o no, y saber cul es la notacin
correcta para un desarrollo depende de las caractersticas del sistema a implementar. Por
ejemplo,sehademostradoqueestaseriedetcnicassonespecialmentetilesensistemasde
informacincrtica,esdecirendesarrollosdondelaintegridadesvital.
Pero,estonoquieredecirque,haciendousodeestastcnicasunaaplicacinsoftware:
7
Acausadelprimermotivonosersuficienteundesarrollosimple,lineal;
con mtodos formales al igual que con mtodos convencionales ser
necesarialapresenciadeunacontinuafaseiterativaduranteeldesarrollo
delsoftware.
Portanto,enestemandamientosetratadeconcienciaraldesarrolladordelaimportanciade
admitir los errores que pueden surgir usando mtodos formales, como por ejemplo, no
escoger un nivel de abstraccin adecuado para una especificacin y de concienciarlo de no
tomarpruebascomodefinitivasporelsimplehechodeacabarunafasedeldesarrollo.
9. Sedebeestarenuncontinuoprocesodeprueba.
AqutenemosunacitadelDijkstraquedice: Laspruebasdeprogramaspuedenusarsepara
demostrarlapresenciadeunerrorperonuncaparademostrarsuausencia
Conestoloquequieredeciresquemientrashayapresenciadeerrores,laspruebasnuncahan
dedesaparecer.
Laingenieradelsoftwareesuntrabajorealizadoporpersonas,locualvaaimplicarqueenel
desarrollodeunaaplicacinhayapresenciadeerroresdebidoanuestrahabilidadinnatapara
provocarlos. Por lo tanto, no debemos subestimar la fiabilidad humana, y las pruebas que
vayamos haciendo siempre sern un til comprobante de que un sistema producido
formalmentefuncionaenelmundoreal.
En este tema es dnde los mtodos formales adquieren mayor importancia ya que ofrecen
ventajas considerables, como es que nos permiten verificar que la implementacin se
correspondeconlaespecificacininicial.
Portanto,laespecificacininicialserutilizadaparaayudararealizarlaspruebasunitariasen
una fase ms temprana del desarrollo del software, para as poder reducir los costes de
mantenimientodelsistema.
Pero hay que tener en cuenta que, a pesar de que nos aporten una mayor confianza en la
integridaddelsistemayunamayorconfianzaenqueelsistemafuncionacomoenunprincipio
seesperaba,stosnogarantizanenunaimplementacinunaabsolutacorreccin.
10.
Sedebereutilizar
Todos sabemos que en los sistemas llevados a cabo mediante mtodos convencionales est
ms que comprobado que la reutilizacin de software, incluyendo cdigo, especificaciones,
diseo y documentacin ayuda a disminuir considerablemente el conjunto de costes del
desarrollo.Puesbien,enundesarrolloformalocurreexactamentelomismopudiendoreducir
costestantoenherramientascomoenformacin.
Esta reutilizacin depender del tipo de sistema que se est a desarrollar afectando entre
otrosmotivoslossiguientes:
Eltamaodeaplicacin;cuantomsgrandesealaaplicacinmsespecializadasery
porlotantomasdifcilsersureutilizacin.
Laeleccindequcomponentessonmsadecuadosparaincluirenlalibreraparasu
posteriorreutilizacinolaconfianzaquetenemosonodeesoscomponentes.
Elusodelosmtodosformaleseneldesarrollodelsistemacontribuyealaventajadereutilizar
elsoftware,yaqueloslenguajesdeespecificacinformalproporcionarunmediodeestado
noambiguodelosrequisitosdeunsistema,odelcomponentedeunsistema.
As pues, se podrn identificar los componentes que han sido formalmente especificados y
suficientementebiendocumentados,reutilizadosycombinadosparaformarloscomponentes
delnuevosistema.
Por tanto, los problemas con los diversos componentes que forman parte de una librera
disminuyen, aumentando la confianza en la integridad de los componentes, ya que cada
componente esclaramenteespecificado,ypuedetenerdiferentespropiedadespropuestasy
demostradas.
Conclusiones
Paragarantizarelxitodelaaplicacindemtodosformalesenuncontextoindustrialhabr
quedecidirantesdenadaquemtodoformalsermsadecuadoacadacaso.
Por tanto se ha de escoger la notacin apropiada que mejor se ajuste a los procesos de
desarrollo de la aplicacin determinada, intentado siempre garantizar que estas pautas y
procedimientos se mantengan en la medida de lo posible para obtener el xito de la
industrializacindelosMFS.
Hayque teneren cuentaque laIngenieradel Softwareesuna actividad humanaquenunca
estar libre de errores ya sea desarrollada por medio de un mtodo formal como
convencional,porloquesiempretendrqueexistirunafasedepruebasiterativacomoeluso
adecuadodeherramientasautomatizadas,paraobtenerelxitodesistemasdealtaintegridad
usandomtodosformales.
10
PREGUNTAS
Qupodemoslograrutilizandomtodosformales?
Unamayorintegridaddelossistemascuandoseaplicanadecuadamente.
Disminuir el coste del proyecto. (Falso, algunas veces el coste es menor que en un
desarrolloutilizandomtodosconvencionales,yotrasvecesestecosteessuperior).
Mejor presentacin para una persona no experta. (Falso, esto es un beneficio que
ofrecenlosmtodosestructurados,nolosmtodosformales).
Qupuntosfundamentalesdebetenerunabuenadocumentacin?
Ladescripcindellenguajenatural.(Falso,noesunarespuestacompleta,yademsno
siempreesimportanteincluirladescripcindellenguajenaturalenladocumentacin).
Ladescripcindelestndardecalidadusado.(Falso,dependedeltipodeproyectoyno
esunfactorimportanteparaunabuenadocumentacin).
El nivel en el cul se han empleado los mtodos formales. (Falso, ya que esta
informacinesnecesariaparapoderemplearmtodosformalesperonopararealizar
unabuenadocumentacin).
Cundosedeberanutilizarlosmtodosformales?
-
Siempre, porque aunque los costes sean altos, los mtodos formales harn que
nuestro proyecto sea ms fiable y comprensible. (Falso, ya que en el diseo de la
interfaz de usuario, por ejemplo, es mejor el uso de especificaciones informales.
Ademsaplicarlosmtodosformalesatodoslosaspectosdelsistema,puedesertanto
innecesario como costoso. Por otro lado, dependiendo del tipo de proyecto a
desarrollar,loscostespuedenserigualesomenoresqueconmtodosconvencionales).
Slocuandoserequieralamsaltaintegridad,yaquelosmtodosformalessonuna
tcnicaparaconseguirlo.
11
Debenutilizarseenproyectosdondelaprdidadevidahumana,prdidafinancierao
la destruccin masiva de propiedades, provoque un fracaso del sistema; pero nunca
para incrementar la confianza en el sistema, ganar complejidad o satisfacer un
estndar,yaqueesungastoinnecesario.(Falso,porquetodaslasopcionessonbuenas
razonesparautilizarlosyjustificansugasto).
No se deben utilizar nunca. (Falso, ya se han dado razones ms que suficientes que
justificansuusoyportantoestarespuestacarecedesentido).
Quhacequeunproyectodemtodosformalestengaxito?
-
Escogerelmtodoformalmsadecuadoyseguirunaseriedefactores(comoelegirla
notacinadecuada,estimarcostes,etc.).
Seguir los mandamientos al pie de la letra. (Falso, ya que en algunos casos puede
resultartantoinnecesariocomocostoso).
Esunapreguntamuysubjetivaquenosepuederesponder.(Falso,yaqueapesarde
serunapreguntasubjetiva,sepuederesponder).
Tenerunexpertoenmtodosformalesesloniconecesarioparatenerunproyecto
exitoso.(Falso,yaqueesunadelascosasnecesarias,peronolanica).
Quimplicanlosmtodosformales?
-
Larenunciaalusodelosmtodostradicionalesdediseo.(Falso,yaqueelusodelos
mtodosformalesdependerdeltipodeaplicacinaimplementar).
Altaintegridadenaplicacionesquelorequieren.
12