<< Chapter < Page Chapter >> Page >

objetivo de design
Aquilo que se pretende alcançar para resolver as necessidades do cliente.

Em design de software, objetivos também são chamados de requisitos. O design se preocupa com dois tipos de requisitos: requisitos funcionais e requisitos não-funcionais. Um requisito funcional especifica a funcionalidade que um sistema exibe.

requisito funcional
É a declaração de uma função ou comportamento providos pelo sistema sob condições específicas.

Em outras palavras, o que o sistema faz para alcançar às expectativas do cliente. Por exemplo, um requisito funcional de um programa de ordenação de números pode ser descrita como sua capacidade de ordenar inteiros; ou, se estamos falando de um sistema de informação de uma locadora de filmes em DVD, temos como requisitos funcionais, entre outros, a capacidade de buscar um filme usando palavras-chave, a capacidade de realizar o aluguel de um ou vários DVDs, ou a capacidade de realizar a devolução de um ou vários DVDs.

Por outro lado, um requisito não-funcional, especifica propriedades ou características que o sistema de software deve exibir diferentes dos requisitos funcionais. Os requisitos não-funcionais são atendidos pelos atributos de qualidade do software.

requisito não-funcional
É a descrição de propriedades, características ou restrições que o software apresenta exibidas por suas funcionalidades.

Em outras palavras, é basicamente como o sistema funcionará. De volta ao exemplo do programa de ordenar números, um requisito não-funcional que podemos mencionar é o tempo de execução da função de ordenação do sistema (por exemplo, é aceitável que o tempo de execução do algoritmo de ordenação tenha uma taxa de crescimento de O ( n log n ) , onde n é a quantidade de elementos a serem ordenados). Já no sistema da locadora de filmes, um exemplo de atributo de qualidade é a exposição de algumas de suas funcionalidades via internet (e.g., busca e reserva de filmes através de um site disponibilizado pelo sistema).

Como os requisitos não-funcionais e os atributos de qualidade têm um papel importante na arquitetura do software, nós dedicaremos um capítulo a eles, onde serão descritos, categorizados e exemplificados em detalhes, além de serem relacionados aos stakeholders que os demandam.

Restrições

O produto de design deve ser viável. Dessa maneira, restrições são as regras, requisitos, relações, convenções, ou princípios que definem o contexto do processo de design, de forma que seu produto seja viável.

restrição de design
A regra, requisito, relação, convenção, ou princípio que define o texto do processo de design.

É importante saber que restrições são diretamente relacionadas a objetivos e que, em alguns casos, eles são até intercambiáveis. No entanto, uma vez que não são apenas os objetivos que guiam o processo de design, é necessário diferenciar objetivos de restrições. Em outras palavras, um sistema pode ter objetivos claros, mas seu design ou algumas alternativas dele podem ser inviáveis devido às restrições.

A seguir, apresentamos dois exemplos que nos ajudarão a entender o papel das restrições no design. No primeiro exemplo, apesar do sistema ter um objetivo claro, seu design não é viável devido a uma restriçã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