processo unificado e notação uml

of 72 /72
Processo Unificado e Notação UML Professor Wagner Gadêa Lorenz [email protected] Disciplina: Engenharia de Software II Curso de Sistemas de Informação Cachoeira do Sul, 04 de Março de 2015.

Author: wagner-gadea-lorenz

Post on 25-Jul-2015

75 views

Category:

Education


0 download

Embed Size (px)

TRANSCRIPT

  • Processo Unificadoe

    Notao UML

    Professor Wagner Gada [email protected]

    Disciplina: Engenharia de Software IICurso de Sistemas de Informao

    Cachoeira do Sul, 04 de Maro de 2015.

  • Processo Unificado RationalUm dos mais conhecidos processos tradicionais o Processo Unificado da IBM/Rational;

    O Processo Unificado baseado em componentes, e utiliza a Linguagem de Modelagem Unificada (UML);

    O Processo Unificado integra ciclos, fases, disciplinas, suav izao de r iscos, cont ro le de qua l idade, gerenciamento de projetos e controle de configurao;

    Engenharia de Software II 2

  • Soluo Uso das Melhores Prticas de Desenvolvimento: prticas usadas

    com sucesso pela indstria de software;

    So elas:

    Desenvolvimento iterativo;

    Gerncia de requisitos;

    Uso de arquitetura baseada em componentes;

    Modelagem visual;

    Verificao contnua da qualidade de software ;

    Gerncia de mudana.

    Engenharia de Software II 3

  • Prtica 1: Desenvolvimento Iterativo

    Engenharia de Software II 4

    Cada iterao resulta e m u m r e l e a s e executvel

  • Anlise de Riscos

    Engenharia de Software II 5

  • Prtica 2: Gerncia de Requisitos Tenha certeza que voc est

    Resolvendo o problema certo

    Construindo o sistema certo Por usar uma abordagem sistemtica para:

    elicitar

    organizar

    documentar

    gerenciar As mudanas dos requisitos de um software.

    Engenharia de Software II 6

  • Prtica 3: Uso de Arquitetura baseada em Componentes

    Base para reuso

    Reuso de Componentes

    Reuso de Arquitetura

    Engenharia de Software II 7

    System- software

    Middleware

    Business- specific

    Application- specific

    Arquitetura baseada em componentes com camadas

  • Prtica 4: Modelagem Visual usando a UML

    8Engenharia de Software II

  • Prtica 5: Verificao Contnua da Qualidade

    9Engenharia de Software II

  • Dimenses de Teste de Qualidade

    ConfiabilidadeTestar se a aplicao se

    comporta consistentemente e previsivelmente.

    PerformanceTestar resposta online com

    sobrecarga

    FuncionalidadeTestar cada cenrio de

    caso de uso para verificar que se comporta corretamente

    UsabilidadeTestar a aplicao da

    perspectiva do usurio final

    SuportabilidadeTestar a habilidade de manter e

    suportar a aplicao sob uso em ambiente de produo

    10Engenharia de Software II

  • Testes em cada Iterao

    11Engenharia de Software II

  • Prtica 6: Gerenciar Mudanas

    O que voc quer controlar? workspaces seguros para cada desenvolvedor Gerenciamento de build/integrao automatizados Desenvolvimento paralelo

    Engenharia de Software II 12

  • Alcanando as melhores prticas por meio de um processo

    Abordagem iterativa; Guia para atividades e artefatos; Processo focado na arquitetura; Casos de uso dirigem o projeto e a implementao; Modelos simplificados do sistemas;

    Engenharia de Software II 13

  • Organizao do RUP

    contedo

    Disciplinas agrupam

    atividades relacionadas

    A iterao percorre

    todas as

    disciplinas.

    tempo

    Engenharia de Software II

  • Organizao do RUP por tempo Rational Unified Process organizado em 4 fases:

    Concepo: define o escopo do software Elaborao: planeja o projeto, especifica features, define e valida a arquitetura Construo: constri o produto Transio: implantao do software

    Engenharia de Software II 15

  • Nmero de Iteraes Rule of thumb: Use 6 3 iteraes

    Phase Low Medium High

    Inception 0 1 1

    Elaboration 1 2 3

    Construction 1 2 3

    Transition 1 1 2

    Total 3 6 9

    Engenharia de Software II 16

  • DisciplinasCada disciplina no RUP contm um fluxo de trabalho (workflow). Um workflow um fluxo de a t i v i d a d e s d e a l t o - n v e l ( W o r k f l o w D e t a i l s ) q u e produzem um resultado de valor observvel

    Workflow Details

    Engenharia de Software II 17

  • Workflows DetailsExemplo: Disciplina Requisitos Exemplo diagrama Workflow Detail:

    Analyze the Problem

    Workflows details mostram trabalhadores, atividades que estes executam, artefatos de entrada e artefatos de sada.

    Engenharia de Software II18

  • Disciplinas No Processo Unificado Rational existem nove disciplinas,

    que so divididas em seis disciplinas de processo e trs de suporte: As disciplinas de processo so:

    Modelagem de Negcio; Requisitos; Anlise e Projeto (desenho); Implementao; Teste; Implantao.

    As disciplinas de suporte so: Gerenciamento de Configurao e Alterao; Gerenciamento de Projetos Ambiente.

    Engenharia de Software II 19

  • Conceitos Bsicos do RUP

    Engenharia de Software II 20

  • Trabalhador (Worker)

    O trabalhador define o comportamento e as responsabilidades de um indivduo, ou um conjunto de indivduos trabalhando em uma equipe, dentro do contexto de uma organizao de software;

    O trabalhador representa um cargo executado por indivduos em um projeto e define como eles devem realizar o trabalho [RAT 99][RAT 2001];

    Exemplos: Analistas de Sistemas, gerentes de projeto, arquitetos de software, testadores, entre outros.

    Engenharia de Software II 21

  • Atividade (Activity)

    Uma atividade uma unidade de trabalho que um indivduo que representa um trabalhador encarregado de execut-la;

    Uma atividade tem uma finalidade clara, usualmente expressa em termos de criao ou atualizao de algum artefato, como um modelo, uma classe, um plano [RAT 99][RAT 2001].

    Engenharia de Software II 22

  • Artefatos (Artifacts)

    Atividades tm artefatos como entrada e sada;

    Um artefato um produto de trabalho do processo, trabalhadores usam artefatos para executar suas atividades, e produzem artefatos durante a execuo de suas atividades;

    Artefatos so de responsabilidade de um nico trabalhador, em um processo, cada poro de informao de responsabilidade de uma pessoa especfica

    Engenharia de Software II 23

  • Artefatos (Artifacts)

    Iteration Plan

    Developer Test

    Storyboard

    Project Measurements

    Business Use Case

    Model

    Iteration Assessment Analysis

    Model

    Architectural Proof-of-Concept

    Use Case Model

    Test Environment Configuration

    User-Interface Prototype

    Engenharia de Software II 24

  • Trabalhador , Atividade e Artefato

    Engenharia de Software II 25

  • Referncias Bibliogrficas [JAC 98] JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James.

    The Unified Software Development Process. [S.l.]: Addison Wesley, 1998.

    [KRU 2000] KRUCHTEN, Philippe. The Rational Unified Process: An Introduction. Massachusetts: Addison Wesley, 2000.

    [RAT 2001] RATIONAL SOFTWARE CORPORATION. Rational Unified Process, Version 2001.03.00. Cupertino, 2001.

    [SCO 2004] SCOTT, Kendall. O Processo Unificado (RUP) Explicado UML. Bookman, 2004.

    Material da Profa. Lisandra Manzoni Fontoura, disciplina de Engenharia de Software.

    Engenharia de Software II 26

  • UML

    A UML - Unified Modeling Language ou Linguagem de Modelagem Unificada, uma linguagem visual utilizada para modelar softwares baseados no paradigma de orientao de objetos.

    Essa linguagem tornou-se, nos ltimos anos, a l i n g u a g e m - p a d r o d e m o d e l a g e m a d o t a d a internacionalmente pela indstria de engenharia de software.

    Engenharia de Software II 27

  • UML

    Deve ficar bem claro, que a UML no uma linguagem de programao, e sim uma linguagem de modelagem, uma notao, cujo objetivo auxiliar os engenheiros de software a definirem as caractersticas do software, tais como seus requisitos, seu comportamento, seus estrutura lgica, a dinmica de seus processos e at mesmo suas necessidades fsicas em relao ao equipamento sobre o qual o sistema dever ser implantado.

    Tais caractersticas podem ser definidas por meio da UML antes do software comear a ser realmente desenvolvido.

    Engenharia de Software II 28

  • UML

    Alm disso, cumpre destacar que a UML no um processo de desenvolvimento de software e tampouco est ligada a um de forma exclusiva, sendo totalmente independente, podendo ser utilizada por muitos processos de desenvolvimento diferentes ou mesmo da forma que o engenheiro considerar mais adequada.

    Engenharia de Software II 29

  • Breve Histrico da UML A UML surgiu da unio de trs mtodos de modelagem:

    O mtodo de Booch, o mtodo OMT (Object Modeling Technique), de Jacobson; e

    O mtodo OOSE (Object-Oriented Software Engineering) de Rumbaugh.

    Estes eram at meados da dcada de 1990, os mtodos de modelagem orientada a objetos mais populares entre os profissionais da rea de desenvolvimento de software.

    Engenharia de Software II 30

  • Breve Histrico da UML

    A unio desses mtodos contou com o amplo apoio da Rational Software, que a incentivou e financiou.

    O esforo inicial do projeto comeou com a unio do mtodo de Booch ao OMT de Jacobson, o que resultou no lanamento do Mtodo Unificado, no final de 1995.

    Logo em seguida, Rumbaugh juntou-se a Booch e Jacobson na Rational Software, e seu mtodo OOSE comeou tambm a ser incorporado nova metodologia.

    Engenharia de Software II 31

  • Breve Histrico da UML

    O trabalho de Booch, Jacobson e Rumbaugh, conhecidos popularmente como Os Trs Amigos, resultou no lanamento, em 1996, da primeira verso da UML propriamente dita.

    Em 1997, a UML foi adotada pela OMG (Object Management Group ou Grupo de Gerenciamento de Objetos), como uma linguagem-padro de modelagem.

    A verso 2.0 da linguagem foi oficialmente lanada em julho de 2005.

    http://www.omg.org/

    Engenharia de Software II 32

  • Rpido Resumo dos Diagramas da UML

    Ser descrito brevemente cada um dos diagramas oferecidos pela UML, destacando suas principais caractersticas.

    Engenharia de Software II 33

  • Diagrama de Caso de Uso

    O Diagrama de Caso de Uso o diagrama mais geral e informal da UML, utilizado normalmente nas fases de levantamento e anlise de requisitos do sistema, embora venha a ser consultado durante todo o processo de modelagem e possa servir de base para outros diagramas.

    Engenharia de Software II 34

  • Diagrama de Caso de Uso

    Apresenta uma linguagem simples e de fcil compreenso para que os usurios possam ter uma ideia geral de como o sistema ir se comportar.

    Procura identificar os atores (usurios, outros sistemas ou at mesmo algum hardware especial) que utilizaro de alguma forma o software, bem como os servios, ou seja, as funcionalidades que o sistema disponibilizar aos atores, conhecidas nesse diagrama como casos de uso.

    Engenharia de Software II 35

  • Diagrama de Caso de Uso

    Apresenta uma linguagem simples e de fcil compreenso para que os usurios possam ter uma ideia geral de como o sistema ir se comportar.

    Procura identificar os atores (usurios, outros sistemas ou at mesmo algum hardware especial) que utilizaro de alguma forma o software, bem como os servios, ou seja, as funcionalidades que o sistema disponibilizar aos atores, conhecidas nesse diagrama como casos de uso.

    Engenharia de Software II 36

  • Diagrama de Caso de Uso

    Engenharia de Software II 37

  • Diagrama de Classes

    O Diagrama de Classes provavelmente o mais utilizado e um dos mais importantes da UML.

    Serve como apoio para a maioria dos demais diagramas.

    Como o prprio nome diz, define a estrutura das classes utilizadas pelo sistema, determinando os atributos e mtodos que cada classe tem, alm de estabelecer como as classes se relacionam e trocam informaes entre si.

    Engenharia de Software II 38

  • Diagrama de Classes

    Engenharia de Software II 39

  • Diagrama de Classes

    Engenharia de Software II 40

  • Diagrama de Classes

    Engenharia de Software II 41

  • Diagrama de Objetos*

    O Diagrama de Objetos est amplamente associado ao diagrama de Classes.

    Na verdade, o diagrama de objetos praticamente um complemento do diagrama de classes e bastante dependente deste.

    O diagrama fornece uma viso dos valores armazenados pelos objetos de um diagrama de classes em um determinado momento de execuo de um processo de software.

    Engenharia de Software II 42

  • Diagrama de Objetos

    Engenharia de Software II 43

  • Diagrama de Objetos

    Engenharia de Software II 44

  • Diagrama de Pacotes* O Diagrama de Pacotes um diagrama estrutural que

    tem por objetivo representar os subsistemas ou submdulos englobados por um sistema de forma a determinar as partes que o compem.

    Pode ser utilizado de maneira independente ou associado com outros diagramas.

    Este diagrama pode ser utilizado tambm para auxiliar a demonstrar a arquitetura de uma linguagem, como ocorre com a prpria UML ou ainda para definir as camada de um software ou de um processo de desenvolvimento.

    Engenharia de Software II 45

  • Diagrama de Pacotes

    Engenharia de Software II 46

  • Diagrama de Sequncia O Diagrama de Sequncia um diagrama comportamental que

    preocupa-se com a ordem temporal em que as mensagens so trocadas entre os objetos envolvidos em um determinado processo.

    Em geral, baseia-se em um caso de uso definido pelo diagrama de mesmo nome e apoia-se no diagrama de classes para determinar os objetos das classes envolvidas em um processo.

    Um diagrama de sequncia costuma identificar o evento gerado do processo modelado, bem como o ator responsvel por esse evento, e determina como o processos deve se desenrolar e ser concludo por meio da chama de mtodos disparados por mensagens enviadas entre os objetos.

    Engenharia de Software II 47

  • Diagrama de Sequncia

    Engenharia de Software II 48

  • Diagrama de Sequncia

    Engenharia de Software II 49

  • Diagrama de Comunicao O Diagrama de Comunicao era conhecido como de Diagrama

    de Colaborao at a verso 1.5 da UML, tendo o seu nome modificado para diagrama de comunicao a partir da verso 2.0.

    Est amplamente associado ao diagrama de sequncia: na verdade, um complementa o outro.

    As informaes mostradas no diagrama de comunicao com frequncia so praticamente as mesmas apresentadas no de sequncia, porm com um enfoque distinto, visto que esse diagrama no se preocupa com a temporalidade do processo, concentrando-se em como os elementos do diagrama esto vinculados e quais mensagens trocam entre si durante o processo.

    Engenharia de Software II 50

  • Diagrama de Comunicao

    Engenharia de Software II 51

  • Diagrama de Comunicao

    Engenharia de Software II 52

  • Diagrama de Mquina de Estados O Diagrama de Mquina de Estados demonst ra o

    comportamento de um elemento por meio de um conjunto finito de transies de estado, ou seja, uma mquina de estados.

    Alm de poder ser utilizado para expressar o comportamento de uma parte do sistema, quando chamado de mquina de estado comportamental, tambm pode ser usado para expressar o protocolo de uso de parte de um sistema, quando identifica uma mquina de estados de protocolo.

    Como o diagrama de sequncia, o de mquina de estados pode basear-se em um caso de uso, mas tambm pode ser utilizado para acompanhar os estados de outros elementos, como, por exemplo, uma instncia de uma classe.

    Engenharia de Software II 53

  • Diagrama de Mquina de Estados

    Engenharia de Software II 54

  • Diagrama de Mquina de Estados

    Engenharia de Software II 55

  • Diagrama de Atividade O Diagrama de Atividade era considerado um caso especial do

    antigo diagrama de grfico de estados, hoje conhecido como diagrama de mquina de estados, conforme descrito anteriormente.

    A partir da UML 2.0, foi considerado independente do diagrama de mquina de estados.

    O diagrama de atividade preocupa-se em descrever os passos a serem percorridos para a concluso de uma atividade especfica, podendo esta ser representada por um mtodo com certo grau de complexidade ou mesmo por um processo completo.

    O diagrama de atividade concentra-se na representao do fluxo de controle de uma atividade.

    Engenharia de Software II 56

  • Diagrama de Atividade

    Engenharia de Software II 57

  • Diagrama de Atividade

    Engenharia de Software II 58

  • Diagrama de Atividade

    Engenharia de Software II 59

  • Diagrama de Viso Geral de Interao

    O Diagrama de Viso Geral de Interao uma variao do diagrama de atividade que fornece uma viso geral dentro de um sistema ou processo de negcio.

    Esse diagrama passou a existir apenas a partir da UML 2.

    Engenharia de Software II 60

  • Diagrama de Viso Geral de Interao

    Engenharia de Software II 61

  • Diagrama de Componentes O Diagrama de Componentes est amplamente

    associado linguagem de programao que ser utilizada para desenvolver o sistema modelado.

    Esse diagrama representa os componentes do sistema quando o mesmo for ser implementado em termos de mdulos de cdigo-fonte, bibliotecas, formulrios, arquivos de ajuda, mdulos executveis etc. e determina como tais componentes estaro estruturados e iro interagir para que o sistema funcione de maneira adequada.

    Engenharia de Software II 62

  • Diagrama de Componentes

    Engenharia de Software II 63

  • Diagrama de Componentes

    Engenharia de Software II 64

  • Diagrama de Implantao

    O Diagrama de Implantao determina as necessidades de hardware do sistema , as caractersticas fsicas como servidores, estaes, topologias e protocolos de comunicao, ou seja, todo o aparato fsico sobre o qual o sistema dever ser executado.

    Engenharia de Software II 65

  • Diagrama de Implantao

    Engenharia de Software II 66

  • Diagrama de Implantao

    Engenharia de Software II 67

  • Sntese Geral dos Diagramas

    Os diagramas da UML dividem-se em diagramas estruturais e diagramas comportamentais, sendo que os ltimos contm ainda uma subdiviso representada pelos diagramas de interao.

    Engenharia de Software II 68

  • Sntese Geral dos Diagramas

    Engenharia de Software II 69

  • Prxima Aula

    Ferramentas CASE Orientadas a Objetos; e

    Orientao a Objetos

    Engenharia de Software II 70

  • Dvidas

    Contedo Moodle (http://wagnerglorenz.com.br/moodle/)

    Dvidas

    [email protected]

    Engenharia de Software II 71

  • Referncias Bibliogrficas

    GUEDES, Gilleanes T. A.. UML: uma abordagem prtica. So Paulo: Novatec, 2004.

    Engenharia de Software II 72