Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 2 19/08/2012

Documentos relacionados
Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Modelos de Processo de Software

Modelos de Processo de Software

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Engenharia de Software. Engenharia de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 7. Agenda

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)


O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Análise de Sistemas CONTEXTUALIZAÇÃO

Modelos de Ciclo de Vida (Parte 1)

Definições e ciclo de vida

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 5. Agenda

Engenharia de Software

Propriedade Intelectual/Industrial do Software:

Prof. Ms. Ronaldo Martins da Costa

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Engenharia de Software II

Processos de Software

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

ENGENHARIA DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Engenharia de Software

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

Engenharia de Software I

Engenharia de Software. Herbert Rausch Fernandes

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Processo de Desenvolvimento. Edjandir Corrêa Costa

Princípios da Engenharia de Software aula 03

Engenharia de Software I

Análise e Projeto Orientados a Objetos

Processos de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Análise e Projetos de Sistemas - INF014

CICLO DE VIDA DE SOFTWARE

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia Software. Ení Berbert Camilo Contaiffer

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 4 04/09/2012

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Requisitos de Sistemas

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Modelos Prescritivos de Processo

MODELOS DE PROCESSOS (PARTE 2)

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Informática I. Aula Aula 21-29/11/06 1

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

UML e seus diagramas

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Engenharia de Software I - Aula 04

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

ENGENHARIA DE SOFTWARE

Processos de Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Engenharia de Software I Modelos de Processo de Software

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Processos de software

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Ciclo de Vida de Sistemas de Informação

Visão Geral do RUP.

INF1013 MODELAGEM DE SOFTWARE

Processos de Software

Projeto e Desenvolvimento de Sistemas de Informação

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Modelos de Software. Tema 2. Processo de Software. Modelos Profa. Susana M. Iglesias

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Modelos de Ciclo de Vida

Processos de. Desenvolvimento de Software

Prof. Dr. Thiago Jabur Bittar

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Transcrição:

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula 2 Agenda Processo de desenvolvimento de software e ciclo de vida de software. Processo de desenvolvimento de software Os principais modelos de ciclo de vida Modelo tradicional (Cascata) Modelo Espiral Modelo de prototipação Modelo Iterativo e Incremental Processo Unificado RUP Rapid Application Development RAD Bibliografia 14/08/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 1 14/08/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 2 Processo de desenvolvimento de software e ciclo de vida de software. Existem vários modelos de processo de software (ou paradigmas de engenharia de software) Cada um representa uma tentativa de colocar ordem em uma atividade inerentemente caótica Processo de desenvolvimento de software e ciclo de vida de software. - Continuação Levantamento de requisitos Analise Projeto Desenho (Padua Filho, Wilson de, 2009) Implementção Testes Manutenção 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 3 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 4 http:professorleomir.wordpress.com 1

Principais Modelos de ciclo de vida Modelo Tradicional (Cascata) Continuação Mais antigo e o mais amplamente usado da engenharia de software Modelado em função do ciclo da engenharia convencional Requer uma abordagem sistemática, seqüencial ao desenvolvimento de software o resultado de uma fase se constitui na entrada da outra 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 5 Modelo Tradicional (Cascata) 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 6 Modelo Tradicional (Cascata) Visão Pratica Modelo Tradicional (Cascata) Ponto a ponto Exploração de Conceitos / Informação e Modelagem Envolve a elicitação de requisitos do sistema, com uma pequena quantidade de projeto e análise de alto nível; Preocupa-se com aquilo que conhecemos como engenharia progressiva de produto de software; Iniciar com um modelo conceitual de alto nível para um sistema e prosseguir com o projeto, implementação e teste do modelo físico do sistema. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 7 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 8 http:professorleomir.wordpress.com 2

Modelo Tradicional (Cascata) Ponto a ponto Análise de Requisitos de Software O processo de elicitação dos requisitos é intensificado e concentrado especificamente no software Deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos os requisitos (para o sistema e para o software) são documentados e revistos com o cliente 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 9 Modelo Tradicional (Cascata) Ponto a ponto Projeto Tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação inicie Implementação Tradução das representações do projeto para uma linguagem artificial resultando em instruções executáveis pelo computador e implementado num ambiente de trabalho. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 10 Modelo Tradicional (Cascata) Ponto a ponto Testes Concentra-se nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados. Modelo Tradicional (Cascata) Ponto a ponto Manutenção Provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente Causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 11 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 12 http:professorleomir.wordpress.com 3

Modelo Tradicional (Cascata) - Analise Problemas com o Modelo em Cascata Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento (na instalação); Difícil identificação de sistemas legados (não acomoda a engenharia reversa). 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 13 Modelo Tradicional (Cascata) Considerações O Modelo de processo em Cascata trouxe contribuições importantes para o processo de desenvolvimento de software: Imposição de disciplina, planejamento e gerênciamento Implementação do produto deve ser postergada até que os objetivos tenham sido completamente entendidos. Permite gerência do baseline, que identifica um conjunto fixo de documentos produzidos ao longo do processo de desenvolvimento. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 14 Espiral Espiral Continuação O Modelo Espiral (Boehm, 1986) O modelo espiral acopla a natureza iterativa da prototipação com os aspectos controlados e sistemáticos do modelo cascata. O modelo espiral é dividido em uma série de atividades de trabalho ou regiões de tarefa. Existem tipicamente de 3 a 6 regiões de tarefa. Combina as características positivas da gerência baseline (documentos associados ao processo); 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 15 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 16 http:professorleomir.wordpress.com 4

Espiral Continuação Cada ciclo na espiral representa uma fase do processo de software. O ciclo mais interno esta concentrado nas possibilidades do sistema O próximo ciclo está concentrado na definição dos requisitos do sistema O ciclo um pouco mais externo está concentrado no projeto do sistema Um ciclo ainda mais externo está concentrado na construção do sistema 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 17 Espiral Continuação Não existem fases fixas no modelo as fases mostradas na figura são meramente exemplos a gerência decide como estruturar o projeto em fases Estabelecimento de Objetivos São definidos objetivos específicos para a fase do projeto São identificadas restrições sobre o processo e o produto é projetado. Um plano de gerenciamento detalhado é criado São identificados riscos do projeto dependendo dos riscos, estratégias alternativas podem ser planejadas 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 18 Espiral Continuação Avaliação e Redução de riscos Para cada um dos riscos identificados, uma análise detalhada é executada. Passos são tomados para reduzir o risco Desenvolvimento e validação Depois da avaliação do risco, um modelo de desenvol;vimento é escolhido para o sistema. Planejamento O projeto é revisto e é tomada uma decisão de continuidade se é decidido continuar, são projetados planos para a próxima fase do projeto ou próximo loop 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 19 Espiral Continuação Engloba as melhores características do ciclo de vida Clássico e da Prototipação, adicionando um novo elemento, a Análise de Risco Segue a abordagem de passos sistemáticos do Ciclo de Vida Clássico incorporando-os numa estrutura iterativa que reflete mais realisticamente o mundo real. Usa a Prototipação em todas as etapas da evolução do produto, como mecanismo de redução de riscos. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 20 http:professorleomir.wordpress.com 5

Espiral Considerações É, atualmente, a abordagem mais realística para o desenvolvimento de software em grande escala. Usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva. Pode ser difícil convencer os clientes que uma abordagem "evolutiva" é controlável. Exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso. O modelo é relativamente novo e não tem sido amplamente usado. Demorará muitos anos até que a eficácia desse modelo possa ser determinada com certeza absoluta 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 21 Prototipação O objetivo é entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do sistema. Possibilita que o desenvolvedor crie um modelo (protótipo)do software que deve ser construído apropriado para quando o cliente ainda não definiu detalhadamente os requisitos. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 22 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 23 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 24 http:professorleomir.wordpress.com 6

07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 25 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 26 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 27 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 28 http:professorleomir.wordpress.com 7

07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 29 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 30 Prototipação Continuação Problemas Cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo. Desenvolvedor freqüentemente faz uma implementação comprometida (utilizando o que está disponível) com o objetivo de produzir rapidamente um protótipo Prototipação Continuação Considerações Ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. A chave é definir as regras do jogo logo no começo. O cliente e o desenvolvedor devem ambos concordar que o protótipo seja construído para servir como um mecanismo para definir os requisitos. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 31 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 32 http:professorleomir.wordpress.com 8

Processo Unificado RUP Técnica Unified Process Proposto por Grady Booch, James Raunbaugh e Ivar Jacobson Fortemente associada a notação UML Se baseia em tres valores Dirigido por estudos de caso Centrado na arquitetura É iterativo e incremental RUP Rational Unified process Implementação mais conhecida do UP (Krutchen, 2003) Atualmente IRUP - IBM UML Unified Modeling Language UML Não é linguagem de programação mas sim de modelagem Padrão mundial da industria de engenharia de software. Processo Unificado RUP Técnica Unified Process - continuação Não é uma série especidica de etapas que se forem seguidas resultaram na construção de um produto de Software. Deve ser encarado como uma metodologia adaptativa, que pode ser modificada para o produto de software especifico a ser desenvolvido. Apesar de alguns recursos não poderem ser aplicados a software de pequeno e médio porte, grande parte é utliza 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 33 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 34 Processo Unificado RUP Linhas mestras : Gestão de requisitos Uma documentação apropriada é essencial para qualquer grande projeto; RUP descreve como documentar a funcionalidade, restrições de sistema, restrições de projeto e requisitos de negócio. Os casos de uso (em inglês Use Cases) e os cenários são exemplos de artefatos dependentes do processo, considerados muito mais eficazes na captura de requisitos funcionais. Processo Unificado RUP Linhas mestras : Uso de arquitetura baseada em componentes A arquitetura baseada em componentes cria um sistema que pode ser facilmente extensível, promovendo a reutilização de software e um entendimento intuitivo. Um componente normalmente se relaciona com um objeto na programação orientada a objetos. O RUP oferece uma forma sistemática para construir este tipo de sistema, focando-se em produzir uma arquitetura executável nas fases iniciais do projeto, ou seja, antes de comprometer recursos em larga escala. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 35 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 36 http:professorleomir.wordpress.com 9

Processo Unificado RUP Linhas mestras : Uso de software de modelos visuais Ao abstrair a programação do seu código e representá-la utilizando blocos de construção gráfica, o RUP consegue uma maneira efetiva de se ter uma visão geral de uma solução. O uso de modelos visuais também pode permitir que indivíduos de perfil menos técnico (como clientes) tenham um melhor entendimento de um dado problema, e assim se envolvam mais no projeto como um todo. A linguagem de modelagem UML tornou-se um padrão industrial para representar projetos, e é amplamente utilizada pelo RUP Processo Unificado RUP Linhas mestras : Verificação da qualidade do software Não assegurar a qualidade do software é a falha mais comum em todos os projetos de sistemas computacionais. Normalmente pensa-se em qualidade de software após o término dos projetos, ou a qualidade é responsabilidade de uma equipe diferente da equipe de desenvolvimento. O RUP visa auxiliar no controle do planejamento da qualidade, verificando-a na construção de todo o processo e envolvendo todos os membros da equipe de desenvolvimento. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 37 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 38 Processo Unificado RUP Linhas mestras : Gestão e Controle de Mudanças do Software Em todos os projetos de software a existência de mudanças é inevitável. O RUP define métodos para controlar e monitorar mudanças. Como uma pequena mudança pode afetar aplicações de formas inteiramente imprevisíveis, o controle de mudanças é essencial para o sucesso de um projeto. O RUP também define áreas de trabalho seguras, garantindo a um programador que as mudanças efetuadas noutro sistema não afetarão o seu sistema. RAD (Rapid Application Development) É um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto O desenvolvimento rápido é obtido usando uma abordagem de construção baseada em componentes. Os requisitos devem ser bem entendidos e o alcance do projeto restrito Esse modelo é usado principalmente para aplicações de sistema de informação. Cada função principal pode ser direcionada para uma equipe RAD separada e então integrada para formar o todo. 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 39 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 40 http:professorleomir.wordpress.com 10

RAD (Rapid Application Development) - Continuação RAD (Rapid Application Development) Continuação Desvantagens Exige recursos humanos suficientes para todas as equipes Exige que desenvolvedores e clientes estejam comprometidos com as atividades de relampago a fim de terminar o projeto num prazo curto Nem todos os tipos de aplicação são apropriadas para o RAD: Deve ser possível a modularização efetiva da aplicação Se alto desempenho é uma característica e o desempenho é obtido sintonizando as interfaces dos componentes do sistema, a abordagem RAD pode não funcionar 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 41 07/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 42 BIBLIOGRAFIA BÁSICA Bibliografia 1 PRESSMAN, Roger S. Engenharia de Software, 6ª ed. São Paulo. MakGraw-Hill, 2006. 2 SOMMERVILLE, Ian. Engenharia de Software - 8a edição Pearson. 2010 3 WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas de Informação Orientados a Objetos. 2ª Edição. Rio de Janeiro: Campus, 2010. BIBLIOGRAFIA COMPLEMENTAR 4 ENGHOLM Jr., Hélio. Engenharia de Software na Prática, São Paulo. Novatec. 2010 5 6 7 LARMAN, Craig. Utilizando UML e Padrões. 3ª Edição. Porto Alegre: Bookman, 2007. PAULA FILHO, W. P. Engenharia de Software. Rio de Janeiro: LTC. 2009. TONSIG. S. L. Engenharia de Software Análise e Projeto de Sistemas. 2ª Edição. Rio de Janeiro: Ciência Moderna, 2008. 14/08/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 43 http:professorleomir.wordpress.com 11