Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1/45
3/45
MODELO CASCATA
Definio de Requisitos
Operao e Manuteno
Operao e Manuteno
7/45
Especificao
Verso Inicial
Esboo de Descrio
Desenvolvimento
Verses Intermedirias
Validao
Verso Final
8/45
PROGRAMAO EXPLORATRIA
Idia geral:
Desenvolvimento da primeira verso do sistema o mais rpido possvel Modificaes sucessivas at que o sistema seja considerado adequado Aps o desenvolvimento de cada uma das verses do sistema ele mostrado aos usurios para comentrios
Adequado para o desenvolvimento de sistemas onde difcil ou impossvel se fazer uma especificao detalhada do sistema Principal diferena para os outros modelos a ausncia da noo de programa correto
9/45
PROGRAMAO EXPLORATRIA
Tem sido mais usada no desenvolvimento de sistemas especialistas - geralmente sistemas que tentam emular capacidades humanas A maioria dos sistemas desenvolvidos com sucesso usando a programao exploratria foi implementada usando pequenos grupos de profissionais altamente qualificados e motivados
10/45
PROTOTIPAGEM DESCARTVEL
Como na programao exploratria, a primeira fase prev o desenvolvimento de um programa para o usurio experimentar
No entanto, o objetivo aqui estabelecer os requisitos do sistema O software deve ser reimplementado na fase seguinte
A construo de prottipos com os quais os usurios possam brincar uma idia bastante atrativa:
Para sistemas grandes e complicados Quando no existe um sistema anterior ou um sistema manual que ajude a especificar os requisitos
11/ 45
PROTOTIPAGEM DESCARTVEL
Os objetivos do prottipo devem estar bem claros antes do incio da codificao. Possveis objetivos: Entender os requisitos dos usurios Definir a interface com os usurios Demonstrar a viabilidade do sistemas para os gerentes. Uma deciso importante a ser tomada escolher o que ser e o que no ser parte do prottipo No economicamente vivel implementar todo o sistema! Os objetivos do prottipo so o ponto de partida
12/ 45
TRANSFORMAO FORMAL
Idia geral:
Uma especificao formal (definio matemtica, no ambgua) do software desenvolvida e posteriormente transformada em um programa atravs de regras que preservam a corretude da especificao
esp. 1
esp. 2
implement.
13/ 45
TRANSFORMAO FORMAL
A grande motivao por trs da idia de refinamento formal a possibilidade de gerar automaticamente programas que so corretos por construo
O prprio processo de desenvolvimento deve grantir que o programa faz exatamente o que foi especificado
Este modelo tem sido aplicado ao desenvolvimento de sistemas crticos, especialmente naqueles onde a segurana um fator crtico (ex: sistema de controle de trfego areo)
14/ 45
Esta abordagem est se tornando mais importante, mas h ainda pouca experincia com ela
15/ 45
Especificao de Requisitos
Anlise de Componentes
Modificao de Requisitos
Desenvolvimento e Integrao
Validao do Sistema
16/ 45
MODELOS ITERATIVOS
Requisitos de sistema SEMPRE evoluem durante curso de um projeto. Assim a iterao do processo sempre faz parte do desenvolvimento de grandes sistemas Iteraes podem ser aplicadas a quaisquer dos modelos de ciclo de vida Duas abordagens (relacionadas)
Desenvolvimento espiral Desenvolvimento incremental
17/ 45
DESENVOLVIMENTO ESPIRAL
Acrescenta aspectos gerenciais ao processo de desenvolvimento de software.
anlise de riscos em intervalos regulares do processo de desenvolvimento de software planejamento controle tomada de deciso
O processo representado como uma espiral em vez de uma seqncia de atividades Cada volta na espiral representa uma fase no processo No h fases fixas como especificao ou projeto voltas na espiral so escolhidas dependendo do que requerido Riscos so avaliados explicitamente e resolvidos ao longo do processo
18/ 45
DESENVOLVIMENTO ESPIRAL
Determinao dos objetivos, alternativas e restries Anlise das alternativas e identificao e/ou resoluo de riscos Anlise de Riscos
19/ 45
DESENVOLVIMENTO INCREMENTAL
Em vez de entregar o sistema como um todo, o desenvolvimento e a entrega so divididos em incrementos, com cada incremento entregando parte da funcionalidade requerida Requisitos dos usurios so priorizados e os requisitos de mais alta prioridade so includos nas iteraes iniciais Uma vez que o desenvolvimento de um incremento iniciado, os requisitos so "congelados". Embora os requisitos possam continuar a evoluir para incrementos posteriores Em certos aspectos similar programao exploratria. No entanto, o escopo do sistema deve ser claramente entendido antes de se iniciar o desenvolvimento
20/ 45
DESENVOLVIMENTO INCREMENTAL
Desenvolver um incremento
Validar o incremento
Integrar o incremento
PROCESSO
Conjunto de atividades
bem definidas com responsveis com artefatos de entrada e sada com dependncias entre as mesmas e ordem de execuo com modelo de ciclo de vida
22/ 45
PROCESSO
uma ao regular e contnua (ou sucesso de aes) realizada de forma bem definida, levando a um resultado um conjunto parcialmente ordenado de atividades (ou passos) para se atingir um objetivo define quem est fazendo o que, quando e como para atingir um certo objetivo
23/ 45
Outros consideram que uma metodologia a especializao de um processo com um conjunto de mtodos
24/ 45
MTODO
Descrio sistemtica de como deve-se realizar uma determinada atividade ou tarefa A descrio normalmente feita atravs de padres e guias Exemplos: Mtodo para descoberta de atores e casos de uso no RUP.
25/ 45
MODELO DE PROCESSO
uma representao de um processo, usualmente envolvendo
atividades a serem realizadas agentes que realizam as atividades artefatos (produtos) gerados recursos necessrios (consumidos)
26/ 45
MODELO DE PROCESSO
Um modelo usado para entendimento e comunicao do processo, e como base para anlise, execuo, gerncia e melhoria do processo Idealmente a descrio deve ser formal e completa para permitir, por exemplo, automao A descrio deve ser apresentada em diferentes nveis de abstrao
27/ 45
MODELO DE PROCESSO
O formalismo utilizado para representar o processo o ingrediente mais importante da modelagem No parece haver consenso sobre um formalismo ideal
Mas h esforo de padronizao (SPEM OMG)
28/ 45
EXEMPLOS DE PROCESSOS
Processos tradicionais (pesados)
RUP, OPEN, Catalysis
29/ 45
EXEMPLOS DE PROCESSOS
Consenso em torno de
Iteratividade Participao de usurios Flexibilidade de configurao para projetos especficos Comunicao entre membros da equipe
30/ 45
EXEMPLOS DE PROCESSOS
Divergncias
Detalhamento de atividades a serem seguidas Critrio de concluso da execuo das atividades
Arquitetura robusta (RUP) Arquitetura para o contexto da iterao atual (agile modeling)
31/ 45
POLMICA
Se a tendncia processos leves, afinal o desenvolvimento de software
Arte+Sociologia+Psicologia+... ou Lgica+Modelos+Engenharia+...???
O QUE O RUP?
O nome uma abreviao de Rational Unified Process
mas na verdade
Processo + Mtodos + Linguagem (UML)
34/ 45
O QUE O RUP?
Conjunto de atividades
bem definidas com responsveis com artefatos de entrada e sada com dependncias entre as mesmas e ordem de execuo com modelo de ciclo de vida descrio sistemtica de como devem ser realizadas guias (de ferramentas ou no), templates utilizando diagramas de UML
35/ 45
36/ 45
Concepo (define o escopo do projeto) Elaborao (detalha os requisitos e a arquitetura) Construo (desenvolve o sistema) Transio (implanta o sistema)
37/ 45
Preliminary iteration
Devel.. iteration
Devel.. iteration
Transition iteration
Transition iteration
38/ 45
39/ 45
40/ 45
Arquitetura
viso geral do sistema em termos dos seus subsistemas e como estes se relacionam
A arquitetura prototipada e definida logo nas primeiras iteraes O desenvolvimento consiste em complementar a arquitetura A arquitetura serve para definir a organizao da equipe de desenvolvimento e identificar oportunidades de reuso
42/ 45
ORGANIZAO DO RUP
Fluxos de atividades Atividades
passos entradas e sadas guias (de ferramentas ou no), templates
43/ 45
Avaliar Iterao
Finalizar Projeto
Arquiteto
44/ 45