Escolar Documentos
Profissional Documentos
Cultura Documentos
Produto Software v3r-05
Produto Software v3r-05
Produto de Software
Verso 3.0
2005
NDICE DETALHADO
PREFCIO ................................................................................................................................................ 4
1.
2.
3.
REQUISITOS G DO SISTEMA.......................................................................................................... 9
3.1.
3.2.
3.3.
3.4.
4.
TEMA............................................................................................................................................ 6
OBJETIVO DO PROJETO .................................................................................................................. 6
DELIMITAO DO PROBLEMA ........................................................................................................ 6
JUSTIFICATIVA DA ESCOLHA DO TEMA ........................................................................................... 6
MTODO DE TRABALHO................................................................................................................. 6
ORGANIZAO DO TRABALHO ....................................................................................................... 7
GLOSSRIO ................................................................................................................................... 7
ANLISE E DESIGN........................................................................................................................12
4.1. ARQUITETURA DO SISTEMA ..........................................................................................................12
4.2. MODELO DO DOMNIO ..................................................................................................................12
4.3. DIAGRAMAS DE INTERAO..........................................................................................................13
4.4. DIAGRAMA DE CLASSES ...............................................................................................................14
4.5. DIAGRAMA DE ATIVIDADES ..........................................................................................................14
4.6. DIAGRAMA DE ESTADOS ...............................................................................................................14
4.7. DIAGRAMA DE COMPONENTES ......................................................................................................15
4.8. MODELO DE DADOS......................................................................................................................16
4.8.1.
Modelo Lgico da Base de Dados.........................................................................................16
4.8.2.
Criao Fsica do Modelo de Dados.....................................................................................16
4.8.3.
Dicionrio de Dados ............................................................................................................16
4.9. AMBIENTE DE DESENVOLVIMENTO ...............................................................................................16
4.10.
SISTEMAS E COMPONENTES EXTERNOS UTILIZADOS ....................................................................16
5.
IMPLEMENTAO ........................................................................................................................17
6.
TESTES .............................................................................................................................................18
6.1.
6.2.
7.
IMPLANTAO ..............................................................................................................................19
7.1.
7.2.
8.
9.
BIBLIOGRAFIA ......................................................................................................................................22
COMENTRIOS SOBRE A DOCUMENTAO..................................................................................24
1.
2.
5.
GLOSSRIO ............................................................................................................................................28
Prefcio
O objetivo deste documento fornecer um roteiro para o desenvolvimento de sistemas de software
utilizando os princpios da engenharia de software orientada a objetos com notao UML (Unified
Modeling Language). destinado a todos os alunos da Universidade So Judas Tadeu dos cursos de
Cincia da Computao, Sistemas de Informao e Processamento de Dados, apoiando as disciplinas de
Metodologia de Desenvolvimento de Sistemas, Engenharia de Software I, Engenharia de Software II,
entre outras, alm do Trabalho de Graduao (TG).
Esta a verso 3.0 do documento, totalmente revisada para utilizar a notao UML e modelos do RUP
(Rational Unified Process Processo Unificado Rational). Neste documento so citados alguns modelos
do RUP que podem ser utilizados e consultados na ferramenta Rational Unified Process (que faz parte
da ferramenta Rational Suite Enterprise) ou o site da IBM. A escolha da orientao a objetos devido
tendncia de mercado, mas nada impede que o roteiro seja seguido no caso de opo pela Modelagem
Estruturada (ver item Comentrios sobre a Documentao).
No final deste documento h um glossrio, os termos que constam no glossrio so representados no
documento pela letra G em azul.
Sugestes e Comentrios podem ser enviados para prof.anapaula@usjt.br.
Modelo da Documentao
Esta a parte mais importante do texto pois apresenta um roteiro de documentao
orientado a objetos de sistemas de software utilizando notao UML, desde a fase
inicial do projeto de software at a sua implantao.
Para a criao dos diagramas aconselha-se a utilizao de alguma ferramenta CASE G.
1. Introduo ao Documento
O objetivo deste captulo apresentar o projeto. Para tal, deve-se desenvolver um texto, com as seguintes
caractersticas: impessoalidade, objetividade, clareza, preciso, coerncia e conciso. A introduo deve
abrange os itens a seguir.
1.1.
Tema
1.2.
Objetivo do Projeto
Neste item devem ser descritos os objetos gerais e especficos do projeto como um todo.
Independente do que ser implementado, este item visa o entendimento global do projeto.
1.3.
Delimitao do Problema
Neste item deve ser descrita a delimitao do problema, que define o ponto central do projeto. Isso
quer dizer que, dentro de uma idia geral do projeto, deve-se ressaltar a idia especfica efetivamente
a ser desenvolvida. neste item que a amplitude do projeto tem sua delimitao perfeitamente
definida.
1.4.
Neste item deve-se expor a motivao acadmica para a elaborao do projeto em questo,
detalhando os motivos de ordem terica ou de ordem prtica para a sua realizao.
1.5.
Mtodo de Trabalho
Neste item deve-se descrever o mtodo a ser utilizado para realizao do projeto, o tipo de processo
de desenvolvimento de software1, a modelagem a ser utilizada (orientada a objeto, estruturada,
outras).
Para maiores detalhes dos tipos de processos de desenvolvimento de software consultar o livro Engenharia de Software Roger
Pressman 5 edio - Captulo 2.
Documentao de um Produto de Software
Profa. Ana Paula Gonalves Serra
1.6.
Organizao do Trabalho
1.7.
Glossrio
Neste item deve-se definir os termos importantes utilizados no projeto, facilitando o seu
entendimento. Caso exista um nmero extenso de termos no projeto consultar e utilizar o modelo
rup_gloss.dot artefato do RUP.
2.1.
Descrio do Problema
Neste item deve ser descrito o problema que ser resolvido com o desenvolvimento do sistema. As
questes a seguir devem ser respondidas.
! Quem afetado pelo sistema?
! Qual o impacto do sistema?
! Qual seria uma boa soluo para o problema?
2.2.
2.1.1.
Usurios do Sistema
Neste item deve ser descrito para qual tipo de empresa se destina o sistema, os tipos de
usurios que utilizaro o sistema.
Estas informaes so importantes para a definio de usabilidade G do sistema.
2.1.2.
Desenvolvedores do Sistema
Neste item deve ser descrito os tipos de pessoas envolvidas em todo o desenvolvimento do
sistema direta ou indiretamente.
Estas informaes so importantes para a distribuio de responsabilidades e pontos-focais
de desenvolvimento.
2.3.
Regras de NegcioG
Neste item devem ser descritas as regras de negcio relevantes para o sistema, como por exemplo,
restries de negcio, restries de desempenho, tolerncia falhas, volume de informao a ser
armazenada, estimativa de crescimento de volume, ferramentas de apoio, etc.
3. Requisitos G do Sistema
Este captulo tem como objetivo descrever os requisitos do sistema. No caso de sistemas que possuam
usurios / solicitantes reais para o levantamento de requisitos, pode-se utilizar o modelo de documento de
entrevista com usurios do RUP de Solicitaes dos Principais Envolvidos (rup_stkreq.dot).
3.1.
Requisitos Funcionais
Neste item devem ser apresentados os requisitos funcionais que especificam aes que um sistema
deve ser capaz de executar, ou seja, as funes do sistema. Os requisitos funcionais geralmente so
melhor descritos em diagramas de caso de uso, juntamente com o detalhamento dos atores e de cada
caso de uso.
A seguir apresentada a notao bsica de um diagrama de caso de uso.
Caso de Uso 1
ATOR 1
Caso de Uso 2
ATOR 2
Caso de Uso N
Cada ator do diagrama de caso de uso deve ser descrito de forma sucinta (2 linhas) e cada caso de
uso deve ser especificado. A seguir so apresentados itens bsicos para a especificao dos casos de
uso do diagrama.
! Nome do Caso de Uso
! Breve descrio
! Atores envolvidos
! Pr-condies
! Seqncia de Eventos ou Fluxo Principal de Eventos
! Ps-condies;
! Excees ou Fluxo Secundrio de Eventos
! Observaes
Para maiores detalhes de especificao de casos de uso consultar e utilizar o modelo rup_ucspec.dot
artefato do RUP.
3.2.
Requisitos No-Funcionais
Neste item devem ser apresentados os requisitos no funcionais, que especificam restries sobre os
servios ou funes providas pelo sistema. A seguir so apresentados alguns tipos de requisitos no
funcionais. Para maiores detalhes de requisitos no-funcionais consultar e utilizar o modelo de
documento rup_ucspec.dot artefato do RUP.
3.3.
Prottipo
Neste item deve ser apresentado o prottipo do sistema que consiste na interface preliminar contendo
um subconjunto de funcionalidades e telas. O prottipo deve ser incrementalmente evoludo at a
concordncia completa dos requisitos previstos para o sistema, de comum acordo com o usurio. O
prottipo um recurso que deve ser adotado como estratgia para levantamento, detalhamento,
validao de requisitos e modelagem de interface com o usurio (usabilidade).
As telas do sistema podem ser criadas na prpria linguagem de desenvolvimento ou em qualquer
outra ferramenta de desenho. Cada tela deve possuir uma descrio detalhada do seu funcionamento.
Alguns itens importantes na descrio so:
Objetivo da tela;
De onde chamada e que outras telas pode chamar;
Regras:
! Domnio (tamanho de campo, tipo de dados que aceita valor default);
! Tipo de usurios que podem acessar;
10
Diagrama de Navegao
3.4.
Mtricas e Cronograma
Neste item devem ser estimados os esforos necessrios em termos de recursos alocados G e tempo
para a obteno do sistema. Para realizar a estimativa, indicam-se o uso de alguma tcnica de
mtrica, como Pontos de Funo ou Pontos de Caso de Uso.
Aps os clculos de mtricas deve-se elaborar o cronograma detalhado do sistema, que contempla
todas as tarefas descritas e os recursos alocados para cada tarefa, com datas para incio e trmino de
cada atividade. A seqncia das tarefas e a diviso entre os recursos devem ser realizadas de acordo
com o processo de desenvolvimento de software escolhido para o desenvolvimento do sistema,
descrito no item 1.5.
Para elaborao do cronograma pode-se utilizar uma ferramenta como o Microsoft Project.
11
4. Anlise e Design
Este captulo tem como objetivo analisar e detalhar a soluo do sistema de acordo com os requisitos
levantados e validados no captulo 3. Para isso, deve-se ter uma viso geral da arquitetura do sistema e a
modelagem da soluo do sistema atravs de diagramas. Para maiores detalhes pode-se consultar
artefatos do RUP da fase de anlise e design.
4.1.
Arquitetura do Sistema
Neste item deve ser apresentada a arquitetura de infra-estrutura do sistema, demonstrando o tipo de
arquitetura que ser utilizada (por exemplo, cliente/servidor de n-camadas), a configurao de
hardware, de rede e de software a serem utilizados, bem como o dimensionamento mnimo de
conexes.
4.2.
Modelo do Domnio
Neste item deve ser apresentado o modelo do domnio, que representa um primeiro modelo
conceitual do diagrama de classes. Posteriormente, esse diagrama deve ser validado e
complementado para compor o diagrama de classes final.
O diagrama de classes deve possuir todas as classes identificadas do sistema, deve conter os atributos
e mtodos de cada classe, e os relacionamento entre elas.
A seguir apresentada a notao bsica de um diagrama de classes
CLASSE_PAI
CLASSE A
atributo 1
atributo 2
Generalizao
atributo6
atributo7
atributo8
Metodo 1()
Metodo2()
1..n
Metodo4()
Associao
Agregao
CLASSE_F1
atributo6
atributo7
atributo8
CLASSE_F2
atributo4
atributo5
Dependncia
1..n
Metodo4()
1
CLASSE B
atributo9
atributo10
Metodo3()
CLASSE C
atributo11
Metodo5()
12
4.3.
Diagramas de Interao
Diagrama de Seqncia
Objeto : CLASSE B
: ATOR 1
Mensagem
Retorno Mensagem
4.3.2.
Esse diagrama uma alternativa para o diagrama de seqncia (item 4.3.1). Neste item devem
ser apresentados os diagramas de colaborao/comunicao essenciais ao sistema. Um diagrama
de colaborao descreve um padro de interao entre objetos, apresentando os objetos que
participam da interao bem como os seus links e mensagens trocadas.
Geralmente as ferramentas CASE geram automaticamente
colaborao/comunicao a partir do diagrama de seqncia.
diagrama
de
Objeto :
CLASSE B
2: Retorno Mensagem
: ATOR 1
13
4.4.
Diagrama de Classes
4.5.
Diagrama de Atividades
Neste item deve ser apresentado o diagrama de atividades, que representa o detalhamento de tarefas e
o fluxo de uma atividade para outra de um sistema.
Nem todos os sistemas necessitam da elaborao do diagrama de atividades, pois nem todas as
tarefas do sistema necessitam de um detalhamento. Com isso, deve-se analisar a real necessidade e
no que este diagrama ir auxiliar na implementao do sistema, como: detalhamento de workflow, de
mtodos, entre outros.
A seguir apresentada a notao bsica de um diagrama de atividades.
Incio
Evento 1
Atividade 1
Evento 2
Tomada de deciso 1
Tomada de deciso 2
Atividade 2
Atividade 3
Evento 3
Evento 4
Atividade 4
Evento 6
Fim
4.6.
Diagrama de Estados
Neste item deve ser apresentado o diagrama de estados, que especifica as seqncias de estados pelas
quais o objeto pode passar durante seu ciclo de vida em resposta a eventos.
14
Nem todos as classes necessitam da elaborao do diagrama de estados, pois nem todas as classes
mudam muito de estado no seu ciclo de vida. Com isso, deve-se analisar a real necessidade desse
diagrama para o desenvolvimento do sistema.
A seguir apresentada a notao bsica de um diagrama de estados.
E s tado do
O bjeto
even to a
event o b
E stado 1
event o c
Es tado 2
e vent o d
Evento
Oc orrido que
faz o objeto
mudar de
es tado
Es tado Final
do Obj eto
4.7.
Diagrama de Componentes
Neste item deve ser apresentado o diagrama de componentes que apresenta a organizao e as
dependncias entre os componentes G.
Com ponente 1
C om ponent e 2
15
4.8.
Modelo de Dados
4.8.1.
4.8.2.
4.8.3.
Dicionrio de Dados
Neste item deve ser criado o dicionrio de dados do banco de dados, com o obejtivo
de documentar todas as tabelas, atributos, stored procedures G.
4.9.
Ambiente de Desenvolvimento
16
5. Implementao
Este captulo tem como objetivo a implementao das classes em termos de componentes, ou seja,
toda a implementao deve ser realizada de acordo com as definies das fases anteriores e todos os
recursos da programao orientada a objetos que a linguagem escolhida oferece.
Geralmente ferramentas CASE geram automaticamente pseudocdigos fontes (dependendo da
linguagem utilizada) baseados no diagrama de classes.
Algumas boas prticas de programao devem ser seguidas para um maior entendimento do cdigo.
Algumas delas so:
Cabealho de funes contendo campos como descrio, data de criao, autor, etc;
Comentrios no cdigo;
Tratamento de erros;
17
6. Testes
Este captulo tem como objetivo identificar defeitos no sistema, validar as funes do sistema,
verificar se os requisitos foram implementados de forma adequada e avaliar a qualidade do software.
Para maiores detalhes pode-se consultar artefatos do RUP da fase de Testes.
6.1.
Plano de Testes
Neste item deve ser criado o plano de testes do sistema, permitindo a validao do sistema por parte
do desenvolvedor, atravs da verificao dos requisitos do sistema desenvolvido. Inicialmente,
identificam-se os requisitos tcnicos e funcionais do sistema, e listam-se todas as situaes que
podem ocorrer com o sistema (essas situaes podem ser elaboradas atravs do diagrama de caso de
uso e dos diagramas de seqncia). Deve-se realizar testes de consistncia de campos,
funcionalidades, desempenho, etc. O Plano de Testes do Sistema dever conter, no mnimo.
! N do Teste;
! Descrio do Teste;
! Resultado Esperado.
Por conter todos os testes do sistema, este plano poder ser um anexo na documentao do sistema.
Alguns tipos de testes a serem realizados so: teste de funcionalidades, teste de usabilidade, teste de
desempenho, teste de carga, teste de stress, teste de volume, teste de segurana e controle de acesso,
teste de tolerncia a falhas e recuperao, teste de configurao, teste de instalao, etc..
Para maiores detalhes consultar o modelo de documento de plano de testes do RUP rup_tstpln.dot.
6.2.
Neste item devem ser registrados os testes realizados no sistema tendo como base o Plano de Testes
do Sistema.
O registro dos testes deve conter a identificao do sistema, o nome do realizador dos testes e a
configurao do ambiente onde foi realizado o teste. Alm disso, para cada teste, deve-se ter os
seguintes dados:
! N do teste;
! Resultado Obtido; e
! Comentrios (se necessrio).
18
7. Implantao
Este captulo tem como objetivo apresentar informaes relevantes para a implantao e
funcionamento do sistema.
7.1.
Diagrama de Implantao
Neste item deve ser apresentado o diagrama de implantao que representa a parte fsica do sistema,
exibindo os dispositivos, as mquinas de processamento em tempo de execuo e os componentes
que nelas sero instalados.
A seguir apresentada a notao bsica de um diagrama de implantao.
Processador
Processador
Processador
Dispositivo
7.2.
Manual de Implantao
Neste item deve ser elaborado o manual de instalao. Este manual deve conter a descrio passo a
passo de como deve ser realizada a instalao do sistema.
Para maiores detalhes pode-se consultar artefatos do RUP da fase de Instalao.
19
8. Manual do Usurio
Este captulo tem como objetivo a elaborao de um manual do usurio. Este manual deve conter a
descrio passo a passo de como utilizar o sistema.
Para maiores detalhes pode-se consultar artefatos do RUP da fase de Instalao.
20
21
Bibliografia
Neste item devem-se apresentar todas as obras (livros, artigos, Internet, revistas, etc...) utilizadas na
elaborao da documentao e na implementao do projeto.
22
23
24
Para maiores detalhes sobre Modelagem Estruturada consultar o livro: Anlise Estruturada
Moderna. Edward Yourdon. Editora Campus, 3 edio.
25
26
Glossrio
27
Glossrio
! Componente: representa uma parte fsica da implementao de um sistema, que inclui cdigo de
software, com o objetivo de criar cdigo de software coeso para sua reutilizao e facilidade de
manuteno.
! Ferramenta CASE (Computer Aided Software Engineering): uma ferramenta que auxilia no
processo de desenvolvimento de software, ajudando a garantir a qualidade do projeto e facilitando a
criao de modelos, documentos.
! Padres de Projeto (design patterns): so solues simples para problemas especficos no projeto de
software orientado a objetos. Padres de projeto capturam solues que foram desenvolvidas e
aperfeioadas ao longo do tempo.
! Recursos alocados: pessoas que iro trabalhar no projeto.
! Regras de negcio: declaraes e regras da poltica ou condio que deve ser satisfeita no mbito do
negcio.
! Requisito: um requisito descreve uma condio ou capacidade qual um sistema deve se adaptar, sejam
necessidades dos usurios, um padro ou uma especificao.
! Stored Procedures: uma rotina escrita atravs de comandos SQL, que tem como objetivo encapsular o
processo de negcio e sua reutilizao. As stored procedures ficam armazenadas no gerenciador de
banco de dados.
! Usabilidade: a qualidade da interface homem-mquina, que permite que o usurio realize com
eficincia e conforto as atividades a que o sistema se destina.
28