Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Aula 10 – Processo Unificado de Desenvolvimento de Software Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • O Processo Unificado surgiu da necessidade de um processo de engenharia de software para construção de sistemas OO • É um processo iterativo e incremental, na medida em que está baseado em refinamentos e incrementos sucessivos que convergem para um produto bem formatado. • Em cada iteração • Incrementa-se o sistema com base na expertise obtida nas iterações anteriores e no feedback do usuário. • É definido um pequeno conjunto de requisitos, que são projetados, implementados e testados (pelos usuários), o que traz feedback rápido dos usuários e desenvolvedores. • Se tem a chance de modificar ou adaptar a compreensão dos requisitos DEFININDO Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • RUP – Rational Unified Process – Processo unificado desenvolvido pela empresa Rational, depois comprado pelo IBM e batizado de IRUP (IBM Rational Unified Process) • Baseado em Orientação a Objeto, especificamente dirigido por casos de uso comportamento do sistema e comunicação entre os participantes do projeto • Baseado na UML (Unified Modelling Language) • Centrado na arquitetura baseada em componentes. • Adequado a projetos de SW de maior complexidade DEFININDO Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • Um dos pilares do RUP é a incorporação de “boas práticas” que visam reduzir o risco e tornar o desenvolvimento mais eficiente. • As Boas Práticas são: • Desenvolver iterativamente (requisitos vão sendo entendidos e refinados durante o processo) • Gerenciar Requisitos • Utilizar arquitetura baseada em componentes • Modelar SW visualmente • Aferição contínua de qualidade do SW • Controlar de mudanças do Software DEFININDO Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • As boas práticas são entrelaçadas em quatro definições • Funções: conjunto de atividades • Disciplinas: áreas de esforço na engenharia de SW • Atividades: definições de como os artefatos são construídos e avaliados • Artefatos: resultados do trabalho produzido e avaliado. • RUP divide o trabalho em 4 fases: • Concepção: definição do escopo do projeto • Elaboração: elaboração básica do software • Construção: implementação e testes • Transição: implantação DEFININDO Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE DEFININDO **** Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • 2 dimensões • Eixo horizontal • Representa o TEMPO • Mostra os aspectos do ciclo de vida a medida que se desenvolve: FASES E ITERAÇÕES • Eixo vertical • Representa as DISCIPLINAS, que agrupam as atividades. A METODOLOGIA RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • Desenvolver iterativamente :planejar os incrementos de software com base nas prioridades do cliente e desenvolver e entregar o mais cedo possível às de de maior prioridade • Gerenciar Requisitos: documentar os requisitos, acompanhar as mudanças, analisando-as antes de aceitar. • Utilizar arquitetura baseada em componentes: Reduzir a quantidade de software a ser desenvolvido, custos e riscos • Modelar SW visualmente: Usar modelos da UML • Aferição contínua de qualidade do SW: Garantir que atenda aos padrões de qualidade da empresa • Controlar de mudanças do Software: usar um sistema de gerenciamento de mudanças AS BOAS PRÁTICAS DO RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE AS FASES DO RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • Concepção :Estudo de Viabilidade + parte da análise de Requisitos • Levantar os principais requisitos e compreender o sistema de forma abrangente • Elaboração: Maior parte da análise dos requisitos: análise de domínio (Casos de Uso) e o projeto (arquitetura do sistema). Ao final da fase deveremos ter: • Modelo de requisitos do sistema • Descrição da arquitetura do SW (componentes) • Plano de desenvolvimento do SE • Construção: Essencialmente envolve a programação e testes. • Transição: Implantação no usuário, de um SW pronto e documentado (manuais) AS FASES DO RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE • As fases de Elaboração e Construção ocorrem dentro dos ciclos iterativos • A cada ciclo iterativo, um conjunto de requisitos. • Análise/Projeto (elaboração) e Desenvolvimento e testes AS FASES DO RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE AS FASES DO RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE AS FASES DO RUP Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE AS DISCIPLINAS (WORKFLOW) DO RUP • Modelagem do negócio: processos de negócio são modelado • Requisitos: Os agentes que interagem com o sistema são identificados e os requisitos modelados em casos de uso • Análise e Projeto: Um modelo de projeto é criado e documentado usando modelos de arquitetura, modelos de componente, modelos de objetos e modelos de sequencia (UML) • Implementação: Os componentes de sistema são implementados e estruturados em subsistemas • Teste: Realizado em conjunto com a implementação. O teste de sistema segue o término da implementação • Implantação: Uma versão do produto é criada e implantada (instalação e treinamento). Variante: teste de sistema Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE AS DISCIPLINAS (WORKFLOW) DO RUP • Gerenciamento de Configuração e mudança: Apoia e gerencia as mudanças no sistema • Gerenciamento de Projetos: Apoia o gerenciamento do sistema, usando boas práticas de projeto (PMBOK é uma delas). • Ambiente: Disponibilizar ferramentas apropriadas de SW para a equipe de desenvolvimento. Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FUNCIONAMENTO • O PU consiste num conjunto de ciclos (sequencia das 4 fases) durante a vida do sistema • Cada ciclo compreende a versão do produto e é subdivido nas 4 fases • Cada fase é dividida em iterações que passam por todas as disciplinas ou workflow (ou fluxos de trabalho). • Vamos exemplificar com a disciplina REQUISITOS • O Modelo de Casos de Uso é desenvolvido em vários incrementos, onde as iterações irão adicionar novos casos de uso e/ou novos detalhes as descrições dos casos de uso. Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FUNCIONAMENTO – DISCIPLINA DE REQUISITOS • Casosde Uso • Concepção: identificados os mais relevantes , delimitando domínio do sistema • Elaboração: A maioria dos requisitos é capturada e formatada no diagrama de caso de uso e devidamente especificados. Ao final dessa fase, preve-se 80% dos casos de uso. Vejamos o desenho e observe a maioria nessa fase • Os requisitos que sobram são capturados e implementados durante a construção • Na fase de Transição, basicamente, existirão capturas de casos de uso na medida em que ocorrem mudanças Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FUNCIONAMENTO Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FUNCIONAMENTO – DISCIPLINA DE ANÁLISE • O produto resultando é o modelo de análise (diagramas UML) • Refinar os requisitos para construir o diagrama conceitual de classes, e em seguida: diagramas de interações (sequencia, colaboração) e estados. • O fluxo de análise tem maior importância na fase de ELABORAçÃO. • O modelo de analise cresce incrementalmente na medida em que os casos de uso são analisados. • Para cada ITERAÇÂO, seleciona-se os casos de uso que serão realizados no modelo de análise. • O modelo de Projeto será construído com base no modelo de análise e descreverá o sistema num nível físico (linguagens, SO, bancos de dados, interfaces com usuários...). Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FUNCIONAMENTO Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE CONCLUSÕES – RUP ou IRUP • Foi criado para ser um processo ágil de desenvolvimento e prega uma abordagem realística para a condução de um projeto. • No RUP as atividades (disciplinas) são repetidas quantas vezes forem preciso, em ciclos organizados. • Não há um plano detalhado para todo um projeto. Há um plano de alto nível (chamado Plano de Fases) que estima a data de término do projeto e outros marcos de referência principais. • Um plano detalhado (chamado Plano de Iterações) somente planeja a iteração a ser feita em seguida. • O planejamento detalhado é feito de forma adaptativa, de iteração para iteração. Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE VARIAÇÕES NA REALIZAÇÃO (SEM A MODELAGEM DE NEGÓCIOS) Processo Unificado de Desenvolvimento de Software – Aula 10 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PRINCIPAIS CONCEITOS APRESENTADOS NA AULA. • O RUP e suas características: iterativo e incremental • Trabalha em conjunto com a UML • Base: Boas práticas (6) • Desenvolver iterativamente, Gerenciar Requisitos, Utilizar arquitetura baseada em componentes, Modelar SW visualmente, Aferição contínua de qualidade do SW e Controlar de mudanças do Software • Base: Iterações, Fases (4) e as Disciplinas (9) • Fases: Concepção, Elaboração, Construção e Transição. • Disciplinas: Modelagem do negócio, Requisitos, Análise e Projeto, Implementação, Testes, Implantação, Gerenciamento e Configuração de Mudança, Gerenciamento de Projetos, Ambiente
Compartilhar