<< Chapter < Page Chapter >> Page >

Custo e benefício

Como os recursos financeiros para se desenvolver o software sãolimitados, cada decisão arquitetural deve ter seu custo e o benefício proporcionadoanalisados e, com base nessa análise, priorizados ou até mesmo descartados.Essa análise deve levar em conta o ambiente de desenvolvimento em questão:capacidades do time de desenvolvimento, ferramentas disponíveis para o reusoe os objetivos do software.

Vida útil

O design de sistemas de grande vida útil deve priorizardiferentes atributos de qualidade se os compararmos com o design de sistemasde vida mais curta, como protótipos. No primeiro tipo de sistemas, atributosde manutenibilidade e portabilidade são mais valorizados; no segundo, sãopriorizados atributos de eficiência e funcionalidade.

Agenda de lançamento

O design do software é muito dependente de como ele vaiser disponibilizado a público. Por exemplo, se o software será disponibilizadoem fases distintas que englobarão diferentes conjuntos de funcionalidades, ele deveser dividido de modo que funcione sem as partes que ainda não foram disponibilizadas,mas que também facilite tanto a modificabilidade, uma vez que é desejável que novas funcionalidadessejam adicionadas com menor esforço, quanto a interoperabilidade entre diferentesversões, que eventualmente ocorrerá. Já se o software será disponibilizadosem possibilidade de posterior atualização, como acontece em muitos sistemas embarcados,preocupações de modificabilidade e interoperabilidade entre versões podemser descartadas.

Design arquitetural para qualidade de software

A principal responsabilidade do arquiteto é a de conceber o design quepossibilite ao software ser construído de modo que satisfaça os requisitos dequalidade impostos pelos stakeholders. Para que o processo de design arquiteturaltenha sucesso, é essencial que o arquiteto conheça os objetivos do software, ou seja,conheça os requisitos funcionais e de qualidade para os quais ele está projetando. Alémdisso, ele deve conhecer tanto as técnicase práticas de design arquitetural que podem ajudá-lo na concepção da arquitetura. Eledeve também conhecer como documentar a arquitetura projetada, uma vez que é precisocomunicá-la aos outros membros do time de desenvolvimento.

Neste capítulo, nós aprendemos sobre os objetivos que devem ser alcançadospelo design da arquitetura e esperamos que o leitor agora seja capaz de:

  • Identificar o que são atributos de qualidade e qual é suainfluência na arquitetura de software;
  • Relacionar atributos de qualidade com algumas decisões arquiteturaisque os proporcionam; e
  • Entender quais os atributos de qualidade se relacionam e como elesse relacionam.

A seguir, apresentaremos técnicas e práticas de design que o arquitetodeve conhecer para projetar sistemas com determinados atributos de qualidade. Porfim, no capítulo seguinte, apresentaremos como documentar o design arquitetural.

Referências

Requisitos funcionais e não-funcionais

Os livros Software Engineering [link] , de Sommerville, Requirements Engineering: Processes and Techniques [link] , de Sommerville e Kotonya, Software Engineering: A Practitioner's Approach [link] , de Pressman, dedicam alguns capítulos a este assunto.No entanto, o foco desses livros é no papel dos requisitos de softwareno processo de desenvolvimento. Já o artigo Defining Non-Functional Requirements [link] , de Malan e Bredemeyer, é mais voltado à influênciados requisitos na arquitetura.

Diferenças entre requisitos funcionais e não-funcionais

A discussão sobre a inexistência de diferenças práticasentre requisitos funcionais e não-funcionais pode ser encontrada tanto no livro Requirements Engineering: Processes and Techniques [link] , de Sommerville e Kotonya, quanto no artigo Distinctions Between Requirements Specificationand Design of Real-Time Systems [link] , de Kalinsky e Ready, e no livro Real-Time Systems: Design Principles forDistributed Embedded Applications [link] , de Kopetz. Essa discussão se mostra bastante presenteem sistemas de tempo-real porque os requisitos de desempenho definem afuncionalidade desses sistemas – ao contrário do que encontramos, por exemplo,em sistemas de informação, onde os requisitos de desempenho são consideradosrequisitos não-funcionais.

Atributos de qualidade

Bass et al , no livro Software Architecture in Practice [link] , mostra o papel dos atributos de qualidade naarquitetura de software. Além dele, Gorton faz uma pequena introdução aeste assunto ao tratar do estudo de caso presente em Essential Software Architecture [link] . Os livros Software Systems Architecture [link] , de Rozanski e Woods, e Code Complete [link] , de Steve McConnell, também dedicam seções aosatributos de qualidade de software, sendo o primeiro em nível de designarquitetural e o segundo em nível de design detalhado.

Atributos de negócio

Por fim, podemos encontrar informações sobre atributos de qualidadede negócio nos livros Software Architecture in Practice [link] , de Bass et al , e Beyond Software Architecture [link] , de Hohmann.

Questions & Answers

what is biology
Hajah Reply
the study of living organisms and their interactions with one another and their environments
AI-Robot
what is biology
Victoria Reply
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
in what situation (s) would be the use of a scanning electron microscope be ideal and why?
Kenna Reply
A scanning electron microscope (SEM) is ideal for situations requiring high-resolution imaging of surfaces. It is commonly used in materials science, biology, and geology to examine the topography and composition of samples at a nanoscale level. SEM is particularly useful for studying fine details,
Hilary
cell is the building block of life.
Condoleezza Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

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