Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
PAINEL
Engenharia de software Engenharia de software tendências e aplicações na indústriatendências e aplicações na indústria
WAMPS 2015
tendências e aplicações na indústriatendências e aplicações na indústria
Guilherme Horta TravassosUniversidade Federal do Rio de Janeiro
COPPE/PESC
Pesquisador CNPq, Membro da ISERN
www.cos.ufrj.br/~ght
Sistemas de Software
Aplicações de Software Software Tempo-Real
Sistemas de Informação Software Embarcado
Software para Engenharia e Aplicações CientíficasSoftware para Engenharia e Aplicações Científicas
Software para Computação Pessoal
Software “Inteligente”
Aplicações Móveis
Sistemas de Software
Sistemas de Software
Aplicações de Software Software Tempo-Real
Sistemas de Informação Software Embarcado
Software para Engenharia e Aplicações CientíficasSoftware para Engenharia e Aplicações Científicas
Software para Computação Pessoal
Software “Inteligente”
Aplicações Móveis
http://i907.photobucket.com/albums/ac272/
Iri5hka/errishuman_zpsbd7cf0fd.jpg
• As 10 mais falhas de software em 2014 (COMPUTERWORLDUK): http://www.computerworlduk.com/galleries/infrastructure/top-10-software-failures-2014-3599618/
– Amazon 1 penny price glitch
– UK airspace closed
– Toyota Prius recalled over software glitch
– Heartbleed security flaw uncovered
– US National Grid Gas Company blew $1 billion
– Emergency numbers go offline for six hours
Sistemas de Software
– Emergency numbers go offline for six hours
– Apple forced to pull iOS8 update (phones unable to make calls)
– iCloud hacked
– Air India forced to divert Boeing 787 flight
– Delivery of F-35B stealth fighters delayed
• Veja uma lista de problemas em http://catless.ncl.ac.uk/Risks/
. . .. . .
Nossa Realidade…
44
57
49
Participantes por Região
Uruguai
Sul/Sudeste
Norte/Nordeste/Centro-Oeste
22
41
22
Empresas em que atuam
Dias Neto, A.C.; Matalonga, S.; Solari, M.; Robiolo, G.; Travassos, G.H. (2015). Characterizing Software Testing Practices in Emerging South America Software Development Scenarios. On-going Joint Research. Report in preparation.
0
5
10
15
20
25
30
35
40
Ágil Tradicional Outros
0
10
20
30
40
50
60
Web Desktop Móvel
Nossa realidade …
50
100
150
200
250
Como a Indústria tem observado “TAMANHO”
0
45 “indicadores” distintos....
Travassos, G. H.; Kalinowski, M. (2008-2012). Projeto iMPS – DataSet. SOFTEX/MCTI.
Nossa realidade …
20
40
60
80
100
120
140
Como a Indústria tem observado “DEFEITO”
0
20
91 “indicadores” distintos....
Travassos, G. H.; Kalinowski, M. (2008-2012). Projeto iMPS – DataSet. SOFTEX/MCTI.
Nossa realidade …
Souza, T. S.; Travassos, G.H. (2015). Análise Semântico-Diacrônica dos Termos “Esforço” e “Custo” e sua Relação com o Software: Um Estudo Qualitativo Apoiado pela Linguística de Corpus. Submetido para CIbSE/ESELAW
Crença:
Σ “Pontos” == esforço == custo...
Nossa Realidade…
Precisamos construir sistemas de software fidedgnos,
seguros, confiáveis, corretos…EntretantoEntretanto, , nossanossa habilidadehabilidade parapara apoiarapoiar melhoriasmelhorias nosnos software software existentesexistentes é é
aindaainda ameaçadaameaçada porpor projetosprojetos inadequadosinadequados e e faltafalta de de recursosrecursos
60-100x
Custo Relativode Mudanças no Software
1x
1.5-6x
60-100x
Especificação Desenvolvimento Após Entrega
Nossa realidade...
AA construçãoconstrução dede sistemassistemas dede softwaresoftwarenãonão seguesegue umum caminhocaminho amenoameno……
NãoNão éé fácilfácil garantirgarantir aa comunicaçãocomunicação eecolaboraçãocolaboração entreentre desenvolvedoresdesenvolvedores……
Loan-Arranger Requirements Specification – Jan. 8, 1999 Background
Banks generate income in many ways, often by borrowing money from their depositors at a low interest rate, and then lending that same money at a higher interest rate in the form of bank loans. However, property loans, such as mortgages, typically have terms of 15, 25 or even 30 years. For example, suppose that you purchase a $150,000 house with a $50,000 down payment and borrow a $100,000 mortgage from National Bank for thirty years at 5% interest. That means that National Bank gives you $100,000 to pay the balance on your house, and you pay National Bank back at a rate of 5% per year over a period of thirty years. You must pay back both principal and interest. That is, the initial principal, $100,000, is paid back in 360 installments (once a month for 30 years), with interest on the unpaid balance. In this case the monthly payment is $536.82. Although the income from interest on these loans is lucrative, the loans tie up money for a long time, preventing the banks from using their money for other transactions. Consequently, the banks often sell their loans to consolidating organizations such as Fannie Mae and Freddie Mac, taking less long-term profit in exchange for freeing the capital for use in other ways.
Specified Lender
Investor
Fanny May
Receive Reports
Monthly Report
Investment Request
Request
Generate Reports
Loan Analyst
Good
Late
monthly report informing payment on time[ payment time <= due time ]
receive a monthly report
Default
monthly report informing late payment[ payment time > due time + 10 ]
monthly report informing late payment[ due time < payment time < due time + 10 ]
monthly report informing late payment[ payment time > due time + 10 ]
monthly report informing payment on time[ payment time <= due time ]
Loan Sta te Diagram
July 1998
FORMALFORMAL
REQUIREMENTSREQUIREMENTS
TEST CASESTEST CASES
CC
LL
AA
SS
SS
XX YY ZZ
SS
cc
aa
ll
ee
nn
ee
33 44 55
II
ss
oo
ss
cc
ee
ll
ee
ss
55 55 88
II
ss
oo
ss
cc
ee
ll
ee
ss
33 44 33
II
ss
oo
ss
cc
ee
ll
ee
ss
44 77 77
EE
üü
ii
ll
áá
tt
ee
rr
aa
ll
22 22 22
NN
oo
--
tt
rr
ii
aa
nn
gg
ll
ee
11 22 33
NN
oo
--
tt
rr
ii
aa
nn
gg
ll
ee
55 11 44
33 55 22
ScaleneScalene TriangleTriangle::
{<x,y,z>: (x != y) ^ (x != z) ^ (y != z)}{<x,y,z>: (x != y) ^ (x != z) ^ (y != z)}
NN
oo
--
tt
rr
ii
aa
nn
gg
ll
ee
colaboraçãocolaboração entreentre desenvolvedoresdesenvolvedores……Tacit requirements
Fixed _Rate Loa n
ri sk()principa l_remaining ()
Variable_ Rate Loa n
principal_ re maining : number
risk()pri ncipal_ re maing()
L end er
name : text
id : textcontact : te xt
phone_number : number
Borro wer
na me : texti d : number
r isk : numb erstatus : text
r isk()se t_sta tus_g ood()se t_sta tus_late()
se t_sta tus_d efa ult()b orro wer_status()
se t_sta tus()
Bundle
acti ve time period : d ate
profi t : numberestima ted risk : numb ertotal : number
loan analyst : id _numbe rdiscount_ ra te : numberinvestor_name : text
date_sold : date
risk()calculate _profi t()cost()
Lo an Arranger
rec_monthly_report()inv_request()
generate rep orts()ide ntify_ re port_format()
ve ri fy_report()look_for_a_ lender()look_for_a_ loan()
ide ntify_ loan_by_criteria()ma nua lly_ se lect_lo ans()optimize_bundle ()
calculate _new_bundle ()ide ntify_ asked_repo rt()aggre gate _bundles()
aggre gate _loans()aggre gate _borrowers()
aggre gate _lenders()format_report()show_report()
Loan
amo unt : numbe rinterest rate : nu mber
settl ement data : d ate
term : date
sta tus : text
ori gina l_value : numberprincipa l_origina l : n umber
risk()
set_status_de faul t()
set_status_late()set_status_go od()
di scount_rate()
bo rrowers()
pri ncipa l_remainin g()
1
1..*
1
1..*
1..*
1 ..*
1..*
1 ..*
1..*
0..1
1..*
0..1
Fa nny May : Lo an Arra nger
Bo rrower : Borr ower
A Le nde r : Spe cified Lende r
Lo an : Lo an
verify_ repo rt()
new_loa n(lende r, bor rower s)
new_
look_fo r_a_ le nder (lender )
loo k_for_ a_loan( loan)
look_ for_a _
up date _loan( le nder, b orr ower)
up date_
le nder :
ne w_ le nder( name,co ntact, pho ne_num ber )
upda te(lende r)
mo nthly_ repo rt(lende r, loan s, borr owers)
identify_ repo rt_fo rmat( )
Re ceive Mo nthly Re port
ADAD--
HOCHOC SOURCE SOURCE CODECODE
NãoNão temostemos evidênciaevidência sobresobre grandegrande parte das parte das tecnologiastecnologiasde software de software queque usamosusamos......
Travassos, G.H. (2014). Software Defects: Stay Away from Them. Do Inspections!. In: 9th International Conference on the Quality of Information and Communications Technology (QUATIC ) . Guimarães, Portugal. (Keynote Speech). http://dx.doi.org/10.1109/QUATIC.2014.8
Batendo em nossa porta…
Aplicações de Software Software Tempo-Real
Sistemas de Informação Software Embarcado
Software para Engenharia e Aplicações Científicas
Software para Computação Pessoal
Software “Inteligente”Software “Inteligente”
AplicaçõesAplicações MóveisMóveis
SistemasSistemas de de SistemasSistemasSistemasSistemas UbiquosUbiquos
Perspectiva Contemporanea:Sistemas de Software Ubiquos
Spínola, R. O. ; Travassos, G. H. (2012) . Towards a framework to characterize ubiquitous software projects. Information and Software Technology , v. 54, p. 759-785. http://dx.doi.org/10.1016/j.infsof.2012.01.009
Caracteristicas de Sistemas Ubiquos
Comportamento AdaptávelComportamento Adaptável
Sensível ao ContextoSensível ao Contexto
Spínola, R. O. ; Travassos, G. H. (2012) . Towards a framework to characterize ubiquitous software projects. Information and Software Technology , v. 54, p. 759-785. http://dx.doi.org/10.1016/j.infsof.2012.01.009
Desafios para a Engenharia de Sistemas de Software Contemporâneos
Definição de ProcessosQuais deveriam ser as atividades existentes no processo de
desenvolvimento para apoiar a construção destes novos sistemas de
software?Como inserir agilidade nestes processos?
Planejamento do Projeto
Evoluído de Spínola, R. O. ; Travassos, G. H. (2012) . Towards a framework to characterize ubiquitous software projects. Information and Software Technology , v. 54, p. 759-785. http://dx.doi.org/10.1016/j.infsof.2012.01.009
Planejamento do ProjetoQuais são os riscos associados com cada uma das características
destes sistemas?
Como reduzir os riscos associados com o desenvolvimento de
projetos de software contemporâneos?
Como estimar o esforço de um projeto de software contemporâneo?
E seu custo?
Como acompanhar o andamento do projeto?
Desafios para a Engenharia de Sistemas de Software Contemporâneos
RequisitosComo apoiar a elicitação de requisitos para sistemas de software
contemporâneos?
Qual a influencia das características de software contemporâneo nas
atividades de elicitação e especificação de requisitos?
Evoluído de Spínola, R. O. ; Travassos, G. H. (2012) . Towards a framework to characterize ubiquitous software projects. Information and Software Technology , v. 54, p. 759-785. http://dx.doi.org/10.1016/j.infsof.2012.01.009
atividades de elicitação e especificação de requisitos?
Quais são as tecnologias adequadas para apoiar a verificação e
validação dos requisitos associadas as características de software
contemporâneo?
Desafios para a Engenharia de Sistemas de Software Contemporâneos
ProjetoQuais são as influências das características de ubiquidade na
arquitetura do software?
Como avaliar a qualidade da arquitetura de software projetada?
Implementação
Evoluído de Spínola, R. O. ; Travassos, G. H. (2012) . Towards a framework to characterize ubiquitous software projects. Information and Software Technology , v. 54, p. 759-785. http://dx.doi.org/10.1016/j.infsof.2012.01.009
ImplementaçãoQue tecnologia de software (ou conjunto de tecnologias) deve ser
utilizada para implementar um projeto de software
contemporâneo?
Desafios para a Engenharia de Sistemas de Software Contemporâneos
TesteComo escolher técnicas e estratégias de teste adequadas para
testar sistemas de software contemporâneos?
Como projetar casos de teste para sistemas de software
contemporâneos? (pense em sistemas sensíveis ao contexto...)
E como executar estes testes...?
Evoluído de Spínola, R. O. ; Travassos, G. H. (2012) . Towards a framework to characterize ubiquitous software projects. Information and Software Technology , v. 54, p. 759-785. http://dx.doi.org/10.1016/j.infsof.2012.01.009
E como executar estes testes...?
ManutençãoQual a influencia das características de software contemporâneo
em sua evolução?