ebook img

Engenharia de software PDF

544 Pages·2015·17.61 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Engenharia de software

Sommerville_Cap_00.indd 1 07/06/2011 09:50:04 Sommerville_Cap_00.indd 2 07/06/2011 09:50:05 Tradução Kalinka Oliveira Ivan Bosnic Revisão Técnica Prof. Dr. Kechi Hirama Escola Politécnica da Universidade de São Paulo (EPUSP). Departamento de Engenharia de Computação e Sistemas Digitais (PCS). Laboratório de Tecnologia de Software (LTS). Grupo de Sistemas Complexos (GSC). SSããoo PPaauulloo BrBasrial s i lA rAgregnetnintian a CCoolôlômmbbiiaa CCoossttaa RRiiccaa C Chhiliel e E sEpsapnahnaha GGuautaetmemalaal a MMééxxiiccoo PPeerruu P Poorrttoo R Riiccoo V Veneenzeuzeuleala Sommerville_Cap_00.indd 3 07/06/2011 09:50:05 ©©© 222000111111 bbbyyy PPPeeeaaarrrsssooonnn EEEddduuucccaaatttiiiooonnn dddooo BBBrrraaasssiiilll ©©© 222000111111,,, 222000000666,,, 222000000555,,, 222000000111,,, 111999999666 bbbyyy PPPeeeaaarrrsssooonnn EEEddduuucccaaatttiiiooonnn,,, IIInnnccc... TTTrrraaaddduuuçççãããooo aaauuutttooorrriiizzzaaadddaaa aaa pppaaarrrtttiiirrr dddaaa eeedddiiiçççãããooo ooorrriiigggiiinnnaaalll,,, eeemmm iiinnnggglllêêêsss,,, SSSoooffftttwwwaaarrreee EEEnnngggiiinnneeeeeerrriiinnnggg,,, 999ttthhh eeedddiiitttiiiooonnn,,, pppuuubbbllliiicccaaadddaaa pppeeelllaaa PPPeeeaaarrrsssooonnn EEEddduuucccaaatttiiiooonnn,,, IIInnnccc...,,, sssooobbb ooo ssseeelllooo PPPrrreeennntttiiiccceee HHHaaallllll... TTTooodddooosss ooosss dddiiirrreeeiiitttooosss rrreeessseeerrrvvvaaadddooosss... NNNeeennnhhhuuummmaaa pppaaarrrttteee dddeeessstttaaa pppuuubbbllliiicccaaaçççãããooo pppooodddeeerrrááá ssseeerrr rrreeeppprrroooddduuuzzziiidddaaa ooouuu tttrrraaannnsssmmmiiitttiiidddaaa dddeee qqquuuaaalllqqquuueeerrr mmmooodddooo ooouuu pppooorrr qqquuuaaalllqqquuueeerrr ooouuutttrrrooo mmmeeeiiiooo,,, eeellleeetttrrrôôônnniiicccooo ooouuu mmmeeecccââânnniiicccooo,,, iiinnncccllluuuiiinnndddooo fffoootttooocccóóópppiiiaaa,,, gggrrraaavvvaaaçççãããooo ooouuu qqquuuaaalllqqquuueeerrr ooouuutttrrrooo tttiiipppooo dddeee sssiiisssttteeemmmaaa dddeee aaarrrmmmaaazzzeeennnaaammmeeennntttooo eee tttrrraaannnsssmmmiiissssssãããooo dddeee iiinnnfffooorrrmmmaaaçççãããooo,,, ssseeemmm ppprrrééévvviiiaaa aaauuutttooorrriiizzzaaaçççãããooo,,, pppooorrr eeessscccrrriiitttooo,,, dddaaa PPPeeeaaarrrsssooonnn EEEddduuucccaaatttiiiooonnn dddooo BBBrrraaasssiiilll... DDDiiirrreeetttooorrr eeedddiiitttooorrriiiaaalll::: RRRooogggeeerrr TTTrrriiimmmeeerrr GGGeeerrreeennnttteee eeedddiiitttooorrriiiaaalll::: SSSaaabbbrrriiinnnaaa CCCaaaiiirrrooo EEEdddiiitttooorrr dddeee aaaqqquuuiiisssiiiçççãããooo::: VVViiinnníííccciiiuuusss SSSooouuuzzzaaa CCCoooooorrrdddeeennnaaadddooorrraaa dddeee ppprrroooddduuuçççãããooo eeedddiiitttooorrriiiaaalll::: TTThhheeelllmmmaaa BBBaaabbbaaaoookkkaaa EEEdddiiitttooorrraaa dddeee ttteeexxxtttooo::: AAAllliiinnneee MMMaaarrrqqquuueeesss PPPrrreeepppaaarrraaaçççãããooo::: RRReeennnaaatttaaa GGGooonnnçççaaalllvvveeesss RRReeevvviiisssãããooo::: GGGuuuiiilllhhheeerrrmmmeee SSSuuummmmmmaaa eee CCCaaammmiiilllllleee MMMeeennndddrrrooottt CCCaaapppaaa::: AAAllleeexxxaaannndddrrreee MMMiiieeedddaaa sssooobbbrrreee ppprrrooojjjeeetttooo ooorrriiigggiiinnnaaalll dddeee EEEllleeennnaaa SSSiiidddooorrrooovvvaaa EEEdddiiitttooorrraaaçççãããooo eeellleeetttrrrôôônnniiicccaaa eee dddiiiaaagggrrraaammmaaaçççãããooo::: FFFiiiggguuurrraaatttiiivvvaaa EEEdddiiitttooorrriiiaaalll MMMMMM LLLtttdddaaa... DDDaaadddooosss IIInnnttteeerrrnnnaaaccciiiooonnnaaaiiisss dddeee CCCaaatttaaalllooogggaaaçççãããooo nnnaaa PPPuuubbbllliiicccaaaçççãããooo (((CCCIIIPPP))) (((CCCâââmmmaaarrraaa BBBrrraaasssiiillleeeiiirrraaa dddooo LLLiiivvvrrrooo,,, SSSPPP,,, BBBrrraaasssiiilll))) SSSooommmmmmeeerrrvvviiilllllleee,,, IIIaaannn EEEnnngggeeennnhhhaaarrriiiaaa dddeee SSSoooffftttwwwaaarrreee /// IIIaaannn SSSooommmmmmeeerrrvvviiilllllleee ;;; tttrrraaaddduuuçççãããooo IIIvvvaaannn BBBooosssnnniiiccc eee KKKaaallliiinnnkkkaaa GGG... dddeee OOO... GGGooonnnçççaaalllvvveeesss ;;; rrreeevvviiisssãããooo tttééécccnnniiicccaaa KKKeeeccchhhiii HHHiiirrraaammmaaa... ——— 999... eeeddd... ——— SSSãããooo PPPaaauuulllooo ::: PPPeeeaaarrrsssooonnn PPPrrreeennntttiiiccceee HHHaaallllll,,, 222000111111... TTTííítttuuulllooo ooorrriiigggiiinnnaaalll::: SSSoooffftttwwwaaarrreee eeennngggiiinnneeeeeerrriiinnnggg... IIISSSBBBNNN 999777888---888555---777999333666---111000888---111 111... EEEnnngggeeennnhhhaaarrriiiaaa dddeee sssoooffftttwwwaaarrreee III... TTTííítttuuulllooo... 111111---000222333333777 CCCDDDDDD---000000555...111 ÍÍÍnnndddiiiccceee pppaaarrraaa cccaaatttááálllooogggooo sssiiisssttteeemmmááátttiiicccooo::: 111... EEEnnngggeeennnhhhaaarrriiiaaa dddeee SSSoooffftttwwwaaarrreee 000000555...111 3a reimpressão – dezembro 2013 11ªa r reeimimpprreessss2ãã0oo1 — 1– J Juulhlhoo 2 2001122 Direitos exclusivos para a língua portuguesa cedidos à DDDiiirrreeeiiitttooosss eeexxxcccllluuusssiiivvvooosss pppaaarrraaa aaa lllííínnnggguuuaaa pppooorrrtttuuuggguuueeesssaaa ccceeedddiiidddooosss ààà Pearson Education do Brasil Ltda., PPPeeeaaarrrsssooonnn EEEddduuucccaaatttiiiooonnn dddooo BBBrrraaasssiiilll,,, uma empresa do grupo Pearson Education uuummmaaa eeemmmppprrreeesssaaa dddooo gggrrruuupppooo PPPeeeaaarrrsssooonnn EEEddduuucccaaatttiiiooonnn Rua Nelson Francisco, 26 RRRuuuaaa NNNeeelllsssooonnn FFFrrraaannnccciiissscccooo,,, 222666,,, LLLiiimmmãããooo CEP 02712-100 – São Paulo – SP – Brasil CCCEEEPPP::: 000222777111222–––111000000 ––– SSSãããooo PPPaaauuulllooo ––– SSSPPP Fone: 11 2178-8686 – Fax: 11 2178-8688 TTTeeelll::: (((111111))) 222111777888–––888666888666 ––– FFFaaaxxx::: (((111111))) 222111777888–––888666888888 e-mail: [email protected] eee---mmmaaaiiilll::: vvveeennndddaaasss@@@pppeeeaaarrrsssooonnn...cccooommm Sommerville_Cap_00.indd 4 07/06/2011 09:50:06 Sumário Prefácio ................................................................................................................................................................................................................................... xi Parte 1 – Introdução à engenharia de software .............................................................. 1 Capítulo 1 – Introdução ..................................................................................................................... 2 1.1 Desenvolvimento profissional de software ........................................................................................................................................ 3 1.2 Ética na engenharia de software ............................................................................................................................................................... 9 1.3 Estudos de caso .................................................................................................................................................................................................. 11 Capítulo 2 – Processos de software .................................................................................................... 18 2.1 Modelos de processo de software ..........................................................................................................................................................19 2.2 Atividades do processo ................................................................................................................................................................................. 24 2.3 Lidando com mudanças ............................................................................................................................................................................... 29 2.4 Rational Unified Process (RUP) ..................................................................................................................................................................... 34 Capítulo 3 – Desenvolvimento ágil de software .................................................................................. 38 3.1 Métodos ágeis ..................................................................................................................................................................................................... 39 3.2 Desenvolvimento ágil e dirigido a planos ......................................................................................................................................... 42 3.3 Extreme Programming ................................................................................................................................................................................... 44 3.4 Gerenciamento ágil de projetos .............................................................................................................................................................. 49 3.5 Escalamento de métodos ágeis ............................................................................................................................................................... 51 Capítulo 4 – Engenharia de requisitos ................................................................................................ 57 4.1 Requisitos funcionais e não funcionais................................................................................................................................................ 59 4.2 O documento de requisitos de software ........................................................................................................................................... 63 4.3 Especificação de requisitos ......................................................................................................................................................................... 65 4.4 Processos de engenharia de requisitos ............................................................................................................................................... 69 Sommerville_Cap_00.indd 5 07/06/2011 09:50:06 vi Engenharia de software 4.5 Elicitação e análise de requisitos.............................................................................................................................................................. 69 4.6 Validação de requisitos .................................................................................................................................................................................. 76 4.7 Gerenciamento de requisitos .................................................................................................................................................................... 77 Capítulo 5 – Modelagem de sistemas ................................................................................................. 82 5.1 Modelos de contexto ...................................................................................................................................................................................... 84 5.2 Modelos de interação ..................................................................................................................................................................................... 86 5.3 Modelos estruturais ......................................................................................................................................................................................... 89 5.4 Modelos comportamentais ........................................................................................................................................................................ 93 5.5 Engenharia dirigida a modelos ................................................................................................................................................................. 96 Capítulo 6 – Projeto de arquitetura ................................................................................................. 103 6.1 Decisões de projeto de arquitetura .................................................................................................................................................... 105 6.2 Visões de arquitetura .................................................................................................................................................................................... 107 6.3 Padrões de arquitetura ................................................................................................................................................................................ 108 6.4 Arquiteturas de aplicações ....................................................................................................................................................................... 115 Capítulo 7 – Projeto e implementação ............................................................................................. 124 7.1 Projeto orientado a objetos com UML .............................................................................................................................................. 125 7.2 Padrões de projeto ........................................................................................................................................................................................ 133 7.3 Questões de implementação ................................................................................................................................................................. 135 7.4 Desenvolvimento open source ............................................................................................................................................................... 139 Capítulo 8 – Testes de software ....................................................................................................... 144 8.1 Testes de desenvolvimento ..................................................................................................................................................................... 147 8.2 Desenvolvimento dirigido a testes...................................................................................................................................................... 155 8.3 Testes de release .............................................................................................................................................................................................. 157 8.4 Testes de usuário ............................................................................................................................................................................................ 159 Capítulo 9 – Evolução de software ................................................................................................... 164 9.1 Processos de evolução ................................................................................................................................................................................ 166 9.2 Dinâmica da evolução de programas ............................................................................................................................................... 169 9.3 Manutenção de software .......................................................................................................................................................................... 170 9.4 Gerenciamento de sistemas legados ................................................................................................................................................. 177 Sommerville_Cap_00.indd 6 07/06/2011 09:50:16 Sumário vii Parte 2 – Confiança e proteção ................................................................................... 183 Capítulo 10 – Sistemas sociotécnicos ............................................................................................... 184 10.1 Sistemas complexos ..................................................................................................................................................................................... 186 10.2 Engenharia de sistemas .............................................................................................................................................................................. 191 10.3 Aquisição de sistemas ................................................................................................................................................................................. 192 10.4 Desenvolvimento de sistemas ............................................................................................................................................................... 194 10.5 Operação de sistemas ................................................................................................................................................................................. 197 Capítulo 11 – Confiança e proteção .................................................................................................. 202 11.1 Propriedades da confiança ....................................................................................................................................................................... 203 11.2 Disponibilidade e confiabilidade .......................................................................................................................................................... 206 11.3 Segurança ........................................................................................................................................................................................................... 209 11.4 Proteção ............................................................................................................................................................................................................... 211 Capítulo 12 – Especificação de confiança e proteção ......................................................................... 216 12.1 Especificação de requisitos dirigida a riscos .................................................................................................................................. 217 12.2 Especificação de segurança ..................................................................................................................................................................... 218 12.3 Especificação de confiabilidade ............................................................................................................................................................ 224 12.4 Especificação de proteção ........................................................................................................................................................................ 229 12.5 Especificação formal ..................................................................................................................................................................................... 232 Capítulo 13 – Engenharia de confiança ............................................................................................ 237 13.1 Redundância e diversidade ...................................................................................................................................................................... 239 13.2 Processos confiáveis ..................................................................................................................................................................................... 240 13.3 Arquiteturas de sistemas confiáveis ................................................................................................................................................... 241 13.4 Programação confiável ............................................................................................................................................................................... 247 Capítulo 14 – Engenharia de proteção ............................................................................................. 255 14.1 Gerenciamento de riscos de proteção ............................................................................................................................................. 257 14.2 Projeto para proteção .................................................................................................................................................................................. 261 14.3 Sobrevivência de sistemas ........................................................................................................................................................................ 269 Capítulo 15 – Garantia de confiança e proteção ................................................................................ 274 15.1 Análise estática ................................................................................................................................................................................................ 275 15.2 Testes de confiabilidade ............................................................................................................................................................................. 279 15.3 Testes de proteção......................................................................................................................................................................................... 282 Sommerville_Cap_00.indd 7 06/06/2011 16:44:57 viii Engenharia de software 15.4 Garantia de processo ................................................................................................................................................................................... 283 15.5 Casos de segurança e confiança ........................................................................................................................................................... 286 Parte 3 – Engenharia de software avançada ................................................................ 295 Capítulo 16 – Reúso de software ..................................................................................................... 296 16.1 O panorama de reúso .................................................................................................................................................................................. 298 16.2 Frameworks de aplicações ........................................................................................................................................................................ 300 16.3 Linhas de produto de software ............................................................................................................................................................. 303 16.4 Reúso de produtos COTS ........................................................................................................................................................................... 307 Capítulo 17 – Engenharia de software baseada em componentes ...................................................... 315 17.1 Componentes e modelos de componentes ................................................................................................................................. 317 17.2 Processos CBSE ................................................................................................................................................................................................ 321 17.3 Composição de componentes .............................................................................................................................................................. 326 Capítulo 18 – Engenharia de software distribuído ............................................................................ 333 18.1 Questões sobre sistemas distribuídos ............................................................................................................................................... 334 18.2 Computação cliente-servidor ................................................................................................................................................................. 339 18.3 Padrões de arquitetura para sistemas distribuídos ................................................................................................................... 341 18.4 Software como um serviço ...................................................................................................................................................................... 349 Capítulo 19 – Arquitetura orientada a serviços ................................................................................. 355 19.1 Serviços como componentes reusáveis .......................................................................................................................................... 359 19.2 Engenharia de serviços ............................................................................................................................................................................... 361 19.3 Desenvolvimento de software com serviços ................................................................................................................................ 368 Capítulo 20 – Software embutido .................................................................................................... 375 20.1 Projeto de sistemas embutidos ............................................................................................................................................................. 377 20.2 Padrões de arquitetura ................................................................................................................................................................................ 382 20.3 Análise de timing ............................................................................................................................................................................................ 387 20.4 Sistemas operacionais de tempo real ................................................................................................................................................ 390 Capítulo 21 – Engenharia de software orientada a aspectos .............................................................. 395 21.1 Separação de interesses ............................................................................................................................................................................. 396 21.2 Aspectos, pontos de junção e pontos de corte .......................................................................................................................... 399 21.3 Engenharia de software com aspectos ............................................................................................................................................ 403 Sommerville_Cap_00.indd 8 06/06/2011 16:44:58 Sumário ix Parte 4 – Gerenciamento de software ......................................................................... 413 Capítulo 22 – Gerenciamento de projetos......................................................................................... 414 22.1 Gerenciamento de riscos........................................................................................................................................................................... 415 22.2 Gerenciamento de pessoas ..................................................................................................................................................................... 421 22.3 Trabalho de equipe ....................................................................................................................................................................................... 423 Capítulo 23 – Planejamento de projeto ............................................................................................ 431 23.1 Definição de preço de software ............................................................................................................................................................ 433 23.2 Desenvolvimento dirigido a planos .................................................................................................................................................. 434 23.3 Programação de projeto ............................................................................................................................................................................ 436 23.4 Planejamento ágil .......................................................................................................................................................................................... 440 23.5 Técnicas de estimativa ................................................................................................................................................................................ 442 Capítulo 24 – Gerenciamento de qualidade ...................................................................................... 454 24.1 Qualidade de software ................................................................................................................................................................................ 456 24.2 Padrões de software ..................................................................................................................................................................................... 458 24.3 Revisões e inspeções .................................................................................................................................................................................... 462 24.4 Medições e métricas de software ........................................................................................................................................................ 465 Capítulo 25 – Gerenciamento de configuração ................................................................................. 475 25.1 Gerenciamento de mudanças................................................................................................................................................................ 477 25.2 Gerenciamento de versões ...................................................................................................................................................................... 481 25.3 Construção de sistemas ............................................................................................................................................................................. 484 25.4 Gerenciamento de releases ...................................................................................................................................................................... 488 Capítulo 26 – Melhoria de processos ................................................................................................ 493 26.1 O processo de melhoria de processos .............................................................................................................................................. 495 26.2 Medição de processos ................................................................................................................................................................................ 497 26.3 Análise de processos .................................................................................................................................................................................... 499 26.4 Mudança de processos ............................................................................................................................................................................... 502 26.5 Framework CMMI de melhorias de processos .............................................................................................................................. 504 Glossário ............................................................................................................................................................................................................................ 511 Índice remissivo ............................................................................................................................................................................................................ 521 Sommerville_Cap_00.indd 9 06/06/2011 16:44:58 Sommerville_Cap_00.indd 10 07/06/2011 09:50:06

Description:
e pode não verificar o overflow de fila quando um item for inserido. trabalho (ACKROYD et al., 1992; ANDERSON et al., 1989; SUCHMAN, 1987).
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.