Escolar Documentos
Profissional Documentos
Cultura Documentos
Metodologias e Projetos de
Software
Disciplina na modalidade a distância
Palhoça
UnisulVirtual
2008
Créditos
Unisul - Universidade do Sul de Santa Catarina
UnisulVirtual - Educação Superior a Distância
Equipe UnisulVirtual.
Vera R. Niedersberg Schuhmacher
Metodologias e Projetos de
Software
Livro didático
Design instrucional
Dênia Falcão de Bittencourt
Viviane Bastos
Palhoça
UnisulVirtual
2008
Copyright © UnisulVirtual 2008
Nenhuma parte desta publicação pode ser reproduzida por qualquer meio sem a prévia autorização desta instituição.
Design Instrucional
Dênia Falcão de Bittencourt
Viviane Bastos
Lívia da Cruz (5ª edição revista e atualizada)
ISBN 978-85-7817-081-3
Diagramação
Vilson Martins Filho
Evandro Guedes Machado (3 ed.)
Vilson Martins Filho (4 ed.)
Fernando Roberto Dias Zimmermann (5ª edição revista e atualizada)
Revisão Ortográfica
B2B
005.117
S41 Schuhmacher, Vera R. Niedersberg
Metodologia e projetos de software : livro didático / Vera R. Niedersberg Schuhmacher ;
design instrucional Dênia Falcão de Bittencourt, Viviane Bastos, [Lívia da Cruz]. – 5. ed. rev.
e atual. – Palhoça : UnisulVirtual, 2008.
268 p. : il. ; 28 cm.
Inclui bibliografia.
ISBN 978-85-7817-081-3
Palavras da professora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 09
Plano de estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bons estudos!
n O livro didático.
n O Espaço UnisulVirtual de Aprendizagem
(EVA).
n O Sistema tutorial.
n O Sistema de avaliação (complementares, a
distância e presencial).
Ementa da disciplina
Análise de Requisitos. Introdução ao RUP (Rational
Unified Process). O paradigma orientado a objetos.
Análise arquitetural. Modelagem de um sistema
utilizando-se a notação UML: modelagem de use
cases, análise e design; realização de use-case, diagrama
geral de classes persistentes, diagrama de interfaces e
mapeamento objeto-relacional. Desenvolver o aluno de
forma a capacitá-lo a utilizar metodologias orientadas a
objeto para a modelagem de sistemas.
Créditos: 8
Objetivos
n Propiciar ao aluno o conhecimento sobre conceitos
relacionados ao ciclo de vida de desenvolvimento de um
software.
n Sensibilizar o aluno sobre a importância do uso de
metodologias de projeto de software para o sucesso efetivo
de seu projeto.
n Tornar presente a discussão sobre a relevância de
dispensar tempo suficiente para as etapas iniciais do
projeto como a análise de requisitos procurando uma
maturidade na compreensão das necessidades do usuário.
n Oferecer ao aluno o arsenal didático necessário para
compreender o uso de técnicas e métodos estruturados de
modelagem de sistemas.
n Desenvolver o a aluno de forma a capacitá-lo a utilizar
metodologias orientadas a objeto para a modelagem de
sistemas.
12
Atividades obrigatórias
13
1
unidade 1
Objetivos de aprendizagem
n Compreender as características do produto de software.
n Perceber as diversas etapas do processo de
desenvolvimento de um software.
n Definir estas etapas dentro de um modelo de
desenvolvimento de projeto.
Seções de estudo
Seção 1 Quais são as características do software?
16
Metodologias e Projeto de Software
Unidade 1 17
Universidade do Sul de Santa Catarina
18
Metodologias e Projeto de Software
Unidade 1 19
Universidade do Sul de Santa Catarina
20
Metodologias e Projeto de Software
Unidade 1 21
Universidade do Sul de Santa Catarina
a) Definição
A primeira etapa, constitui-se por identificar quais informações
devem ser processadas, qual função e desempenho são
desejados, quais interfaces devem ser estabelecidas, quais
restrições de projeto existem (ex: o cliente precisa do software
em 60 dias !) e quais critérios de avaliação são exigidos para
se definir um sistema bem sucedido (ex: existem normas
internacionais que devem ser obedecidas no chão da fábrica e
devem ser incorporadas ao sistema).
22
Metodologias e Projeto de Software
b) Desenvolvimento
Nesta fase, você tenta definir como a estrutura de dados e
arquitetura do software têm de ser projetadas. Durante a segunda
etapa, você irá realizar:
Unidade 1 23
Universidade do Sul de Santa Catarina
c) Manutenção
Nesta fase, ocorrerão mudanças no software em conseqüência dos
erros encontrados. Além disto, esta é a etapa responsável pelas
adaptações do software em função da evolução do hardware e
necessidades do cliente.
24
Metodologias e Projeto de Software
a) Modelo Cascata
No modelo cascata os sub-processos são executados em uma
seqüência rígida. Assim cada sub-processo passa a ser um marco
de controle. Este modelo exige uma abordagem sistemática,
seqüencial ao desenvolvimento de software.
Unidade 1 25
Universidade do Sul de Santa Catarina
26
Metodologias e Projeto de Software
b) Modelo Espiral
O modelo em espiral é totalmente diferente do modelo anterior.
Neste modelo a palavra de ordem é a experimentação e a
avaliação.
Unidade 1 27
Universidade do Sul de Santa Catarina
c) Modelo Prototipação
A prototipação envolve a produção de versões iniciais -
“protótipos” - de um sistema futuro com o qual podem-se
realizar verificações e experimentações para se avaliarem
algumas de suas qualidades antes que o sistema venha realmente
a ser construído. Este modelo é popularmente usado como um
mecanismo para identificar os requisitos de software.
28
Metodologias e Projeto de Software
Unidade 1 29
Universidade do Sul de Santa Catarina
d) Modelo Incremental
O Modelo Incremental foi desenvolvido através da combinação
entre os modelos linear e prototipação (Pressman, 2002).
Quando você usa este modelo todo o desenvolvimento é dividido
em etapas que são produzidas de forma incremental até se chegar
a um sistema finalizado.
30
Metodologias e Projeto de Software
E as Metodologias Ágeis?
Unidade 1 31
Universidade do Sul de Santa Catarina
32
Metodologias e Projeto de Software
Unidade 1 33
Universidade do Sul de Santa Catarina
Unidade 1 35
Universidade do Sul de Santa Catarina
36
Metodologias e Projeto de Software
Atividades de auto-avaliação
Unidade 1 37
Universidade do Sul de Santa Catarina
38
Metodologias e Projeto de Software
5) Assinale com “x” qual dos modelos a seguir oferece menor contato com
o cliente?
a) ( ) Modelo cascata
b) ( ) Modelo incremental
c) ( ) Modelo prototipação
d) ( ) Modelo espiral
a) ( ) Modelo cascata
b) ( ) Modelo incremental
c) ( ) Modelo prototipação
d) ( ) Modelo espiral
Unidade 1 39
Universidade do Sul de Santa Catarina
40
Metodologias e Projeto de Software
Síntese
Saiba mais
Unidade 1 41
2
unidade 2
Engenharia de requisitos
Objetivos de aprendizagem
n Reconhecer a importância da análise de requisitos no
processo de desenvolvimento.
n Perceber as diferentes etapas que fazem parte da análise
de requisitos.
n Realizar de forma consistente a atividade de análise de
requisitos.
Seções de estudo
Seção 1 O que é análise de requisitos?
Bom, a primeira coisa que você vai com certeza fazer é contratar
o pedreiro, comprar o material e iniciar a obra, pois você sabe
exatamente como deve ser feita. Não é verdade? Não? Por quê?
44
Metodologias e Projeto de Software
Unidade 2 45
Universidade do Sul de Santa Catarina
n Levantamento de requisitos
n Documentação de requisitos
Unidade 2 47
Universidade do Sul de Santa Catarina
n Especificação de requisitos
n Validação de requisitos
n Gerenciamento de requisitos
Nas próximas seções, você vai estudar sobre as primeiras etapas
do processo de engenharia de requisitos, começando pela etapa de
levantamento de requisitos.
48
Metodologias e Projeto de Software
a) Entrevista
O uso da entrevista é feito pelo uso do formato “pergunta-
resposta”. Usando esta técnica você pode obter opiniões do
usuário, descobrir o que o cliente pensa sobre o sistema atual,
obter metas organizacionais/pessoais e levantar procedimentos
informais.
Unidade 2 49
Universidade do Sul de Santa Catarina
b) Questionário
O questionário é uma técnica que permite o levantamento de
informações a partir da coleta de informações de diferentes
pessoas afetadas pelo sistema.
50
Metodologias e Projeto de Software
c) Observação Direta
A observação direta pode ser utilizada como validação das
entrevistas, identificação de documentos, esclarecimento sobre
o que está sendo realizado no ambiente atual e a forma como
ocorre.
d) Brainstorming
No sentido exato da palavra, brainstorming é uma tempestade
de idéias. O uso da discussão em grupos em que, a partir
dos resultados das técnicas acima, procura-se compreender
corretamente documentos, respostas oferecidas pelos usuários,
processos existentes, são a base para que se chegue a uma boa
especificação.
Unidade 2 51
Universidade do Sul de Santa Catarina
e) Viabilidade
Antes de você prosseguir é importante considerarmos um
estudo da viabilidade do sistema, se vale a pena ou não sua
implementação. Para tanto, é necessário que esteja claro se o
sistema contribui para com os objetivos da organização, se o
sistema pode ser construído usando a tecnologia existente ou
ainda se o orçamento comporta o que é necessário para sua
implementação.
52
Metodologias e Projeto de Software
Alguns modelos
Em nossa midiateca estão disponíveis alguns modelos
para o Levantamento de Requisitos eles podem servir
como modelos para futuros levantamentos, dê uma
olhadinha:
Roteiro para Análise do Problema – baseado em
Peters(2000)
Unidade 2 53
Universidade do Sul de Santa Catarina
54
Metodologias e Projeto de Software
Unidade 2 55
Universidade do Sul de Santa Catarina
1. Introdução
1.1 Objetivo
1.2 Escopo
1.3 Definições, acrônimos e abreviações
1.4 Referências
1.5 Visão Geral
2. Descrição Global
2.1 Perspectiva do produto Perspectiva do produto: seu
2.2 Funções do produto relacionamento com sistema maior
2.3 Características do Usuário Hipótese: Indicam como alterações
feitas na ERS afetam seções específicas
2.4 Restrições da ERS (EX: quais diagramas de fluxo
2.5 Hipóteses e dependências de dados são afetados ou mudanças de
2.6 Distribuição de requisitos funções ou exclusão das mesmas)
3. Requisitos Específicos
3.1 Interfaces externas,
3.2 Requisitos de processo e dados
Restrições de projeto: Políticas
3.3 Requisitos de desempenho e qualidade regulamentares, limitações de
3.4 Requisitos de banco de dados lógico hardware, interfaces com outros
3.5 Restrições de projeto aplicativos; operação paralela;
segurança e perfil, etc.
3.6 Atributos de sistema de software
3.7 Organização de requisitos específicos
4. Rastreabilidade dos requisitos
Apêndice
Índice remissivo
Modelos
56
Metodologias e Projeto de Software
Unidade 2 57
Universidade do Sul de Santa Catarina
a) Documentação de requisitos
É a atividade de representar os resultados da Engenharia de
Requisitos em um documento, contendo os requisitos do software.
c) Gerenciamento de requisitos
A tarefa de gerenciar requisitos se preocupa com as mudanças
nos requisitos que já haviam sido acertadas entre cliente e
desenvolvedor.
Unidade 2 59
Universidade do Sul de Santa Catarina
Atividades de auto-avaliação
60
Metodologias e Projeto de Software
A clínica é 24 horas. Cada médico possui uma agenda preta onde são
marcadas as consultas. Na marcação da consulta é colocado o nome
do paciente, horário e convênio. Trabalham à 3 anos na clínica com
planilhas excel.
Unidade 2 61
Universidade do Sul de Santa Catarina
62
Metodologias e Projeto de Software
10 - Restrições do projeto.
Unidade 2 63
Universidade do Sul de Santa Catarina
Síntese
O objetivo do desenvolvedor de software sempre deve ser
o fornecimento de um software de qualidade que atenda as
necessidades dos clientes. Nesta unidade você aprendeu que
para obter essa qualidade, é preciso realizar a etapa de análise
de requisitos de forma consistente, utilizando-se metodologias
apropriadas que permitam a revisão constante de todo o processo.
O uso de diferentes técnicas, como entrevistas, questionários
durante o levantamento de requisitos ajudam a variar o foco da
observação do projetista. Na especificação o uso de diferentes
modelos pode ser adaptado de acordo com as características
da empresa. As atividades de apoio, como o gerenciamento de
requisitos, permitem rastrear alterações de requisitos e comunicar
estas alterações a toda equipe envolvida.
64
Metodologias e Projeto de Software
Saiba mais
Unidade 2 65
3
unidade 3
Análise Estruturada
Objetivos de aprendizagem
n Reconhecer objetivos e características inerentes ao uso
da modelagem estruturada.
n Fazer uso de conceitos e diagramas da modelagem
estruturada.
Seções de estudo
Seção 1 Análise estruturada
68
Metodologias e Projetos de Softwares
Unidade 3 69
Universidade do Sul de Santa Catarina
A clínica é 24 horas. Cada médico possui uma agenda preta onde são
marcadas as consultas. Na marcação da consulta é colocado o nome
do paciente, horário e convênio. Trabalham à 3 anos na clínica com
planilhas excel.
70
Metodologias e Projetos de Softwares
Unidade 3 71
Universidade do Sul de Santa Catarina
72
Metodologias e Projetos de Softwares
Unidade 3 73
Universidade do Sul de Santa Catarina
74
Metodologias e Projetos de Softwares
Unidade 3 75
Universidade do Sul de Santa Catarina
76
Metodologias e Projetos de Softwares
Unidade 3 77
Universidade do Sul de Santa Catarina
n solicitar agendamento
(disparado pela Entidade Exterma - EE paciente).
n verificar cadastro paciente (onde será verificada a
existência ou não de cadastro do paciente na clínica
médica).
n verificar agenda (nela será verificado o horário solicitado,
o médico e suas disponibilidades para a consulta).
n realizar agendamento (processo que efetiva a
marcação da consulta, armazenando a informação no
depósito de dados).
78
Metodologias e Projetos de Softwares
2
1
Unidade 3 79
Universidade do Sul de Santa Catarina
Cliente
Gerente
Gerenciar
Floricultura
Atendente
Gerente
Atendente Cliente
Dados Produto
Dados Pedido
Atendente Cliente
produto, quantidade
Nome Cliente, tipo
Solicitar
nome Cliente
Verificar
MSg “Cliente Inexistente”
Existência 1 Dados do Cliente
Cliente
Pedido, produto
Pedido, produto
Dados do Verifica
Produto existência do
2 Dados do Produto
Produto
Cadastrar
Produto
código, descrição, preço, quantidade, custo
Imprime
Entrega
Pedido
3 Dados do Pedido
Unidade 3 81
Universidade do Sul de Santa Catarina
82
Metodologias e Projetos de Softwares
Depósito
Unidade 3 83
Universidade do Sul de Santa Catarina
Um relacionamento é uma abstração de uma associação entre duas ou mais entidades. Pode
haver mais de um relacionamento entre objetos. Um exemplo de relacionamento ocorre
quando pensamos que o paciente Almir (uma instância da entidade Paciente) possui “n”
Relacionamento agendamentos (na entidade Agenda).
84
Metodologias e Projetos de Softwares
Atributos da entidade:
Cpf
Telefone
Endereço
Convênio
data de nascimento
Paciente
Aloca
Cliente Filmes
Atende
Médico Pacientes
Contém
Pedidos Produtos
Tem
Cliente Cartão
86
Metodologias e Projetos de Softwares
Classe 1:1
Tem
Cliente Cartão
Unidade 3 87
Universidade do Sul de Santa Catarina
Classe 1:N
Aloca
Cliente Fita
1 (0,n)
Madagascar
Bob Esponja
Figura 3.14 - Cardinalidade 1 para N (1:N)
Classe N:N
Aloca
Funcionários Projetos
N N
Folha de
João Augusto
Pagamento
Estoque
Carlos Xim
CRM
Contas a
Pagar
Figura 3.15 - Cardinalidade N para N (N:N)
88
Metodologias e Projetos de Softwares
n Paciente;
n Médico;
n Agenda_Consultas.
Neste caso o relacionamento seria:
(1) (0,n)
Paciente Agenda Consulta
(0,n)
(1)
Médico
Unidade 3 89
Universidade do Sul de Santa Catarina
Atividades de auto-avaliação
90
Metodologias e Projetos de Softwares
Síntese
Saiba mais
Unidade 3 91
Universidade do Sul de Santa Catarina
n http://www.sparxsystems.com.au
n http://www.otwsoftware.com/english/index.shtml
n http://www.rational.com/products/rose/index.jsp
n http://www.ilogix.com
n http://argouml.tigris.org
n http://www.gentleware.com/products/download.php3
92
4
unidade 4
Objetivos de aprendizagem
n Compreender as diferenças fundamentais existentes
entre a análise estruturada e a análise orientada a
objetos.
Seções de estudo
Seção 1 O Paradigma da orientação a objetoss
Seção 5 Ferramentas
Universidade do Sul de Santa Catarina
94
Metodologias e Projetos de Software
Análise ESTRUTURADA
DADOS + FUNÇÕES
aTRIBUTOS MÉTODOS
+
DADOS FUNÇÕES
Unidade 4 95
Universidade do Sul de Santa Catarina
96
Metodologias e Projetos de Software
Unidade 4 97
Universidade do Sul de Santa Catarina
98
Metodologias e Projetos de Software
Unidade 4 99
Universidade do Sul de Santa Catarina
100
Metodologias e Projetos de Software
Unidade 4 101
Universidade do Sul de Santa Catarina
102
Metodologias e Projetos de Software
Unidade 4 103
Universidade do Sul de Santa Catarina
SEÇÃO 5 - Ferramentas
A escolha de alguma destas
ferramentas é fundamental para Para modelar um sistema utilizando a notação UML, é
que você continue seus estudos. fundamental que você utilize uma ferramenta que automatize o
método.
a) Software Livre:
n Orquídea - http://www.umlnapratica.com.br/orquidea/
orquidea.php
Orquídea é uma ferramenta CASE que possui as seguintes
funcionalidades: construção de diagrama de classes e de
diagramas de seqüência na notação UML, geração e leitura
de código C++; geração de documentação web em HTML ou
HTM.
n EclipseUML - http://www.eclipse.org
104
Metodologias e Projetos de Software
b) Versões Demo:
n Rational Rose - http://www-306.ibm.com/software/rational/
n Poseidon - http://www.gentleware.com/products/descriptions/
ce .php4
Unidade 4 105
Universidade do Sul de Santa Catarina
Atividades de auto-avaliação
106
Metodologias e Projetos de Software
Unidade 4 107
Universidade do Sul de Santa Catarina
Síntese
Saiba mais
108
5
unidade 5
Objetivos de aprendizagem
n Compreender a importância do uso de casos de uso
para identificação clara dos objetivos do usuário.
Seções de estudo
Seção 1 O que são casos de uso?
110
Metodologias e Projetos de Software
Unidade 5 111
Universidade do Sul de Santa Catarina
112
Metodologias e Projetos de Software
gerenciar
cliente
cliente
Unidade 5 113
Universidade do Sul de Santa Catarina
114
Metodologias e Projetos de Software
n O atendente
n O gerente
n O cliente
Atendente
Gerente
Cliente
Unidade 5 115
Universidade do Sul de Santa Catarina
116
Metodologias e Projetos de Software
gerenciar
cliente
filmes atendente
Unidade 5 117
Universidade do Sul de Santa Catarina
cd locadora
gerenciar filmes
Atendente
gerenciar cliente
Cliente
Gerenciar
Locações
Gerente
Gerenciar
Relatórios
realizar cobrança
n um comportamento opcional;
n um comportamento que só ocorre sob certas condições
(alarmes por exemplo);
118
Metodologias e Projetos de Software
Unidade 5 119
Universidade do Sul de Santa Catarina
cd locadora
gerenciar filmes
Atendente
Inserir
Preferências
«extend»
gerenciar cliente
Cliente
Gerenciar
Locações
Gerente
Gerenciar
Relatórios
realizar cobrança
120
Metodologias e Projetos de Software
Unidade 5 121
Universidade do Sul de Santa Catarina
gerenciar filmes
Atendente
Inserir
Preferências
«extend»
gerenciar cliente
Cliente
Gerenciar
Locações
Gerente
Gerenciar
Relatórios
realizar cobrança
realizar cobrança
pessoalmente realizar cobrança
telefone
Unidade 5 123
Universidade do Sul de Santa Catarina
cd locadora
gerenciar filmes
Atendente
Inserir
Preferências
«extend»
gerenciar cliente
«include»
Cliente
«include»
Autenticação Gerenciar
«include» Locações
«include»
Gerente
Gerenciar
«include» Relatórios
realizar cobrança
pessoalmente
telefone
124
Metodologias e Projetos de Software
Unidade 5 125
Universidade do Sul de Santa Catarina
realizar saque
cliente
«include»
«include»
realizar saldo
«include»
«include»
gerenciar cadastro
Gerente banco
gerenciar
consultas
126
Metodologias e Projetos de Software
Campo Descrição
Unidade 5 127
Universidade do Sul de Santa Catarina
«include»
realizar saque realizar saque
cliente
Identificador CSU003
Fluxo Alternativo 1 1. O cliente cancela a operação por teclado finalizando o caso de uso
128
Metodologias e Projetos de Software
Unidade 5 129
Universidade do Sul de Santa Catarina
130
Metodologias e Projetos de Software
Iconix - O ICONIX é um
Imagine que você tenha a seguinte lista de casos de processo simplificado
uso: que unifica conjuntos de
métodos de orientação
n Cadastro de Clientes; a objetos em uma
n Pedidos em Aberto; abordagem completa,
n Gerenciamento de Vendas; com o objetivo de dar
n Relatório de Data de Validade Vencidas; cobertura ao ciclo de vida
do desenvolvimento de
n Cadastro de Produtos;
software. (ROSENBERG &
n Lista de Clientes; SCOTT, 1999).
n Lista de Produtos;
RUP – Rational Unified
n Relatório de Produtos Mais Vendidos; Process é definido
n Pedidos de Cancelamento. como um processo de
engenharia de software
que oferece uma
abordagem baseada em
O projetista pode agrupar casos de uso que apresentam aspectos disciplinas possibilitando
comuns como o tipo de função, atores que utilizam ou questões a atribuição de tarefas
organizacionais. Observe na figura a seguir, os casos de uso e responsabilidades no
foram divididos em três pacotes, este agrupamento facilita a desenvolvimento de
software (Souza et all,
visualização principalmente em sistemas com um grande número
2000).
de casos de uso.
ud Formal Requirements
Consultas
Atualizações
+ Pedidos Cancelados
+ Cadastro de Clientes
+ Pedidos em Aberto
+ Cadastro de Produtos
+ Gerenciamento de Vendas
Relatórios
+ Data Validade Vencidas
+ Lista de Clientes
+ Lista de Produtos
+ Produtos Mais Vendidos
Unidade 5 131
Universidade do Sul de Santa Catarina
Permitir a inclusão, alteração e exclusão de clientes para compra, venda ou aluguel de imóveis.
Cadastro dos fiadores usados pelos clientes permitindo Incluir, Alterar, Excluir seus dados.
Imóveis podem ser para locação ou venda: casa, ap, kit net, comercial.
Cadastra os dados de aluguel de um imóvel para um cliente como data de locação, data de
término de contrato, valor do aluguel.
132
Metodologias e Projetos de Software
Cadastro das vendas realizadas pelos corretores permitindo incluir, alterar e excluir registros de
venda.
Emite o boleto de cobrança para clientes que alugam imóveis com dados como valor do aluguel,
iptu, descontos e multas.
Emite um extrato com os imóveis alugados ou vendidos indicando o valor da comissão do corretor.
Propiciar a realização da busca de imóvel por parâmetros informados como bairro, número de
quartos, valor aproximado de aluguel.
Permitir a geração de um relatório com os imóveis alugados que estão com mensalidade atrasada.
Gerar um relatório com quantidade de vendas e alugueis realizados e desfeitos. Classificado por
mês e ano.
Permitir o cadastro de usuários do sistema, para que se possam definir níveis de acesso por meio
de contas e senhas.
Unidade 5 133
Universidade do Sul de Santa Catarina
Efetuar login para identificar quem está usando o sistema e definir os acessos que ele possui
O tempo de resposta para consultas ao sistema, como a busca de imóvel, não devem ser inferiores
a 5 segundos.
Manutenibilidade RNF02
O Sistema deve ser construído obedecendo a visão de camadas facilitando futuras manutenções.
RN03 O imóvel deve ser aprovado pelo gerente antes de ser cadastrado.
134
Metodologias e Projetos de Software
Negociar Imóv el
Gerenciamento Administração
+ Alugar Imóvel
+ Cadastrar Corretor + Buscar imóvel
+ Cadastrar Cliente
+ Cadastrar Usuários do Sistema + Cadastro de manutenção
+ Cadastrar de Fiador
+ Efetuar Login + Efetua Pagamento na imobiliária
+ Cadastrar Imóvel
+ Gerar relatório de comissões + Efetuar Pagamento
+ Gerar Contrato
+ Gerar Relatório de vendas/aluguéis + Envia confirmação de pagamento
+ Gerar Contrato de Aluguel
+ Verifica se já existe Usuário + Gerar Boleto Bancário
+ Gerar Contrato de Venda
+ Gerar Recibo
+ Validar CPF
+ Gerar relatório de aluguéis pendentes
+ Vender Imóvel
+ Pagar Boleto no Banco
+ Registrar Pagamento
Unidade 5 135
Universidade do Sul de Santa Catarina
ud Gerenciamento
Verifica se j á
existe Usuário
«include»
Cadastrar
Usuários do
Sistema
«include»
Gerente
Gerar relatório de Efetuar Login
(from Atores)
comissões «include»
«include»
Gerar Relatório de
v endas/aluguéis
136
Metodologias e Projetos de Software
ud Negociar Imóv el
Cadastrar Cliente
«include»
Validar CPF
«include»
Cadastrar de
Fiador
«include»
Corretor
«extend»
(from Atores)
«include»
Alugar Imóv el
«include» Efetuar Login
Vender Imóv el
«extend»
Gerar Contrato de
Venda
Unidade 5 137
Universidade do Sul de Santa Catarina
«include»
Cadastrar de Fiador Validar CPF
Corretor
(from Atores)
Identificador CSU02
Cadastrar Imóvel
Corretor
(from Atores)
Identificador CSU04
Unidade 5 139
Universidade do Sul de Santa Catarina
Atividades de auto-avaliação
140
Metodologias e Projetos de Software
Unidade 5 141
Universidade do Sul de Santa Catarina
142
Metodologias e Projetos de Software
Síntese
Saiba mais
Unidade 5 143
6
unidade 6
Modelagem de classes
Objetivos de aprendizagem
n Identificar o papel do diagrama de classes no processo
de análise.
n Conhecer e reconhecer termos técnicos, conceitos e
Seções de estudo
Seção 1 O que são objetos e classes de objetos?
Seção 2 Quais são as responsabilidades das classes?
Seção 3 Como ocorrem os relacionamentos entre
objetos?
Seção 4 Como ocorre a divisão das classes do
Modelo de Análise?
Seção 5 O que é diagrama de objetos?
Universidade do Sul de Santa Catarina
146
Metodologias e Projetos de Software
Classe Cliente
Identidade
Cliente
Estado
Nome
Código
Endereço
Telefone
Permissão
Comportamento:
Adicionar Cliente( )
Excluir Cliente( )
Consultar Cliente( )
Unidade 6 147
Universidade do Sul de Santa Catarina
148
Metodologias e Projetos de Software
Unidade 6 149
Universidade do Sul de Santa Catarina
bairro
Observe que:
150
Metodologias e Projetos de Software
n Nome_
n Código_
n Diretor_
n Duração_
n Ator_Principal1
n Ator_Principal2
n Tipo_
n Idiomas_
Agora tente imaginar as possíveis operações:
n Incluir_Filme
n Excluir_Filme
n Consultar_Filme
n Listar_Filme
cd Data Model
Cliente
Filmes
Cópias
- Ator_Principal1: char
- Ator_Principal2: char - Data_Compra: date
- Código: int - Numero: int
- Diretor: char - Status: int
- Duração: int
- Estilo: char
- Idioma: char
- Título: char
Unidade 6 151
Universidade do Sul de Santa Catarina
Cliente
Cliente
Código Código
Nome Nome
Cliente Endereço Endereço
CGC CGC
Limite_Credito Limite_Credito
Calcular_Limite( )
Emitir_Relatório( )
152
Metodologias e Projetos de Software
Unidade 6 153
Universidade do Sul de Santa Catarina
Responsabilidades Colaborações
154
Metodologias e Projetos de Software
Unidade 6 155
Universidade do Sul de Santa Catarina
n Classe Paciente
n Classe Médico
n Classe Convênio
n Classe Laboratório
n Classe Agenda
n Classe Ficha_Médica
n Código_Convênio
n Nome_Convênio
n Telefone_Convênio
n Características_Convênio
n Status_Convênio
n Nome_Médico
n CRM_Médico
n Endereço_Médico
n Telefone_Médico
n Celular_Médico
n Especialidades_Médico
n Horário_Médico
Unidade 6 157
Universidade do Sul de Santa Catarina
a) Relacionamento de Associação
158
Metodologias e Projetos de Software
Funcionamento Projeto
Paciente Ficha_Médica
Nome Simbologia
Apenas um 1
Um ou muitos 1..*
Zero ou um 0..1
Unidade 6 159
Universidade do Sul de Santa Catarina
Paciente Agenda
1..* 1,..*
n No terceiro exemplo um funcionário deve estar locado a
um ou mais projetos. E cada projeto tem pelo menos 1
funcionário alocado.
1..* 1,..*
1..* 1,..*
160
Metodologias e Projetos de Software
Filmes
Unidade 6 161
Universidade do Sul de Santa Catarina
162
Metodologias e Projetos de Software
Unidade 6 163
Universidade do Sul de Santa Catarina
164
Metodologias e Projetos de Software
b) Relacionamento de dependência
Unidade 6 165
Universidade do Sul de Santa Catarina
c) Relacionamento de generalização
166
Metodologias e Projetos de Software
Unidade 6 167
Universidade do Sul de Santa Catarina
cd Data Model
Casa Apartamento
Imov el
- area: double
- Bairro: char
- cod_proprietario: int
- codigo: int
- descricao: char
- dormitorios: int
- Endereco: char
- IPTU: float
- valor: int
168
Metodologias e Projetos de Software
cd Data Model
Cliente
Item_Locação
0..*
Compõe
Filmes
- Ator_Principal1: char
- Ator_Principal2: char Cópias
- Código: int Possuem
- Diretor: char - Data_Compra: date
1..* - Numero: int
- Duração: int
- Estilo: char - Status: int
- Idioma: char
- Título: char
Unidade 6 169
Universidade do Sul de Santa Catarina
Pessoa Conta
Mov imento
- endereco: char - Agencia: int
- estado_civil: int tem - Data_Abertura: date registra - data_mov: date
- nome: char 1..* - Numero: int 0..* - historico: int
- rendimento: double - Saldo: double - nro_conta: int
- telefone: char - Senha: int - valor: double
- tippes: boolean - Tipo: int
170
Metodologias e Projetos de Software
a) Classes de fronteira;
b) Classes de Entidade;
c) Classes de Controle.
a) Classes de fronteira
Unidade 6 171
Universidade do Sul de Santa Catarina
b) Classes de entidade
172
Metodologias e Projetos de Software
c) Classes de controle
Unidade 6 173
Universidade do Sul de Santa Catarina
174
Metodologias e Projetos de Software
Unidade 6 175
Universidade do Sul de Santa Catarina
176
Metodologias e Projetos de Software
Unidade 6 177
Universidade do Sul de Santa Catarina
a) Atributos
178
Metodologias e Projetos de Software
b) Operações
Unidade 6 179
Universidade do Sul de Santa Catarina
Atividades de auto-avaliação
180
Metodologias e Projetos de Software
Unidade 6 181
Universidade do Sul de Santa Catarina
182
Metodologias e Projetos de Software
Síntese
Unidade 6 183
Universidade do Sul de Santa Catarina
Saiba mais
184
7
unidade 7
Modelos de Interações
Objetivos de aprendizagem
n Reconhecer objetivos e características existentes na
modelagem da visão dinâmica do projeto.
n Compreender a notação utilizada nos diagramas que
Seções de estudo
Seção 1 Quais são os elementos do Modelo de
Interação?
Seção 2 O que é Diagrama de Interação?
Universidade do Sul de Santa Catarina
186
Metodologias e Projetos de Software
t:ControladorTráfegoAéreo e p:PlanoVoo
Unidade 7 187
Universidade do Sul de Santa Catarina
188
Metodologias e Projetos de Software
Unidade 7 189
Universidade do Sul de Santa Catarina
Assim, tem-se:
1: AtenderChamado()
Sequência é o número 1, a expressão
AtenderChamado()
190
Metodologias e Projetos de Software
1.2.1: Z :=verificarEstoque(e)
A variável Z vai receber o retorno da operação
verificarEstoque.
Unidade 7 191
Universidade do Sul de Santa Catarina
a) Diagrama de Seqüência
192
Metodologias e Projetos de Software
1.3
Unidade 7 193
Universidade do Sul de Santa Catarina
194
Metodologias e Projetos de Software
Unidade 7 195
Universidade do Sul de Santa Catarina
sd Sequência
Atendente
Form_Locacao Cliente Locacao Item_Locacao
3. Verifica_Atrasos()
4. Registra_Locacao()
5. Locar()
6. Registra_Locacao()
7. Thrue
b) Diagrama de Comunicação
196
Metodologias e Projetos de Software
Unidade 7 197
Universidade do Sul de Santa Catarina
198
Metodologias e Projetos de Software
Unidade 7 199
Universidade do Sul de Santa Catarina
Atividades de auto-avaliação
200
Metodologias e Projetos de Software
Unidade 7 201
Universidade do Sul de Santa Catarina
Síntese
202
Metodologias e Projetos de Software
Saiba mais
Unidade 7 203
8
unidade 8
Modelos de Estados
Objetivos de aprendizagem
n Reconhecer objetivos e características existentes na
modelagem da visão dinâmica do projeto.
n Compreender a notação utilizada nos diagramas que
complementam a especificação do modelo dinâmico do
sistema.
n Reconhecer as possibilidades de utilização e as notações
envolvidas no diagrama de estados e no diagrama de
atividades.
Seções de estudo
Seção 1 Modelo de Estados
206
Metodologias e Projetos de Software
n os estados de um objeto;
n os eventos ou mensagens que causam transição;
n as ações que resultam de uma mudança de estado.
Unidade 8 207
Universidade do Sul de Santa Catarina
208
Metodologias e Projetos de Software
Unidade 8 209
Universidade do Sul de Santa Catarina
210
Metodologias e Projetos de Software
Unidade 8 211
Universidade do Sul de Santa Catarina
212
Metodologias e Projetos de Software
Unidade 8 213
Universidade do Sul de Santa Catarina
214
Metodologias e Projetos de Software
Unidade 8 215
Universidade do Sul de Santa Catarina
ad Activity Diagram
Inicio
Verificar existencia da
conta e validade da
senha
Saldo Suficiente
Informa Saldo Insuficiente
Disponibiliza cédulas
Atualiza Saldo
Final
216
Metodologias e Projetos de Software
Inicio
Seleciona Cliente
Seleciona Fiador
Dados Aprovados?
Avisa Cliente da Negativa
Sim
Seciona Imóvel
Contrato
Imprime Contrato
Final
Unidade 8 217
Universidade do Sul de Santa Catarina
n Incerteza;
n Falta de mão-de-obra qualificada;
n Ferramentas imaturas;
218
Metodologias e Projetos de Software
Atividades de auto-avaliação
Unidade 8 219
Universidade do Sul de Santa Catarina
220
Metodologias e Projetos de Software
Síntese
Unidade 8 221
Universidade do Sul de Santa Catarina
Saiba mais
222
9
unidade 9
RUP e ICONIX
Objetivos de aprendizagem
n Entender o que é o RUP, seus elementos e conceitos.
Seções de estudo
Seção 1 Onde se quer chegar?
Seção 4 ICONIX
Universidade do Sul de Santa Catarina
Ensinar UML a uma equipe de projeto pode não ser uma tarefa
tão árdua, como propor a esta equipe todo um processo de
desenvolvimento voltado para uma metodologia, utilizando esta
notação.
Poucas são as atividades que nos restam onde não temos como
apoio um software. Aliada à dependência, temos os riscos
envolvidos neste problema complexo. Antigamente se imaginava
224
Metodologias e Projetos de Software
Unidade 9 225
Universidade do Sul de Santa Catarina
Team-Based
Development
Modeling Unified
Language Process
226
Metodologias e Projetos de Software
Unidade 9 227
Universidade do Sul de Santa Catarina
228
Metodologias e Projetos de Software
Para saber
Workflow - É a automação de processos de negócio,
em que as atividades são passadas de um participante
para o outro, de acordo com um conjunto de regras
definidadas.
Framework – No desenvolvimento do software,
um Framework é uma estrutura de suporte definida
em que um outro projeto do software pode ser
organizado e desenvolvido. Tipicamente, um
Framework pode incluir programas de apoio,
bibliotecas de código, linguagens de script e outros
softwares para ajudar a desenvolver e juntar diferentes
componentes do seu projeto.
Fonte: Texto disponível no site <http://pt.wikipedia.
org>. Acessado em: Ago. 2005.
Unidade 9 229
Universidade do Sul de Santa Catarina
230
Metodologias e Projetos de Software
a) Papéis
Um papel (ou perfil) define o comportamento e as
responsabilidades de um determinado indivíduo ou grupo de
indivíduos que trabalham dentro de uma equipe.
Unidade 9 231
Universidade do Sul de Santa Catarina
b) Atividade
Uma atividade é uma unidade de trabalho que um indivíduo
executa quando está exercendo um determinado papel,
produzindo um resultado para o contexto do projeto. A atividade
é composta de objetivos, passos, entradas e saídas, o responsável
pela atividade e os guias e padrões que devem ser seguidos pela
atividade.
c) Artefato
O artefato é o produto de um projeto, é o resultado de uma etapa.
Apesar de aparecerem como resultado do desenvolvimento do
projeto, podem ser utilizados como entrada de uma atividade, e
ainda assim no final da atividade vai gerar outro artefato como
saída. Normalmente o artefato é baseado em modelos de como
devem ser feitos ou mesmo por documentos que possuem já um
formato padronizado.
d) Disciplinas
Uma disciplina mostra todas as atividades que você deve realizar
para produzir um determinado conjunto de artefatos. As
disciplinas são descritas em nível geral, com um resumo de todos
os papéis, atividades e artefatos envolvidos.
232
Metodologias e Projetos de Software
e) Fluxos de trabalhos
O RUP é desenvolvido baseando-se em nove fluxos de trabalho
de processo que podem ser divididos em fluxos principais e de
fluxos de apoio definidos em Booch (2000):
Fluxos principais
n Modelagem do Negócio (Business Modeling)
– envolve o entendimento da estrutura e dinâmica da
organização cliente, garantindo que clientes, usuários e
desenvolvedores tenham a mesma visão da organização
para a qual será feito o desenvolvimento.
n Requisitos (Requirements) – Esta disciplina visa
estabelecer e manter concordância com os clientes e
outros envolvidos, sobre o que o sistema deve fazer
utilizando-se para isto dos casos de uso. Também é
definida a delimitação do sistema, são definidas as bases
para planejamento do conteúdo técnico das iterações,
estimativas de custo e o tempo de desenvolvimento
do sistema e a definição da interface do usuário com o
sistema, focando nas necessidades e metas dos usuários.
n Análise e Projeto (Analysis and Design) – envolve a
tradução dos requisitos numa especificação que descreve
como implementar o sistema, adaptando o design
para que corresponda ao ambiente de implementação,
projetando-o para fins de desempenho. É neste momento
que são descritas as diferentes visões do sistema.
n Implementação (Implementation) – envolve o
desenvolvimento de código: classes, objetos, etc., teste de
unidades e integração de subsistemas.
Unidade 9 233
Universidade do Sul de Santa Catarina
234
Metodologias e Projetos de Software
Unidade 9 235
Universidade do Sul de Santa Catarina
SEÇÃO 4 - ICONIX
O ICONIX é uma metodologia de desenvolvimento de software
com características interativas e incrementais. Classificar o
ICONIX é difícil, por um lado possui uma veia tradicional
com um processo bem definido, por outro lado aproxima-se
dos métodos ágeis procurando a redução da documentação e a
simplicidade no processo.
236
Metodologias e Projetos de Software
Unidade 9 237
Universidade do Sul de Santa Catarina
Análise de requisitos
Na análise de requisitos ocorre a identificação das necessidades
do cliente por meio dos requisitos funcionais. Nesta fase o
contato com o cliente é estreito, segundo Silva et all (2001) a
tarefa de análise de requisitos consiste em realizar as seguintes
tarefas:
Projeto
A etapa de projeto permite a equipe a especificação do
comportamento esperado nos casos de uso, a identificação dos
objetos, atores e as mensagens trocadas entre os elementos.
Para esta tarefa o diagrama de seqüência torna-se essencial .
Neste momento já é possível inserir no diagrama de classes seus
atributos e métodos. São assim concluídos os diagramas do
modelo estático validando se todos os requisitos prescritos foram
atendidos.
238
Metodologias e Projetos de Software
Implementação
Para a etapa de implementação a equipe apresenta seu maior
esforço na geração do código, na realização de testes de unidade,
integração e aceitação do cliente.
Atividades de auto-avaliação
b) ( ) Relatório de testes.
C. Artefatos d) ( ) Cronograma.
Unidade 9 239
Universidade do Sul de Santa Catarina
4) Dos nove modelos oferecidos pelo RUP, defina 3 que você considera
fundamentais para que o projeto seja bem aceito pelo cliente final.
240
Metodologias e Projetos de Software
Síntese
Unidade 9 241
Universidade do Sul de Santa Catarina
Saiba mais
242
Para concluir o estudo
244
Referências
Unidade 1
1) a) V
b) V
c) V
d) F
e) V
2) Seqüência correta: G, D, C, B, E, F, A, D.
4) a) E
b) P
c) I
d) C
5) Alternativa correta é: a.
6) Alternativa correta: c.
Universidade do Sul de Santa Catarina
Unidade 2
1) Alternativa correta: b.
2) Seqüência correta é: d, a, c, b.
3) Relatório de Análise do Problema
Observe que foram acrescentadas informações com intúito de mostrar os
ítens de forma mais completa.
3 - Descrição do problema
A clínica possui 34 médicos cadastrados em diferentes especialidades e
presta atendimento a pacientes conveniados aos planos Bruxtr, Vpfzm e
UIOlk ou particular.
A clínica funciona com um pequeno número de atendentes responsáveis
pela marcação de consultas, preenchimento inicial de dados cadastrais
Cada médico faz 3 plantões semanais de 4 horas seguidas, as consultas
possuem um intervalo de 30 minutos. Existe a possibilidade da consulta
ser de retorno, neste caso são apenas 15 minutos.
252
Metodologias e Projetos de Software
A clínica é 24 horas. Cada médico possui uma agenda preta onde sao
marcadas as consultas. Na marcação da consulta é colocado o nome do
paciente, horário e convênio.
A clínica possui 2 atendentes que são responsáveis por preencher o
cadastro inicial do paciente que contem nome, endereço, telefone, data de
nascimento, convênio.
O médico ao atender o paciente preenche sua ficha manualmente,
informando peso, altura, idade, motivo da consulta, queixa principal,
doenças anteriores, diagnóstico, prescrição. A prescrição pode ser a
solicitação de exames ou medicamentos com posologia.
253
Universidade do Sul de Santa Catarina
254
Metodologias e Projetos de Software
10 - Restrições do projeto
O cliente não deseja dispender recursos com a plataforma de sistema
operacional e o banco de dados, sendo que deve ser considerada uma
possibilidade open source.|
Unidade 3
1) Seqüência correta é: B, G, D, F, C, E, D
disciplina professor
0.n 0.1
universidade funcionário
1 0.n
departamento funcionário
1 0.n
aluno disciplina
(0,n) (0,n)
255
Universidade do Sul de Santa Catarina
UNIDADE 4
1) Alternativas corretas: a e b.
2) A seqüência é:
a) C
b) O
c) O
d) O
e) C
3) A seqüencia correta é:
a) Poliformismo
b) Encapsulamento
c) Mensagem
d) Herança
4) A seqüencia correta é:
a) A
b) B
c) D
d) C
e) A
f) E
g) B
UNIDADE 5
1) A afirmativa correta é: b.
2) A seqüência correta é:
a) V
b) F
c) F
d) V
e) F
f) V
256
Metodologias e Projetos de Software
3) A seqüência correta é:
a) A
b) B
c) C
d) D
e) B
f) D
g) A
RF02 O sistema deve controlar o sistema de acesso de acordo com as permissões de cada ator.
257
Universidade do Sul de Santa Catarina
Pacientes com faixa etária até 14 anos, sob custódiaa e Gerenciamento de agenda médica
Paciente agendamento dos pais (marcar consulta)
258
Metodologias e Projetos de Software
259
Universidade do Sul de Santa Catarina
CSU 005
Gerenciar
Ficha Cadastral
CSU 002 Paciente
extend
Atendente Agendar
horário
260
Metodologias e Projetos de Software
Ator secundário :
UNIDADE 6
1) As alternativas corretas são: b e d.
2) A seqüência é:
a) c
b) a
c) a
d) b
e) c
f) b
261
Universidade do Sul de Santa Catarina
3) A seqüência é:
a) G
b) B
c) C
d) E
e) F
f) D
g) A
4)
a) As classes persistentes.
É possível identificar:
n A classe Paciente – que armazena os dados cadastrais do paciente
n A classe Agendamentos – que armazena o horário das consultas, nome
do paciente e médico.
n A classe Funcionário – armazena os dados dos funcionários inclusive do
funcionário Médico.
n A classe Horário – que armazena o horário de atendimentos da equipe
médica
n A classe Ficha Médica – armazena a ficha de atendimento do paciente.
b)
262
Metodologias e Projetos de Software
UNIDADE 7
1) A seqüência correta é:
a) B
b) D
c) F
d) A
e) H
f) E
g) G
h) I
i) C
263
Universidade do Sul de Santa Catarina
3) Alternativa correta: b.
264
Metodologias e Projetos de Software
UNIDADE 8
2) a) DTE
b) DA
c) DTE
d) DA
3) a) E
b) B
c) A
d) C
e) E
265
Universidade do Sul de Santa Catarina
266
Metodologias e Projetos de Software
UNIDADE 9
1) As afirmativas corretas são: b e d.
2) a) A
b) C
c) A
d) C
e) B
f) B
3) a) E
b) A
c) C
d) D
e) B
267