<< Chapter < Page | Chapter >> Page > |
As restrições feitas pelos requisitos não-funcionais são várias epodem incluir restrições ao processo de desenvolvimento, restrições para atingirou manter compatibilidade, e restrições legais, econômicas ou de interoperabilidade.As restrições ao processo de desenvolvimento podem ser feitas pela imposição de padrõesde desenvolvimento ou mesmo de linguagens a serem utilizadas pelo sistema. Por exemplo,um requisito não-funcional de um sistema pode ser que ele deva ser implementadousando a linguagem Java™, uma vez que a equipe responsável pela operação e manutençãoapós seu desenvolvimento seja é experiente nessa linguagem. Por fim, podemos aindacitar requisitos não-funcionais conhecidos que foram impostos em prol de compatibilidadee interoperabilidade e – por que não dizer – de questões econômicas, que é um casorelacionado ao sistema operacional Windows NT. O Windows NT possui requisitos não-funcionaisque ditam que ele deve ser capaz de executar aplicativos originalmente escritos paraDOS, OS/2, versões anteriores do Windows e aplicativos de acordo com o padrão POSIX Note que não tivemos acesso ao documento de requisitos doWindows NT. No entanto, a estrutura de seu kernel deixa bem clara estanecessidade de retrocompatibilidade e aderência ao padrão POSIX. Para maisinformações sobre esse assunto, recomendamos a leitura do capítulo A Tale of Two Standards do livro Open Sources 2.0 [link] . . Assim, satisfazendo aos requisitos de poder executar aplicativos originalmenteescritos para sistemas operacionais anteriores, o Windows NT teria um custo de adoção maisbaixo, uma vez as empresas não precisariam renovar seu ecossistema de aplicativospara poder usá-lo. Já o requisito de aderência ao padrão POSIX se mostra necessário paraeventuais contratos com cláusulas do tipo:“o sistema operacional a ser utilizado deve estar de acordo com o padrão POSIX”.
Os requisitos não-funcionais podem ainda ser divididos em três tipos:de produto, de processo e externos. Os requisitos não-funcionais de produto podem,à primeira vista, nos parecer os únicos que deveríamos estudar. Isso se dá poreles estarem diretamente relacionados à qualidade do software e serem definidoscomo os requisitos que especificam as características que o software deve possuir. No entanto,devemos lembrar que a arquitetura de software não influencia apenas a qualidade finaldo software, mas também influencia (e é influenciada pela) a forma com que eleé desenvolvido e até mesmo a organização em que ela está inserida.
Notification Switch
Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?