Taquaritinga, SP
2009
AMANDA MAKINO
Taquaritinga, SP
2009
Dedico,
Agradeço ao prof. Oswaldo Lázaro Mendes por sua total disponibilidade e tamanha
dedicação em me orientar durante o desenvolvimento deste trabalho.
Agradeço aos meus pais pela paciência que tiveram e pela força que me deram
enquanto eu desenvolvia este trabalho.
Agradeço a minha amiga Jaqueline Mistron por me ajudar com a elaboração deste
trabalho.
Agradeço a todos os profissionais, em especial ao Paulo Quicoli, pela disponibilização
de materiais e artigos na internet, que foram essenciais para a formulação deste trabalho.
“Tecnologia é a habilidade de organizar o mundo de
forma que não tenhamos que senti-lo."
Max Frisch
MAKINO, A. Abordagem da metodologia RUP no desenvolvimento de um sistema de gestão
comercial. 87 f. (Trabalho de Conclusão de Curso), Faculdade de Tecnologia de Taquaritinga,
Centro Estadual De Educação Tecnológica “Paula Souza”, Taquaritinga, 2009.
RESUMO
ABSTRACT
This work presents a discussion of the importance of software engineering and use of
development methodologies that enable the creation of quality systems. By using the RUP
methodology in conjunction with the Object-Oriented Analysis and UML, the paper presents
the process of developing an information system, from the design stage to the implementation
and survey analysis of requirements, identification of cases of use and cost effort until the
coding phase.
INTRODUÇÃO......................................................................................................................18
2.1 Características.....................................................................................................................23
2.1.1 Baseado em casos de uso.................................................................................................24
2.1.2 Centrado na arquitetura....................................................................................................24
2.1.3 Desenvolvimento iterativo e incremental........................................................................25
2.2 Conceito de realimentação e adaptação..............................................................................26
2.3 Elementos............................................................................................................................26
2.4 Fases....................................................................................................................................27
3 ESTUDO DE CASO............................................................................................................31
CONCLUSÃO.........................................................................................................................89
REFERÊNCIAS......................................................................................................................90
LISTA DE ILUSTRAÇÕES
2D – Duas Dimensões
3D – Três Dimensões
CASE - Computer-Aided Software Enginering
CNPJ – Cadastro Nacional da Pessoa Jurídica
CPF – Cadastro de Pessoa Física
IBM - International Business Machines
IDE - Integrated Development Environment
LOB - Line-Of-Business
MVC - Model-View-Controler
MVP - Model-View-Presenter
MVVM - Model-View-ViewModel
OO - Orientação a Objetos
PU - Processo Unificado
RG - Registro Geral
RUP - Rational Unified Process
SGC - Sistema de Gerenciamento Comercial
SQL - Structured Query Language
TI - Tecnologia da Informação
UML - Unified Modeling Language
WPF - Windows Presentation Foundation
WPF/E - Windows Presentatiom Foundation Everywhere
XAML - Extended Application Markup Language
XHTML - Extensible Hypertext Markup Language
XML - Extended Markup Language
18
INTRODUÇÃO
O processo de software pode ser definido como uma coleção de padrões que definem
um conjunto de atividades, ações, tarefas de trabalho, produtos de trabalho e/ou
comportamentos relacionados (AMB, 1998).
Existem vários modelos de processo que prescrevem um fluxo de trabalho¹, ou seja, a
maneira como os elementos do processo se relacionam. Dentre os principais modelos estão:
• Modelo em cascata
• Modelo incremental
• Modelo evolucionário
• Modelo espiral
• Modelo de desenvolvimento concorrente
• Modelo especializado de processo
• Processo unificado
2.1 Características
_________________________
2 O Processo Unificado também é chamado de RUP (Rational Unified Process) devido ao fato da Rational
Corporation ter sido uma contribuinte pioneira para o desenvolvimento e refinamento do processo e construtora
de ambientes completos (ferramentas e tecnologias) que apoiam o processo.
24
Visto que o modelo cascata podia ser usado com sucesso em pequenos projetos,
tornou-se prático dividir projetos grandes em projetos menores. Foi desse contexto que surgiu
o método iterativo e incremental.
O desenvolvimento iterativo e incremental baseia-se em refinamentos e incrementos
sucessivos, a fim de produzir um sistema adequado. A cada iteração o sistema é incrementado
com base na experiência obtida nas iterações anteriores e no feedback do usuário. Cada
iteração é considerada um miniprojeto, desenvolvido com base no modelo cascata, no qual
são realizadas as atividades de identificação de requisitos, análise, projeto, implementação e
testes (Ilustração 2). Quando uma iteração atinge o seu objetivo, o desenvolvimento prossegue
para a próxima iteração e, assim, sucessivamente, até que o ciclo de vida termine.
As iterações tem como resultado um sistema que, apesar de incompleto, foi testado e
integrado possuindo qualidade de produto final. Atualmente esse paradigma de
desenvolvimento é bem aceito e vem sendo utilizado por várias metodologias de
desenvolvimento de software devido às suas grandes vantagens como:
• Reduzir o risco de custo do projeto. Caso os desenvolvedores precisem repetir uma
iteração, o esforço perdido será dedicado apenas à iteração e não ao sistema como um
todo;
26
2.3 Elementos
2.4 Fases
de vida do processo à medida que ele é desenvolvido, através da apresentação das fases,
marcos e iterações do processo.
O eixo vertical representa as disciplinas, pelas quais as atividades são organizadas de
forma lógica e estrutural. Pelo eixo vertical, o aspecto estático do processo é representado, por
meio de descrições em termos de componentes, disciplinas, atividades, fluxos de trabalho,
artefatos e papéis.
31
3 ESTUDO DE CASO
Dentre as ferramentas utilizadas estão: Rational Rose Enterprise Edition, utilizada para
visualização, modelagem e documentação do projeto, o SQL Server Management Studio
Express utilizado para o gerenciamento do banco de dados, o Visual C# 2008 Express Edition
utilizado para implementar a aplicação e o NHibernate para a realização do mapeamento
objeto-relacional.
A tecnologia empregada no desenvolvimento do sistema foi o Windows Presentation
Foundation (WPF), que possibilitou a criação de interfaces mais ricas.
modelos de dados e também exportar para construção da base de dados ou realizar engenharia
reversa.
Ela permite identificar requisitos e informações levantadas durante a fase de
concepção, visualizar os relacionamentos entre os componentes do sistema e o modo como
interagem entre si, de forma a não entrar em detalhes específicos, e a comunicação entre o
pessoal da equipe desenvolvimento através de uma linguagem gráfica comum a todos.
SQL Server Management Studio Express é uma ferramenta gráfica gratuita e fácil de
usar. Ela possibilita o gerenciamento do SQL Server 2005 Express Edition de forma simples e
prática.
O SQL Server 2005 Express Edition, por sua vez, é uma plataforma gratuita de banco
de dados baseada nas tecnologias do SQL Server 2005, o qual possui características de rede e
segurança.
33
3.1.4 NHibernate
3.1.5 WPF
Um programa que utiliza a tecnologia WPF é normalmente composto por duas partes
básicas: um arquivo XML (Extended Markup Language), que possui características especiais
e é chamado de XAML (abreviação para Extended Application Markup Language e
pronunciado “zémmel”), e um código para .NET escrito em qualquer linguagem compatível
como VB.net, C# etc. O arquivo XAML contém as diretrizes de interface e pode ser
comparado ao XHTML em relação ao ASP.net.
35
É representada por classes que apresentam os dados de uma entidade específica. Por
exemplo, a classe Cliente com as propriedades Nome, Rg, CPF etc. Uma classe Model
também pode conter outras classes Models (filhos), permitindo por exemplo, que a classe
Cliente possua filhos do tipo Venda. O propósito do Model é representar os dados, não tendo
conhecimento de onde eles serão apresentados para um usuário, nem mesmo se eles serão
mostrados. A simples responsabilidade é a representação.
3.3 Concepção
A Vídeo Arte é uma loja de fotografias que oferece vários serviços como revelação,
estúdio, produção e restauração de fotos, cobertura de festas e casamentos, entre outros. O seu
maior problema está no gerenciamento das informações, que é realizado manualmente, a
partir de anotações e alimentação de planilhas eletrônicas.
As vendas são feitas utilizando blocos de anotações e depois são transcritas para uma
planilha eletrônica. Cada funcionário possui a sua planilha e estas não estão ligadas à planilha
de controle de caixa, cabendo a um dos funcionários a tarefa de coletar e repassar os dados
contidos nas planilhas de venda para a planilha de controle de caixa no final do dia. Todas
essas rotinas acabam deixando o processo totalmente sujeito a inconsistências,
impossibilitando a empresa de obter um controle preciso de seu faturamento e das
informações necessárias para a tomada de decisões sobre seu negócio.
A loja não possui cadastro de clientes e por isso é necessário que o funcionário solicite
e grave as informações do cliente a cada serviço prestado, o que pode gerar inconsistência e
duplicidade de informações. Além disso, o controle dos clientes inadimplentes ou que
solicitaram o serviço e não retiraram o produto depende somente da memória dos gerentes, o
que gera problemas de atrasos de pagamento.
Outro problema que a empresa enfrenta está relacionado à localização de arquivos
digitais. Cada serviço produzido pela loja é armazenado em uma mídia e essa informação é
salva na planilha referente àquele mês. Quando um cliente solicita uma cópia de um serviço
realizado em uma data indeterminada, é consumido muito tempo para localizar a planilha na
38
deverá controlar as movimentações financeiras, as ações dos usuários, por meio de geração de
logs, e o relacionamento dos clientes por meio do controle de histórico de serviços prestados e
da estratégia de qualificações.
A estratégia de qualificações funciona da seguinte maneira: o cliente, ao quitar a
compra, ganha uma qualificação positiva. Caso ele não efetue o pagamento ou haja qualquer
outro tipo de problema com a negociação ele recebe uma qualificação negativa. Se a venda
ainda não foi quitada, ou seja, se a negociação ainda está em andamento, a qualificação fica
em aberto, cabe ao usuário qualificá-la posteriormente. Caso o cliente não tenha efetuado o
pagamento ou a retirada do produto, o sistema bloqueia qualquer venda para o cliente,
permitindo que a venda seja feita apenas se o administrador realizar o desbloqueio desta.
Finalmente deverá gerar relatórios de vendas em relação a cada tipo de serviço e/ou
produto, relatório de clientes, de contas a pagar e a receber, além de gráficos estatísticos de
vendas e de desempenho dos funcionários, fornecendo assim, um maior controle do negócio à
gerência.
3.3.1.3 Requisitos
selecionado na listagem.
NF12.6 Mensagem de
O sistema deve exibir uma mensagem de
conclusão de Interface ( )
aviso confirmando as operações.
operações
selecionado na listagem.
Toda e qualquer alteração realizada
deverá ser gravada em um log, com o
NF17.6 Log alteração Segurança ( )
valor anterior, valor atual, data e hora da
alteração e o usuário responsável.
O usuário só terá acesso à operação se
algum registro estiver selecionado.
O sistema deve solicitar o motivo do
estorno e a confirmação do usuário.
Após confirmação, deve marcar a venda
como estornada e remover as contas a
pagar geradas a partir dos itens da venda
NF17.7 Estorno Interface ( )
e gerar uma movimentação no caixa
referente à data da venda com o valor de
entrada (F22). Caso a venda possua
movimentações, os valores destas devem
ser retirados dos caixas das contas a
receber, dependendo da situação da
movimentação.
NF17.8 Mensagem de
O sistema deve exibir uma mensagem de
conclusão de Interface ( )
aviso confirmando as operações.
operações
selecionado na listagem.
NF20.5 Mensagem de
O sistema deve exibir uma mensagem de
conclusão de Interface ( )
aviso confirmando as operações.
operações
operações
acesso ao relatório.
O tempo de conclusão da operação de
NF27.2 Tempo de
impressão deve ser inferior a dois Performance (X)
resposta às operações
segundos.
O sistema deve solicitar que o usuário
informe algum filtro para a consulta.
NF27.3 Visualização Após isso, deve exibir um preview da Interface ( )
impressão contendo os dados do
resultado da consulta.
Após solicitação de impressão do
usuário, o sistema deve realizar a
NF27.4 Impressão Interface ( )
impressão de acordo com o preview
apresentado anteriormente.
As consultas listadas aqui não são aquelas que simplesmente permitem visualizar um
conceito armazenado, porque esse tipo de consulta já foi considerado na organização dos
conceitos, e sim as consultas que combinam informações de diferentes conceitos, como
“relatório mensal de vendas”, “relatório de clientes inadimplentes” etc.
iterativos, os elementos foram organizados por prioridade. Foi dada maior prioridade aos
elementos que apresentavam maiores riscos ao sistema. De fato os maiores riscos estavam nos
processos de negócio da empresa e por isso os casos de uso foram inicialmente abordados.
Para estimar o esforço total de desenvolvimento foram aplicadas medidas de pontos de
casos de uso. O quadro 37 apresenta o planejamento dos primeiros ciclos iterativos já com a
estimativa de esforço:
A elaboração do cronograma de execução (Quadro 38) foi realizada com base nos
seguintes fatores:
• Tempo total estimado para o projeto (850 horas);
• Tempo disponível do desenvolvedor (25 horas/semana).
Portanto, de acordo com o quadro 38, o tempo total estimado para o desenvolvimento
do sistema foi de trinta e cinco semanas ou oito meses e meio.
69
3.4 Elaboração
5a. 2 – O sistema emite a mensagem “É necessário selecionar pelo menos uma venda”
5a. 3 – Retorna ao fluxo principal no passo 2.
CONCLUSÃO
REFERÊNCIAS
JONES, P.M. Fundamentos do desenho orientado a objetos com UML. 2a ed. São Paulo:
Makron Books, 2001.