Artigo SQL Magazine 45 - Projeto de software orientado a objetos com UML 2.0 - Saiba como elaborar o diagrama de classes e de seqüência de sua aplicação a partir da especificação de requisitos do software
Artigo da Revista SQL Magazine - Edição 45.
Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
Projeto de software orientado a objetos com UML 2.0
Saiba como elaborar o diagrama de classes e de seqüência de sua aplicação a partir da especificação de requisitos do software
Desenvolver software é uma atividade complexa por natureza. Uma das razões para esta afirmação é que não existe uma única solução para cada cenário de desenvolvimento. Além disso, lidamos o tempo todo com pessoas, o que torna o sucesso do projeto bastante relacionado à competência da equipe e à forma como trabalham, e, para dificultar ainda mais, muitas vezes não fazemos uso de um processo bem definido para apoiar as atividades do projeto.
Entende-se por processo, neste contexto, como sendo um conjunto de atividades bem definidas com os respectivos responsáveis por execução, ferramentas de apoio e artefatos produzidos. Ou seja, define-se como a equipe deverá trabalhar para alcançar o objetivo: desenvolver software com qualidade dentro de prazos, custos e requisitos definidos.
A boa notícia é que muitas empresas estão se movimentando no sentido de definirem detalhadamente seus processos para apoiarem suas atividades de desenvolvimento. Uma recente matéria publicada na revista Exame relata o crescimento do número de empresas que atingiram níveis de maturidade considerando modelos como MPS.BR e CMMI. Este resultado é um forte indicador de que as empresas nacionais estão se preocupando com a qualidade dos serviços que oferecem, conseguindo, dessa forma, uma inserção maior no mercado internacional de desenvolvimento de software.
Neste artigo, focaremos em duas atividades básicas do desenvolvimento: a especificação dos requisitos de software e a construção do diagrama de classes. Ao final do artigo, temos uma breve introdução à elaboração do diagrama de seqüência.
Cenário de desenvolvimento
Nesta seção apresentamos uma descrição inicial do estudo de caso que guiará a discussão sobre requisitos e diagrama de classes.
O software a ser desenvolvido possibilitará a gestão de festas de casamento. O programa deverá permitir ao usuário, dentre outras coisas, escolher o buffet, se haverá grupo musical, escolher tipo de decoração, entre outros itens afins. O usuário também poderá definir uma loja para disponibilização da lista de presentes. O sistema deverá emitir relatório das vendas realizadas por período e gerar orçamento.
Requisitos
Existem diferentes definições encontradas na literatura técnica para requisitos:
·Um requisito é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar para atingir os seus objetivos;
·As descrições das funções e restrições são os requisitos do sistema;
·Um requisito é uma propriedade que o software deve exibir para resolver algum problema no mundo real;
·Uma condição ou uma capacidade que deve ser alcançada ou estar presente em um sistema para satisfazer um contrato, padrão, especificação ou outro documento formalmente imposto...
Percebe-se que as citações encontradas definem o mesmo conceito sob diferentes perspectivas. Podemos entender requisitos como sendo o conjunto de necessidades explicitadas pelo cliente que deverão ser atendidas para solucionar um determinado problema do negócio no qual o cliente faz parte. É importante estar atento para esta definição: embora o requisito seja definido pelo cliente, nem sempre o que o cliente quer é o que o negócio precisa. Cabe à equipe de consultores identificar a real necessidade do negócio.
Entendida a definição de requisitos, é preciso conhecer seus tipos.
Requisitos funcionais
São requisitos diretamente ligados a funcionalidade do software, descrevem as funções que o software deve executar. Alguns exemplos são:
·O software deve permitir o cadastro de clientes;
·O software deve permitir a geração de relatórios sobre o desempenho de vendas no semestre;
·O software deve permitir o pagamento das compras através de cartão de crédito.
Requisitos não funcionais
São requisitos que expressam condições que o software deve atender ou qualidades específicas que o software deve ter. Em vez de informar o que o sistema fará, os requisitos não-funcionais colocam restrições no sistema. Alguns exemplos são:
·O software deve ser compatível com os browsers IE (versão 5.0 ou superior) e Firefox (1.0 ou superior);
·O software deve garantir que o tempo de retorno das consultas não seja maior do que 5 segundos.
Requisitos de domínio
São requisitos derivados do domínio da aplicação e descrevem características do sistema e qualidades que refletem o domínio. Podem ser requisitos funcionais novos, restrições sobre requisitos existentes ou computações específicas. Um exemplo de requisito do domínio é:
·O calculo da média final de cada aluno é dado pela fórmula: (Nota1 * 2 + Nota2 * 3)/5.
Neste momento, temos o conhecimento básico necessário para discutirmos como devemos elaborar a especificação de requisitos do software.
Especificação de requisitos do software
A atividade de especificação de requisitos do software é uma atividade bastante desafiadora. É complexo:
·Identificar as reais necessidades do cliente;" [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo