Você está na página 1de 44

PROCESSO DESENVOLVIMENTO DE SOFTWARE

Processo de Desenvolvimento
2

O que um processo de desenvolvimento?

a definio de quem faz o que, quando e como, para atingir um certo alvo.

UML uma linguagem de modelagem, no uma metodologia. No se consegue fazer uma boa modelagem sem conhecer processos. Linguagem de modelagem + processo de desenvolvimento = mtodo (ou metodologia) de desenvolvimento.

Processo de Desenvolvimento
3

As grandes fases de qualquer processo de desenvolvimento so:


Planejamento

e elaborao

Planejamento,

definio de requisitos, construo de prottipos (opcional)

Construo

do sistema (inclui codificao e

testes) Implantao (colocar em produo, treinar usurios, ...)

Processo de Desenvolvimento
4

UML no depende de processo. Voc deve escolher o que for adequado ao seu projeto. Existem diversos modelos, e esse modelos so influenciados por alguns fatores como:
Tipo

de software que ser desenvolvido (realtime, sistema de informao, etc.) Escala (Um desenvolvedor, equipe pequena, etc.)

Processo de Desenvolvimento
5

Modelo em Cascata Modelo de Prototipagem Modelo Evolucionrio Desenvolvimento Baseado em Componentes Modelo de Mtodos formais Programao Extrema Processo Unificado

Processo em cascata
6

Processo em cascata
7

Causas dos fracassos da maioria dos projetos:


Gerenciamento

informal dos requisitos; No entendimento das necessidades dos usurios; Incapacidade de lidar com as mudanas de requisitos; Complexidade crescente e excessiva; Qualidade ruim; Testes insuficiente.

Processo Unificado
8

O processo unificado (PU) de desenvolvimento de software o conjunto de atividades necessrias para transformar requisitos do usurio em um sistema de software. fundamental na viso de que o avano de um projeto deve estar baseado na construo de artefatos de software, e no apenas em documentao.

Processo Unificado
9

Principais Caractersticas:
Dirigido

por casos de uso.

Descries

de casos de uso e seus diagramas embasam a construo do software.

Centrado
O

na arquitetura.

documento viso, diagrama de componentes e implantao, diagrama de interao e diagrama de classes (modelo de dados) fornecem a perspectivas da arquitetura do software.

Iterativo

e incremental.

Processo Unificado
10

Outras caractersticas:
Gerenciamento

de requisitos; Arquitetura baseada em componentes; Organizao da especificao em modelos; Verificao constante da qualidade; Controle de mudana; Organiza o sistema com estrutura esttica e dinmica.

Fases do Processo Unificado


11

Viso do Software Tecnologia Riscos reas crticas

Elaborao
Requisitos em detalhes

Prottipos Codificao Banco de Dados

Transio
Avaliao do software Verso de Produo

Concepo

Construo

Os Artefatos do PU
12

Disciplina Modelagem de Negcio Requisitos

Artefato Interao Modelo Conceitual ou Documento Viso Diagrama de Caso de Uso Descrio de Caso de Uso Diagrama de Atividades Contratos para operaes Glossrio Diagrama de Classes e Seqncia Diagrama de Colaborao Diagrama de Pacotes Documento de Arquitetura do Software Cdigo Fonte

Concepo Elaborao Construo P P P P P P R R R R R P P P P R R R R

Transio

Anlise

Implementao

P
P = produzir

R
R = revisar

Os Artefatos do PU
13

Disciplina Modelagem de Negcio Requisitos

Artefato Interao Modelo Conceitual ou Documento Viso Diagrama de Caso de Uso Descrio de Caso de Uso Diagrama de Atividades Contratos para operaes Glossrio Diagrama de Classes e Seqncia Diagrama de Colaborao Diagrama de Pacotes Documento de Arquitetura do Software Cdigo Fonte

Concepo Elaborao Construo P P P P P P R R R R R P P P P R R R R

Transio

Anlise

Implementao

P
P = produzir

R
R = revisar

Dirigido por casos de uso


14

Um caso de uso uma seqncia de aes, executadas por um ou mais atores e pelo prprio sistema, que produz um ou mais resultados de valor para um ou mais atores. O PU dirigido por casos de uso, pois utilizaos para dirigir todo o trabalho de desenvolvimento, desde a captao inicial e negociao dos requisitos at a aceitao do cdigo (testes).

Dirigido por casos de uso


15

Os casos de uso so centrais ao PU e a outros mtodos iterativos, pois:


Os

requisitos funcionais so preferencialmente por meio deles; Eles ajudam a planejar as iteraes; Eles podem conduzir o projeto; O teste baseado neles.

registrados

Desenvolvimento Iterativo
16

O desenvolvimento de um software dividido em vrios ciclos de iterao, cada qual produzindo um sistema testado, integrado e executvel. Em cada ciclo ocorrem as atividades de anlise de requisitos, projeto, implementao e teste, bem como a integrao dos artefatos produzidos com os artefatos j existentes.

Desenvolvimento Iterativo
17

Planejar quantos ciclos de desenvolvimento sero necessrios para alcanar os objetivos do sistema. As partes mais importantes devem ser priorizadas e alocadas nos primeiros ciclos.
A

primeira iterao estabelece os principais riscos e o escopo inicial do projeto, de acordo com a funcionalidade principal do sistema. Partes mais complexas do sistema devem ser atacadas j no primeiro ciclo, pois so elas que apresentam maior risco de inviabilizar o projeto.

Desenvolvimento Iterativo
18

O tamanho de cada ciclo pode variar de uma empresa para outra e conforme o tamanho do sistema.
Por

exemplo, uma empresa pode desejar ciclos de 4 semanas, outra pode preferir 3 meses. Produtos entregues em um ciclo podem ser colocados imediatamente em operao, mas podem vir a ser substitudos por outros produtos mais complexos em ciclos posteriores.

Atividades
19

Atividades: tarefa que um trabalhador executa a fim de produzir ou modificar um artefato.

Processos do PU
20

Descreve as seqncias das atividades que produzem algum resultado significativo e mostra as interaes entre os participantes So realizadas a qualquer momento durante o ciclo de desenvolvimento (Fases do PU) Ex.:
Requisitos,

Anlise, Projeto, Implementao e

Teste

Processos do PU
21

Conjunto de atividades (e artefatos relacionados):


Modelagem Requisitos Anlise

de Negcio

e Projeto Implementao Teste Implantao Gesto de Configurao e Mudanas Gerenciamento de projeto Ambiente

Fases do Processo Unificado


22

Cada um dos ciclos de desenvolvimento do PU dividido em quatro fases:


Concepo; Elaborao;

Construo;
Transio.

Fases do PU: Concepo


23

Estabelece-se a viabilidade de implantao do sistema. Definio do escopo do sistema. Estimativas de custos e cronograma. Identificao dos potenciais riscos que devem ser gerenciados ao longo do projeto. Esboo da arquitetura do sistema, que servir como alicerce para a sua construo.

Fases do PU: Elaborao


24

Viso refinada do sistema:


definio

dos requisitos funcionais; detalhamento da arquitetura criada na fase anterior; gerenciamento contnuo dos riscos envolvidos.

Estimativas realistas feitas nesta fase permitem um plano para orientar a construo do sistema.

Fases do PU: Construo


25

O sistema efetivamente desenvolvido e, em geral, tem condies de ser operado, mesmo que em ambiente de teste, pelos clientes.

Fases do PU: Transio


26

O sistema entregue ao cliente para uso em produo. Testes so realizados e um ou mais incrementos do sistema so implantados. Defeitos so corrigidos, se necessrio.

Trabalhadores
27

Trabalhadores: Um trabalhador algum que desempenha um papel e responsvel pela realizao de atividades para produzir ou modificar um artefato. Exemplos: analista de sistemas, programador, testador, etc.

Processos do PU
28

Avaliando-se as fases do PU, pode-se ter a impresso de que cada ciclo de iterao comporta-se como o modelo em cascata. Mas isso no verdade: paralelamente s fases do PU, as atividades de trabalho, denominados Processos do PU, so realizadas a qualquer momento durante o ciclo de desenvolvimento. Processos do PU entrecortam todas as fases do PU, podendo ter maior nfase durante certas fases e menor nfase em outras, mas podendo ocorrer em qualquer uma delas.

Processos do PU
29

Requisitos

Testes

Anlise

Implementao

Projeto

Processo Unificado
30

Os Artefatos do PU
31

Cada uma das disciplinas do PU pode gerar um ou mais artefatos, que devem ser controlados e administrados corretamente durante o desenvolvimento do sistema. Artefatos so quaisquer dos documentos produzidos durante o desenvolvimento, tais como modelos, diagramas, documentos de especificao de requisitos, cdigo fonte ou executvel, planos de teste, etc. Muitos dos artefatos so opcionais, produzidos de acordo com as necessidades especficas de cada projeto.

Os Artefatos do PU
32

Disciplina Modelagem de Negcio Requisitos

Artefato Interao Modelo Conceitual ou Documento Viso Diagrama de Caso de Uso Descrio de Caso de Uso Diagrama de Atividades Contratos para operaes Glossrio Diagrama de Classes e Seqncia Diagrama de Colaborao Diagrama de Pacotes Documento de Arquitetura do Software Cdigo Fonte

Concepo Elaborao Construo P P P P P P R R R R R P P P P R R R R

Transio

Anlise

Implementao

P
P = produzir

R
R = revisar

Ferramentas
33

O que so Ferramentas CASE? A sigla CASE significa Computer-Aided Software Engineering. Traduzindo para um bom portugus: Engenharia de Software Auxiliada por Computador.

Ferramentas
34

1.

2.

3.

As ferramentas se dividem em trs categorias. So elas: Lower CASE - ferramentas de codificao (front-end); Upper CASE - ferramentas de anlise, projeto e implementao; Integrated CASE - unio de Upper e Lower CASE.

Ferramentas
35

Como escolher a ferramenta? O primeiro passo saber qual ser o uso da ferramenta na sua empresa. Isto , ferramenta para codificao ou ferramenta para anlise. Outro fator importante que a ferramenta deve ser aderente ao conceitos de trabalho na sua empresa.Como estes conceitos e tcnicas evoluem no tempo.

Ferramentas
36

Questes importantes ferramenta:


1.

para

escolha

da

2.

3.

O time de desenvolvimento est preparado tecnicamente para trabalhar com ferramentas case? Preciso capacitar os recursos humanos de minha empresa? A metodologia de desenvolvimento em minha empresa est amadurecida?

Ferramentas
37

Na prtica, as ferramentas existentes no mercado possuem as caractersticas das quais destacamse os seguintes pontos:
Desenvolvidas sobre uma arquitetura inteligente (customizvel); Possuem "facilitadores" para auxiliar nas tarefas repetitivas; Verificao da consistncia atravs de regras especficas; Gerao de relatrios para acompanhamento do trabalho; Interfaces com outros aplicativos de desenvolvimento.

Ferramentas
38

Uma ferramenta CASE no a soluo para todos os problemas da organizao. A organizao deve ter certeza de estar pronta para a nova ferramenta. Desta forma uma ferramenta s deveria ser selecionada aps a definio do processo de desenvolvimento, dos mtodos e de ter sido utilizada num projeto piloto. (Reid).

Ferramentas
39

Comerciais e Free Editions


MagicDraw

($ 1,599,00) Together Architect ( $ 11.500,00) Poseidon ($ 875,00 ) Enterprise Architect ($ 2.500,00) Rose Technical Developer ($6,880.00) Jude/Astah ($280,00 1usurio/1ano) Omondo Eclipse UML ($ 84,900.00 / 20 usurios) Visual Paradigm ($ 699)
Fonte: http://www.objectsbydesign.com/tools/umltools_byPrice.html

Ferramentas
40

Livres (BSD e GPL)


Umbrello
ArgoUML Dia

BOUML
Fajuba StarUML

41

Dia um programa baseado em gtk+ para criao do diagrama, liberado sob a licena GPL. parte do projeto Gnome. Atualmente tem objetos especiais de lgica, entidade e relacionamento, diagramas UML, fluxogramas, diagramas da rede, e circuitos simples entre outros.

ArgoUML
42

ArgoUML uma ferramenta CASE baseada na notao UML (Unified Modeling Language). Foi desenvolvido pela comunidade de desenvolvedores de cdigo livre Tigris vinculada a Universidade da California, Berkeley. Sua interface bem completa o que a torna um pouco complexa de manipular.

43

Umbrello e um Software de Modelagem UML, que e integrado ao projeto KDE. Este Software utilizado para modelar o prprio projeto do KDE por a grande de seus desenvolvedores que utilizam UML.

44

JUDE uma ferramenta profissional de modelagem para sistemas a qual suporta UML, diagrama entidade relacionamento, Flowchart, CRUD, Mini Mapas e Diagrama de Fluxo de Dados. Permite tambm a converso entre modelos UML, ER Diagramas, Flowcharts, fluxo de dados e mini mapas. O nome do programa um acrnimo de Java and UML Developers Environment (Ambiente para Desenvolvedores UML e Java).

Você também pode gostar