Você está na página 1de 32

Engenharia de Software

Processo de Software

Processo (1 (1/3)
Quando fornecemos um servio, criamos um produto ou desenvolvemos um software, sempre seguimos uma sequncia de etapas para completar um conjunto de tarefas. As tarefas so, geralmente, realizadas na mesma ordem todas as vezes. Ex.:Voc no assa um bolo antes de misturar os ingredientes. Algumas tarefas podem ser executadas em paralelismo. Ex.: enquanto assa o bolo, prepara-se a cobertura.
Passo 2 a Passo 1 Passo 2 b Passos de um processo Passo3

Processo (2/3)
Um processo uma receita a ser seguida por um projeto. Um processo definido quando tem documentao que detalha:
O que feito (produto) Quando (passos) Por quem (agentes) As coisas que usa (insumos) As coisas que produz (resultados)

Processo (3 (3/3)
Podemos considerar um conjunto de tarefas ordenadas como sendo um processo: uma srie de etapas que envolvem atividades, restries e recursos para alcanar a sada desejada. Exemplo: Receita de bolo Cozinheiro Ingredientes Utenslios de cozinha Modo de preparo Ator Recursos Ferramentas Atividades ou tarefas

Outros dados: Restries Forno 180 Cozinhar e fogo baixo Bolo Sada esperada

Caractersticas de um Processo
Prescreve todas as suas principais atividades; Utiliza recursos; Est sujeito a um conjunto de restries(como um cronograma); Gera produtos intermedirios e finais (artefatos); Pode ser composto de subprocessos de algum modo relacionados. Pode ser definido como uma hierarquia de processos, organizado de tal maneira que cada subprocesso tenha seu prprio modelo de processo; Cada atividade de processo tem critrios de entrada e de sada, deixando claro onde o processo comea e quando termina; As atividades so organizadas em uma sequncia, para que a ordem de execuo de uma atividade em relao s outras seja clara. Pode existir paralelismo entre as atividades; Restries e controles podem ser aplicados a uma atividade, recurso ou produto. Ex.: oramento e cronograma podem limitar o tempo que a atividade pode levar, ou a ferramenta, o modo como os recursos podem ser utilizados.

Atividade
Missionrio e o Canibal. (Em dupla) Trs missionrios precisam atravessar um rio; para tal dispem de um barco com capacidade para duas pessoas. Por medidas de segurana, no se deve permitir que em alguma margem a quantidade de missionrios seja inferior de canibais. Como efetuar a travessia com segurana? Definir o processo (ou receita) para vencer o jogo. Anotar todos os passos para vencer o jogo Identifique os recursos que o jogador ter para poder completar a travessia dos personagens do jogo. Identifique as restries do jogo.
Link do jogo: http://rachacuca.com.br/jogos/missionarios-e-canibais/

Benefcios do Processo
Imprime consistncia e estrutura a um conjunto de atividades; So teis quando sabemos como fazer algo bem e queremos garantir que outras pessoas o faam da mesma maneira; Ajuda a manter um nvel de consistncia e qualidade nos produtos e servios produzidos por pessoas diferentes; A estrutura do processo orienta nossas aes, permitindo-nos examinar, entender, controlar e aprimorar as atividades que o compem; Permitem capturar experincias e pass-las adiante(processos e procedimentos documentados).

Melhoria de Processo
Para toda organizao que implanta sistemas de certificao de qualidade, um dos primeiros itens cobrados a definio de processos. Para a organizao passar para nveis superiores de maturidade, necessrio que os processos sejam definidos de forma precisa e que possam ser continuamente melhorados.

Processo de Software
Em ES, podemos definir processos para atividades como:
Desenvolvimento Manuteno Aquisio e Contratao de Software Levantamento de requisitos Anlise Implementao Testes

Exemplo: no desenvolvimento podemos ter subprocessos como:

Em desenvolvimento de software, o ponto de partida para a definio de processos definir um modelo de ciclo de vida.

Processo Unificado
Descende de mtodos propostos por Booch, Jacobson e Rumbaugh. Estes autores tambm propuseram a UML com uma notao para modelagem orientada em objetos para qualquer processo de desenvolvimento.

Fases do Processo Unificado


Concepo Incorpora o estudo de viabilidade e uma parte da anlise de requisitos. Incorpora a maior parte da anlise de requisitos e o projeto. o detalhamento do produto o planejamento da fase de construo. Corresponde programao e testes. Consiste na instalao e manuteno do sistema.

Elaborao

Construo Transio

Caractersticas do Processo Unificado


iterativo e incremental; As atividades so divididas em subprocessos chamados de fluxos de trabalho (workflows); Cada fluxo tem um tema especfico; As fases so divises gerenciais voltadas a atingirem metas bem definidas.

Fluxos

Ciclos Iterativos do Processo Unificado


Concepo Elaborao Anlise Projeto

Construo Implementao Testes

Implantao

Ciclo de Vida do Processo Unificado

Construo Concepo Transio Elaborao

Metodologias de Desenvolvimento de Software


Metodologia uma abordagem detalhada dos processos de desenvolvimento que devero ser seguidos para se obter o produto de software. Metodologia compreende: atividades, tarefas, tcnicas, ferramentas e outros artefatos que sejam necessrios no desenvolvimento do projeto.

RUP Processo Unificado da Rational


Processo proprietrio pela Rational Software Corporation uma metodologia baseada no Processo Unificado Metodologia completa e bem definida indicada para desenvolvimento/construo de software(orientado a objetos)padronizado: Dirigido por caso de uso: o planejamento das iteraes, a criao e validao do modelo do projeto, o planejamento da integrao do sistema e definio dos casos de teste, todos guiados pelos casos de uso.

RUP Processo Unificado da Rational


Modelo flexvel e customizvel para desenvolvimento de sotfware Pode ser utilizado nos mais variados projetos sendo eles pequenos, mdios ou grandes. Trabalha com modo de desenvolvimento iterativo e incremental. Baseado na arquitetura do sistema: orienta a organizao da equipe de desenvolvimento e identifica oportunidades de reuso do software e um entendimento intuitivo do mesmo.

RUP Processo Unificado da Rational


Utilizao de software de modelos visuais atravs da UML;

Verificao da qualidade do software;

Gesto e Controle de Mudanas no Software

RUP Organizao
O Processo organizado em fluxos de atividades bem definidos quem possui uma dependncia entre si. As atividades seguem uma ordem de execuo e uma sistemtica de como devem acontecer. Existem os artefatos de entrada e sada e os responsveis.

RUP Fases do Ciclo de Vida


Concepo: a finalidade da fase definir os objetivos, a viabilidade do negcio e o escopo do projeto. Elaborao: nesta fase a arquitetura do sistema definida atravs da anlise de domnio do problema. Construo: fase de construo(desenvolvimento de todos os componentes e integrao) e preparao para a liberao do software para o usurio. Transio: a substituio do sistema antigo pelo novo. feita a transio do produto para o ambiente do usurio.

RUP algumas desvantagens


Benefcios no so imediatos. necessrio adquirir treinamento adequado. Adaptao da metodologia no contexto ao qual ela ser utilizada. Apoio especializado para as equipes de desenvolvimento. Tempo para a absoro da metodologia.

XP Programao eXtrema
A metodologia Programao eXtrema (XP, do ingls eXtreming Programming) trabalha o desenvolvimento gil e iterativo. Desenvolvimento iterativo e com a entrega constante de pequenas partes das funcionalidades do software para o cliente. Preocupao com melhoria constante do cdigo.

XP Programao eXtrema
Nessa prtica o envolvimento constante do cliente, que se torna um membro ativo da equipe de desenvolvimento, fundamental para o sucesso do projeto. O cliente define o que deseja e suas prioridades, e ao receber o que foi desenvolvido, avalia se est de acordo com o que solicitou e sugere ajustes bem como alteraes no que ainda ser implementado.

XP Indicao

Projetos cujos requisitos so vagos e mudam com freqncia; Desenvolvimento de sistemas orientados a objeto; Equipes pequenas, preferencialmente at 12 desenvolvedores; Desenvolvimento incremental (ou iterativo), onde o sistema comea a ser implementado logo no incio do projeto e vai ganhando novas funcionalidades ao longo do tempo.

XP Valores Fundamentais
Feedback Comunicao Simplicidade Coragem

XP Prticas (1/2)
O XP toma como base as seguintes prticas:
Cliente Presente Jogo do Planejamento Stand Up Meeting Programao em Par Desenvolvimento Guiado pelos Testes Refactoring Cdigo Coletivo Cdigo Padronizado Metfora Releases Curtos 40 horas de trabalho semanal

XP Caractersticas da Equipe
Papis em equipes XP: Gerente de Projeto: cuida dos assuntos administrativos do projeto. Coach: pessoa que cuida do bom funcionamento do processo para que a equipe siga as boas prticas do XP. Analista de Teste: responsvel pelos testes automatizados e os testes com o cliente. Redator Tcnico: faz a documentao do sistema. Desenvolvedor: analisa, projeta e codifica o sistema.

XP Programao eXtrema Ciclo de Vida

Fonte: [MAGALHES & VASCONCELOS; Metodologias geis: Conceitos e Prticas no Gerenciamento de Projetos de Software]

XP Processo
1 Cliente expe suas demandas e conversa com a equipe, esclarecendo dvidas. 2 Cliente escreve estrias. 3 Equipe estima. 4 Cliente define prioridades da semana. 5 Os cartes de estrias e post-its so colocados no quadro de acompanhamento do projeto. 6 Reunies dirias em frente ao quadro de acompanhamento. 7 Programao em par, desenvolvimento orientado a testes.

XP Vantagens
Processo mais gil e flexvel; Enfatiza o trabalho em conjunto; Eleva a qualidade de comunicao da equipe, e desta com o cliente; possvel se adaptar rapidamente eventuais mudanas nos requisitos; Entregas constantes de partes operacionais do software, deixando o cliente ter resultados de suas solicitaes; Programao em par: maior qualidade no cdigo.

XP Desvantagens
A anlise de requisitos informal, o que pode gerar insegurana quanto ao bom funcionamento do sistema; Inadequada para equipes introvertidas; Invivel quando no possvel a presena constante do cliente.

Referncias
PAULA FILHO, W. de P., Engenharia de Software: fundamentos, mtodos e padres. 1.ed. Rio de Janeiro. LTC. 2001 Prof. Raul Sidnei Wazlawick Introduo Processo Unificado - UP.