Sei sulla pagina 1di 9

2.

83

A introdu~ao da linguagem Ada


eDl grandes projectos de "software":
a teoria e a pratica

Pedro Guerreiro
Departamentode Informatica
Faculdadede Cienci~ e Tecnologia
UniversidadeNovade Lisboa
Maria Manuel Freitas
Centro de Informatica
LaboratOrioNacional de Engenhariae TecnologiaIndustrial (I~

Resumo
Introduzir a linguagem Ada no desenvolvimento de urn projecto de soft-
ware representa mais do que uma simples mudan~a na linguagem de progra-
ma~ao adoptada. Constitui uma completa reviravolta na tecnologia da producao
de software, com reflexos dramaticos em todo 0 processo de desenvolviment~,
criando grandes expectativas e receios, tanto nos gestores do projecto como nos
tecnicos envolvidos. E preciso, par conseguinte, analisar as diversas implicacoes
da transicao para 0 Ada, e investir decididamente na forma~ao e informacao a
todos os niveis, para que os receios Beesbatam e as expectativas se concretizem.

1. Introdu~Ao
A cria~ao da linguagem Ada resultou da decisao do Departamento da De-
fesa dos Estados Unidos da America em acabar com a babil6nia de linguagens
usadas nos projectos de que tinha a responsabilidade, e isBa pels adop~aode uma
linguagem Unica, comummente utilizavel. Significativamente, 0 numero de lin-
guagens e dialectos em utiliza~ao no ana de 1975 variava, consoante as fontes,
entre 1500e 4O00!
Para par em pratica essa decisao, 0 Departamento de Defesa lan~ou em
1977 urn concurso international, que veio a ser ganho par uma equipa da compa-
nhia CII-Honeywell Bull, chefiada par Jean Ichbiah. A linguagem vencedora
recebeu 0 nome Ada, em honra de uma matematica colaboradora de Charles
194

B abbage, da qual se tornou costume dizer ter sido a primeira programadora (de
qualquer sexo, esclare~a.se...)
A forma definitiva da linguagem Ada data de 1983, altura em que se con.
cluiu 0 processo de revisao da versao inicial. Actualmente, a lingua gem e uma
norma militar norte-americana, uma norma NATO, uma norma ANSI, e uma
nonna ISO. Entretanto, vArios outros paises ja adoptaram tambem polfticas ofi-
ciais relativamente ao Ada.
Ao propor a cria~ao de uma nova linguagem, 0 Departamento da Defesa
estava sobretudo interessado em diminuir os astron6micos custos de produ~ao e
manuten~ao de software de defesa. Para ajudar a isBa, a linguagem deveria seT
apropriada para a programa~ao de aplica~oesembutidas (embedded), suportan-
do 0 tempo real e 0 paralelismo. POToutro lado, deveria permitir a concep~ao,de-
senvolvimento e manuten~ao de sistemas grandes, de vida longa e constantc-
mente sujeitos a modifica~oeB.Tudo isto seria conseguidoatraves da aplica~ao da
modema engenharia de software, que a linguagem teria obrigac;aode promover.
Finalmente, 0 esfor~o s6 Carla sentido se fosse possivel construir compiladores
eficientes, isto e, compiladores rapidos, com bons diagn6sticos, e gerando c6digo
comparavel aDsbons compiladores daBlinguagens estabelecidas.
Note-se que, apesar da sua origem militar, 0 Ada e uma linguagem de uti-
liza~ao geral, podendo substituir 0 FORTRAN, 0 COBOL, 0 Pascal, e outras, nos
domfnios tradicionais destas linguagens. No entanto, e mais complicada, mais
extensa e mais exigente, e requer um grau de profissionalismo mais elevado da
parte dos seus praticantes. Alias, talvez seja par isBa que ela gera a1gum cepti-
cismo em muitos programadores. E, com efeito, casas passados de linguagens
muito ambiciosas, 0 PL/I e 0 Algo168 par exemplo, pareceriam desaconselhar 0
repetir da experiencia.
Quem conhece0 Ada ja ,Babeque nao e uma linguagem perfeita, nem se-
quer e a linguagem definitiva. E, no entanto, um bclo exeraplo de engenharia das
linguagens de programa~ao, reflectindo as preocupa~oes dog produtores de
software e 0 estado dos conhecimentosem materia de compila~ao na altura em
que foi desenvolvida. Tambem e verdade que a perfei~ao da linguagem nao e 0
principal cuidado de quem se lan~a num projecto de responsabilidade. Numa si-
tua~ao destas, interessa e que a linguagem esteja em sintonia com os ob~iectivos
da engenharia de software - modificabilidade, eficiencia, fiabilidade e com-
preensibilidade - e que permits pOTem pratica os princfpios que vao servir para
atingir essesobjectivos: abstrac~ao,oculta~ao (information hiding), modulariza-
~ao, localiza~ao, uniformiza~ao, "complcta~ao" (completeness), e confirma~ao
(confirmability)l. 0 Ada, desenvolvido com este tipo de preocupac;oesem mente,
promete, logo a partida, seTurn born instrumento de trabalho.
Ao escolher uma linguagem, nova ou velha, tambem interessa que ela te-
nha uma ampla divulga~ao, que apareca em muitas maquinas, grandes e pe-
quenas, que os compiladores sejam bans, que se sinta urn apoio empenhado dog
fomecedores, que se estabele~auma comunidade de utilizadores dinamica, que a
inforrna~ao circulet que a bibliografia seja vasta e acessivel. E, nos casas de siste-
mas embutidos, convem que haja uma boa variedade de compiladores cruzados,
com boas ferramentas de debug. Ora tudo isto ja e verdade em rela~ao ao Ada.
.- ,. 0' -~ "."' .zes

Neste artigo, vamos analisar os problemas que se colocam Duma empresa


de software no momento da op~aopels linguagem Ada. Trata-se de urn assunto
que nao se pode menosprezar, sob pens de os resultados ficarem muito aquem
daB expectativas. Come~amos,na Sec~ao2, por enunciar algumas das razoes que
tomam desejavel a linguagem Ada em certos tipos de aplica~oes. A seguir, na
Sec~ao 3, relembr~Y'!}osa caracteriza~ao da problematica da transi~ao para 0
Ada, e as recomenda~oesa prop6sito. Finalmente, a Sec~ao4 contem uma refle-
xao sobre dois casos concretos, actualmente em curso, referindo as dificuldades
encontradas e apontando algumas daB medidas tomadas ou a tomar para ultra-
passar essas dificuldades.

2. A transi~ao para 0 Ada


Por que razao ha-de urna empresa que se tern dado menDsmal com os seus
metod os de produ~ao de software, a base do FORTRAN, do Pascal ou do C, as ve-
zes condimentados com urn bocadinho de assembler, considerar a llip6tese de
mudar para 0 Ada, com todos os custos e todas as incertezas que tal mudan~a
acarreta? Existe uma razao irrecus8vel: e que 0 cliente assim exige! De facto, em
aplica~oes de natureza militar nos Estados Unidos, a linguagem Ada e pratica-
mente obrigat6ria. Uma directiva do Departamento de Defesa publicada em 1987
estabelece que a linguagem Ada sera a Unica linguagem usada nos sistemas de
: informa~oes para a defesa, nos sistemas de comando e controlo de for~as milita-
I res, e nos computadores integrados em sistemas de armamento. Alem disso, 0
i Ada sera usado tambem para outros tipos de aplica~oes,a nao ser que haja evi-
: dencia de uma Dutra linguagem ser mais econ6mica, considerando todo 0 cicIo
i de vida da aplica~ao.
Se hem que se trate de uma directiva norte-americana, ela tern um efeito de
arrastamento importante, pelo menos sobre os paises aliados. Por isso, nao es-
panta que For~as Armadas de outros paises ja estejam a exigir 0 Ada nos con-
. tratos que passam aos seus fornecedores de software, ou entao que vEnham a
~:-" faze-lo em breve.
1:7; A medida que as ca~acidades de calculo dog computadores aumentam,
, aurnenta tambem a compleXldade
dogproblemasque se pretenderesolver comos
; computadores. Consequentemente. os programas tomam-se carla vez maiores,
. exigindo cad a vez mais dos programadores, dog gestores do projecto, e tambem
daB finan~as do projecto. Ainda por cima, apoquenta-nos permanentemente a
"crise do software": os programas nao correspondem as expectativas dog utiliza-
! dores, tern erros, ficam roais carOBdo que deviaro, sao dificeis de modificar e de
j manter, sao entregues fora dos prazos.
Uma vel que nao parece que a complexidade dog problemas que interessa
resolver diminua por milagre, e indispens8vel pelo menDs encontrar maneiras
de atenuar a crise. Ora, urna daB causas dessa crise e a escassezde pessoal for-
mado em engenharia de software, e outra a insisrencia em linguagens e metodos
antiquados. Para inverter esta situa~ao e fundamental investir decisivamente
por um lado na forma~ao dog tecnicos, e por outro nag modemas metodologias de
desenvolvimento de software, as quais devem ser suportadas por lingtlagens que
encorajem a aplica~ao dog principios da engenharia de software 1. Ora a lingua-
gem Ada e actual mente 0 veiculo mais bem colocadopara fomentar a introdu~ao

,
-- - --
-~-
lBG

dessesprincfpios. POTisso, a sua adopcao parle ter consequenciasmuitos positi-


vas para as empresasque nisso se empenharem.
Sabe-seque a simplicidade desta argumentacao nao convencetoda a gente.
Em relacao ao Ada, como tern acontecido com outraB linguagens, ha os ferre-
nhamente pr6, que veem nela a salva~ao da Programacao, e os visceralmente
contra, que a olham com desdem, neste caso como uma invenCao meio militaris-
ta, que s6 sobrevive porque violentamente apoiada pelos americanos.
Num pIano menos emocional, a desconfianca em relacao aDSbeneficios
que 0 Ada parle trazer para as empresas de software cleve-Bemuitas vezes ao facto
de os responsaveis terem pouca forma~o em Engenharia de Software (trata-se
quase sempre de gestores ou engenheiros electrotecnicos), que encaram a lin-
guagem e as novas metodologias com cepticismo. No entanto, mesmo gem ali-
nhar num "pra-frentismo" irreflectido, e evidente que se carre um grande risco
ao hesitar durante uma mudanca tecnol6gica, especialmente quando os clientes
estao interessados nela, e quando a concorrencia Be esta a preparar a toda a
forca.

3. A teoria
A problematica da transi~ao para Ada esta hem caracterizada. Segundo
Donald Firesmith, e preciso escolher hem 0 primeiro projecto a ser desenvolvido
em Ada; e preciso tambem procurar 0 apoio dos gestores da empresa; alem disso,
e preciso preparar a forma~ao em Ada dos programadores (programadores em
sentido lata), estudar as implicacoes da mudanca de metodologia sabre 0
hardware de desenvolvimento,e montar uma estrutura central de apoio aos di-
versos projectos que iraQ utilizar 0 Ada2.
Em principia, sendo0 Ada uma linguagem de ambito geral, qualquer tipo
de aplica~ao parle servir: uma apljcacao comercial de processamento de dados,
par exemplo. Aqui, no cntanto, e preciso ter cuidado, pois faltam ao Ada os fi-
cheiros sequenciaisindexados tao queridos em COBOL. Mais grave que isso. ain-
da nao ha noticia da ligacao com os sistemas de gestao de base de dados.
Tambem se poderia escolher uma aplicacao cientifica, daquelas que se faz
sempre em FORTRAN. 0 Ada seria uma 6ptima escolha, nao fora os trinta anos
de experiencia acumulada com 0 FORTRAN, e redo 0 acervo de bibliotecas nume-
ricas preparadas para esta linguagem. No entanto, esta situacao apresenta si-
nais de mudanca, como 0 demonstra 0 facto de varias bibliotecas estarem a ser
rescritas em Ada, comoe 0 caBOda NAG, par exemplo.
De qualquer forma, uma aplica\~aocomercial ou ulna aplicacao cierltifica
provavelmente nao permitiriam experimentar todos os conceitos interessantes do
Ada, pois talvez naG exigissem muito do sistema de tipos, nem precisassem de
recorrer ao paralelismo. Par isBa, sera mais interessante escolher uma aplicacao
com caracteristicas de tempo real, que exiba varias tarefas executando concor-
rentemente, e controle em simultaneo varias unidades de entrada e de saida.
Ao tratar com 08 gestfJres e precjso veneer a natural relutancia em rela~ao
Ii introducao de novas ferramentas e novos metodos de trabalho, para mais ainda
.281

nao suficientemente comprovados. Nao esquec;amosque as novas ferramentas e


novos metodos vao obrigar a deslocar pessoas,a reformular actividades, a adap-
tar controlos. Alem disso, os pr6prios modelos de custo da empresa, laboriosa-
mente afinados ao longo doe aDOS,deixam de ser validos, criando grandcs difi-
culdades de or~amenta~iioe de previsao de prazos.
E claro que se nao e prudente embarcar em revolu~oesprecipitadas, tam-
hem e verdade que ficar para tras Duma altura destas parle ser muito abolTecido.
Quanto aDs custos,ja existe evidencia acumulada de que para projectos grandes
a utilizacao da linguagem Ada pode ficar mais econ6mica,pais enquanto para as
outras linguagens 0 custo par linha aumenta com 0 tamanho do projecto, para 0
Ada ele diminui.
Ao preparar a forma~ao em Ada, e fundamental ter presente que a lill-
guagem s6 atinge as suas potencialidades quando utilizada no contexto dog prin-
cipios da engenharia de software. Portanto, uma forma~ao de natureza mera-
ment~ sintactica, ou mesmo algoritmica, ficara sempre aquem daB necessida-
des. E preciso complementa-la com 0 estudo de metodologias de desenvolvimento
viradas para 0 Ada, ja que as metodologias tradicionais nao tiram todo 0 partido
da linguagem. Tudo isto deve ser feito com a ideia de criar um espirito-Ada, in-
dissociavel da engenharia de software, fazendo os programadores apreciar as
vantagens reais da adop~aode uma tal atitude.

4. A pratica
Teorizar uma nova tecnologia e um exercfcio mais ou menos futil, se nao
for complementado com uma experimentacao real daB ferramentas e dos meto-
dog de trabalho preconizados. Na realidade, os autores estao envolvidos actual-
mente em dais projectos de indole e dimensao hem diferentes, ambos usando a
linguagem Ada, e foi isso que os levou a elaborar a presente reflexao.
0 primeiro dessesprojectos e urn sistema de vencimentos para a Faculda-
de de Ciencias e Tecnologia da Universidade Nova de Lisboa. Trata-se de uma
aplica~ao de gestao,hem traditional. N ormalmente, talvez ela fosse desenvolvida
em COBOL e SQL, tal como 0 sistema de gestao de alunos da Faculdade, pOT
exemplo.
A escolha desta aplicacao deveu-se a duas ordens de razoes. POTum lado,
passada uma certa rase de aprendizagem com a linguagem Ada, durante a qual
se programam sobretudo problemas academicos, seleccionadospara permitirem
percorrer toda a linguagem, era preciso arranjar um problema real, que pusesse
a prova 08 ensinamentos recolhidos. Par outro lado, 0 antiquado sistema semi-
-automatico de processamento de vencimentos em usa na Faculdade entrou fl-
nalmente em colapso, par causa da apari~ao do IRS, e era urgente encontrar
uma alternativa. Como os utilizadores eram neutros em rela~ao a formula~ao
informatica do problema, a adop~aodo Ada nao levantou quaisquer objec~oes.
. Neste projecto seguiu-se uma abordagem traditional: analise, concepcao
(deszgn), implementa~ao, teste, manuten~a03. Neste momenta (inicio de Marco
de 1989), ap6s quatro meses de desenvolvimento, os programas encontram-se
prestes a ser entregues. Foram produzias cerca de 6000 linhas de c6digo Ada, par
lee

tres programadores, urn dos quais foi tambem 0 snalista. Esta produtividade
exagerada revela que algumas importantes pecas de documenta~aoforam adia-
das, face A urgencia da solucao,e terao que seTfornecidss a partir de agora.
Globalmente, a conviccao daB pessoas intervenjentes no processo e que 0
Ada "se portou bem", e que 0 COBOL nao fez falta nenhuma. A ausencia de urn
sistema integrado para a gestao de bases de dados torneou-sc:facilmente com a
utilizacao dos ficheiros de acessodirecto. Tambem nao foi diffcil produzir os va-
riados mapas, mesmo gem os PICTURES de edii):ao.E a modularizacao que 0
Ada permite tomou mais facil repartir 0 esfor~o de implementacao, e menos di-
ficil gerir 0 desenvolvimento.Everdadeque a programacaofoi urn bocadoapres-
sada, nao deixando tempo para conceber as diversas componentes de maneira
mais abstracta, conduzindo porventura nalguns casos a unidades genericas,
reutilizaveis noutros projectos.
0 segundo projecto consiste na construcao de urn prot6tipo para urn Siste-
ma de Retransmissao Automatica de ME:nsagensTelegraficas. Este nasceu de
uma convergencia de interesses entre a Forca Aerea Portuguesa e a Em, Em-
presa de Investigacao e Desenvolvimento de Electr6njca S.A. Os responsaveis de
ambas as entidades tomaram consciencia da neeessidadede ganhar cornpeten-
cia em _.I\da,face it evolu~aoque se detectava no panorama international. A For-
ca Aerea comeconpor realizar algumas ac~oesde formacao logo em 1986, com a
colabora~aoda Universidade. A EID, pOTsua vez, encetou em 1987 urn Program a
de Desenvolvimento da Produtividade de Software, tinanciado em parte pela
Fundacao Luso-Americana para 0 Desenvolvimento, tendo como parceiro ncsta
accao 0 UNINOV A, uma associacao universidade-empresa ligada a Faculdade
de Ciencias e Tecnologia da Universidade Nova de Lisboa. 0 objectivo deste pro-
grama era precisamente preparar a transicao para 0 Ada na empresa, atraves
da realizacao de diversas accoesde formacao tar.to na linguagem como naB no-
vas metodologia de produ~ao de software. 0 processodeveria culminar com a es-
colha de uma aplica~ao realista a seT desenvolvida em Ada, segundo as no\'as
metodologias. Ora essa aplica~ao foi encontrada na Forca Acrea, precjsamente
com 0 sistema de retransmissao de mensagens.
Tanto a Em como a Forca Aerea estavam conscientes da delicadeza do
empreendimento, e atribuiram-lhe pOTisso um caracter experimental e explora-
t6rio, dando-lhe tambem como objectivo fundamental contribuir para 0 introdu-
cao daB novas metodologias de produ~ao de software em Portugal, assegurando
que 0 Pais nao ficaria para tras neste sector tecnol6gico. Esta nova faceta do pro-
jecto justificou a adesaoa ele do UNINOVA e do LNETI - Laborat6rio Nacional
de Engenhariae TecnologiaIndustrial -, assim como 0 apoio da JNICT - .Jun-
ta N acional de Investigacao Cientifica e Tecnol6gica.
Recordandoas recomenda~oesenumeradas no initio da Seccao3, verifica.
mos que houve bastante cuidado na escolha do projecto: trata-se de uma area de
aplica~ao conhecida para a Ern, que conta com lima grande experiencia r.o de-
senvolvimento de sistemas de comunica~oes.Note-se que segundo Boehm4 0 fac-
tor de produtividade "experiencia no dominio da aplicacao" tern uma amplitude
de 1.57, isto e, se 0 custo do desenvolvimento com lima equipa muito experiente
for 100, 0 custo com uma equipa 8em experiencia sera 157.
I ~89
J
i
J

0 apoio dos responsaveisdaB entidades envolvidas foi desde logo urn dado
adquirido. ate porque a iniciativa de mudar para 0 Ada e de natureza estrategica.
tanto para a For~a Aerea como para a Em. Neste capitulo, portanto, nao houve
problemas. Adicionalmente. os gestores tccnicos estao tambem int.eressadosna
mudan~a. pois j.4 haviam sentido em projectos anteriores a necessidade de mo-
dernizar a produ~ao de software.
A forma~ao do pessoal envolvido no projecto foi considerada uma priorida-
de, logo desde 0 initio. Na pratica ela foi conduzida em tres frentes: formaCaono
interior, forma9ao no exterior e auto-forma~ao. A forma~ao no interior foi orga-
nizada pelo U'NINOVA, ainda no ambito do Program a de Desenvolvimento cia
Produtividade do Software. Contemplou essencialmente a linguagem Ada, mas
colocando sempre a enfase na boa aplica~ao dos principios da Engenharia de
Software. A titulo meramente exemplificativo. indicamos as principais materias
referentes a linguagem. pela ordem por que Coramapresentadas:
. Objectivos da linguagem
. Especifica~aode pacotes;clausula with
. Programa principal
. Instru~oes: sintaxe. semantica
. Corpo de pacote
. Tipos pre-definidos; quadros, registos
. Tipos privados
. Subprogramas: fun~oes. procedimentos
. Excep~oes
. Subtipos. tipos derivados
. Atributos
. Agregados
. Quadros nao-constrangidos
. Registos com discriminante
. Unidades genericas; instancia~ao
. Classes de parametros formais genericos
. Processamentode texto
. Gestao de ficheiros
. Tipos acesso;estruturas de dados recursivas
. Listas genericas
. Reutiliza~ao de software
. Programa~ao object.oriented
. Componentes de software ; classifica~ao
. Exemplos de unidades genericas
. Concorrencia
. Declara~ao de tarefas
. Tipos de rendezvous
. Tennina~ao de tarefas
. Gestao de interrup~oes

A forma~ao no exterior consistiu na presenca em diversos cursos. serni-


narios e demonstra~oesrelativos a diversos aspectosda tecnologia Ada: gestao de
projectos em Ada. modelos de custo para Ada. analise de requisitos
object-oriented. desenvolvimento object-oriented para Ada. ferramentas de CASE
(computer aided software engineering).
.2.90

Em resultado deste esforco de formacao. concluiu-se que seria de seguir no


desenvolvimento uma metodologia "guiada pelos objectostt.do estilo da preconi-
zada por Booch. no livro Software Engineering with Ada 1. For outro lado. esta
conclusao tern como consequencia a necessidade de reforcar a aprendizagem
nesse dominio. ja que ate agora apenas se aflorou a questao.
Se hem que a importancia da uma formacao adequada seja indiscutivel.
nao deixa de ser interessante quantifica-la. Ainda segundo Boehmt a amplitude
do factor de produtividade "experiencia na linguagem de programacao" e de 1.47
para 0 Ada, e de 1.20 para as linguagens convencionais. Estes numeros justifi-
cam a natureza experimental do projecto. ja que novidade da linguagem vai cer-
tamente dar origem a urn substancial decrescimode produtividade neste primei-
ro projecto. Felizmente. isBa pode ser minorado pela adop~aode "tecnicas de pro-
gramacao modernastt.pais este factor tern uma amplitude de 1.59. Note-se que.
como e naturalt a escolha de uma boa equipa de programadores logo a partida
tar..lbematenua 0 efeito da mudan~a de linguagem, ja que a amplitude do factor
"qualidade dos programadorestte 1.62 para 0 Ada5.
Esta discussaonumericat se hem que nao possa ser tomada a letra (melhor
dizendo. ao numero...) mostra que nao se justificam receios excessivos.desde que
a formacao seja adequada.A certa altura punha-se a questao da dupla mudan~a:
mudan~a de linguagem e mudanca de metodologia. Podia argumentar-se que
eram dois factores de perturba~ao que se adicionavam. e talvez fosse melhor mu-
dar s6 a linguagem e ficar com a mesma metodologia. Pensamos que isso seria
muito perigosot tanto pelas razoes que se deduzem da analise anterior. como
porque a manter-se a abordagem traditional a major parte dos novas conceitos
que a linguagem a Ada poe a disposi~aoficariam desaproveitados.
As questoes relativas as necessidadesde h.ardu,'areestao a ser considera-
das, mas ainda nao foram tomadas decisoes definitivas. Como linha de orienta-
cao existem as estimativas apresentadas pOTFiresmith2t 0 qual. baseado numa
experiencia de uma grande projecto, indica que para carla 70000 linhas de c6digo
Ada e necessario0 equivalente a um VAX 11/780!
Det.ecta-seactualmente na Em a convic~aode que a Ada esta ai para ficar,
e que dentro de poucosanos a maioria dos projectos de software na empresa se-
rao desenvolvidos com essa linguagem. For isso. vai ser preciso alargar progres-
sivamente 0 ambito da forma~ao em Ada. tanto em profundidade como em exten-
saD.ao mesmo tempo que a empresa se de'vera dotar das estruturas necessarias
ao acompanhamentodos projectos conduzidos nos novas moldes.

5. Conclusao
Passada lima Piimeira epoca em que os compiladores eram relativamente
instaveist e em que faltavam metodologias de desenvolvimento que tirassem real
partido das caracteri~ticas do Ada. hoje a situa~ao e hem mais favoravelt c a
transir;ao para 0 Ada parece finalmente ser urn in\'estimento segura. Isto signi-
fica que as empresas produtoras de softuJare serao levadast por factores inten-los
ou externost a g-an,haremcompet.en(.'iatambem em Ada, sob pena de se deixarem
ficar para tras.
1.91

Reconhecidaessa realidade, e preferivel que a transi~aose fa~a 0 mais ce-


do possivel. As empresas que se disponham a tal nao s6 tomarao a dianteira no
mercado portugues, como adquirirao uma experiencia preciosa e, se investirem
correctamente no desenvolvimento de software reutilizavel, poderao futuramente
usar grande parte do trabalho realizado noutros projectos, e assim reduzir pra-
zos e custos, ficando em posi~aomuito favoravel face a concorrencia.
Seja como for, e verdade que qualquer mudan~a envolve sempre urn certo
riStO, e compreendem-seos temores que assaltam responsaveis a varios niveis.
Par muito que se argumente, e claro que essestemores s6 se desvaneceraocom-
pletamente depois de urn numero suficiente de experiencias que comprovem a
teoria. No caBOdo projecto com a Em e a For~a Aerea, para minorar os receios
decidiu-se fazer um desenvolvimento paralelo, nesta primeira rase. Assim, en-
quanto os engenheiros vao completando as especifica~oesdo sistema, de acordo
com 0 cicIo de vida traditional, os investigadores vao desenvolvendo urn
subprot6tipo, usando novas metodologias object-oriented, tentando demonstrar
resultados com urn novo cicIo de vida (design a little, code a little, test a little).
Durante alguns meses manter-se-ao os dois esfor~osem simultaneo, esperando-
-Beque a sua confronta~aocontribua para sedirnentar as ideias.
Do lado da U niversidade, a participacao neste esforco tern urn enorme in-
teresse. Por um lado, poe a prova a sua capacidade de realizacao, no "rnundo
real". POToutro, adquire uma experiencia preciosa, que vai permitir dar sentido
a inclusao destas novas materias nos cursos que oferece. Existe, de facto, a in-
ten~ao de refor~ar 0 currlculo da Licenciatura em Engenharia Informa tica da
Faculdade de Ciencias e Tecnologia da Universidade Nova de Lisboa com uma
cadeira dedicada a problematica dog grandes projectos de software, e e claro que,
neste caBO,como noutros, a cadeira s6 tera credibilidade se os professoresenvol-
vidos tiverem uma efectiva experiencia do dominio respectivo.

Referencias
1. Grady Booch, Software Engineering with Ada, 2~ edi~ao, Benjamin/
Cummings, Menlo Park, 1986.
2. Donald G. Firesmith, Ada Project Management, seminario organizado pOT
State of the Art Limited, Londres, 1988.
3. Richard Fairley, Software Engineering Concepts, McGraw-Hill, Nova Iorque,
1985.
4. Barry W. Boehm, Software Engineering Economics, Prentice-Hall, Englewood
Cliffs, 1981.
5. Barry W. Boehm, Software Cost Estimation Using COCOMO and Ada
COCOMO, serninario organizadopar State of the Art Limited, Londres, 1988.

Potrebbero piacerti anche