Arquitetura de software: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Arawete (discussão | contribs)
Apenas correção da palavra idéia por ideia. Seguindo o acordo ortográfico.
Linha 5:
|date=2006|accessdate=2006-09-23}}</ref> Durante o decorrer da década de 90 houve um esforço concentrado para definir e codificar os aspectos fundamentais desta disciplina. Inicialmente um conjunto de padrões de projeto, estilo, melhores práticas, descrição de [[Linguagem de programação|linguagens]], e [[lógica formal]] foram desenvolvidas durante este período.
 
A disciplina de arquitetura de software é centrada na idéiaideia da redução da complexidade através da abstração e separação de interesses. O glossário do site oficial SOFTWARE ENGINEERING INSTITUTE (Instituto de Engenharia de Software) <ref>{{cite web|author=SEI|title= Glossary?|url= http://www.sei.cmu.edu/architecture/start/glossary |date=2010|accessdate=2010-01-31}}</ref> descreve que arquitetura de software é a estrutura ou estruturas de um sistema, com todos os elementos de software vendo e tendo suas propriedades vistas por todos os outros elementos e relacionamentos.
 
Sendo a arquitetura de sistema uma disciplina em maturação, sem regras claras, a ação do arquiteto é ainda uma composição de arte e ciência. Os aspectos de ''[[arte]]'' da arquitetura de software são devidos ao fato que os sistemas de software comerciais suportam alguns aspectos de um negócio ou missão. Assim como o direcionamento de negócio chave para o suporte os sistemas são descritos nos [[cenário]]s como [[requisito não-funcional|requisitos não-funcionais]] de sistema, também conhecidos como atributos de qualidade, que determinam como um sistema irá se comportar.<ref name="softwareqa">{{cite web|author=SoftwareArchitectures.com|title= Intro to Software Quality Attributes |url=http://www.softwarearchitectures.com/one/Designing+Architecture/78.aspx |date=2006|accessdate=2006-09-23}}</ref> Cada sistema é único devido à natureza do negócio que ele suporta, tal que o nível dos atributos de [[qualidade]] exigidos de um sistema como [[compatibilidade]], [[extensibilidade]], [[confiabilidade]], [[manutenabilidade]], [[disponibilidade]], [[segurança]], [[usabilidade]], dentre outros – irão variar para cada aplicação sendo desenvolvida.<ref name="softwareqa"/>