<< Chapter < Page Chapter >> Page >
Neste capítulo, arquitetura é definida e tem seus benefícios e características expostos.

No capítulo introdutório, mencionamos que o Design de Software pode ser divididoem duas atividades: design de alto-nível ou arquitetural e design detalhado e que ambasas atividades têm um papel importante no ciclo de desenvolvimento do software. Como no objetode estudo deste livro é Arquitetura de Software, voltamo-nos agora para a primeira atividadeem questão.

Este capítulo tem como objetivo expor o leitor aos fundamentos de Arquiteturade Software ou, em outras palavras, fazer com que seja capaz de:

  • Reconhecer, entender, e comparar as diferentes definições existentes dotermo arquitetura de software
  • Relacionar as diferentes definições de arquitetura de software com o padrãoISO/IEEE 1471
  • Identificar as características e benefícios proporcionados por uma boaarquitetura
  • Avaliar os benefícios de explicitamente projetar a arquitetura durante o desenvolvimentodo software

Motivação para desenvolver melhores sistemas

Desenvolver software não é uma tarefa fácil. É por esse motivo quemuitos projetos de software fracassam durante seu desenvolvimento ou ao obter seus resultados.Entre esses maus resultados, encontramos os que custaram muito acima do orçamento,os incompletos e os que não solucionam os problemas como deveriam resolver.

Não é fácil alcançar um bom produto de software devido à complexidadeenvolvida em seu processo de desenvolvimento. Além de lidar com a complexidade inerenteao problema, devemos também nos preocupar em como o software resolve esse problema. Assim, o software deve, além de resolver o problema,resolvê-lo da forma esperada. Ou em outras palavras:

Espera-se que, além de função, o produto de softwarepossua os atributos de qualidade esperados .

Considere um programa que realize as quatro operações: soma,subtração, multiplicação e divisão. Se o tempo de resposta de suas operaçõesfor sempre maior do que o tempo que seu usuário está disposto a esperar,esse programa não terá utilidade mesmo que sempre retorne o resultado correto.

Podemos observar no [link] que o programa funciona corretamente, mas, por não exibiro desempenho esperado, acaba sendo abandonado. Por outro lado, consertar esse programapara que seja útil é relativamente fácil. Por exemplo, se o programa não multiplicarápido o bastante, basta apenas reimplementar a função de multiplicação para que tenhaum melhor desempenho.

Considere agora o SASF, já apresentado no Capítulo XX. Consideretambém que ele se mostra incapaz de responder em menos de dois segundosàs operações de aluguel de filmes. Uma vez que os usuários não estão dispostosa esperar esse tempo pela principal operação do sistema, isso resultaránuma má experiência de uso, que será motivo para que seus usuários deixemde usá-lo e também deixem de pagar pelo serviço.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Arquitetura de software. OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10722/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?

Ask