processo unificado e notação uml
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
Engenharia de Software II 71
-
Referncias Bibliogrficas
GUEDES, Gilleanes T. A.. UML: uma abordagem prtica. So Paulo: Novatec, 2004.
Engenharia de Software II 72