A maior rede de estudos do Brasil

Grátis
81 pág.
Apostila-UML

Pré-visualização | Página 7 de 18

quando dois requisitos não podem ser totalmente satisfeitos, entendendo, na 
maioria das vezes, as implicações das decisões por eles tomadas durante o 
desenvolvimento de requisitos, criando poucas surpresas no momento de entrega do 
sistema. Os usuários passam a compartilhar com o engenheiro de software uma visão dos 
problemas que estão tentando resolver, dos tipos de soluções possíveis e se sentem um 
pouco donos dos produtos gerados pela extração, sentem-se satisfeitos, informados e 
acreditam que o risco é minimizado. Similarmente, os engenheiros e desenvolvedores de 
software que participaram do processo de extração de requisitos têm confiança de que 
estão resolvendo o problema certo e se convencem de que estão resolvendo o problema 
viável sob todos os aspectos, não somente técnicos, mas também humanos. Sabem que os 
usuários irão cooperar se for necessário novos esclarecimentos e que essas interações serão 
mínimas. 
Saídas de um Processo Ruim – o pior resultado de um processo de extração de requisitos 
mal feito é que os desenvolvedores poderão estar resolvendo o problema errado. Mesmo 
que os desenvolvedores estejam resolvendo essencialmente o problema certo, um processo 
de extração ruim pode trazer outras conseqüências negativas. Compradores e usuários 
podem ficar insatisfeitos (acontecem freqüentemente quando os desenvolvedores não 
ouvem os usuários ou tendem a forçar suas próprias visões e interpretações), resultando 
numa participação menos efetiva por parte dos compradores e usuários, resultando em 
respostas menos completas, podendo continuar afetando o projeto durante o 
desenvolvimento e entrega. Os desenvolvedores podem descobrir que há informações 
importantes faltando, o que resulta em encontros adicionais, podem tomar decisões erradas 
devido à falta de entendimento das reais necessidades. Os requisitos podem mudar 
freqüentemente, resultando em demoras ou esforços desperdiçados nas fases de projeto e 
implementação, resultando num custo maior, atraso no planejamento e algumas vezes, 
projetos cancelados. Tudo isso pode resultar numa perda de dinheiro, tanto para a empresa 
a que pertencem os desenvolvedores, como para os compradores, má reputação e perda de 
credibilidade dos desenvolvedores, além de uma queda na confiança dos próprios 
desenvolvedores em si mesmos 
 
 
 
22 
 
Validação 
 
 Nesta fase pretende-se demonstrar que o documento de requisitos produzido 
corresponde, de fato, o sistema que o cliente necessita. 
 À semelhança do que sucede na análise dos requisitos, pretende-se encontrar 
problemas/conflitos na especificação, porém ao contrário das fases anteriores esta fase lida 
com uma especificação completa dos requisitos. 
 A validação é especialmente importante em sistemas de grandes dimensões porque 
muitas vezes são encontrados erros (durante o desenvolvimento ou já depois de o sistema 
estar sendo usado) no documento de requisitos, e esses erros têm repercussões 
proporcionais à dimensão do projeto. Estes tipos de erros traduzem-se em elevados custos 
e necessidade de refazer muito do trabalho que se julgava já concluído. 
 Durante a fase de validação dos requisitos, devem ser verificados (através de 
checklists) os seguintes atributos dos requisitos: 
 Validade: a especificação resulta da análise dos requisitos identificados junto das 
diversas partes interessadas envolvidas. Como tal, requisitos identificados 
individualmente (isto é, junto de cada parte interessada) podem diferir da 
especificação final que se atinge após o cruzamento de informação e é necessário 
que cada cliente compreenda e aceite a especificação final obtida. 
 Consistência: não devem existir conflitos entre os requisitos identificados. 
 Compreensibilidade/Ambigüidade: os requisitos devem poder ser compreendidos 
de forma inequívoca pelas partes interessadas. 
 Completude: todas as funcionalidades pretendidas devem fazer parte da 
especificação do sistema. 
 Realismo: dadas às restrições do projeto (tecnológicas, financeiras e temporais) o 
sistema especificado tem de ser implementável. 
 Verificabilidade: de forma a evitar futuras discordâncias quanto à concretização 
dos requisitos especificados, estes devem ser descritos de modo a que seja possível 
verificar se foram ou não concretizados, isto é, se o sistema final corresponde à 
especificação inicial. 
 Rastreabilidade: a origem dos requisitos, em relação ao cliente, deve estar 
claramente identificada. Entre outros motivos, isto é importante para facilitar a 
gestão futura dos requisitos. 
 
 
 
23 
 
 Conformidade com normas: para além dos aspectos funcionais dos requisitos, a 
sua especificação deve obedecer às normas usadas ao longo de todo o documento. 
 A fase de validação não deve ser encarada de ânimo leve: trata-se de uma fase 
muito importante na engenharia de requisitos e da qual dependem elevados custos a médio 
e longo prazo. 
 Por depender bastante dos retornos transmitidos pelos clientes (que não são peritos 
em validação de requisitos) é bastante falível e regra geral há erros que não são 
encontrados num primeiro momento, o que leva inevitavelmente a discordâncias numa fase 
posterior, já com o documento validado e o projeto em desenvolvimento ou concluído. 
Quando isto sucede, torna-se necessário negociar e chegar a um acordo quanto à forma de 
corrigir o erro detectado. 
UML – Linguagem de Modelagem Unificada 
 
A UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) é 
uma linguagem visual utilizada para modelar sistemas computacionais por meio do 
paradigma de orientação a objetos. Essa linguagem tornou-se, nos últimos anos, a 
linguagem padrão de modelagem de Software adotada internacionalmente pela indústria de 
Engenharia de Software. 
 Deve ficar bem claro, no entanto, que a UML não é uma linguagem de 
programação e sim uma linguagem de modelagem, cujo objetivo é auxiliar os engenheiros 
de Software a definir as características do Software, tais como seus requisitos, seu 
comportamento, sua estrutura lógica, a dinâmica de seus processos e até mesmo suas 
necessidades físicas em relação ao equipamento sobre o qual o sistema deverá ser 
implantado. Todas essas características são definidas por meio da UML antes do Software 
começar a ser realmente desenvolvido. 
 Através da UML podemos modelar um sistema utilizando vários diagramas, nos 
quais podemos destacar dois grandes grupos: 
 Modelagem Estrutural 
o Diagrama de Classes 
o Diagrama de Objetos 
o Diagrama de Componentes 
o Diagrama de Estrutura Composta 
o Diagrama de Pacotes 
 
 
 
24 
o Diagrama de Implantação 
 Modelagem Comportamental (Temporal) 
o Diagrama de Casos de Uso 
o Diagrama de Atividades 
o Diagrama de Transição de Estados 
o Diagrama de Máquina de Estados 
o Diagramas de Interação Geral 
o Diagramas de Interação entre Objetos 
 Diagrama de Sequência 
 Diagrama de Comunicação 
 Diagrama de Tempo 
 Diagrama de Comunicação 
A UML foi desenvolvida por Grady Booch, James Rumbaugh, e Ivar Jacobson que são 
conhecidos como "os três amigos". Eles possuem um extenso conhecimento na área de 
modelagem orientado a objetos já que as três mais conceituadas metodologias de 
modelagem Orientada a Objetos foram eles que desenvolveram e, a UML é a junção do 
que havia de melhor nestas três metodologias adicionado novos conceitos e visões da 
linguagem. 
 A UML é o resultado da unificação da linguagem de modelagem de objetos de 3 
métodos líderes do mercado: Booch, Object Modeling Technique (OMT) e Objected-
Oriented Software Engineering (OOSE). Em 1997, a UML v1.1 foi adotada pela OMG 
(Object Management Group) e desde então tornou-se o padrão da indústria de Software 
para a modelagem de objetos e componentes. 
 
 
 
 
25 
 
Um processo para utilizar a UML 
 
A UML contém notações e regras que tornam possível expressar modelos 
orientados a objetos. Mas ela não prescreve como o trabalho